{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "breadcrumb",
  "title": "Breadcrumb",
  "description": "Hierarchical page trail with separators and an overflow ellipsis.",
  "dependencies": [
    "@base-ui/react@^1.8.0",
    "lucide-react@^1.48.0"
  ],
  "files": [
    {
      "path": "registry/rapid/ui/breadcrumb/breadcrumb.tsx",
      "content": "import { mergeProps } from '@base-ui/react/merge-props'\nimport { useRender } from '@base-ui/react/use-render'\nimport { ChevronRightIcon, MoreHorizontalIcon } from 'lucide-react'\nimport type * as React from 'react'\nimport { cn } from '@/lib/utils'\n\nfunction Breadcrumb({ className, ...props }: React.ComponentProps<'nav'>) {\n\treturn <nav aria-label=\"breadcrumb\" data-slot=\"breadcrumb\" className={cn(className)} {...props} />\n}\n\nfunction BreadcrumbList({ className, ...props }: React.ComponentProps<'ol'>) {\n\treturn (\n\t\t<ol\n\t\t\tdata-slot=\"breadcrumb-list\"\n\t\t\tclassName={cn('flex flex-wrap items-center gap-1.5 text-sm wrap-break-word text-foreground', className)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nfunction BreadcrumbItem({ className, ...props }: React.ComponentProps<'li'>) {\n\treturn <li data-slot=\"breadcrumb-item\" className={cn('inline-flex items-center gap-1', className)} {...props} />\n}\n\nfunction BreadcrumbLink({ className, render, ...props }: useRender.ComponentProps<'a'>) {\n\treturn useRender({\n\t\tdefaultTagName: 'a',\n\t\tprops: mergeProps<'a'>(\n\t\t\t{\n\t\t\t\tclassName: cn(\n\t\t\t\t\t'text-foreground underline underline-offset-4 transition-colors hover:text-primary focus-visible:rounded-sm focus-visible:ring-3 focus-visible:ring-ring focus-visible:outline-none',\n\t\t\t\t\tclassName,\n\t\t\t\t),\n\t\t\t},\n\t\t\tprops,\n\t\t),\n\t\trender,\n\t\tstate: {\n\t\t\tslot: 'breadcrumb-link',\n\t\t},\n\t})\n}\n\nfunction BreadcrumbPage({ className, ...props }: React.ComponentProps<'span'>) {\n\treturn (\n\t\t<span\n\t\t\tdata-slot=\"breadcrumb-page\"\n\t\t\trole=\"link\"\n\t\t\taria-disabled=\"true\"\n\t\t\taria-current=\"page\"\n\t\t\ttabIndex={0}\n\t\t\tclassName={cn(\n\t\t\t\t'cursor-default font-normal text-primary focus-visible:rounded-sm focus-visible:ring-3 focus-visible:ring-ring focus-visible:outline-none',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nfunction BreadcrumbSeparator({ children, className, ...props }: React.ComponentProps<'li'>) {\n\treturn (\n\t\t<li data-slot=\"breadcrumb-separator\" aria-hidden=\"true\" className={cn('[&>svg]:size-3.5', className)} {...props}>\n\t\t\t{children ?? <ChevronRightIcon />}\n\t\t</li>\n\t)\n}\n\nfunction BreadcrumbEllipsis({ className, ...props }: React.ComponentProps<'span'>) {\n\treturn (\n\t\t<span\n\t\t\tdata-slot=\"breadcrumb-ellipsis\"\n\t\t\taria-hidden=\"true\"\n\t\t\tclassName={cn('flex size-5 items-center justify-center [&>svg]:size-4', className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<MoreHorizontalIcon />\n\t\t\t<span className=\"sr-only\">More</span>\n\t\t</span>\n\t)\n}\n\nexport {\n\tBreadcrumb,\n\tBreadcrumbList,\n\tBreadcrumbItem,\n\tBreadcrumbLink,\n\tBreadcrumbPage,\n\tBreadcrumbSeparator,\n\tBreadcrumbEllipsis,\n}\n",
      "type": "registry:ui",
      "target": "components/ui/breadcrumb.tsx"
    }
  ],
  "type": "registry:ui"
}