{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "breadcrumb",
  "type": "registry:ui",
  "dependencies": [
    "class-variance-authority",
    "@radix-ui/react-slot"
  ],
  "registryDependencies": [
    "https://ui.getlyse.com/r/lyse-tokens.json"
  ],
  "files": [
    {
      "path": "registry/new-york/ui/breadcrumb/breadcrumb.tsx",
      "content": "import * as React from \"react\"\nimport { Slot } from \"@radix-ui/react-slot\"\nimport { cva } from \"class-variance-authority\"\nimport { MoreHorizontal } from \"lucide-react\"\n\nimport { cn } from \"@/lib/utils\"\nimport \"./breadcrumb.css\"\n\n/* ------------------------------------------------------------------ */\n/*  CVA                                                                */\n/* ------------------------------------------------------------------ */\n\nconst breadcrumbLinkVariants = cva(\n  \"breadcrumb-link text-content-caption transition-colors duration-150 outline-none\"\n)\n\nconst breadcrumbPageVariants = cva(\n  \"breadcrumb-page text-content-caption font-accent outline-none\"\n)\n\nconst breadcrumbSeparatorVariants = cva(\n  \"breadcrumb-separator text-content-caption\"\n)\n\nconst breadcrumbEllipsisVariants = cva(\n  \"breadcrumb-ellipsis inline-flex items-center justify-center rounded-[var(--layout-radius-sm)] p-[var(--layout-padding-xs)] outline-none\"\n)\n\n/* ------------------------------------------------------------------ */\n/*  Breadcrumb                                                         */\n/* ------------------------------------------------------------------ */\n\nfunction Breadcrumb({\n  className,\n  ...props\n}: React.ComponentProps<\"nav\">) {\n  return (\n    <nav\n      data-slot=\"breadcrumb\"\n      aria-label=\"breadcrumb\"\n      className={cn(className)}\n      {...props}\n    />\n  )\n}\n\n/* ------------------------------------------------------------------ */\n/*  BreadcrumbList                                                     */\n/* ------------------------------------------------------------------ */\n\nfunction BreadcrumbList({\n  className,\n  ...props\n}: React.ComponentProps<\"ol\">) {\n  return (\n    <ol\n      data-slot=\"breadcrumb-list\"\n      role=\"list\"\n      className={cn(\n        \"flex items-center gap-[var(--layout-gap-sm)]\",\n        className\n      )}\n      {...props}\n    />\n  )\n}\n\n/* ------------------------------------------------------------------ */\n/*  BreadcrumbItem                                                     */\n/* ------------------------------------------------------------------ */\n\nfunction BreadcrumbItem({\n  className,\n  ...props\n}: React.ComponentProps<\"li\">) {\n  return (\n    <li\n      data-slot=\"breadcrumb-item\"\n      className={cn(\"inline-flex items-center gap-[var(--layout-gap-sm)]\", className)}\n      {...props}\n    />\n  )\n}\n\n/* ------------------------------------------------------------------ */\n/*  BreadcrumbLink                                                     */\n/* ------------------------------------------------------------------ */\n\nfunction BreadcrumbLink({\n  asChild,\n  className,\n  ...props\n}: React.ComponentProps<\"a\"> & { asChild?: boolean }) {\n  const Comp = asChild ? Slot : \"a\"\n  return (\n    <Comp\n      data-slot=\"breadcrumb-link\"\n      className={cn(breadcrumbLinkVariants(), className)}\n      {...props}\n    />\n  )\n}\n\n/* ------------------------------------------------------------------ */\n/*  BreadcrumbPage                                                     */\n/* ------------------------------------------------------------------ */\n\nfunction BreadcrumbPage({\n  className,\n  ...props\n}: React.ComponentProps<\"a\">) {\n  return (\n    <a\n      data-slot=\"breadcrumb-page\"\n      aria-current=\"page\"\n      className={cn(breadcrumbPageVariants(), className)}\n      {...props}\n    />\n  )\n}\n\n/* ------------------------------------------------------------------ */\n/*  BreadcrumbSeparator                                                */\n/* ------------------------------------------------------------------ */\n\nfunction BreadcrumbSeparator({\n  children,\n  className,\n  ...props\n}: React.ComponentProps<\"span\">) {\n  return (\n    <span\n      data-slot=\"breadcrumb-separator\"\n      aria-hidden=\"true\"\n      role=\"presentation\"\n      className={cn(breadcrumbSeparatorVariants(), className)}\n      {...props}\n    >\n      {children ?? \"/\"}\n    </span>\n  )\n}\n\n/* ------------------------------------------------------------------ */\n/*  BreadcrumbEllipsis                                                 */\n/* ------------------------------------------------------------------ */\n\nfunction BreadcrumbEllipsis({\n  className,\n  ...props\n}: React.ComponentProps<\"button\">) {\n  return (\n    <button\n      data-slot=\"breadcrumb-ellipsis\"\n      type=\"button\"\n      aria-label=\"Show more breadcrumbs\"\n      className={cn(breadcrumbEllipsisVariants(), className)}\n      {...props}\n    >\n      <MoreHorizontal className=\"size-4\" />\n    </button>\n  )\n}\n\n/* ------------------------------------------------------------------ */\n/*  Exports                                                            */\n/* ------------------------------------------------------------------ */\n\nexport {\n  Breadcrumb,\n  BreadcrumbList,\n  BreadcrumbItem,\n  BreadcrumbLink,\n  BreadcrumbPage,\n  BreadcrumbSeparator,\n  BreadcrumbEllipsis,\n  breadcrumbLinkVariants,\n  breadcrumbPageVariants,\n  breadcrumbSeparatorVariants,\n  breadcrumbEllipsisVariants,\n}\n",
      "type": "registry:ui"
    },
    {
      "path": "registry/new-york/ui/breadcrumb/breadcrumb.css",
      "content": "/* ================================================================\n * BREADCRUMB — Token-based theming\n * ================================================================ */\n\n/* Link — default state */\n.breadcrumb-link {\n  color: var(--text-base-moderate);\n  cursor: pointer;\n}\n\n.breadcrumb-link:hover {\n  color: var(--text-base-strong);\n}\n\n.breadcrumb-link:focus-visible {\n  outline: 2px solid var(--border-selected);\n  outline-offset: 2px;\n  border-radius: var(--layout-radius-sm);\n}\n\n/* Current page */\n.breadcrumb-page {\n  color: var(--text-base-strong);\n  pointer-events: none;\n}\n\n.breadcrumb-page:focus-visible {\n  outline: 2px solid var(--border-selected);\n  outline-offset: 2px;\n  border-radius: var(--layout-radius-sm);\n}\n\n/* Separator */\n.breadcrumb-separator {\n  color: var(--text-base-medium);\n}\n\n/* Ellipsis button */\n.breadcrumb-ellipsis {\n  color: var(--text-base-medium);\n  background: transparent;\n  border: none;\n  cursor: pointer;\n  transition: color 150ms ease, background 150ms ease;\n}\n\n.breadcrumb-ellipsis:hover {\n  color: var(--text-base-moderate);\n  background: var(--background-neutral-faint-hover);\n}\n\n.breadcrumb-ellipsis:focus-visible {\n  outline: 2px solid var(--border-selected);\n  outline-offset: 2px;\n}\n",
      "type": "registry:ui"
    }
  ]
}