Navigation menu
Açı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.
pnpm dlx shadcn@latest add https://hextaui.com/r/navigation-menu.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 class-variance-authority cnAşağıdaki kodu kopyalayıp projenize yapıştırın.
components/ui/navigation-menu.tsx lib/motion.ts İçe aktarma yollarını proje yapılandırmanıza uyacak şekilde güncelleyin.
variant="panel" ile tek bir kart tüm çubuğu kaplar. Tetikleyiciler arasında geçmek kartı açık ve yerinde tutar: yalnızca içerik hareket ettiğiniz yöne kayar ve yükseklik uyacak şekilde yumuşar. Hiçbir şey kapanmaz, yeniden açılmaz veya zıplamaz.
Dropdown
Varsayılan dropdown varyantı her tetikleyicinin altında bir kart açar. Sonraki tetikleyiciye geçmek aynı kartı üzerine kaydırır ve yeni içeriğe göre yeniden boyutlandırır.
Geçerli sayfa
Çubuktaki bağlantılar tetikleyici gibi görünür. Geçerli sayfayı, ayrıca aria-current="page" ayarlayan active ile işaretleyin.
Sağdan sola
İçerik kaymaları, sağdan sola düzenlerde tersine dönen hareket yönünüzü izler.
| Tuş | Action |
|---|---|
| Tab | Çubukta gezinir ve açık bir tetikleyiciden içeriğine geçer. |
| EnterSpace | Odaktaki tetikleyicinin menüsünü açar veya kapatır. |
| ↑↓ | Açık içerikteki bağlantılar arasında gezinir. |
| ←→ | Çubuktaki tetikleyiciler arasında gezinir. |
| Esc | Menüyü kapatır ve odağı tetikleyicisine döndürür. |
- Kök bir
<nav>işler. Sayfada birden fazla varsa ona biraria-labelverin. - Tetikleyiciler menülerinin açık olup olmadığını bildiren düğmelerdir ve menü kapanınca odak onlara döner.
- Azaltılmış hareket açıkken içerik kayması ve kayan vurgu solmalara dönüşür.
| Prop | Tür | Varsayılan |
|---|---|---|
variantdropdown her tetikleyicinin altında açılır. panel, çubuğun altında tam genişlikte tek bir kart açar; içerik kayarken kart yerinde kalır. | "dropdown" | "panel" | "dropdown" |
showSafeAreaİmleç menüye doğru giderken menüyü açık tutan güvenli alanı çizer. Hata ayıklama ve demolar için. | boolean | false |
align | "start" | "center" | "end" | "start", or "center" for panel |
sideOffset | number | 8 |
value | any | – |
defaultValue | any | – |
onValueChange | (value, details) => void | – |
delayHover'da açılmadan önce bekleme, ms cinsinden. | number | 50 |
closeDelayİmleç ayrıldıktan sonra kapanmadan önce bekleme, ms cinsinden. | number | 50 |
orientation | "horizontal" | "vertical" | "horizontal" |
| Öznitelik | Açıklama |
|---|---|
data-slot="navigation-menu" | Gezinti; data-variant ile birlikte. |
data-slot="navigation-menu-highlight" | Açık tetikleyiciler arasında kayan arka plan. |
data-slot="navigation-menu-popup" | Kart. Yüksekliği --popup-height üzerinden yumuşar. |
| Öznitelik | Açıklama |
|---|---|
data-slot="navigation-menu-trigger" | CSS'te tetikleyicileri hedefleyin. |
data-popup-open | Menüsü açıkken bulunur. Ok işareti döner. |
| Öznitelik | Açıklama |
|---|---|
data-slot="navigation-menu-content" | Bir menünün içeriği; data-variant ile birlikte. |
data-activation-direction | "left", "right", "up" veya "down": önceki tetikleyicinin nerede olduğu. Kaydırmayı yönetir. |
--navigation-menu-link-radius | Bağlantı köşe yarıçapı; kartla eş merkezli. |
| Prop | Tür | Varsayılan |
|---|---|---|
activeGeçerli sayfayı işaretler. | boolean | false |
render | ReactElement | (props, state) => ReactElement | <a> |
| Öznitelik | Açıklama |
|---|---|
data-slot="navigation-menu-link" | CSS'te bağlantıları hedefler. Çubukta tetikleyiciler gibi kendilerini boyutlandırır. |
data-active | Geçerli sayfada bulunur. |
- 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.
- 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.
- 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.