Overview
Header Navigation is a horizontal navigation component placed at the top of the page. It supports a logo, menu items with or without dropdowns, and action buttons on the right side.Installation
Usage
Type Variants
Header Navigation has 7 layout types that determine how menu items and sub-menus are displayed.- Default
- Standard
- Standard with Icon
- Full Width
- Full Width with Icon
- Simple
- Simple with Icon
Logo and nav items aligned in the center, CTA button on the right. No dropdown.
A’raf DS
HomeProductsSolutionsAbout
Breakpoints
Header Navigation supports two breakpoints: Desktop (1440px) and Mobile Responsive (360px).- Desktop
- Mobile Responsive
Header width 1440px with content centered in a 1200px container. Logo, nav items, and CTA button are displayed horizontally.
A’raf DS
HomeProducts ▾Solutions ▾About
Mobile Header Navigation
For mobile views specifically, 4 size configurations are available.small-centered (56px)
Page Title
small (56px)
Page Title
medium (108px)
Page Title
Supporting description text for the page.
large (152px)
Page Title
Supporting description text for the page.
Navigation Actions
A slot on the right side of the header for displaying authentication buttons. Two states are available: Logged Out (Sign In + CTA) and Logged In (avatar or user menu).Logged Out (default)
Logged In
AB
Ahmad Badr▾Sub Menu
Standard Sub Menu
A compact dropdown card (480px) displaying a vertical list of items with a title and description.Full Width Sub Menu
A full-width dropdown (1440px) with a featured panel on the left and 3 columns on the right.API Reference
HeaderNavigation
"default" | "standard" | "standard-with-icon" | "full-width" | "full-width-with-icon" | "simple" | "simple-with-icon"
default:"\"default\""
The navigation layout type, which determines the dropdown menu style.
"desktop" | "mobile-responsive"
default:"\"desktop\""
The rendering breakpoint. In
mobile-responsive mode, nav items are replaced by a hamburger menu.ReactNode
The logo content on the left side of the header (logomark + wordmark).
boolean
default:"false"
Whether the header stays fixed at the top during scroll (
position: sticky).string
Additional class for custom styling.
NavItem
string
required
The navigation destination URL.
boolean
default:"false"
Marks the item as the currently active page.
ReactNode
required
The nav item text label.
NavDropdown
string
required
The dropdown trigger text.
{ title: string; ctaLabel: string; ctaHref: string }
Featured panel content (only for
full-width and full-width-with-icon types).NavDropdown.Item
string
required
The dropdown item’s destination URL.
string
A short description text below the label. Not displayed for the
simple type.ReactNode
Icon on the left side of the item. Required for
*-with-icon types.HeaderNavigationMobile
"small-centered" | "small" | "medium" | "large"
required
The size and layout of the mobile header.
string
The page title displayed at the center or left of the header.
string
Supporting description below the title (only for
medium and large).ReactNode
The first icon on the right side of the header.
ReactNode
The second icon on the right side of the header.
ReactNode
The third icon on the right side of the header.
Accessibility
Header Navigation follows the WAI-ARIA patterns for navigation landmark and disclosure widget.
- Use a
<nav>element witharia-label="Main navigation"as the wrapper - Dropdown buttons must use
aria-expanded(true/false) andaria-haspopup="true" - The dropdown panel uses
role="menu"with items typed asrole="menuitem" - Press
Escapeto close an open dropdown - Keyboard navigation:
Tabbetween items,Enter/Spaceto open a dropdown,Arrowkeys for items within the dropdown - The mobile hamburger button uses
aria-label="Open menu"/aria-label="Close menu" - The logo link has
aria-label="Go to homepage"
Do’s & Don’ts
Do
- Use a single Header Navigation per page
- Limit the number of nav items at the top level (maximum 5–6 items)
- Use the
full-widthtype for menus with many sub-categories - Ensure the active item is marked with the primary color (
#0479CE) - Include
NavigationActionswith a clear CTA
Don't
- Don’t nest dropdowns more than 2 levels deep
- Don’t put more than 3 columns in a Standard sub menu
- Don’t use overly long nav item text (max ~2 words)
- Don’t remove the logo from the header
- Don’t use the Desktop breakpoint on screen widths < 768px