Breadcrumb
uiable/breadcrumbFreeComponent
Breadcrumb component.
Live preview
live · rendered by the registry
Rendered by uiable on their own page — this is the component running, not a screenshot of it.Install it
npx shadcn@latest add https://uiable.com/r/breadcrumb.jsonSource
1"use client";23import { ComponentProps } from "react";45import { mergeProps } from "@base-ui/react/merge-props";6import { useRender } from "@base-ui/react/use-render";78import { cn } from "@/lib/utils";9import { ChevronRightIcon, MoreHorizontalIcon } from "lucide-react";1011function Breadcrumb({ className, ...props }: ComponentProps<"nav">) {12 return (13 <nav14 aria-label="breadcrumb"15 data-slot="breadcrumb"16 className={cn(className)}17 {...props}18 />19 );20}2122function BreadcrumbList({ className, ...props }: ComponentProps<"ol">) {23 return (24 <ol25 data-slot="breadcrumb-list"26 className={cn(27 "text-muted-foreground flex flex-wrap items-center gap-1.5 text-base wrap-break-word",28 className29 )}30 {...props}31 />32 );33}3435function BreadcrumbItem({ className, ...props }: ComponentProps<"li">) {36 return (37 <li38 data-slot="breadcrumb-item"39 className={cn("inline-flex items-center gap-1", className)}40 {...props}41 />42 );43}4445function BreadcrumbLink({46 className,47 render,48 ...props49}: useRender.ComponentProps<"a">) {50 return useRender({51 defaultTagName: "a",52 props: mergeProps<"a">(53 {54 className: cn("hover:text-foreground transition-colors", className)55 },56 props57 ),58 render,59 state: {60 slot: "breadcrumb-link"61 }62 });63}6465function BreadcrumbPage({ className, ...props }: ComponentProps<"span">) {66 return (67 <span68 data-slot="breadcrumb-page"69 role="link"70 aria-disabled="true"71 aria-current="page"72 className={cn("text-foreground font-normal", className)}73 {...props}74 />75 );76}7778function BreadcrumbSeparator({79 children,80 className,81 ...props82}: ComponentProps<"li">) {83 return (84 <li85 data-slot="breadcrumb-separator"86 role="presentation"87 aria-hidden="true"88 className={cn("[&>svg]:size-4 [&>svg]:leading-0", className)}89 {...props}90 >91 {children ?? <ChevronRightIcon />}92 </li>93 );94}9596function BreadcrumbEllipsis({97 className,98 ...props99}: ComponentProps<"span">) {100 return (101 <span102 data-slot="breadcrumb-ellipsis"103 role="presentation"104 aria-hidden="true"105 className={cn(106 "flex size-5 items-center justify-center [&>svg]:size-4",107 className108 )}109 {...props}110 >111 <MoreHorizontalIcon />112// … truncated
What it pulls in
npm packages
Files it writes
More from uiable
All 712 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| Accordionaccordion | uiable | Components | Free | 2 deps | |
| Alertalert | uiable | Components | Free | 1 dep | |
| Alert Dialogalert-dialog | uiable | Components | Free | 1 dep | |
| Aspect Ratioaspect-ratio | uiable | Components | Free | no deps | |
| Attachmentattachment | uiable | Components | Free | 2 deps | |
| Avataravatar | uiable | Components | Free | 1 dep | |
| Badgebadge | uiable | Components | Free | 2 deps | |
| Bubblebubble | uiable | Components | Free | 2 deps |
