Breadcrumb
⟦Tráíl óf líñkš fróm thé šíté róót tó thé çúrréñt págé.~~~~~~~~~~~~~~~~~~~⟧
- ⟦Brówšérš~~~⟧
- Chrome 123+, Firefox 121+, Safari 17.5+
- ⟦Tíér~~⟧
- 0
- ⟦Búñdlé çómpréššéd~~~~~~⟧
- 1.12 kB
- ⟦Fórçéd láýóút búdgét~~~~~~~⟧
- 0 ms
- ⟦Áxé búdgét~~~~⟧
- 0
- ⟦ŠŠR çómpátíblé~~~~~⟧
- ⟦Ýéš~~⟧
- ⟦Búílt óñ~~~⟧
- elements/details
- ⟦Públíšhéd çóñtráçt~~~~~~~⟧
- ⟦Téšt hárñéšš~~~~~⟧
⟦Pláýgróúñd~~~~⟧
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
import { Breadcrumb } from "@gunkin/uiify";
export default function Example() {
return (
<Breadcrumb.Root className="">
<Breadcrumb.List>
<Breadcrumb.Item>
<Breadcrumb.Link href="/">Home</Breadcrumb.Link>
<Breadcrumb.Separator />
</Breadcrumb.Item>
<Breadcrumb.Item>
<Breadcrumb.Link current>Components</Breadcrumb.Link>
</Breadcrumb.Item>
</Breadcrumb.List>
</Breadcrumb.Root>
);
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
@layer components {
[data-uiify-breadcrumb] [data-part="list"] {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 0.5rem;
list-style: none;
padding: 0;
margin: 0;
}
[data-uiify-breadcrumb] [data-part="item"] {
display: flex;
align-items: center;
gap: 0.5rem;
}
[data-uiify-breadcrumb] [data-part="link"] {
color: var(--primary);
text-decoration: none;
}
[data-uiify-breadcrumb] [data-part="link"]:hover {
text-decoration: underline;
}
[data-uiify-breadcrumb] [aria-hidden="true"] {
color: var(--muted-foreground);
}
[data-uiify-breadcrumb] [data-current] {
color: var(--foreground);
font-weight: 600;
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
import { Breadcrumb } from "@gunkin/uiify";
export default function Example() {
return (
<Breadcrumb.Root
className="
[&_[data-part=list]]:flex [&_[data-part=list]]:flex-wrap [&_[data-part=list]]:items-center
[&_[data-part=list]]:[gap:0.5rem] [&_[data-part=list]]:list-none [&_[data-part=list]]:p-0
[&_[data-part=list]]:m-0 [&_[data-part=item]]:flex [&_[data-part=item]]:items-center
[&_[data-part=item]]:[gap:0.5rem] [&_[data-part=link]:where(:not([data-current]))]:text-primary
[&_[data-part=link]]:no-underline [&_[data-part=link]:hover]:underline
[&_[aria-hidden=true]]:text-muted-foreground [&_[data-current]]:text-foreground
[&_[data-current]]:[font-weight:600]
"
>
<Breadcrumb.List>
<Breadcrumb.Item>
<Breadcrumb.Link href="/">Home</Breadcrumb.Link>
<Breadcrumb.Separator />
</Breadcrumb.Item>
<Breadcrumb.Item>
<Breadcrumb.Link current>Components</Breadcrumb.Link>
</Breadcrumb.Item>
</Breadcrumb.List>
</Breadcrumb.Root>
);
}
⟦ÁPÍ~~⟧
Breadcrumb.Root
aria-label | string | "Breadcrumb" | ⟦Áççéššíblé ñámé óf thé ñávígátíóñ láñdmárk.~~~~~~~~~~~~~~~~⟧ |
render | ReactElement | ((props, state) => ReactElement) | — | ⟦Répláçé thé réñdéréd éléméñt whílé kéépíñg béhávíór áñd áççéššíbílítý wíríñg.~~~~~~~~~~~~~~~~~~~~~~~~~~~⟧ |
Breadcrumb.List
children | ReactNode | — | ⟦Bréádçrúmb ítémš wríttéñ bý háñd, áš áñ áltérñátívé tó ítémš.~~~~~~~~~~~~~~~~~~~~~~⟧ |
items | BreadcrumbItemData[] | — | ⟦Dátá-drívéñ éñtríéš, éáçh wíth á kéý, á lábél áñd áñ óptíóñál hréf áñd çúrréñt flág; réqúíréd whéñ máxÍtémš íš šét.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~⟧ |
itemsAfterCollapse | number | 1 | ⟦Ñúmbér óf tráílíñg ítémš képt víšíblé whéñ thé tráíl íš çóllápšéd.~~~~~~~~~~~~~~~~~~~~~~~~⟧ |
itemsBeforeCollapse | number | 1 | ⟦Ñúmbér óf léádíñg ítémš képt víšíblé whéñ thé tráíl íš çóllápšéd.~~~~~~~~~~~~~~~~~~~~~~~⟧ |
maxItems | number | — | ⟦Ítém çóúñt ábóvé whíçh thé míddlé óf thé tráíl çóllápšéš béhíñd áñ éxpáñdáblé éllípšíš.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~⟧ |
separator | ReactNode | — | ⟦Çóñtéñt réñdéréd bétwééñ ítémš whéñ thé líšt íš búílt fróm ítémš.~~~~~~~~~~~~~~~~~~~~~~~⟧ |
render | ReactElement | ((props, state) => ReactElement) | — | ⟦Répláçé thé réñdéréd éléméñt whílé kéépíñg béhávíór áñd áççéššíbílítý wíríñg.~~~~~~~~~~~~~~~~~~~~~~~~~~~⟧ |
Breadcrumb.Item
children | ReactNode | — | ⟦Çóñtéñt óf óñé bréádçrúmb líšt ítém.~~~~~~~~~~~~~⟧ |
render | ReactElement | ((props, state) => ReactElement) | — | ⟦Répláçé thé réñdéréd éléméñt whílé kéépíñg béhávíór áñd áççéššíbílítý wíríñg.~~~~~~~~~~~~~~~~~~~~~~~~~~~⟧ |
Breadcrumb.Link
children | ReactNode | — | ⟦Lábél óf thé líñk.~~~~~~~⟧ |
current | boolean | false | ⟦Márkš thíš éñtrý áš thé çúrréñt págé áñd šétš áríá-çúrréñt óñ ít.~~~~~~~~~~~~~~~~~~~~~~~⟧ |
href | string | — | ⟦Déštíñátíóñ óf thé líñk; ómít ít tó réñdér á ñóñ-ñávígátíñg éñtrý.~~~~~~~~~~~~~~~~~~~~~~~~⟧ |
render | ReactElement | ((props, state) => ReactElement) | — | ⟦Répláçé thé réñdéréd éléméñt whílé kéépíñg béhávíór áñd áççéššíbílítý wíríñg.~~~~~~~~~~~~~~~~~~~~~~~~~~~⟧ |
Breadcrumb.Separator
children | ReactNode | "/" | ⟦Šépárátór çóñtéñt, híddéñ fróm áššíštívé téçhñólógý.~~~~~~~~~~~~~~~~~~~⟧ |
render | ReactElement | ((props, state) => ReactElement) | — | ⟦Répláçé thé réñdéréd éléméñt whílé kéépíñg béhávíór áñd áççéššíbílítý wíríñg.~~~~~~~~~~~~~~~~~~~~~~~~~~~⟧ |
⟦Kéýbóárd~~~⟧
| ⟦Kéý~~⟧ | ⟦Áçtíóñ~~~⟧ |
|---|
| Tab | ⟦Móvé fóçúš tó/fróm thé çóñtról~~~~~~~~~~~⟧ |
| Enter / Space | ⟦Áçtíváté whéñ fóçúšéd (búttóñ-líké çóñtrólš)~~~~~~~~~~~~~~~~⟧ |
⟦Áççéššíbílítý~~~~~⟧
⟦Úšéš šémáñtíç HTML whéré póššíblé. Íñšpéçt réñdéréd márkúp íñ thé pláýgróúñd — ÁRÍÁ íš áddéd óñlý whéñ ñátívé éléméñtš áré íñšúffíçíéñt.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~⟧
⟦Štýlíñg hóókš~~~~~⟧
data-disabled