{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "separator",
  "title": "Separator",
  "description": "The Material divider, horizontal or vertical, full-width or inset.",
  "dependencies": [
    "@base-ui/react@^1.7.0"
  ],
  "registryDependencies": [
    "https://guillermo-rebolledo.github.io/materialcn/r/materialcn-theme.json",
    "https://guillermo-rebolledo.github.io/materialcn/r/utils.json"
  ],
  "files": [
    {
      "path": "src/components/ui/separator.tsx",
      "content": "\"use client\"\n\nimport type * as React from \"react\"\nimport { Separator as SeparatorPrimitive } from \"@base-ui/react/separator\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Separator({\n  className,\n  decorative = false,\n  orientation = \"horizontal\",\n  variant = \"full\",\n  ...props\n}: SeparatorPrimitive.Props & {\n  decorative?: boolean\n  variant?: \"full\" | \"inset\" | \"middle-inset\"\n}) {\n  return (\n    <SeparatorPrimitive\n      {...props}\n      data-slot=\"separator\"\n      data-variant={variant}\n      orientation={orientation}\n      role={decorative ? \"none\" : (props.role ?? \"separator\")}\n      aria-hidden={decorative || undefined}\n      className={cn(\n        // Kit: 1dp Outline Variant. `inset` starts 16dp from the leading edge,\n        // `middle-inset` leaves 16dp at both ends — on either axis.\n        \"shrink-0 bg-m3-outline-variant\",\n        orientation === \"horizontal\"\n          ? cn(\"h-px\", variant === \"full\" && \"w-full\", variant === \"inset\" && \"ml-4 w-[calc(100%-1rem)]\", variant === \"middle-inset\" && \"mx-4 w-[calc(100%-2rem)]\")\n          : cn(\"w-px\", variant === \"full\" && \"self-stretch\", variant === \"inset\" && \"mt-4 self-stretch\", variant === \"middle-inset\" && \"my-4 self-stretch\"),\n        className\n      )}\n    />\n  )\n}\n\nfunction SeparatorSubhead({\n  children,\n  className,\n  ...props\n}: React.ComponentProps<\"div\">) {\n  return (\n    <div\n      {...props}\n      data-slot=\"separator-subhead\"\n      // Kit `Divider with subhead`: the rule on top, the subhead 4dp beneath\n      // it with 16dp side padding.\n      className={cn(\"flex flex-col gap-1\", className)}\n    >\n      <Separator decorative />\n      <h3 className=\"px-4 text-m3-title-sm text-muted-foreground\">{children}</h3>\n    </div>\n  )\n}\n\nexport { Separator, SeparatorSubhead }\n",
      "type": "registry:ui"
    }
  ],
  "categories": [
    "layout"
  ],
  "type": "registry:ui"
}