Breadcrumb
adn-ui/breadcrumbFreeComponent
Displays the path to the current resource using a hierarchy of links.
Live preview
live · rendered by the registry
Rendered by adn-ui on their own page — this is the component running, not a screenshot of it.Install it
npx shadcn@latest add https://ui.awaiden.com/r/breadcrumb.jsonSource
1"use client";23import "./breadcrumb.css";4import type React from "react";5import { cn } from "tailwind-variants";67import { BreadcrumbContext, useBreadcrumbContext } from "./breadcrumb.context";8import { breadcrumbVariants, type BreadcrumbVariants } from "./breadcrumb.variants";910export type BreadcrumbProps = BreadcrumbVariants & React.ComponentProps<"nav">;1112export const BreadcrumbRoot = ({ children, className, ...props }: BreadcrumbProps) => {13 const slots = breadcrumbVariants();1415 return (16 <BreadcrumbContext.Provider value={{ slots }}>17 <nav aria-label="breadcrumb" className={cn(slots.root(), className)} {...props}>18 {children}19 </nav>20 </BreadcrumbContext.Provider>21 );22};2324export type BreadcrumbListProps = React.ComponentProps<"ol">;2526export const BreadcrumbList = ({ className, ...props }: BreadcrumbListProps) => {27 const { slots } = useBreadcrumbContext();28 return <ol className={cn(slots.list(), className)} {...props} />;29};3031export type BreadcrumbItemProps = React.ComponentProps<"li">;3233export const BreadcrumbItem = ({ className, ...props }: BreadcrumbItemProps) => {34 const { slots } = useBreadcrumbContext();35 return <li className={cn(slots.item(), className)} {...props} />;36};3738export type BreadcrumbLinkProps = React.ComponentProps<"a">;3940export const BreadcrumbLink = ({ className, ...props }: BreadcrumbLinkProps) => {41 const { slots } = useBreadcrumbContext();42 return <a className={cn(slots.link(), className)} {...props} />;43};4445export type BreadcrumbPageProps = React.ComponentProps<"span">;4647export const BreadcrumbPage = ({ className, ...props }: BreadcrumbPageProps) => {48 const { slots } = useBreadcrumbContext();49 return (50 <span51 role="link"52 aria-disabled="true"53 aria-current="page"54 className={cn(slots.page(), className)}55 {...props}56 />57 );58};5960export type BreadcrumbSeparatorProps = React.ComponentProps<"li">;6162export const BreadcrumbSeparator = ({63 children,64 className,65 ...props66}: BreadcrumbSeparatorProps) => {67 const { slots } = useBreadcrumbContext();68 return (69 <li70 role="presentation"71 aria-hidden="true"72 className={cn(slots.separator(), className)}73 {...props}74 >75 {children ?? "/"}76 </li>77 );78};7980export type BreadcrumbEllipsisProps = React.ComponentProps<"span">;8182export const BreadcrumbEllipsis = ({ className, ...props }: BreadcrumbEllipsisProps) => {83 const { slots } = useBreadcrumbContext();84 return (85 <span86// … truncated
What it pulls in
npm packages
Files it writes
More from adn-ui
All 46 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| Accordionaccordion | adn-ui | Components | Free | 2 deps · 5 files | |
| Alert Dialogalert-dialog | adn-ui | Components | Free | 2 deps · 5 files | |
| Aspect Ratioaspect-ratio | adn-ui | Components | Free | 1 dep · 5 files | |
| Autocompleteautocomplete | adn-ui | Components | Free | 2 deps · 5 files | |
| Avataravatar | adn-ui | Components | Free | 2 deps · 5 files | |
| Badgebadge | adn-ui | Components | Free | 1 dep · 5 files | |
| Buttonbutton | adn-ui | Components | Free | 1 dep · 4 files | |
| Button Groupbutton-group | adn-ui | Components | Free | 1 dep · 5 files |
