Breadcrumb
---import { Breadcrumb, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, BreadcrumbEllipsis } from "@/components/starwind/breadcrumb";---
<Breadcrumb> <BreadcrumbList> <BreadcrumbItem> <BreadcrumbLink href="/">Home</BreadcrumbLink> </BreadcrumbItem> <BreadcrumbSeparator /> <BreadcrumbItem> <BreadcrumbEllipsis /> </BreadcrumbItem> <BreadcrumbSeparator /> <BreadcrumbItem> <BreadcrumbLink href="/products/categories">Categories</BreadcrumbLink> </BreadcrumbItem> <BreadcrumbSeparator /> <BreadcrumbItem> <BreadcrumbPage>Electronics</BreadcrumbPage> </BreadcrumbItem> </BreadcrumbList></Breadcrumb>import { Breadcrumb, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, BreadcrumbEllipsis } from "@/components/starwind/breadcrumb";
export function Example() { return ( <Breadcrumb> <BreadcrumbList> <BreadcrumbItem> <BreadcrumbLink href="/">Home</BreadcrumbLink> </BreadcrumbItem> <BreadcrumbSeparator /> <BreadcrumbItem> <BreadcrumbEllipsis /> </BreadcrumbItem> <BreadcrumbSeparator /> <BreadcrumbItem> <BreadcrumbLink href="/products/categories">Categories</BreadcrumbLink> </BreadcrumbItem> <BreadcrumbSeparator /> <BreadcrumbItem> <BreadcrumbPage>Electronics</BreadcrumbPage> </BreadcrumbItem> </BreadcrumbList> </Breadcrumb> );}<script setup lang="ts">import { Breadcrumb, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, BreadcrumbEllipsis,} from "@/components/starwind/breadcrumb";</script>
<template> <Breadcrumb> <BreadcrumbList> <BreadcrumbItem> <BreadcrumbLink href="/">Home</BreadcrumbLink> </BreadcrumbItem> <BreadcrumbSeparator /> <BreadcrumbItem> <BreadcrumbEllipsis /> </BreadcrumbItem> <BreadcrumbSeparator /> <BreadcrumbItem> <BreadcrumbLink href="/products/categories">Categories</BreadcrumbLink> </BreadcrumbItem> <BreadcrumbSeparator /> <BreadcrumbItem> <BreadcrumbPage>Electronics</BreadcrumbPage> </BreadcrumbItem> </BreadcrumbList> </Breadcrumb></template>Installation
pnpx starwind@latest add breadcrumb --framework astronpx starwind@latest add breadcrumb --framework astroyarn dlx starwind@latest add breadcrumb --framework astropnpx starwind@latest add breadcrumb --framework reactnpx starwind@latest add breadcrumb --framework reactyarn dlx starwind@latest add breadcrumb --framework reactpnpx starwind@latest add breadcrumb --framework vuenpx starwind@latest add breadcrumb --framework vueyarn dlx starwind@latest add breadcrumb --framework vueUsage
---import { Breadcrumb, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, BreadcrumbEllipsis } from "@/components/starwind/breadcrumb";---
<Breadcrumb> <BreadcrumbList> <BreadcrumbItem> <BreadcrumbLink href="/">Home</BreadcrumbLink> </BreadcrumbItem> <BreadcrumbSeparator /> <BreadcrumbItem> <BreadcrumbEllipsis /> </BreadcrumbItem> <BreadcrumbSeparator /> <BreadcrumbItem> <BreadcrumbLink href="/products/categories">Categories</BreadcrumbLink> </BreadcrumbItem> <BreadcrumbSeparator /> <BreadcrumbItem> <BreadcrumbPage>Electronics</BreadcrumbPage> </BreadcrumbItem> </BreadcrumbList></Breadcrumb>import { Breadcrumb, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, BreadcrumbEllipsis } from "@/components/starwind/breadcrumb";
export function Example() { return ( <Breadcrumb> <BreadcrumbList> <BreadcrumbItem> <BreadcrumbLink href="/">Home</BreadcrumbLink> </BreadcrumbItem> <BreadcrumbSeparator /> <BreadcrumbItem> <BreadcrumbEllipsis /> </BreadcrumbItem> <BreadcrumbSeparator /> <BreadcrumbItem> <BreadcrumbLink href="/products/categories">Categories</BreadcrumbLink> </BreadcrumbItem> <BreadcrumbSeparator /> <BreadcrumbItem> <BreadcrumbPage>Electronics</BreadcrumbPage> </BreadcrumbItem> </BreadcrumbList> </Breadcrumb> );}<script setup lang="ts">import { Breadcrumb, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, BreadcrumbEllipsis,} from "@/components/starwind/breadcrumb";</script>
<template> <Breadcrumb> <BreadcrumbList> <BreadcrumbItem> <BreadcrumbLink href="/">Home</BreadcrumbLink> </BreadcrumbItem> <BreadcrumbSeparator /> <BreadcrumbItem> <BreadcrumbEllipsis /> </BreadcrumbItem> <BreadcrumbSeparator /> <BreadcrumbItem> <BreadcrumbLink href="/products/categories">Categories</BreadcrumbLink> </BreadcrumbItem> <BreadcrumbSeparator /> <BreadcrumbItem> <BreadcrumbPage>Electronics</BreadcrumbPage> </BreadcrumbItem> </BreadcrumbList> </Breadcrumb></template>Composition
Use this structure for a breadcrumb trail:
Breadcrumb└── BreadcrumbList ├── BreadcrumbItem │ └── BreadcrumbLink ├── BreadcrumbSeparator ├── BreadcrumbItem │ └── BreadcrumbEllipsis ├── BreadcrumbSeparator └── BreadcrumbItem └── BreadcrumbPageSeparator
The BreadcrumbSeparator component is used to visually separate items in the breadcrumb trail. By default, it displays a chevron-right icon, but you can provide your own custom separator.
---import { Breadcrumb, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator } from "@/components/starwind/breadcrumb";---
<Breadcrumb> <BreadcrumbList> <BreadcrumbItem> <BreadcrumbLink href="/">Home</BreadcrumbLink> </BreadcrumbItem> <BreadcrumbSeparator>/</BreadcrumbSeparator> <BreadcrumbItem> <BreadcrumbLink href="/components">Components</BreadcrumbLink> </BreadcrumbItem> <BreadcrumbSeparator>/</BreadcrumbSeparator> <BreadcrumbItem> <BreadcrumbPage>Breadcrumb</BreadcrumbPage> </BreadcrumbItem> </BreadcrumbList></Breadcrumb>import { Breadcrumb, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator } from "@/components/starwind/breadcrumb";
export function Example() { return ( <> <Breadcrumb> <BreadcrumbList> <BreadcrumbItem> <BreadcrumbLink href="/">Home</BreadcrumbLink> </BreadcrumbItem> <BreadcrumbSeparator>/</BreadcrumbSeparator> <BreadcrumbItem> <BreadcrumbLink href="/components">Components</BreadcrumbLink> </BreadcrumbItem> <BreadcrumbSeparator>/</BreadcrumbSeparator> <BreadcrumbItem> <BreadcrumbPage>Breadcrumb</BreadcrumbPage> </BreadcrumbItem> </BreadcrumbList> </Breadcrumb> </> );}<script setup lang="ts">import { Breadcrumb, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator,} from "@/components/starwind/breadcrumb";</script>
<template> <Breadcrumb> <BreadcrumbList> <BreadcrumbItem> <BreadcrumbLink href="/">Home</BreadcrumbLink> </BreadcrumbItem> <BreadcrumbSeparator>/</BreadcrumbSeparator> <BreadcrumbItem> <BreadcrumbLink href="/components">Components</BreadcrumbLink> </BreadcrumbItem> <BreadcrumbSeparator>/</BreadcrumbSeparator> <BreadcrumbItem> <BreadcrumbPage>Breadcrumb</BreadcrumbPage> </BreadcrumbItem> </BreadcrumbList> </Breadcrumb></template>Interactive Ellipsis
Use BreadcrumbEllipsis as a Dropdown trigger to reveal hidden path segments. Runtime owns focus, keyboard navigation, outside-click and Escape dismissal, and the popup’s entry and exit animations.
---import { Breadcrumb, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, BreadcrumbEllipsis } from "@/components/starwind/breadcrumb";import { Dropdown, DropdownContent, DropdownLinkItem, DropdownTrigger } from "@/components/starwind/dropdown";---
<Breadcrumb> <BreadcrumbList> <BreadcrumbItem> <BreadcrumbLink href="/">Home</BreadcrumbLink> </BreadcrumbItem> <BreadcrumbSeparator /> <BreadcrumbItem> <Dropdown class="flex items-center justify-center"> <DropdownTrigger aria-label="Show hidden breadcrumb paths" class="group size-6"> <BreadcrumbEllipsis class="group-hover:text-foreground transition-colors" /> </DropdownTrigger> <DropdownContent align="start"> <DropdownLinkItem href="/docs/">Docs</DropdownLinkItem> <DropdownLinkItem href="/docs/components/">Components</DropdownLinkItem> <DropdownLinkItem href="/docs/components/breadcrumb/"> Breadcrumb </DropdownLinkItem> </DropdownContent> </Dropdown> </BreadcrumbItem> <BreadcrumbSeparator /> <BreadcrumbItem> <BreadcrumbLink href="#usage">Usage</BreadcrumbLink> </BreadcrumbItem> <BreadcrumbSeparator /> <BreadcrumbItem> <BreadcrumbPage>Interactive Ellipsis</BreadcrumbPage> </BreadcrumbItem> </BreadcrumbList></Breadcrumb>import { Breadcrumb, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, BreadcrumbEllipsis } from "@/components/starwind/breadcrumb";import { Dropdown, DropdownContent, DropdownLinkItem, DropdownTrigger } from "@/components/starwind/dropdown";
export function Example() { return ( <> <Breadcrumb> <BreadcrumbList> <BreadcrumbItem> <BreadcrumbLink href="/">Home</BreadcrumbLink> </BreadcrumbItem> <BreadcrumbSeparator /> <BreadcrumbItem> <Dropdown className="flex items-center justify-center"> <DropdownTrigger aria-label="Show hidden breadcrumb paths" className="group size-6"> <BreadcrumbEllipsis className="group-hover:text-foreground transition-colors" /> </DropdownTrigger> <DropdownContent align="start"> <DropdownLinkItem href="/docs/">Docs</DropdownLinkItem> <DropdownLinkItem href="/docs/components/">Components</DropdownLinkItem> <DropdownLinkItem href="/docs/components/breadcrumb/">Breadcrumb</DropdownLinkItem> </DropdownContent> </Dropdown> </BreadcrumbItem> <BreadcrumbSeparator /> <BreadcrumbItem> <BreadcrumbLink href="#usage">Usage</BreadcrumbLink> </BreadcrumbItem> <BreadcrumbSeparator /> <BreadcrumbItem> <BreadcrumbPage>Interactive Ellipsis</BreadcrumbPage> </BreadcrumbItem> </BreadcrumbList> </Breadcrumb> </> );}<script setup lang="ts">import { Breadcrumb, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, BreadcrumbEllipsis,} from "@/components/starwind/breadcrumb";import { Dropdown, DropdownContent, DropdownLinkItem, DropdownTrigger,} from "@/components/starwind/dropdown";</script>
<template> <Breadcrumb> <BreadcrumbList> <BreadcrumbItem> <BreadcrumbLink href="/">Home</BreadcrumbLink> </BreadcrumbItem> <BreadcrumbSeparator /> <BreadcrumbItem> <Dropdown class="flex items-center justify-center"> <DropdownTrigger aria-label="Show hidden breadcrumb paths" class="group size-6"> <BreadcrumbEllipsis class="group-hover:text-foreground transition-colors" /> </DropdownTrigger> <DropdownContent align="start"> <DropdownLinkItem href="/docs/">Docs</DropdownLinkItem> <DropdownLinkItem href="/docs/components/">Components</DropdownLinkItem> <DropdownLinkItem href="/docs/components/breadcrumb/"> Breadcrumb </DropdownLinkItem> </DropdownContent> </Dropdown> </BreadcrumbItem> <BreadcrumbSeparator /> <BreadcrumbItem> <BreadcrumbLink href="#usage">Usage</BreadcrumbLink> </BreadcrumbItem> <BreadcrumbSeparator /> <BreadcrumbItem> <BreadcrumbPage>Interactive Ellipsis</BreadcrumbPage> </BreadcrumbItem> </BreadcrumbList> </Breadcrumb></template>API Reference
Styled Component API
These props are added or materially changed by the installed styled component. Standard HTML attributes remain available through the inherited interfaces noted below. Expand a prop to see named type definitions and framework-specific imports. Follow the Primitive and Runtime links for lower-level behavior props.
Breadcrumb Link
Inherits a attributes.
Contains the following additional props:
asChild boolean false
- Description
- Delegates markup and visual ownership to the child rather than preserving the native link recipe.
- Classification
- Wrapper prop
Changelog
View version history v1.2.1 6 releases
v1.2.1
- Named the generated aggregate default export so React and Astro tooling can identify the installed component cleanly.
v1.2.0
- Added contract-generated Astro and React implementations while preserving the component’s existing public API and styling.
v1.1.3
- Refactor tailwind variants functions into separate
variants.tsfile
v1.1.1
- Add named slot “icon” to
BreadcrumbEllipsisto enable easy icon swapping, and a default slot for thesr-onlylabel
v1.1.0
- Add a
data-slotattribute to all components to enable global styling updates
v1.0.0
- Initial component release with starwind v1.5.0