Breadcrumb
gymnopedies/breadcrumbFreeComponent
Breadcrumb — gymnopédies-themed shadcn primitive.
Install it
npx shadcn@latest add https://gymnopedies.shoota.work/r/breadcrumb.jsonSource
1import * as React from "react"2import { mergeProps } from "@base-ui/react/merge-props"3import { useRender } from "@base-ui/react/use-render"45import { cn } from "@/lib/utils"6import { ChevronRightIcon, MoreHorizontalIcon } from "lucide-react"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 gymnopedies
All 49 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| Accordionaccordion | gymnopedies | Components | Free | 2 deps | |
| Alertalert | gymnopedies | Components | Free | 1 dep | |
| Alert Dialogalert-dialog | gymnopedies | Components | Free | 1 dep | |
| Articlearticle | gymnopedies | Components | Free | no deps | |
| Aspect Ratioaspect-ratio | gymnopedies | Components | Free | no deps | |
| Avataravatar | gymnopedies | Components | Free | 1 dep | |
| Badgebadge | gymnopedies | Components | Free | 2 deps | |
| Buttonbutton | gymnopedies | Components | Free | 2 deps |
