Breadcrumb
Geçerli sayfaya giden bağlantı izi; güvenle satır atlar, sağdan sola düzenlerde yansıtılır ve daraltılmış bölümleri yerinde açar.
pnpm dlx shadcn@latest add https://hextaui.com/r/breadcrumb.jsonBileşeni, HextaUI tema token'larını ve bileşenin bağımlı olduğu tüm HextaUI bileşenlerini ekler.
Henüz eklemediyseniz tema token'larını global CSS'inize ekleyin.
Bağımlılıkları yükleyin.
pnpm add @base-ui/react @tabler/icons-react cnAşağıdaki kodu kopyalayıp projenize yapıştırın.
components/ui/breadcrumb.tsx lib/motion.ts İçe aktarma yollarını proje yapılandırmanıza uyacak şekilde güncelleyin.
Simgelerle
Simgeler bağlantıların ve geçerli sayfanın içinde durur. Yalnızca simgeli bir bağlantıya aria-label verin.
Özel ayırıcı
Oku değiştirmek için <BreadcrumbSeparator /> bileşeninin children'ı olarak herhangi bir öğe geçin.
Dropdown
Kardeş sayfalar sunmak için bir <DropdownMenu /> trigger'ı olarak <BreadcrumbLink /> oluşturun.
Daraltılmış
Ortadaki bölümleri <BreadcrumbCollapse /> içine sarın. Üç noktanın arkasında gizlenir ve yerinde kayarak açılır; odak ilk açığa çıkan bağlantıya geçer. Kontrol etmek için open ve onOpenChange geçin.
Üç nokta
Statik bir <BreadcrumbEllipsis /> atlanan seviyeleri işaretler. Etkileşimli yapmadığınız sürece yardımcı teknolojilerden gizlenir.
Link bileşeni
Çapayı (anchor) router'ınızın link'iyle, örneğin Next.js <Link /> ile değiştirmek için render prop'unu kullanın.
Uzun içerik
Kırılmayan adlar taşmak yerine sarar, azami genişliği olan bölümler ise kısaltılır.
Sağdan sola
Ayırıcılar ters döner ve daralma doğru taraftan animasyonlanır.
Bağlantılar ve daraltma düğmesi normal tab duraklarıdır. Ayırıcılar ve statik bir üç nokta atlanır.
| Tuş | Action |
|---|---|
| TabShift + Tab | Bağlantılar ve daraltma düğmesi arasında gezinir. |
| Enter | Odaktaki bağlantıyı izler. |
| EnterSpace | Daraltma düğmesinde gizli bölümleri açığa çıkarır. Açılma kayması bittiğinde odak, ilk açığa çıkan bağlantıya geçer. |
Her parça, oluşturduğu öğenin niteliklerini ve o öğeyi değiştirmek için bir render prop'unu kabul eder.
| Prop | Tür | Varsayılan |
|---|---|---|
renderYardımcı teknolojiler için “Breadcrumb” olarak etiketlenir. | ReactElement | (props, state) => ReactElement | <nav> |
| Öznitelik | Açıklama |
|---|---|
data-slot="breadcrumb" | <nav> landmark'ı. |
| Prop | Tür | Varsayılan |
|---|---|---|
render | ReactElement | (props, state) => ReactElement | <ol> |
| Öznitelik | Açıklama |
|---|---|
data-slot="breadcrumb-list" | Sıralı liste. Yer bittiğinde öğeler yeni satırlara sarar. |
| Prop | Tür | Varsayılan |
|---|---|---|
render | ReactElement | (props, state) => ReactElement | <li> |
| Öznitelik | Açıklama |
|---|---|
data-slot="breadcrumb-item" | CSS'te öğeleri hedefleyin. |
data-collapsed | Öğe kapalı bir BreadcrumbCollapse içinde gizliyken bulunur. |
data-breadcrumb-group | BreadcrumbCollapse içindeki öğelerde bulunur. Aynı grubun tüm parçaları tarafından paylaşılır. |
| Prop | Tür | Varsayılan |
|---|---|---|
href | string | – |
renderRouter'ınızın link bileşenini buraya geçin. | ReactElement | (props, state) => ReactElement | <a> |
| Öznitelik | Açıklama |
|---|---|
data-slot="breadcrumb-link" | CSS'te bağlantıları hedefleyin. |
| Prop | Tür | Varsayılan |
|---|---|---|
renderaria-current="page" ile işaretlenir. | ReactElement | (props, state) => ReactElement | <span> |
| Öznitelik | Açıklama |
|---|---|
data-slot="breadcrumb-page" | aria-current="page" ile geçerli sayfa. |
| Prop | Tür | Varsayılan |
|---|---|---|
childrenSağdan sola düzenlerde otomatik olarak yansıtılır. | ReactNode | <IconChevronRight /> |
render | ReactElement | (props, state) => ReactElement | <li> |
| Öznitelik | Açıklama |
|---|---|
data-slot="breadcrumb-separator" | Yalnızca görseldir ve yardımcı teknolojilerden gizlenir. |
data-collapsed | Ayırıcı kapalı bir BreadcrumbCollapse içinde gizliyken bulunur. |
data-breadcrumb-group | BreadcrumbCollapse içindeki ayırıcılarda bulunur. |
| Prop | Tür | Varsayılan |
|---|---|---|
children | ReactNode | <IconDots /> |
renderrender veya onClick etkileşimli yapmadıkça yardımcı teknolojilerden gizlenir. | ReactElement | (props, state) => ReactElement | <span> |
| Öznitelik | Açıklama |
|---|---|
data-slot="breadcrumb-ellipsis" | CSS'te üç noktayı hedefleyin. |
| Prop | Tür | Varsayılan |
|---|---|---|
childrenÜç noktanın arkasında gizlenecek öğeler ve ayırıcılar. | ReactNode | – |
open | boolean | – |
defaultOpen | boolean | false |
onOpenChange | (open: boolean) => void | – |
labelÜç nokta düğmesinin erişilebilir adı. | string | "Show full path" |
| Öznitelik | Açıklama |
|---|---|
data-slot="breadcrumb-collapse" | Üç nokta düğmesini tutan <li>. |
data-collapsed | Grup açıldıktan sonra üç nokta öğesinde bulunur; bu da onu gizler. |
- MotionHer bileşenin kullandığı yumuşatma eğrileri, süreler ve azaltılmış hareket denetimi; ayrıca boyut dönüşümleri ve kayan vurgular için hook'lar.
- Navigation menuAçılır menülü site gezintisi ya da içeriği menüler arasında kayarken açık kalan tek bir tam genişlikte panel.
- PaginationHer düğmeyi yerinde tutan, geçerli sayfaya kayan ve üç noktadan herhangi bir sayfaya atlayan sayfa gezintisi.
- SidebarSimgelere ya da ekran dışına daralan, header'ınızın altında sabit kalan ve telefonlarda kaydırılabilir bir sayfaya dönüşen bir uygulama kenar çubuğu.
- TabsEtkin sekmeye kayan bir göstergeyle, segmentli kontrol ya da alt çizgi olarak görünümler arasında geçiş yapın; taştığında kayan listeler.