Breadcrumb
A navigation aid that shows the user's location within a website hierarchy and allows navigation to parent pages.
Anatomy
<script>
import {
Breadcrumb,
BreadcrumbItem,
BreadcrumbLink,
BreadcrumbCurrentLink,
} from "@saas-ui/svelte/components/breadcrumb";
</script>
<Breadcrumb.Root>
<BreadcrumbItem>
<BreadcrumbLink href="/">Home</BreadcrumbLink>
</BreadcrumbItem>
<BreadcrumbItem>
<BreadcrumbLink href="/products">Products</BreadcrumbLink>
</BreadcrumbItem>
<BreadcrumbItem>
<BreadcrumbCurrentLink>Current Page</BreadcrumbCurrentLink>
</BreadcrumbItem>
</Breadcrumb.Root>Examples
Basic Accessibility
<Breadcrumb.Root>
<Breadcrumb.Link href="#">Docs</Breadcrumb.Link>
<Breadcrumb.Link href="#">Components</Breadcrumb.Link>
<Breadcrumb.CurrentLink>Props</Breadcrumb.CurrentLink>
</Breadcrumb.Root> Sizes Accessibility
size prop to change the size of the breadcrumb. Available sizes: sm, md, lg.
<VStack gap={2}>
{#each breadcrumbSizes as size}
<HStack align="center" gap={4}>
<Text size="xs" class="w-8">{size}</Text>
<Breadcrumb.Root {size} ariaLabel="Breadcrumb {size}">
<Breadcrumb.Link href="#">Docs</Breadcrumb.Link>
<Breadcrumb.Link href="#">Components</Breadcrumb.Link>
<Breadcrumb.CurrentLink>Props</Breadcrumb.CurrentLink>
</Breadcrumb.Root>
</HStack>
{/each}
</VStack> Variants Accessibility
variant prop to change the visual style. Available variants: plain, underline.
<VStack gap={4}>
{#each breadcrumbVariants as variant}
<HStack align="center" gap={4}>
<Text size="xs" class="w-20">{variant}</Text>
<Breadcrumb.Root {variant} ariaLabel="Breadcrumb {variant}">
<Breadcrumb.Link href="#">Docs</Breadcrumb.Link>
<Breadcrumb.Link href="#">Components</Breadcrumb.Link>
<Breadcrumb.CurrentLink>Props</Breadcrumb.CurrentLink>
</Breadcrumb.Root>
</HStack>
{/each}
</VStack> With Ellipsis Accessibility
<Breadcrumb.Root>
<Breadcrumb.Link href="#">Docs</Breadcrumb.Link>
<Breadcrumb.Link href="#">Components</Breadcrumb.Link>
<Breadcrumb.Ellipsis />
<Breadcrumb.CurrentLink>Props</Breadcrumb.CurrentLink>
</Breadcrumb.Root> With Icon Accessibility
<Breadcrumb.Root ariaLabel="Breadcrumb with icons">
<Breadcrumb.Link href="#">
<Icon as={House} size="xs" weight="regular" />
Home
</Breadcrumb.Link>
<Breadcrumb.Link href="#">
<Icon as={TShirt} size="xs" weight="regular" />
Men Wear
</Breadcrumb.Link>
<Breadcrumb.CurrentLink>Trousers</Breadcrumb.CurrentLink>
</Breadcrumb.Root> With Separator Accessibility
separator prop to customize the separator character between items.
<Breadcrumb.Root separator={CaretRight}>
<Breadcrumb.Link href="#">Docs</Breadcrumb.Link>
<Breadcrumb.Link href="#">Components</Breadcrumb.Link>
<Breadcrumb.CurrentLink>Props</Breadcrumb.CurrentLink>
</Breadcrumb.Root>Props
Breadcrumb.Root
The breadcrumb container.
| Prop | Type | Default | Description |
|---|---|---|---|
children | Snippet | - | The breadcrumb items. |
size | "sm" | "md" | "lg" | "md" | The size of the breadcrumb. |
variant | "plain" | "underline" | "plain" | The visual style of the breadcrumb links. |
separator | Component | string | "/" | The separator element between breadcrumb items. Can be a string or SVG component. |
separatorGap | string | number | - | The gap around separators (in spacing units). |
ariaLabel | string | "Breadcrumb" | Accessible label for the breadcrumb navigation. |
class | string | - | Additional CSS classes to apply. |
Breadcrumb.Item
A single breadcrumb item.
| Prop | Type | Default | Description |
|---|---|---|---|
children | Snippet | - | The breadcrumb item content. |
showSeparator | boolean | true | Whether to show the separator after this item. |
class | string | - | Additional CSS classes to apply. |
Breadcrumb.Link
A clickable breadcrumb link.
| Prop | Type | Default | Description |
|---|---|---|---|
children | Snippet | - | The link content. |
showSeparator | boolean | true | Whether to show the separator after this link. |
as | "a" | "button" | "a" | Render as a button instead of an anchor. |
href | string | - | The URL the link points to. |
class | string | - | Additional CSS classes to apply. |
Breadcrumb.CurrentLink
The current page indicator in the breadcrumb (non-interactive).
| Prop | Type | Default | Description |
|---|---|---|---|
children | Snippet | - | The current page content. |
class | string | - | Additional CSS classes to apply. |
Breadcrumb.Ellipsis
An ellipsis indicator used to collapse middle breadcrumb items.
| Prop | Type | Default | Description |
|---|---|---|---|
showSeparator | boolean | true | Whether to show the separator after the ellipsis. |
class | string | - | Additional CSS classes to apply. |
Breadcrumb.Menu
A breadcrumb item that contains a dropdown menu for collapsed items.
| Prop | Type | Default | Description |
|---|---|---|---|
children | Snippet | - | The menu content (MenuRoot with MenuButton, MenuContent, etc.). |
showSeparator | boolean | true | Whether to show the separator after this menu. |
class | string | - | Additional CSS classes to apply. |