--- title: Breadcrumb description: "`Breadcrumb` is a component that helps users understand the hierarchy of a website." links: - style: https://github.com/yamada-ui/yamada-ui/tree/main/packages/react/src/components/breadcrumb/breadcrumb.style.ts - source: https://github.com/yamada-ui/yamada-ui/tree/main/packages/react/src/components/breadcrumb - storybook: https://yamada-ui.github.io/yamada-ui?path=/story/components-breadcrumb--basic --- ```tsx サイヤ人編 ナメック星編 人造人間編 魔人ブウ編 ``` ## Usage ```tsx import { Breadcrumb } from "@yamada-ui/react" ``` ```tsx import { Breadcrumb } from "@/components/ui" ``` ```tsx import { Breadcrumb } from "@workspaces/ui" ``` ```tsx ``` ### Use items ```tsx const items = useMemo( () => [ { href: "/", label: "サイヤ人編", }, { href: "/", label: "ナメック星編", }, { href: "/", label: "人造人間編", }, { href: "/", currentPage: true, label: "魔人ブウ編", }, ], [], ) return ``` ### Change variant ```tsx {(variant, index) => ( サイヤ人編 ナメック星編 人造人間編 魔人ブウ編 )} ``` ### Customize the Separator To customize the separator, set a separator character to `separator`. ```tsx サイヤ人編 ナメック星編 人造人間編 魔人ブウ編 ``` To use an icon as a separator, set a `ReactNode` to `separator`. ```tsx }> サイヤ人編 ナメック星編 人造人間編 魔人ブウ編 ``` ### Use Ellipsis To use ellipsis, set `Breadcrumb.Ellipsis` at the position where you want to use ellipsis. ```tsx 孫悟空少年編 人造人間編 魔人ブウ編 ``` Alternatively, you can use ellipsis by setting numerical values to `startBoundaries` and `endBoundaries`. ```tsx const items = useMemo( () => [ { href: "/", label: "サイヤ人編", }, { href: "/", label: "ナメック星編", }, { href: "/", label: "人造人間編", }, { href: "/", currentPage: true, label: "魔人ブウ編", }, ], [], ) return ``` ### Display Ellipsis Items in a Menu ```tsx 孫悟空少年編 ピッコロ大魔王編 サイヤ人編 フリーザ編 人造人間編 魔人ブウ編 ``` ### Customize the Ellipsis ```tsx const items = useMemo( () => [ { href: "/", label: "サイヤ人編", }, { href: "/", label: "ナメック星編", }, { href: "/", label: "人造人間編", }, { href: "/", currentPage: true, label: "魔人ブウ編", }, ], [], ) return ( { return ( {items.map(({ href, label }, index) => ( {label} ))} ) }} endBoundaries={1} items={items} startBoundaries={1} /> ) ``` ## Props ### Breadcrumb.Root | Prop | Default | Type | Description | | ----------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------ | | `as` | - | `As` | The HTML element to render. | | `asChild` | - | `boolean` | Merges its props onto its immediate child. | | `css` | - | `CSSObject \| CSSObject[]` | The CSS object. | | `colorScheme` | - | `"amber" \| "black" \| "blackAlpha" \| "blue" \| "cyan" \| "danger" \| "emerald" \| "error" \| "flashy" \| "fuchsia" ...` | Set color scheme variables. | | `size` | `"md"` | `"lg" \| "md" \| "sm"` | The size of the component. | | `variant` | `"plain"` | `"plain" \| "underline"` | The variant of the component. | | `ellipsis` | - | `string \| number \| bigint \| boolean \| ReactElement> \| Iterable \| ReactPortal \| Promise<...> \| ((props: { ...; }) => ReactNode)` | The icon to be used in the ellipsis. | | `endBoundaries` | `0` | `number` | Number of elements visible on the end(right) edges. | | `itemProps` | - | `BreadcrumbItemProps` | Props for item element. | | `items` | - | `BreadcrumbItem[]` | If provided, generate breadcrumb items based on items. | | `link` | - | `ReactElement>` | The component to be used for the link. | | `listProps` | - | `HTMLStyledProps<"ol">` | Props for ol element. | | `separator` | `"/"` | `ReactElement \| string` | The visual separator between each breadcrumb item. | | `separatorProps` | - | `BreadcrumbSeparatorProps` | Props for separator element. | | `startBoundaries` | `0` | `number` | Number of elements visible on the start(left) edges. | ### Breadcrumb.Ellipsis | Prop | Default | Type | Description | | ------------- | ------- | ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------ | | `as` | - | `As` | The HTML element to render. | | `asChild` | - | `boolean` | Merges its props onto its immediate child. | | `css` | - | `CSSObject \| CSSObject[]` | The CSS object. | | `colorScheme` | - | `"amber" \| "black" \| "blackAlpha" \| "blue" \| "cyan" \| "danger" \| "emerald" \| "error" \| "flashy" \| "fuchsia" ...` | Set color scheme variables. | ### Breadcrumb.Link | Prop | Default | Type | Description | | ------------- | ------- | ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------ | | `as` | - | `As` | The HTML element to render. | | `asChild` | - | `boolean` | Merges its props onto its immediate child. | | `css` | - | `CSSObject \| CSSObject[]` | The CSS object. | | `colorScheme` | - | `"amber" \| "black" \| "blackAlpha" \| "blue" \| "cyan" \| "danger" \| "emerald" \| "error" \| "flashy" \| "fuchsia" ...` | Set color scheme variables. | | `currentPage` | `false` | `boolean` | If `true`, change to span element. | ## Accessibility Currently, this section is being updated due to the migration of v2.