Breadcrumb
Displays the path to the current resource using a hierarchy of links.
Code
import { Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, DropdownMenu, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuTrigger,} from "@falcon/ui-kit";
export function Example() { return ( <Breadcrumb> <BreadcrumbList> <BreadcrumbItem> <BreadcrumbLink render={<a href="#" />}>Home</BreadcrumbLink> </BreadcrumbItem> <BreadcrumbSeparator /> <BreadcrumbItem> <DropdownMenu> <DropdownMenuTrigger render={<Button size="icon-sm" variant="ghost" />} > <BreadcrumbEllipsis /> <span className="tw:sr-only">Toggle menu</span> </DropdownMenuTrigger> <DropdownMenuContent align="start"> <DropdownMenuGroup> <DropdownMenuItem>Accounts</DropdownMenuItem> <DropdownMenuItem>Bookings</DropdownMenuItem> <DropdownMenuItem>Orders</DropdownMenuItem> </DropdownMenuGroup> </DropdownMenuContent> </DropdownMenu> </BreadcrumbItem> <BreadcrumbSeparator /> <BreadcrumbItem> <BreadcrumbLink render={<a href="#" />}>Orders</BreadcrumbLink> </BreadcrumbItem> <BreadcrumbSeparator /> <BreadcrumbItem> <BreadcrumbPage>Order details</BreadcrumbPage> </BreadcrumbItem> </BreadcrumbList> </Breadcrumb> );}Composition
Section titled “Composition”Use the following composition to build a Breadcrumb:
Breadcrumb└── BreadcrumbList ├── BreadcrumbItem │ └── BreadcrumbLink ├── BreadcrumbSeparator ├── BreadcrumbItem │ └── BreadcrumbLink ├── BreadcrumbSeparator └── BreadcrumbItem └── BreadcrumbPageA basic breadcrumb with a home link and an orders link.
Code
import { Breadcrumb, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator,} from "@falcon/ui-kit";
export function Example() { return ( <Breadcrumb> <BreadcrumbList> <BreadcrumbItem> <BreadcrumbLink href="#">Home</BreadcrumbLink> </BreadcrumbItem> <BreadcrumbSeparator /> <BreadcrumbItem> <BreadcrumbLink href="#">Orders</BreadcrumbLink> </BreadcrumbItem> <BreadcrumbSeparator /> <BreadcrumbItem> <BreadcrumbPage>Order details</BreadcrumbPage> </BreadcrumbItem> </BreadcrumbList> </Breadcrumb> );}Custom separator
Section titled “Custom separator”Use a custom component as children for <BreadcrumbSeparator /> to create a
custom separator.
Code
import { Breadcrumb, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, DotIcon,} from "@falcon/ui-kit";
export function Example() { return ( <Breadcrumb> <BreadcrumbList> <BreadcrumbItem> <BreadcrumbLink render={<a href="#" />}>Home</BreadcrumbLink> </BreadcrumbItem> <BreadcrumbSeparator> <DotIcon /> </BreadcrumbSeparator> <BreadcrumbItem> <BreadcrumbLink render={<a href="#" />}>Orders</BreadcrumbLink> </BreadcrumbItem> <BreadcrumbSeparator> <DotIcon /> </BreadcrumbSeparator> <BreadcrumbItem> <BreadcrumbPage>Order details</BreadcrumbPage> </BreadcrumbItem> </BreadcrumbList> </Breadcrumb> );}Dropdown
Section titled “Dropdown”You can compose <BreadcrumbItem /> with a <DropdownMenu /> to create a
dropdown in the breadcrumb.
Code
import { Breadcrumb, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, ChevronDownIcon, DotIcon, DropdownMenu, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuTrigger,} from "@falcon/ui-kit";
export function Example() { return ( <Breadcrumb> <BreadcrumbList> <BreadcrumbItem> <BreadcrumbLink render={<a href="#" />}>Home</BreadcrumbLink> </BreadcrumbItem> <BreadcrumbSeparator> <DotIcon /> </BreadcrumbSeparator> <BreadcrumbItem> <DropdownMenu> <DropdownMenuTrigger render={<button className="tw:flex tw:items-center tw:gap-1" />} > Orders <ChevronDownIcon data-icon="inline-end" className="tw:size-3.5" /> </DropdownMenuTrigger> <DropdownMenuContent align="start"> <DropdownMenuGroup> <DropdownMenuItem>Accounts</DropdownMenuItem> <DropdownMenuItem>Bookings</DropdownMenuItem> <DropdownMenuItem>Orders</DropdownMenuItem> </DropdownMenuGroup> </DropdownMenuContent> </DropdownMenu> </BreadcrumbItem> <BreadcrumbSeparator> <DotIcon /> </BreadcrumbSeparator> <BreadcrumbItem> <BreadcrumbPage>Order details</BreadcrumbPage> </BreadcrumbItem> </BreadcrumbList> </Breadcrumb> );}Collapsed
Section titled “Collapsed”We provide a <BreadcrumbEllipsis /> component to show a collapsed state when
the breadcrumb is too long.
Code
import { Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator,} from "@falcon/ui-kit";
export function Example() { return ( <Breadcrumb> <BreadcrumbList> <BreadcrumbItem> <BreadcrumbLink render={<a href="#" />}>Home</BreadcrumbLink> </BreadcrumbItem> <BreadcrumbSeparator /> <BreadcrumbItem> <BreadcrumbEllipsis /> </BreadcrumbItem> <BreadcrumbSeparator /> <BreadcrumbItem> <BreadcrumbLink render={<a href="#" />}>Orders</BreadcrumbLink> </BreadcrumbItem> <BreadcrumbSeparator /> <BreadcrumbItem> <BreadcrumbPage>Order details</BreadcrumbPage> </BreadcrumbItem> </BreadcrumbList> </Breadcrumb> );}Link component
Section titled “Link component”To use a custom link component from your routing library, you can use the
render prop on <BreadcrumbLink />.
Code
import { Breadcrumb, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator,} from "@falcon/ui-kit";
function RouterLink({ to, target, ...props}: React.ComponentProps<"a"> & { to: string }) { return <a href={to} {...props} target={target} rel="noreferrer" />;}
export function Example() { return ( <Breadcrumb> <BreadcrumbList> <BreadcrumbItem> <BreadcrumbLink render={<RouterLink to="#link-component" />}> Home </BreadcrumbLink> </BreadcrumbItem> <BreadcrumbSeparator /> <BreadcrumbItem> <BreadcrumbLink render={<RouterLink to="#link-component" />}> Orders </BreadcrumbLink> </BreadcrumbItem> <BreadcrumbSeparator /> <BreadcrumbItem> <BreadcrumbPage>Order details</BreadcrumbPage> </BreadcrumbItem> </BreadcrumbList> </Breadcrumb> );}Overflow
Section titled “Overflow”A trail that does not fit its container scrolls horizontally and fades the clipped edge. It initially scrolls to the current page.
Code
import { Breadcrumb, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator,} from "@falcon/ui-kit";
export function Example() { return ( <div className="tw:max-w-sm"> <Breadcrumb> <BreadcrumbList> <BreadcrumbItem> <BreadcrumbLink href="?section=home">Home</BreadcrumbLink> </BreadcrumbItem>
<BreadcrumbSeparator />
<BreadcrumbItem> <BreadcrumbLink href="?section=accounts">Accounts</BreadcrumbLink> </BreadcrumbItem>
<BreadcrumbSeparator />
<BreadcrumbItem> <BreadcrumbLink href="?account=green-valley-farm"> Green Valley Farm </BreadcrumbLink> </BreadcrumbItem>
<BreadcrumbSeparator />
<BreadcrumbItem> <BreadcrumbLink href="?section=orders">Orders</BreadcrumbLink> </BreadcrumbItem>
<BreadcrumbSeparator />
<BreadcrumbItem> <BreadcrumbPage>ORD-2024-00847</BreadcrumbPage> </BreadcrumbItem> </BreadcrumbList> </Breadcrumb> </div> );}Breadcrumb
Section titled “Breadcrumb”Displays the path to the current resource through a hierarchy of links.
Renders a <nav> element and accepts standard <nav> props.
style?: React.CSSPropertiesApplied to the scrolling content inside the navigation element.
BreadcrumbEllipsis
Section titled “BreadcrumbEllipsis”Indicates omitted breadcrumb items. Renders a <span> element and accepts
standard <span> props.
BreadcrumbItem
Section titled “BreadcrumbItem”Contains one breadcrumb link or current page. Renders an <li> element and
accepts standard <li> props.
BreadcrumbLink
Section titled “BreadcrumbLink”Renders a breadcrumb link as an <a> element and accepts standard <a>
props. Use render to replace the element.
render
Section titled “render”render?: React.ReactElement<any, string | React.JSXElementConstructor<any>> | ComponentRenderFn<HTMLProps, {}>Allows you to replace the component’s HTML element with a different tag, or compose it with another component. Accepts a React element or a function that returns the element to render.
BreadcrumbList
Section titled “BreadcrumbList”Contains breadcrumb items in an ordered list. Renders an <ol> element and
accepts standard <ol> props.
BreadcrumbPage
Section titled “BreadcrumbPage”Marks the current breadcrumb page. Renders a disabled <span> element and
accepts standard <span> props.
BreadcrumbSeparator
Section titled “BreadcrumbSeparator”Separates breadcrumb items. Renders an <li> element and accepts standard
<li> props. Pass children to replace the default separator icon.