Breadcrumb
glasswave/breadcrumbFreeComponent
Navigation trail for the current page hierarchy.
Live preview
live · rendered by the registry
Rendered by glasswave on their own page — this is the component running, not a screenshot of it.Install it
npx shadcn@latest add https://glasswave.denizisik.com/r/breadcrumb.jsonSource
1"use client";23import { Slot } from "@radix-ui/react-slot";4import { ChevronRight, MoreHorizontal } from "lucide-react";5import { forwardRef } from "react";6import { cn } from "@/lib/utils";78export function Breadcrumb({ ...props }: React.ComponentProps<"nav">) {9 return <nav aria-label="breadcrumb" data-slot="breadcrumb" {...props} />;10}1112export function BreadcrumbList({13 className,14 ...props15}: React.ComponentProps<"ol">) {16 return (17 <ol18 data-slot="breadcrumb-list"19 className={cn(20 // Frosted glass bar — visible white fill + top highlight so it reads as21 // glass on light backgrounds rather than flat grey.22 "relative flex w-fit flex-wrap items-center gap-1 break-words rounded-full border border-black/[0.06] bg-white/45 px-3.5 py-1.5 text-sm text-current/80 shadow-[inset_0_1px_0_0_rgba(255,255,255,0.7),0_6px_20px_rgba(0,0,0,0.06)] backdrop-blur-xl dark:border-white/12 dark:bg-white/[0.07] dark:text-current/75 dark:shadow-[inset_0_1px_0_0_rgba(255,255,255,0.16),0_8px_24px_rgba(0,0,0,0.3)]",23 className,24 )}25 {...props}26 />27 );28}2930export function BreadcrumbItem({31 className,32 ...props33}: React.ComponentProps<"li">) {34 return (35 <li36 data-slot="breadcrumb-item"37 className={cn("inline-flex items-center gap-1.5", className)}38 {...props}39 />40 );41}4243export const BreadcrumbLink = forwardRef<44 HTMLAnchorElement,45 React.ComponentProps<"a"> & { asChild?: boolean }46>(({ asChild, className, ...props }, ref) => {47 const Comp = asChild ? Slot : "a";48 return (49 <Comp50 ref={ref}51 data-slot="breadcrumb-link"52 className={cn(53 "rounded-full px-2 py-0.5 transition-colors hover:bg-black/[0.06] hover:text-current dark:hover:bg-white/10",54 className,55 )}56 {...props}57 />58 );59});60BreadcrumbLink.displayName = "BreadcrumbLink";6162export function BreadcrumbPage({63 className,64 ...props65}: React.ComponentProps<"span">) {66 return (67 <span68 data-slot="breadcrumb-page"69 role="link"70 aria-disabled="true"71 aria-current="page"72 className={cn(73 "rounded-full border border-black/[0.05] bg-white/70 px-2 py-0.5 font-medium text-current shadow-sm dark:border-white/10 dark:bg-white/[0.14]",74 className,75 )}76 {...props}77 />78 );79}8081export function BreadcrumbSeparator({82 children,83 className,84 ...props85}: React.ComponentProps<"li">) {86 return (87 <li88 data-slot="breadcrumb-separator"89// … truncated
What it pulls in
npm packages
Files it writes
More from glasswave
All 60 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| Accordionaccordion | glasswave | Components | Free | 2 deps | |
| Alertalert | glasswave | Components | Free | 1 dep | |
| Alert Dialogalert-dialog | glasswave | Components | Free | 1 dep | |
| Aspect Ratioaspect-ratio | glasswave | Components | Free | 1 dep | |
| Avataravatar | glasswave | Components | Free | 1 dep | |
| Badgebadge | glasswave | Components | Free | 1 dep | |
| Buttonbutton | glasswave | Components | Free | 2 deps | |
| Button Groupbutton-group | glasswave | Components | Free | 1 dep |
