45 accessible components & primitives living 100% in the Light DOM. First-class React 18/19 wrapper, Svelte 5, Vue 3, Astro, and HTMX 2 ready. Sub-40 KB runtime with native form participation.
NNUI-KIT is an all-in-one universal UI architecture and component library. It unifies 45+ 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 protocol in a single <40 KB gzipped runtime.
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.
All 45 components + virtualized data grid + calendar bundle into only 38.9 kB gzipped JavaScript — running 5x lighter than MUI, Mantine, or Radix + AG Grid.
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 45+ 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 an ultra-lean <40 KB runtime.
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 nnui-kit/react with full typed ref forwarding. For Next.js App Router and full-stack SSR frameworks, import nnui-kit/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.