{ "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "separator", "type": "registry:ui", "title": "Separator", "files": [ { "path": "ui/separator.tsrx", "type": "registry:ui", "target": "components/ui/separator.tsrx", "content": "// Base UI base separator — runs on the @octanejs/base-ui `Separator` primitive.\n//\n// THE CLASS STRING IS DELIBERATELY THE ARIA BASE'S, NOT THE RADIX BASE'S, and this is the one\n// family where copying the wrong base is a real bug rather than a cosmetic risk. The\n// orientation-conditional utilities must key off the attribute the primitive actually emits:\n//\n// Radix sets `data-orientation` -> `data-horizontal:h-px`\n// RAC sets `aria-orientation` -> `aria-[orientation=horizontal]:h-px`\n// Base UI sets `aria-orientation` -> same as RAC (verified in the primitive: it renders\n// `role=\"separator\"` plus `aria-orientation={orientation}`)\n//\n// Taking the Radix string here would produce a separator with no height or width at all, and\n// nothing in a class-string comparison would flag it. Upstream's own bases diverge here for\n// exactly this reason. The non-conditional utilities stay in step with the other bases.\nimport { Separator as SeparatorPrimitive } from '@octanejs/base-ui/separator';\n\nimport { cn } from '@/lib/utils';\n\nexport interface SeparatorProps extends Record {\n\tclassName?: string;\n\torientation?: 'horizontal' | 'vertical';\n}\n\nexport function Separator({ className, orientation = 'horizontal', ...props }: SeparatorProps) @{\n\t\n}\n" } ], "dependencies": [ "@octanejs/base-ui@0.1.33" ], "registryDependencies": [ "@octane/utils" ] }