Components

Custom elements (ui-*, x-*) and shared CSS patterns, grouped by role. The category taxonomy follows the cross-system reference, which also cross-references each component to Open UI, Radix, Material Web, Bootstrap, and WAI-ARIA APG.

Tag-name prefixes: ui- generic reusable widget · x- polyfill for a native element · app- app-specific (not documented here). See Conventions.

Each component registers its tag when its module is imported. For example, load <script type="module" src="/ui/components/ui-statusbar.mjs"></script>; no registration call is needed. Some modules also export an idempotent init({tag}) helper. Calling it after import does nothing. See Getting started for a complete page example.

Actions

Controls that trigger an operation. Use the lowest-emphasis variant that still communicates the action's role. See the shared variant names and rules for choosing classes or attributes on Modifiers.

Forms

Input controls. Native HTML elements with shared styling; custom elements only where native gaps exist.

Navigation

Moving between views or sections.

Overlays

Floating surfaces above page content. All use native <dialog> or the Popover API.

Feedback

Communicating state changes, errors, and loading.

Disclosure

Show/hide regions built on native <details>/<summary>.

Content

Static presentation primitives.

Layout

Page-shape patterns. Plain CSS over wrapper components — see Breakpoints for the project's breakpoint vocabulary.

Further reading

Cross-system reference — the full mapping: for every component pattern, see its status in Open UI, the native HTML element (if any), Material Web, Radix UI, Bootstrap, the WAI-ARIA APG pattern, and this library's implementation with direct links and accessibility notes.