{ "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "breadcrumb", "type": "registry:ui", "title": "Breadcrumb", "files": [ { "path": "ui/breadcrumb.tsrx", "type": "registry:ui", "target": "components/ui/breadcrumb.tsrx", "content": "// Base UI base breadcrumb — class strings from the maintainer-supplied radix source, verbatim.\n// Six of the seven parts are plain host elements with no primitive underneath and no state\n// attributes, so they carry across unchanged and there is no dialect to get wrong.\n//\n// `BreadcrumbLink` IS MISSING ITS ESCAPE HATCH, and unlike badge that costs something real: the\n// `asChild` branch is how a router's Link gets plugged in, which is most of what this family is\n// for. It is still left out, for the same reason:\n//\n// radix `asChild` swaps in `Slot`, a pure prop-merger\n// React Aria routes through RAC's own `Link` primitive with a `render` prop\n// Base UI has neither — no Slot, and no Link primitive\n//\n// Base UI's house convention is a `render` ELEMENT prop backed by `useRender`, and this base\n// already relies on it where a real primitive offers it (see pagination). But breadcrumb has no\n// primitive, so nothing here settles whether upstream's Base UI breadcrumb implements `render`\n// itself, and an API shape is not something a later commit can quietly correct — adding it is\n// additive, shipping the wrong spelling is breaking.\n//\n// Until then a router link still works, it just has to carry the classes itself:\n//\n// \n// Home\n// \n//\n// which loses only the `data-slot=\"breadcrumb-link\"` hook.\nimport { ChevronRightIcon, MoreHorizontalIcon } from '@octanejs/lucide';\nimport { type OctaneNode } from 'octane';\n\nimport { cn } from '@/lib/utils';\n\ntype Props = { className?: string } & Record;\n\nexport function Breadcrumb({ className, ...props }: Props) @{\n\t