{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "segmented-control",
  "title": "Segmented Control",
  "description": "Shared Astro style recipes for radio choices, navigation links, and pressed buttons.",
  "dependencies": [
    "class-variance-authority@^0.7.1"
  ],
  "registryDependencies": [],
  "files": [
    {
      "path": "packages/ui/src/lib/segmented-control.ts",
      "content": "// Style recipe adapted from Coss UI. Keep the underlying control semantics.\nimport { cva } from 'class-variance-authority'\n\nexport type SegmentedControlSize = 'default' | 'lg' | 'sm'\n\nexport const segmentedControlItemSizeClassNames: Record<\n    SegmentedControlSize,\n    string\n> = {\n    default: 'h-8.5 px-[calc(--spacing(2.5)-1px)] sm:h-7.5',\n    lg: 'h-9.5 px-[calc(--spacing(3)-1px)] sm:h-8.5',\n    sm: 'h-7.5 px-[calc(--spacing(2)-1px)] sm:h-6.5',\n}\n\nexport const segmentedControlRootClassName =\n    'relative z-0 flex w-fit items-center justify-center gap-0.5 rounded-lg bg-muted p-0.5'\n\nexport const segmentedControlItemLayoutClassName =\n    \"gap-1.5 [&_svg:not([class*='opacity-'])]:opacity-80 [&_svg:not([class*='size-'])]:size-4.5 sm:[&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:-mx-0.5 [&_svg]:shrink-0\"\n\nexport const segmentedControlItemVariants = cva(\n    [\n        'text-muted-foreground/72 hover:text-muted-foreground focus-visible:outline-ring relative inline-flex shrink-0 cursor-pointer items-center justify-center rounded-md border border-transparent text-base font-medium whitespace-nowrap outline-2 outline-transparent transition-[outline-color] select-none hover:bg-transparent disabled:pointer-events-none disabled:opacity-64 data-disabled:pointer-events-none data-disabled:opacity-64 sm:text-sm',\n        segmentedControlItemLayoutClassName,\n    ],\n    {\n        defaultVariants: {\n            size: 'default',\n        },\n        variants: {\n            size: segmentedControlItemSizeClassNames,\n            state: {\n                checked:\n                    'data-checked:bg-background data-checked:text-foreground dark:data-checked:bg-input data-checked:shadow-sm/5',\n                current:\n                    'aria-[current=page]:bg-background aria-[current=page]:text-foreground dark:aria-[current=page]:bg-input aria-[current=page]:shadow-sm/5',\n                pressed:\n                    'aria-pressed:bg-background aria-pressed:text-foreground dark:aria-pressed:bg-input aria-pressed:shadow-sm/5',\n            },\n        },\n    },\n)\n",
      "type": "registry:file",
      "target": "~/src/lib/segmented-control.ts"
    }
  ],
  "meta": {
    "framework": "astro",
    "source": "@gnosticai/ui"
  },
  "docs": "https://ui.gnosticai.com/components/segmented-control",
  "type": "registry:lib"
}
