Doc Page

Components Overview

Browse v1 primitives and learn their contract sections.

Updated: 2026-05-30 · Owner: docs@nake-ui

Catalog Model

The components catalog is generated from primitive schemas, specs, example manifests, and adapter exports. Treat it as the routeable index of canonical behavior, not as a list of visual widgets.

Every canonical primitive page should answer:

  • What problem the primitive solves.
  • Which slots are public.
  • Which states exist and where they are reflected.
  • Which events and keyboard interactions are required.
  • Which ARIA roles and relationships must be present.
  • Which validator rules protect the contract.
  • Which adapters expose it and how examples map to those adapters.

Sources: shared/en/components-overview

Canonical v1 Primitives

Primitive Category Core behavior Common production use
Disclosure Disclosure Toggle one content region FAQ, details panel, settings section
Tabs Navigation Select one panel through roving focus Settings sections, dashboard views
Dialog Overlay Modal/non-modal layer with focus management Confirmation, form, detail editor
Popover Overlay Anchored non-modal floating content Profile card, filters, quick actions
Menu Navigation Command list with roving focus and typeahead App menu, action menu, nested menu
Listbox Selection Highlight and select one or many options Custom picker, option list
Select Selection Trigger plus listbox plus hidden input Form-compatible custom select
Combobox Input Text input plus filterable option list Searchable select, tagging, autocomplete
Tooltip Overlay Described-by helper content Icon label, inline help

These nine primitives are visible across React, Vanilla, Vue, Solid, and Svelte routes.

Sources: shared/en/components-overview

Anatomy Sections

Read primitive anatomy as a DOM contract:

  • Required slots must be present for the primitive to be valid.
  • Repeatable slots need stable IDs or values.
  • Optional slots remain public when rendered.
  • Adapter helper components may exist without becoming schema slots.
  • Portals change DOM location, not semantic ownership.

For example, Dialog includes trigger, overlay, content, title, description, and close. React may also provide Header and Footer helper components, but those helpers are composition conveniences, not required schema slots.

Sources: shared/en/components-overview

State Sections

State documentation distinguishes:

  • Controlled state: open, value, inputValue, selectedValues, or equivalent plus callbacks.
  • Uncontrolled state: defaultOpen, defaultValue, defaultInputValue, or equivalent.
  • Reflected state: data-state, data-selected, data-highlighted, aria-expanded, aria-selected, aria-activedescendant, hidden.
  • Derived state: layout attributes such as data-placement, data-side, and data-align.

Do not mix controlled and uncontrolled props on the same instance unless the primitive explicitly documents a migration path.

Sources: shared/en/components-overview

Interaction Sections

Keyboard and focus rules are not optional:

  • Tabs, Menu, Listbox, Select, and Combobox use roving focus or active-descendant navigation.
  • Dialog uses focus scope and dismissable layer behavior.
  • Popover, Menu, Select, Combobox, and Tooltip include outside dismiss or close behavior.
  • Tooltip keeps trigger focus; Combobox keeps focus on input while highlight moves through options.

The component page should name the actual keys: Tab, Shift+Tab, ArrowUp, ArrowDown, ArrowLeft, ArrowRight, Home, End, Enter, Space, Escape, and typeahead where applicable.

Sources: shared/en/components-overview

Generated Artifacts

The docs build produces machine-readable catalogs:

  • docs-tree.json: route navigation.
  • components-catalog.json: primitive metadata.
  • api-catalog.json: exports by primitive and adapter.
  • primitive-coverage.json: implementation and test coverage.
  • search-index.json: routeable search content.
  • llms.txt: compact agent-readable summary.

When component docs change, regenerate these artifacts with pnpm content:build and verify with pnpm content:check.

Sources: shared/en/components-overview

Readiness Checklist

  • Primitive spec has purpose, non-goals, anatomy, DOM contract, state, events, keyboard, ARIA, validator, adapters, tests, and SSR notes.
  • Schema slots and states match the rendered adapter output.
  • Examples exist for every supported adapter route.
  • DOM contract snapshots cover critical attributes.
  • Adapter parity tests cover high-risk interaction paths.

Sources: shared/en/components-overview