Prodular UI

Settings nav

The section list of a settings area: grouped pages, search across labels, descriptions and keywords, and the open page marked. Becomes a native select on phones. SettingsLayout puts it beside the page.

npx prodular-ui add settings-nav

Account, workspace and developer settings

Eleven pages in three groups. Keywords make SSO find Security and invite find Members.

Security

Single sign-on, two-step login and sessions

Try searching for “sso” or “invite”. Enter opens the first match.

Anatomy

<SettingsLayout nav={<SettingsNav sections={sections} value={page} onValueChange={setPage} />}>  {settingsPage}</SettingsLayout>

Guidance

Use it when

  • Settings and preferences with more than four pages.
  • keywords for the words people search for that are not in the label, like SSO, 2FA or invite.
  • SettingsLayout inside the App shell page area, never as a second app sidebar.

Avoid

  • Fewer than four pages. Use Tabs over the content.
  • Putting actions in the nav. Each item opens a page.

Rules for AI agents

Published in llms-full.txt, the registry and the MCP server, so coding agents follow them when they build with this component.

  • Describe pages as sections of { id, label, icon?, href?, description?, keywords?, badge? } and pass the open page id as value.
  • With routing, give items an href and pass linkComponent={Link}; onValueChange still fires.
  • Write descriptions as what people find on the page; they show under results while searching.
  • Wrap the page in SettingsLayout so the nav stays sticky on wide screens and becomes a select on phones.

API

SettingsNav

PropTypeDefaultDescription
sectionsSettingsNavSection[]Groups of { id, label, items }.
value / onValueChangestring / (id, item) => voidThe open page.
searchablebooleantrueShows the search field.
linkComponentElementType"a"Renders items with an href.

SettingsLayout

PropTypeDefaultDescription
nav / childrenReactNodeThe nav column and the page.

Installation

The Prodular UI CLI adds the source to components/ui with everything it depends on. In a project that already uses shadcn/ui, the shadcn CLI installs it from the Prodular registry too. See Installation for the first setup.

npx prodular-ui add settings-nav# or, with the registry in components.jsonnpx shadcn@latest add @prodular/settings-nav