{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "separator",
  "title": "Separator",
  "description": "A hairline that divides content into groups — horizontally between sections, vertically between inline items.",
  "dependencies": [
    "@base-ui/react"
  ],
  "registryDependencies": [
    "https://www.prfct.dev/r/utils.json"
  ],
  "files": [
    {
      "path": "components/ui/separator.tsx",
      "content": "import { Separator as SeparatorPrimitive } from \"@base-ui/react/separator\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Separator({\n  className,\n  orientation = \"horizontal\",\n  decorative = false,\n  ...props\n}: SeparatorPrimitive.Props & {\n  /**\n   * A purely visual separator, hidden from assistive technology. It renders\n   * `role=\"none\"`, which can't carry `aria-orientation`, so it skips Base UI.\n   */\n  decorative?: boolean\n}) {\n  const classes = cn(\n    // Plain w-full (not data-horizontal:) so a width in className wins.\n    \"w-full shrink-0 bg-border data-horizontal:h-px data-vertical:w-px data-vertical:self-stretch\",\n    className\n  )\n\n  if (decorative) {\n    const { id, style } = props\n    return (\n      <div\n        role=\"none\"\n        data-slot=\"separator\"\n        data-orientation={orientation}\n        id={id}\n        style={typeof style === \"function\" ? undefined : style}\n        className={classes}\n      />\n    )\n  }\n\n  return (\n    <SeparatorPrimitive\n      data-slot=\"separator\"\n      orientation={orientation}\n      className={classes}\n      {...props}\n    />\n  )\n}\n\nexport { Separator }\n",
      "type": "registry:ui"
    }
  ],
  "type": "registry:ui"
}