Overview
Header Navigation adalah komponen navigasi horizontal yang ditempatkan di bagian atas halaman. Komponen ini mendukung logo, menu item dengan atau tanpa dropdown, serta action button di sisi kanan.
Type: Default
Home Products ▾ Solutions ▾ About
Sign In Get Started
Type: Standard (with dropdown)
Home Products ▾ Solutions ▾ About
Sign In Get Started
Design System
Build consistent UIs with our design tokens and components.
Component Library
Reusable, accessible components for your product.
Figma Kit
Design-ready assets and templates in Figma.
Installation
npm install @araf-ds/core
Usage
import { HeaderNavigation , NavItem , NavDropdown , NavigationActions } from "@araf-ds/core" ;
export default function App () {
return (
< HeaderNavigation type = "standard" >
< NavItem href = "/home" > Home </ NavItem >
< NavDropdown label = "Products" >
< NavDropdown.Item href = "/design-system" description = "Build consistent UIs" >
Design System
</ NavDropdown.Item >
< NavDropdown.Item href = "/components" description = "Reusable components" >
Component Library
</ NavDropdown.Item >
</ NavDropdown >
< NavItem href = "/about" > About </ NavItem >
< NavigationActions slot = "actions" >
< Button variant = "secondary-gray" > Sign In </ Button >
< Button variant = "primary" > Get Started </ Button >
</ NavigationActions >
</ HeaderNavigation >
);
}
Type Variants
Header Navigation memiliki 7 tipe layout yang menentukan bagaimana menu item dan sub-menu ditampilkan.
Default
Standard
Standard with Icon
Full Width
Full Width with Icon
Simple
Simple with Icon
Logo dan nav item berjajar di tengah, CTA button di kanan. Tidak ada dropdown. Home Products Solutions About
Sign In Get Started
< HeaderNavigation type = "default" >
< NavItem href = "/home" > Home </ NavItem >
< NavItem href = "/products" > Products </ NavItem >
< NavItem href = "/solutions" > Solutions </ NavItem >
< NavItem href = "/about" > About </ NavItem >
</ HeaderNavigation >
Dropdown menu tampil dalam card kecil (bordered, rounded) yang muncul di bawah nav item yang diklik. Cocok untuk menu dengan sedikit pilihan. Home Products ▾ Solutions ▾ About
Sign In Get Started
Design System
Build consistent UIs with design tokens.
Component Library
Reusable, accessible components.
Figma Kit
Design-ready assets and templates.
< HeaderNavigation type = "standard" >
< NavDropdown label = "Products" >
< NavDropdown.Item href = "/ds" description = "Build consistent UIs" > Design System </ NavDropdown.Item >
< NavDropdown.Item href = "/lib" description = "Reusable components" > Component Library </ NavDropdown.Item >
< NavDropdown.Item href = "/figma" description = "Design-ready assets" > Figma Kit </ NavDropdown.Item >
</ NavDropdown >
</ HeaderNavigation >
Identik dengan Standard, namun setiap item di dropdown dilengkapi ikon di sisi kiri untuk memudahkan identifikasi visual. < HeaderNavigation type = "standard-with-icon" >
< NavDropdown label = "Products" >
< NavDropdown.Item href = "/ds" icon = { < LayoutIcon /> } description = "Build consistent UIs" >
Design System
</ NavDropdown.Item >
< NavDropdown.Item href = "/lib" icon = { < ComponentIcon /> } description = "Reusable components" >
Component Library
</ NavDropdown.Item >
</ NavDropdown >
</ HeaderNavigation >
Dropdown membentang penuh lebar layar (1440px) dengan panel kiri berisi deskripsi dan CTA, serta panel kanan berisi 3 kolom sub-menu. Ideal untuk menu dengan banyak kategori. Home Products ▾ Solutions ▾ About
Sign In Get Started
We are committed to giving all of our best efforts.
Learn more → Design System
Build consistent UIs with our design tokens.
Component Library
Reusable, accessible components.
Data Analytics
Capturing and creating data-driven insights.
Deployment
Deployment on Windows & Linux environments.
Training
Improve your team’s technical capabilities.
< HeaderNavigation type = "full-width" >
< NavDropdown
label = "Products"
featured = { {
title: "We are committed to giving all of our best efforts." ,
ctaLabel: "Learn more" ,
ctaHref: "/about" ,
} }
>
< NavDropdown.Item href = "/ds" description = "Build consistent UIs" > Design System </ NavDropdown.Item >
< NavDropdown.Item href = "/analytics" description = "Data-driven insights" > Data Analytics </ NavDropdown.Item >
< NavDropdown.Item href = "/training" description = "Improve team capabilities" > Training </ NavDropdown.Item >
</ NavDropdown >
</ HeaderNavigation >
Identik dengan Full Width, namun setiap item sub-menu dilengkapi ikon di sisi kiri. < HeaderNavigation type = "full-width-with-icon" >
< NavDropdown label = "Products" featured = { { title: "..." , ctaLabel: "Learn more" , ctaHref: "/about" } } >
< NavDropdown.Item href = "/ds" icon = { < LayoutIcon /> } description = "Build consistent UIs" >
Design System
</ NavDropdown.Item >
</ NavDropdown >
</ HeaderNavigation >
Dropdown lebih ringkas tanpa deskripsi per item, hanya menampilkan label link dalam satu kolom. Cocok untuk menu navigasi sederhana. < HeaderNavigation type = "simple" >
< NavDropdown label = "Products" >
< NavDropdown.Item href = "/ds" > Design System </ NavDropdown.Item >
< NavDropdown.Item href = "/lib" > Component Library </ NavDropdown.Item >
< NavDropdown.Item href = "/figma" > Figma Kit </ NavDropdown.Item >
</ NavDropdown >
</ HeaderNavigation >
Identik dengan Simple, namun setiap item dilengkapi ikon kecil di sebelah kiri teks. < HeaderNavigation type = "simple-with-icon" >
< NavDropdown label = "Products" >
< NavDropdown.Item href = "/ds" icon = { < LayoutIcon /> } > Design System </ NavDropdown.Item >
< NavDropdown.Item href = "/lib" icon = { < ComponentIcon /> } > Component Library </ NavDropdown.Item >
</ NavDropdown >
</ HeaderNavigation >
Breakpoints
Header Navigation mendukung dua breakpoint: Desktop (1440px) dan Mobile Responsive (360px).
Desktop
Mobile Responsive
Lebar header 1440px dengan konten terpusat di container 1200px . Logo, nav item, dan CTA button ditampilkan secara horizontal. Home Products ▾ Solutions ▾ About
Sign In Get Started
Properti Nilai Lebar header 1440px Lebar container 1200px Tinggi 80px Spacing nav item 24px Font size nav item 16px (Inter Medium)
Pada layar mobile (≤ 768px), nav item disembunyikan dan digantikan oleh hamburger menu button di kanan. Tinggi header menjadi 72px. Properti Nilai Lebar header 100% (fluid) Padding horizontal 16px (kiri) / 12px (kanan) Tinggi 72px Nav item Disembunyikan Menu button Hamburger icon (24px)
Khusus tampilan mobile, tersedia 4 konfigurasi ukuran.
medium (108px)
Supporting description text for the page.
large (152px)
Supporting description text for the page.
Action Primary
Konfigurasi Tinggi Deskripsi small-centered56px Judul terpusat, back button kiri, action kanan small56px Logo/back kiri, judul kiri, action kanan medium108px Logo + judul + supporting text large152px Logo + judul + supporting text + action buttons
import { HeaderNavigationMobile } from "@araf-ds/core" ;
< HeaderNavigationMobile
configuration = "large"
title = "Products"
description = "Browse our complete product catalog."
trailingIcon1 = { < SearchIcon /> }
trailingIcon2 = { < NotificationIcon /> }
/>
Navigation Actions
Slot di sisi kanan header untuk menampilkan tombol autentikasi. Tersedia dua kondisi: Logged Out (Sign In + CTA) dan Logged In (avatar atau user menu).
Logged Out (default)
Sign In Get Started
// Logged out state
< NavigationActions loggedIn = { false } >
< Button variant = "secondary-gray" > Sign In </ Button >
< Button variant = "primary" > Get Started </ Button >
</ NavigationActions >
// Logged in state
< NavigationActions loggedIn = { true } >
< UserMenu user = { { name: "Ahmad Badr" , avatar: "/avatar.jpg" } } />
</ NavigationActions >
Standard Sub Menu
Dropdown card dengan ukuran kompak (480px), menampilkan daftar item vertikal dengan judul + deskripsi.
Token Nilai Background #FFFFFFBorder 1px solid #F4F4F5Border radius 8pxPadding 24pxShadow xl (0px 20px 24px -4px)Lebar 480px
Dropdown yang membentang penuh (1440px) dengan panel featured di kiri dan 3 kolom di kanan.
Token Nilai Background #FFFFFFPadding 64px 120pxShadow lg (0px 12px 16px -4px)Featured text color #011829 (Black)Featured CTA bg #F0F9FFFeatured CTA text #045CA0Item title color #52525BItem desc color #71717A
API Reference
type
"default" | "standard" | "standard-with-icon" | "full-width" | "full-width-with-icon" | "simple" | "simple-with-icon"
default: "\"default\""
Tipe layout navigasi yang menentukan gaya dropdown menu.
breakpoint
"desktop" | "mobile-responsive"
default: "\"desktop\""
Breakpoint rendering. Pada mobile-responsive, nav item digantikan hamburger menu.
Konten logo di sisi kiri header (logomark + wordmark).
Apakah header tetap di posisi atas saat scroll (position: sticky).
Class tambahan untuk kustomisasi styling.
NavItem
Menandai item sebagai halaman aktif saat ini.
NavDropdown
featured
{ title: string; ctaLabel: string; ctaHref: string }
Konten panel featured (hanya untuk tipe full-width dan full-width-with-icon).
NavDropdown.Item
URL tujuan item dropdown.
Teks deskripsi singkat di bawah label. Tidak tampil pada tipe simple.
Ikon di sisi kiri item. Wajib untuk tipe *-with-icon.
configuration
"small-centered" | "small" | "medium" | "large"
required
Ukuran dan layout header mobile.
Judul halaman yang ditampilkan di tengah atau kiri header.
Deskripsi pendukung di bawah judul (hanya medium dan large).
Ikon pertama di sisi kanan header.
Ikon kedua di sisi kanan header.
Ikon ketiga di sisi kanan header.
Accessibility
Header Navigation mengikuti pola WAI-ARIA untuk navigation landmark dan disclosure widget .
Gunakan elemen <nav> dengan aria-label="Main navigation" sebagai wrapper
Tombol dropdown harus menggunakan aria-expanded (true/false) dan aria-haspopup="true"
Dropdown panel menggunakan role="menu" dengan item bertipe role="menuitem"
Tekan Escape untuk menutup dropdown yang terbuka
Navigasi keyboard: Tab antar item, Enter/Space untuk buka dropdown, Arrow untuk item di dalam dropdown
Hamburger button mobile menggunakan aria-label="Open menu" / aria-label="Close menu"
Logo link memiliki aria-label="Go to homepage"
Do’s & Don’ts
Do
Gunakan satu Header Navigation per halaman
Batasi jumlah nav item di level utama (maksimal 5–6 item)
Gunakan tipe full-width untuk menu dengan banyak sub-kategori
Pastikan item aktif ditandai dengan warna primary (#0479CE)
Sertakan NavigationActions dengan CTA yang jelas
Don't
Jangan nesting dropdown lebih dari 2 level
Jangan taruh lebih dari 3 kolom pada sub menu Standard
Jangan gunakan teks nav item yang terlalu panjang (maks ~2 kata)
Jangan hapus logo dari header
Jangan gunakan breakpoint Desktop pada lebar layar < 768px