Breadcrumb
Breadcrumb
is a component that helps users understand the hierarchy of a website.
<Breadcrumb.Root>
<Breadcrumb.Link href="/">サイヤ人編</Breadcrumb.Link>
<Breadcrumb.Link href="/">ナメック星編</Breadcrumb.Link>
<Breadcrumb.Link href="/">人造人間編</Breadcrumb.Link>
<Breadcrumb.Link href="/" currentPage>
魔人ブウ編
</Breadcrumb.Link>
</Breadcrumb.Root>
Usage
import { Breadcrumb } from "@yamada-ui/react"
import { Breadcrumb } from "@/components/ui"
import { Breadcrumb } from "@workspaces/ui"
<Breadcrumb.Root>
<Breadcrumb.Link />
<Breadcrumb.Ellipsis />
</Breadcrumb.Root>
Use items
const items = useMemo<Breadcrumb.RootProps["items"]>(
() => [
{
href: "/",
label: "サイヤ人編",
},
{
href: "/",
label: "ナメック星編",
},
{
href: "/",
label: "人造人間編",
},
{
href: "/",
currentPage: true,
label: "魔人ブウ編",
},
],
[],
)
return <Breadcrumb.Root items={items} />
Change variant
<VStack>
<For each={["plain", "underline"]}>
{(variant, index) => (
<Breadcrumb.Root variant={variant} key={index}>
<Breadcrumb.Link href="/">サイヤ人編</Breadcrumb.Link>
<Breadcrumb.Link href="/">ナメック星編</Breadcrumb.Link>
<Breadcrumb.Link href="/">人造人間編</Breadcrumb.Link>
<Breadcrumb.Link href="/" currentPage>
魔人ブウ編
</Breadcrumb.Link>
</Breadcrumb.Root>
)}
</For>
</VStack>
Customize the Separator
To customize the separator, set a separator character to separator
.
<Breadcrumb.Root separator="/">
<Breadcrumb.Link href="/">サイヤ人編</Breadcrumb.Link>
<Breadcrumb.Link href="/">ナメック星編</Breadcrumb.Link>
<Breadcrumb.Link href="/">人造人間編</Breadcrumb.Link>
<Breadcrumb.Link href="/" currentPage>
魔人ブウ編
</Breadcrumb.Link>
</Breadcrumb.Root>
To use an icon as a separator, set a ReactNode
to separator
.
<Breadcrumb.Root separator={<ChevronsRightIcon />}>
<Breadcrumb.Link href="/">サイヤ人編</Breadcrumb.Link>
<Breadcrumb.Link href="/">ナメック星編</Breadcrumb.Link>
<Breadcrumb.Link href="/">人造人間編</Breadcrumb.Link>
<Breadcrumb.Link href="/" currentPage>
魔人ブウ編
</Breadcrumb.Link>
</Breadcrumb.Root>
Use Ellipsis
To use ellipsis, set Breadcrumb.Ellipsis
at the position where you want to use ellipsis.
<Breadcrumb.Root>
<Breadcrumb.Link href="/">孫悟空少年編</Breadcrumb.Link>
<Breadcrumb.Ellipsis />
<Breadcrumb.Link href="/">人造人間編</Breadcrumb.Link>
<Breadcrumb.Link href="/" currentPage>
魔人ブウ編
</Breadcrumb.Link>
</Breadcrumb.Root>
Alternatively, you can use ellipsis by setting numerical values to startBoundaries
and endBoundaries
.
const items = useMemo<Breadcrumb.RootProps["items"]>(
() => [
{
href: "/",
label: "サイヤ人編",
},
{
href: "/",
label: "ナメック星編",
},
{
href: "/",
label: "人造人間編",
},
{
href: "/",
currentPage: true,
label: "魔人ブウ編",
},
],
[],
)
return <Breadcrumb.Root items={items} endBoundaries={1} startBoundaries={1} />
Display Ellipsis Items in a Menu
<Breadcrumb.Root>
<Breadcrumb.Link href="/">孫悟空少年編</Breadcrumb.Link>
<Menu.Root>
<Menu.Trigger>
<Breadcrumb.Ellipsis cursor="pointer" />
</Menu.Trigger>
<Menu.Content>
<Menu.Item as="a" href="/">
ピッコロ大魔王編
</Menu.Item>
<Menu.Item as="a" href="/">
サイヤ人編
</Menu.Item>
<Menu.Item as="a" href="/">
フリーザ編
</Menu.Item>
</Menu.Content>
</Menu.Root>
<Breadcrumb.Link href="/">人造人間編</Breadcrumb.Link>
<Breadcrumb.Link href="/" currentPage>
魔人ブウ編
</Breadcrumb.Link>
</Breadcrumb.Root>
Customize the Ellipsis
const items = useMemo<Breadcrumb.RootProps["items"]>(
() => [
{
href: "/",
label: "サイヤ人編",
},
{
href: "/",
label: "ナメック星編",
},
{
href: "/",
label: "人造人間編",
},
{
href: "/",
currentPage: true,
label: "魔人ブウ編",
},
],
[],
)
return (
<Breadcrumb.Root
ellipsis={({ items }) => {
return (
<Menu.Root>
<Menu.Trigger>
<Breadcrumb.Ellipsis
cursor="pointer"
focusVisibleRing="outline"
outline="none"
rounded="l1"
/>
</Menu.Trigger>
<Menu.Content>
{items.map(({ href, label }, index) => (
<Menu.Item key={index} as="a" href={href}>
{label}
</Menu.Item>
))}
</Menu.Content>
</Menu.Root>
)
}}
endBoundaries={1}
items={items}
startBoundaries={1}
/>
)
Props
Accessibility
Currently, this section is being updated due to the migration of v2.