Zinc
Slate
Violet
Rose
Emerald
Blue
Orange
Star
ESC
NNUI-KIT 1.0|The All-In-One Universal Light-DOM UI Kit →

The All-In-One UI Kit for
Every Modern Platform.

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.

AIQuick Summary: What is NNUI-KIT?All-In-One Toolkit

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.

⚛️ React 18 & 19⚡ Next.js 15🔥 Svelte 5💚 Vue 3🚀 Astro🌐 HTMX 2🛡️ Zero Shadow DOM🎨 DTCG Tokens
38.9 kB
Complete Suite (Gzipped JS)
Zero
Shadow DOM Barriers
15,000+
Rows Virtualized at 60 FPS
100%
WAI-ARIA APG Accessible
nnui-studio.tsx
🤖AI Prompt Studio
persist="local"

Declarative draft auto-saving via Light-DOM state sync. Try typing or selecting a preset:

Try:
Active State: (ready for prompt)
Pipeline & ControlsLive Sync
✓Build
2Deploy
3Verify
Cross-Tab Sync

Platform-Native <ui-dialog>

Executes directly via HTML5 <dialog> top-layer specification with built-in keyboard focus trap, Esc-key dismiss, and Light-DOM accessibility integration.

Complete Production Suite (45 Components)

Sub-40 kB
◆Dropdown MenuLight-DOM◆Toast / ToasterLight-DOM◆TabsLight-DOM◆DialogLight-DOM◆SelectLight-DOM◆ComboboxLight-DOM◆AccordionLight-DOM◆PopoverLight-DOM◆TooltipLight-DOM◆Command PaletteLight-DOM◆Sheet / DrawerLight-DOM◆SliderLight-DOM◆Data TableLight-DOM◆CalendarLight-DOM◆Date PickerLight-DOM◆Virtualized Data GridLight-DOM◆Date Range PickerLight-DOM◆Tags InputLight-DOM◆Segmented ControlLight-DOM◆OTP / PIN InputLight-DOM◆Stepper / WizardLight-DOM◆Resizable Split PaneLight-DOM◆File Upload & DropzoneLight-DOM◆Context MenuLight-DOM◆Navigation MenuLight-DOM◆Tree ViewLight-DOM◆AI Prompt BoxLight-DOM◆Color PickerLight-DOM◆ButtonZero-JS◆BadgeZero-JS◆Input & FieldZero-JS◆Checkbox & RadioZero-JS◆SwitchZero-JS◆CardZero-JS◆AvatarZero-JS◆AlertZero-JS◆ProgressZero-JS◆TableZero-JS◆SkeletonZero-JS◆SeparatorZero-JS◆StackZero-JS◆GridZero-JS◆ContainerZero-JS◆SpinnerZero-JS◆Empty StateZero-JS◆Dropdown MenuLight-DOM◆Toast / ToasterLight-DOM◆TabsLight-DOM◆DialogLight-DOM◆SelectLight-DOM◆ComboboxLight-DOM◆AccordionLight-DOM◆PopoverLight-DOM◆TooltipLight-DOM◆Command PaletteLight-DOM◆Sheet / DrawerLight-DOM◆SliderLight-DOM◆Data TableLight-DOM◆CalendarLight-DOM◆Date PickerLight-DOM◆Virtualized Data GridLight-DOM◆Date Range PickerLight-DOM◆Tags InputLight-DOM◆Segmented ControlLight-DOM◆OTP / PIN InputLight-DOM◆Stepper / WizardLight-DOM◆Resizable Split PaneLight-DOM◆File Upload & DropzoneLight-DOM◆Context MenuLight-DOM◆Navigation MenuLight-DOM◆Tree ViewLight-DOM◆AI Prompt BoxLight-DOM◆Color PickerLight-DOM◆ButtonZero-JS◆BadgeZero-JS◆Input & FieldZero-JS◆Checkbox & RadioZero-JS◆SwitchZero-JS◆CardZero-JS◆AvatarZero-JS◆AlertZero-JS◆ProgressZero-JS◆TableZero-JS◆SkeletonZero-JS◆SeparatorZero-JS◆StackZero-JS◆GridZero-JS◆ContainerZero-JS◆SpinnerZero-JS◆Empty StateZero-JS

Engineered for the Open Web.

Everything you love about modern UI components (Tailwind, keyboard accessibility, state hydration) without virtual DOM overhead or framework lock-in.

🛡️

Zero Shadow DOM Traps

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.

⚡

Sub-40 KB Complete Suite

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.

🌐

Declarative State & URL Sync

Add persist="url" to synchronize sorting and search queries directly to URL parameters, and persist="local" to autosave drafts without router boilerplate.

📡

Real-Time Cross-Tab Sync

Add sync="cross-tab" to synchronize state across multiple open tabs and windows via the native browser BroadcastChannel with zero server or WebSocket setup.

🤖

AI Introspection Protocol

Call element.inspectAI() to retrieve machine-readable JSON schemas, active state, and copy-ready framework snippets tailored for autonomous coding agents (Claude, Cursor, Copilot).

🎨

W3C DTCG Token System

Engineered with 11-step tonal harmony scales (Zinc, Slate, Violet, Rose, Emerald, Blue, Orange) conforming to the W3C Design Tokens Community Group specification.

Platform Superiority

Why NNUI-KIT is the Ultimate All-In-One UI Solution

See how NNUI-KIT unifies what usually takes 6+ separate libraries into one cohesive, sub-40 KB platform-native architecture.

Feature / CapabilityNNUI-KIT (All-In-One)shadcn/ui + RadixWebAwesome / ShoelaceMUI / Mantine
DOM Architecture100% Light-DOM (Zero Traps)React Virtual DOMShadow DOM (Trapped)React Virtual DOM
Universal Framework SupportReact 19, Vue, Svelte, Astro, HTMLReact OnlyAny (Shadow DOM)React Only
Built-in State URL PersistenceNative (persist="url")Manual Router CodeNoNo
Real-time Cross-Tab BroadcastNative (sync="cross-tab")No (Manual Setup)NoNo
AI Introspection ProtocolBuilt-in (element.inspectAI())NoneNoneNone
Native Form ParticipationNative (Standard <form> inputs)Controlled Forms OnlyElementInternals ProxyControlled Forms Only
Runtime Bundle Size< 40 kB Complete Suite80+ kB (+ React bundle)150+ kB250+ kB
Knowledge Base

Frequently Asked Questions

Everything you need to know about NNUI-KIT as an all-in-one universal UI architecture.

What makes NNUI-KIT an "all-in-one" UI toolkit?+

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.

Why Light-DOM instead of Shadow DOM?+

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.

Does it work with React 19, Next.js 15, Vue 3, Svelte 5, and Astro?+

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.

How does declarative state persistence and cross-tab sync work?+

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.

What is the AI Introspection Protocol (element.inspectAI())?+

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.

Ready to build platform-native interfaces?

Install any component in seconds via CLI or import as universal web components.

Explore 45 Components →GitHub Repository