51 accessible components & primitives living 100% in the Light DOM. First-class React 18/19 wrapper, Svelte 5, Vue 3, Astro, and HTMX 2 ready. 1–3 kB per component footprint (~50 kB gzipped JS full suite) with native form participation.
NNUI-KIT is an all-in-one universal UI architecture and component library. It unifies 51 accessible Light-DOM components across React 18/19, Vue 3, Svelte 5, Astro, HTMX, and HTML. Unlike fragmented libraries, it provides built-in virtualized data grids, declarative URL/local state persistence, zero-setup cross-tab broadcast synchronization, and an AI introspection API with a lean 1–3 kB per-component footprint (~50 kB gzipped JS full suite).
Everything you love about modern UI components (Tailwind, keyboard accessibility, state hydration) without virtual DOM overhead or framework lock-in.
Lives 100% in the document Light DOM. Forms serialize natively via ElementInternals, global Tailwind and CSS variables apply directly, and assistive technologies see unbroken DOM trees.
Each component weighs only 1–3 kB gzipped via tree-shaking or CLI code generation. The entire 51-component monolithic library is just ~50 kB gzipped JS (~72 kB with full CSS) — with zero heavy virtual DOM or emotion engine overhead.
Add persist="url" to synchronize sorting and search queries directly to URL parameters, and persist="local" to autosave drafts without router boilerplate.
Add sync="cross-tab" to synchronize state across multiple open tabs and windows via the native browser BroadcastChannel with zero server or WebSocket setup.
Call element.inspectAI() to retrieve machine-readable JSON schemas, active state, and copy-ready framework snippets tailored for autonomous coding agents (Claude, Cursor, Copilot).
Engineered with 11-step tonal harmony scales (Zinc, Slate, Violet, Rose, Emerald, Blue, Orange) conforming to the W3C Design Tokens Community Group specification.
See how NNUI-KIT unifies what usually takes 6+ separate libraries into one cohesive, sub-40 KB platform-native architecture.
| Feature / Capability | NNUI-KIT (All-In-One) | shadcn/ui + Radix | WebAwesome / Shoelace | MUI / Mantine |
|---|---|---|---|---|
| DOM Architecture | 100% Light-DOM (Zero Traps) | React Virtual DOM | Shadow DOM (Trapped) | React Virtual DOM |
| Universal Framework Support | React 19, Vue, Svelte, Astro, HTML | React Only | Any (Shadow DOM) | React Only |
| Built-in State URL Persistence | Native (persist="url") | Manual Router Code | No | No |
| Real-time Cross-Tab Broadcast | Native (sync="cross-tab") | No (Manual Setup) | No | No |
| AI Introspection Protocol | Built-in (element.inspectAI()) | None | None | None |
| Native Form Participation | Native (Standard <form> inputs) | Controlled Forms Only | ElementInternals Proxy | Controlled Forms Only |
| Runtime Bundle Size | < 40 kB Complete Suite | 80+ kB (+ React bundle) | 150+ kB | 250+ kB |
Everything you need to know about NNUI-KIT as an all-in-one universal UI architecture.
Rather than cobbling together separate libraries for base primitives (Radix), complex tables (TanStack Table), popovers (Floating UI), local storage hooks, and multi-tab synchronization, NNUI-KIT delivers all 51 components in a single package. It includes built-in declarative URL/localStorage persistence, zero-backend cross-tab broadcast sync, and an AI introspection protocol within a lean 1–3 kB per-component footprint (~50 kB JS full suite).
Shadow DOM creates encapsulation barriers that break screen reader accessibility trees, block native HTML form submissions, and stop Tailwind CSS or global stylesheets from styling components without cumbersome CSS parts. NNUI-KIT operates 100% in the document Light DOM while observing the invariant: "Mutate Attributes, Never Nodes", ensuring complete style transparency and zero hydration errors.
Yes, natively across all of them! For React 18 and 19, import idiomatic compound components from nnuikit/react with full typed ref forwarding. For Next.js App Router and full-stack SSR frameworks, import nnuikit/client to safely hydrate in the browser with zero Node.js server errors.
Simply specify declarative attributes: add persist="url" to sync state directly with browser URL parameters (ideal for shareable table filters and tabs), or persist="local" to autosave drafts. Add sync="cross-tab" to broadcast changes across all browser tabs in real-time via the browser's native BroadcastChannel API.
Every component in NNUI-KIT implements element.inspectAI(). When called by autonomous coding agents like Cursor, Windsurf, Claude, Copilot, or ChatGPT, it returns structured JSON outlining the component's interactive parts, valid attributes, current state, and copy-paste ready framework snippets.
Install any component in seconds via CLI or import as universal web components.