sheengemologic ui
All components

NavItem

A native destination link with explicit current-page presentation inside NavList.@gemologic/sheen · navigation

Playground

This example has no scalar controls. Its validated source remains interactive below.
<NavList label="Workspace"><NavItem href="/overview" label="Overview" current /></NavList>

Variant matrix

Current destination

Anatomy

Package
@gemologic/sheen
Source
packages/ui/src/primitives/NavList.tsx
Tokens
  • --sheen-color-fg
  • --sheen-color-bg-hover
  • --sheen-color-focus-ring

Accessibility

Role: link, listitemKeyboard: Tab, Shift+Tab, Enter, Space, Escape

Do

  • Let the app/router determine the current page.
  • Keep identities stable when labels refresh.
  • Render optional row actions as sibling controls through actions.

Do not

  • Do not use the destination itself for an action or nest interactive controls in icon and badge slots.

Generated props

NameTypeDefaultDescription
href *stringRequired destination URL; browser navigation and modified clicks remain native.
label *stringRequired visible destination label.
currentbooleanfalseApp-owned current-page state, exposed through aria-current.
iconJSX.ElementOptional decorative, noninteractive icon. The visible label supplies its accessible meaning.
badgeJSX.ElementOptional noninteractive status/count content, included in the link's accessible name. Localize counts in the app.
tooltipstringOptional contextual help, requiring ThemeProvider. Keep supplied and toggle tooltipDisabled to retain the anchor across presentation changes.
tooltipDisabledbooleanDisables supplied tooltip help without disabling or replacing the link.
actionsJSX.ElementOptional sibling controls rendered beside the link. Use for row actions that must not be nested inside the destination.
Native Solid/HTML attributes remain available and are omitted from this authored-prop view.