{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "tabs",
  "type": "registry:ui",
  "title": "Tabs",
  "description": "A tabs component",
  "dependencies": [
    "solid-js",
    "@kobalte/core"
  ],
  "files": [
    {
      "path": "src/registry/ui/tabs.tsx",
      "content": "import type { ValidComponent } from \"solid-js\"\nimport { splitProps } from \"solid-js\"\n\nimport type { PolymorphicProps } from \"@kobalte/core/polymorphic\"\nimport * as TabsPrimitive from \"@kobalte/core/tabs\"\n\nimport { cn } from \"~/lib/utils\"\n\nconst Tabs = TabsPrimitive.Root\n\ntype TabsListProps<T extends ValidComponent = \"div\"> = TabsPrimitive.TabsListProps<T> & {\n  class?: string | undefined\n}\n\nconst TabsList = <T extends ValidComponent = \"div\">(\n  props: PolymorphicProps<T, TabsListProps<T>>\n) => {\n  const [local, others] = splitProps(props as TabsListProps, [\"class\"])\n  return (\n    <TabsPrimitive.List\n      class={cn(\n        \"inline-flex h-10 items-center justify-center rounded-md bg-muted p-1 text-muted-foreground\",\n        local.class\n      )}\n      {...others}\n    />\n  )\n}\n\ntype TabsTriggerProps<T extends ValidComponent = \"button\"> = TabsPrimitive.TabsTriggerProps<T> & {\n  class?: string | undefined\n}\n\nconst TabsTrigger = <T extends ValidComponent = \"button\">(\n  props: PolymorphicProps<T, TabsTriggerProps<T>>\n) => {\n  const [local, others] = splitProps(props as TabsTriggerProps, [\"class\"])\n  return (\n    <TabsPrimitive.Trigger\n      class={cn(\n        \"inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[selected]:bg-background data-[selected]:text-foreground data-[selected]:shadow-sm\",\n        local.class\n      )}\n      {...others}\n    />\n  )\n}\n\ntype TabsContentProps<T extends ValidComponent = \"div\"> = TabsPrimitive.TabsContentProps<T> & {\n  class?: string | undefined\n}\n\nconst TabsContent = <T extends ValidComponent = \"div\">(\n  props: PolymorphicProps<T, TabsContentProps<T>>\n) => {\n  const [local, others] = splitProps(props as TabsContentProps, [\"class\"])\n  return (\n    <TabsPrimitive.Content\n      class={cn(\n        \"mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2\",\n        local.class\n      )}\n      {...others}\n    />\n  )\n}\n\ntype TabsIndicatorProps<T extends ValidComponent = \"div\"> = TabsPrimitive.TabsIndicatorProps<T> & {\n  class?: string | undefined\n}\n\nconst TabsIndicator = <T extends ValidComponent = \"div\">(\n  props: PolymorphicProps<T, TabsIndicatorProps<T>>\n) => {\n  const [local, others] = splitProps(props as TabsIndicatorProps, [\"class\"])\n  return (\n    <TabsPrimitive.Indicator\n      class={cn(\n        \"duration-250ms absolute transition-all data-[orientation=horizontal]:-bottom-px data-[orientation=vertical]:-right-px data-[orientation=horizontal]:h-[2px] data-[orientation=vertical]:w-[2px]\",\n        local.class\n      )}\n      {...others}\n    />\n  )\n}\n\nexport { Tabs, TabsList, TabsTrigger, TabsContent, TabsIndicator }\n",
      "type": "registry:ui"
    }
  ]
}