Nav

Link list for navbar chrome or standalone navigation — not a tablist. Use Tabs for panel switching.

Preview

Variants

Horizontal

Default orientation — flex row of links.

Vertical

.ui-nav--vertical / React orientation="vertical".

Active link

.is-active, aria-current="page" (or "location" for in-page sections), and data-active (React active sets page).

Accessibility

  • Use a real <nav> landmark with a required aria-label (especially when multiple navs exist on a page).
  • Mark the current page with aria-current="page" on the active link — not a tablist pattern. For section-in-view highlighting, use aria-current="location" (styled the same) or prefer Scrollspy.
  • Structure as ullia for list semantics.
  • For switching panels in place, use Tabs.

API

HTML classes

Class Description
.ui-nav Root navigation landmark.
.ui-nav--vertical Stacked (column) link list.
.ui-nav__list Unordered list of items.
.ui-nav__item List item wrapper.
.ui-nav__link Anchor styled as a nav link.
.is-active Current visual state on the link. Also applied when aria-current is page or location.

React props

From src/core/Nav.tsx — compound Nav / NavItem / NavLink.

Prop Type Default Description
aria-label string Required accessible name for the nav landmark.
orientation 'horizontal' | 'vertical' 'horizontal' Layout direction; vertical adds .ui-nav--vertical.
NavLink active boolean false Sets aria-current="page", data-active, and .is-active. Hosts may set aria-current="location" for in-page sections — CSS and the active track treat it like page.
className string Merged via cx onto the root of each part.