{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "breadcrumb",
  "type": "registry:ui",
  "title": "Breadcrumb",
  "description": "A breadcrumb component",
  "dependencies": [
    "solid-js",
    "@kobalte/core"
  ],
  "files": [
    {
      "path": "src/registry/ui/breadcrumb.tsx",
      "content": "import type { Component, ComponentProps, JSX, ValidComponent } from \"solid-js\"\nimport { Show, splitProps } from \"solid-js\"\n\nimport type { PolymorphicProps } from \"@kobalte/core\"\nimport * as BreadcrumbPrimitive from \"@kobalte/core/breadcrumbs\"\n\nimport { cn } from \"~/lib/utils\"\n\nconst Breadcrumb = BreadcrumbPrimitive.Root\n\nconst BreadcrumbList: Component<ComponentProps<\"ol\">> = (props) => {\n  const [local, others] = splitProps(props, [\"class\"])\n  return (\n    <ol\n      class={cn(\n        \"flex flex-wrap items-center gap-1.5 break-words text-sm text-muted-foreground sm:gap-2.5\",\n        local.class\n      )}\n      {...others}\n    />\n  )\n}\n\nconst BreadcrumbItem: Component<ComponentProps<\"li\">> = (props) => {\n  const [local, others] = splitProps(props, [\"class\"])\n  return <li class={cn(\"inline-flex items-center gap-1.5\", local.class)} {...others} />\n}\n\ntype BreadcrumbLinkProps<T extends ValidComponent = \"a\"> =\n  BreadcrumbPrimitive.BreadcrumbsLinkProps<T> & { class?: string | undefined }\n\nconst BreadcrumbLink = <T extends ValidComponent = \"a\">(\n  props: PolymorphicProps<T, BreadcrumbLinkProps<T>>\n) => {\n  const [local, others] = splitProps(props as BreadcrumbLinkProps, [\"class\"])\n  return (\n    <BreadcrumbPrimitive.Link\n      class={cn(\n        \"transition-colors hover:text-foreground data-[current]:font-normal data-[current]:text-foreground\",\n        local.class\n      )}\n      {...others}\n    />\n  )\n}\n\ntype BreadcrumbSeparatorProps<T extends ValidComponent = \"span\"> =\n  BreadcrumbPrimitive.BreadcrumbsSeparatorProps<T> & {\n    class?: string | undefined\n    children?: JSX.Element\n  }\n\nconst BreadcrumbSeparator = <T extends ValidComponent = \"span\">(\n  props: PolymorphicProps<T, BreadcrumbSeparatorProps<T>>\n) => {\n  const [local, others] = splitProps(props as BreadcrumbSeparatorProps, [\"class\", \"children\"])\n  return (\n    <BreadcrumbPrimitive.Separator class={cn(\"[&>svg]:size-3.5\", local.class)} {...others}>\n      <Show\n        when={local.children}\n        fallback={\n          <svg\n            xmlns=\"http://www.w3.org/2000/svg\"\n            viewBox=\"0 0 24 24\"\n            fill=\"none\"\n            stroke=\"currentColor\"\n            stroke-width=\"2\"\n            stroke-linecap=\"round\"\n            stroke-linejoin=\"round\"\n          >\n            <path d=\"M9 6l6 6l-6 6\" />\n          </svg>\n        }\n      >\n        {local.children}\n      </Show>\n    </BreadcrumbPrimitive.Separator>\n  )\n}\n\nconst BreadcrumbEllipsis: Component<ComponentProps<\"span\">> = (props) => {\n  const [local, others] = splitProps(props, [\"class\"])\n  return (\n    <span class={cn(\"flex size-9 items-center justify-center\", local.class)} {...others}>\n      <svg\n        xmlns=\"http://www.w3.org/2000/svg\"\n        viewBox=\"0 0 24 24\"\n        fill=\"none\"\n        stroke=\"currentColor\"\n        stroke-width=\"2\"\n        stroke-linecap=\"round\"\n        stroke-linejoin=\"round\"\n        class=\"size-4\"\n      >\n        <path d=\"M5 12m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\" />\n        <path d=\"M12 12m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\" />\n        <path d=\"M19 12m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\" />\n      </svg>\n      <span class=\"sr-only\">More</span>\n    </span>\n  )\n}\n\nexport {\n  Breadcrumb,\n  BreadcrumbList,\n  BreadcrumbItem,\n  BreadcrumbLink,\n  BreadcrumbSeparator,\n  BreadcrumbEllipsis\n}\n",
      "type": "registry:ui"
    }
  ]
}