Tabs
Etkin 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.
Overview
Visitors are up 12% this week, mostly from search.
pnpm dlx shadcn@latest add https://hextaui.com/r/tabs.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 class-variance-authority cnAşağıdaki kodu kopyalayıp projenize yapıştırın.
components/ui/tabs.tsx İçe aktarma yollarını proje yapılandırmanıza uyacak şekilde güncelleyin.
Tek bir gösterge etkin sekmeye kayar ve ona uyacak şekilde yeniden boyutlanır; içerik anında değişir, böylece sık geçişler hiç bir animasyonu beklemez. Gösterge sayfa hydrate olmadan önce yerleştirilir, bu yüzden yüklenirken asla zıplamaz.
Alt çizgi
TabsList üzerindeki variant="line" hap yerine bir alt çizgiyi kaydırır.
Çok sekme
Sekmeler sığmadığında liste yana kayar, daha fazlası olan kenarları soldurur ve etkin veya odaktaki sekmeyi görünüme kaydırır.
Çok sekme, bölümlü
Hap stili aynı şekilde kayar; seçili sekme görünümde kalırken izini korur.
Simgeler ve sayılar
Tetikleyicilerin içine simgeler ve rozetler koyun.
Dikey
orientation="vertical" sekmeleri üst üste dizer; alt çizgi yana geçer.
Devre dışı
Devre dışı sekmeler klavye tarafından atlanır.
Kontrollü
value ve onValueChange verin. Dışarıdan gelen değişiklikler göstergeyi de kaydırır.
Sağdan sola
Sekmeler, ok tuşları ve gösterge okuma yönünü izler.
| Tuş | Action |
|---|---|
| Tab | Etkin sekmede listeye, sonra panele geçer. |
| ←→ | Sekmeler arasında gezinir, uçlarda başa sarar. Dikeyken ↑ ve ↓. |
| HomeEnd | İlk veya son sekmeye gider. |
| EnterSpace | Odaktaki sekmeyi açar. Odak ilerledikçe sekmelerin açılması için TabsList üzerinde activateOnFocus ayarlayın. |
- Liste bir
tablist'tir; her tetikleyici kenditabpanel'ini denetleyen birtab'dır. - Paneller odaklanabilir, böylece klavye kullanıcıları bağlantı veya düğmesi olmayan içeriğe ulaşabilir.
- Azaltılmış harekette gösterge kaymak yerine atlar.
| Prop | Tür | Varsayılan |
|---|---|---|
value | any | – |
defaultValue | any | 0 |
onValueChange | (value, details) => void | – |
orientation | "horizontal" | "vertical" | "horizontal" |
| Öznitelik | Açıklama |
|---|---|
data-activation-direction | "left", "right", "up" veya "down": yeni sekmenin eskisine göre nerede olduğu. |
| Prop | Tür | Varsayılan |
|---|---|---|
variant | "default" | "line" | "default" |
activateOnFocus | boolean | false |
loopFocus | boolean | true |
| Öznitelik | Açıklama |
|---|---|
data-slot="tabs-indicator" | Kayan hap veya alt çizgi. |
data-scrolled-start / data-scrolled-end | Liste o yöne kaydırılabildiğinde bulunur. |
--active-tab-left / --active-tab-width | Etkin sekmenin konumu ve boyutu; ayrıca -top ve -height. |
| Prop | Tür | Varsayılan |
|---|---|---|
value | any | – |
disabled | boolean | false |
render | ReactElement | (props, state) => ReactElement | <button> |
| Öznitelik | Açıklama |
|---|---|
data-active | Açık sekme. |
data-disabled | Sekme devre dışı. |
| Prop | Tür | Varsayılan |
|---|---|---|
value | any | – |
keepMountedGizliyken paneli DOM'da tutar. | boolean | false |
- BreadcrumbGeç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.
- 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.
Kullanıldığı bloklar
Tabs üzerine kurulan bloklar.