Breadcrumb
muffled-ui-registry/breadcrumbFreeComponent
Hierarchical page trail with links, separators, and ellipsis.
Live preview
live · rendered by the registry
Rendered by muffled-ui-registry on their own page — this is the component running, not a screenshot of it.Install it
npx shadcn@latest add https://ui.muffled.studio/r/breadcrumb.jsonSource
1import * as React from "react"2import { mergeProps } from "@base-ui/react/merge-props"3import { useRender } from "@base-ui/react/use-render"4import { ChevronRightIcon, MoreHorizontalIcon } from "lucide-react"56import { cn } from "@/registry/lib/surface"78function Breadcrumb({ className, ...props }: React.ComponentProps<"nav">) {9 return (10 <nav11 aria-label="breadcrumb"12 data-slot="breadcrumb"13 className={cn(className)}14 {...props}15 />16 )17}1819function BreadcrumbList({ className, ...props }: React.ComponentProps<"ol">) {20 return (21 <ol22 data-slot="breadcrumb-list"23 className={cn(24 "flex flex-wrap items-center gap-1.5 text-sm wrap-break-word text-muted-foreground",25 className26 )}27 {...props}28 />29 )30}3132function BreadcrumbItem({ className, ...props }: React.ComponentProps<"li">) {33 return (34 <li35 data-slot="breadcrumb-item"36 className={cn("inline-flex items-center gap-1", className)}37 {...props}38 />39 )40}4142function BreadcrumbLink({43 className,44 render,45 ...props46}: useRender.ComponentProps<"a">) {47 return useRender({48 defaultTagName: "a",49 props: mergeProps<"a">(50 {51 className: cn("transition-colors hover:text-foreground", className),52 },53 props54 ),55 render,56 state: {57 slot: "breadcrumb-link",58 },59 })60}6162function BreadcrumbPage({ className, ...props }: React.ComponentProps<"span">) {63 return (64 <span65 data-slot="breadcrumb-page"66 role="link"67 aria-disabled="true"68 aria-current="page"69 className={cn("font-normal text-foreground", className)}70 {...props}71 />72 )73}7475function BreadcrumbSeparator({76 children,77 className,78 ...props79}: React.ComponentProps<"li">) {80 return (81 <li82 data-slot="breadcrumb-separator"83 role="presentation"84 aria-hidden="true"85 className={cn("[&>svg]:size-3.5", className)}86 {...props}87 >88 {children ?? (89 <ChevronRightIcon />90 )}91 </li>92 )93}9495function BreadcrumbEllipsis({96 className,97 ...props98}: React.ComponentProps<"span">) {99 return (100 <span101 data-slot="breadcrumb-ellipsis"102 role="presentation"103 aria-hidden="true"104 className={cn(105 "flex size-5 items-center justify-center [&>svg]:size-4",106 className107 )}108 {...props}109 >110 <MoreHorizontalIcon111 />112 <span className="sr-only">More</span>113 </span>114 )115}116117export {118 Breadcrumb,119 BreadcrumbList,120// … truncated
What it pulls in
npm packages
Other registry items
Files it writes
More from muffled-ui-registry
All 55 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| Accordionaccordion | muffled-ui-registry | Components | Free | 2 deps | |
| Alertalert | muffled-ui-registry | Components | Free | 1 dep | |
| Alert Dialogalert-dialog | muffled-ui-registry | Components | Free | 1 dep | |
| Avataravatar | muffled-ui-registry | Components | Free | 1 dep | |
| Badgebadge | muffled-ui-registry | Components | Free | 2 deps | |
| Buttonbutton | muffled-ui-registry | Components | Free | 2 deps | |
| Button Groupbutton-group | muffled-ui-registry | Components | Free | 2 deps | |
| Calendarcalendar | muffled-ui-registry | Components | Free | 2 deps |
