{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "separator",
  "title": "Separator",
  "author": "Ballmac <https://ui.ballmac.com>",
  "description": "A semantic or decorative divider with horizontal, vertical, and centered-label layouts.",
  "dependencies": [
    "radix-ui"
  ],
  "registryDependencies": [
    "utils"
  ],
  "files": [
    {
      "path": "registry/ballmac/components/separator.tsx",
      "content": "// Ballmac UI: Separator. https://ui.ballmac.com/components/separator\n// Based on shadcn/ui Separator (MIT, Copyright (c) 2023 shadcn), adding an optional centered label.\nimport * as React from \"react\"\nimport { Separator as SeparatorPrimitive } from \"radix-ui\"\nimport { cn } from \"@/lib/utils\"\n\ntype SeparatorProps = React.ComponentProps<typeof SeparatorPrimitive.Root> & {\n  /** Short text displayed in the middle of a horizontal separator. */\n  label?: string\n}\nfunction Separator({\n  className,\n  orientation = \"horizontal\",\n  decorative = true,\n  label,\n  ...props\n}: SeparatorProps) {\n  if (label && orientation === \"horizontal\")\n    return (\n      <div\n        data-slot=\"separator-labeled\"\n        role={decorative ? \"presentation\" : \"separator\"}\n        className={cn(\n          \"text-muted-foreground flex w-full items-center gap-3 text-xs\",\n          className,\n        )}\n        {...props}\n      >\n        <span aria-hidden=\"true\" className=\"bg-border h-px min-w-0 flex-1\" />\n        <span>{label}</span>\n        <span aria-hidden=\"true\" className=\"bg-border h-px min-w-0 flex-1\" />\n      </div>\n    )\n  return (\n    <SeparatorPrimitive.Root\n      data-slot=\"separator\"\n      decorative={decorative}\n      orientation={orientation}\n      className={cn(\n        \"bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px\",\n        className,\n      )}\n      {...props}\n    />\n  )\n}\nexport { Separator, type SeparatorProps }\n",
      "type": "registry:ui",
      "target": "@components/ballmac/separator.tsx"
    }
  ],
  "meta": {
    "schema": 1,
    "tier": "free",
    "tags": [
      "divider",
      "layout",
      "section"
    ],
    "version": "1.0.0",
    "updated": "2026-09-29",
    "ai": {
      "summary": "A semantic or decorative divider with horizontal, vertical, and centered-label layouts.",
      "whenToUse": [
        "Separate groups of related content",
        "Divide a form with a short label"
      ],
      "whenNotToUse": [
        "Use spacing alone when separation is already clear"
      ],
      "composesWith": [
        "card"
      ],
      "a11y": [],
      "customization": [
        "orientation: horizontal | vertical",
        "label: centered text"
      ]
    },
    "source": {
      "name": "shadcn/ui Separator",
      "url": "https://github.com/shadcn-ui/ui",
      "license": "MIT",
      "copyright": "Copyright (c) 2023 shadcn",
      "modified": true
    },
    "examples": [
      "separator-demo",
      "separator-states"
    ],
    "url": "https://ui.ballmac.com/components/separator"
  },
  "categories": [
    "layout"
  ],
  "type": "registry:ui"
}