CosmoUI v2.4.0

Accessible UI Primitives & Composable Design Tokens

CosmoUI provides unstyled, WAI-ARIA 1.2 compliant component primitives alongside a zero-runtime OKLCH CSS token architecture inspired by Radix Primitives, shadcn/ui, and Ariakit.

Zero-Runtime CSS Tokens

Deterministic OKLCH color scales, fluid spacing variables, and automatic dark/high-contrast surface elevation without JavaScript bundle overhead.

Strict WAI-ARIA 1.2

Roving tabindex, focus trapping, screen-reader live announcements, and pointer/keyboard parity verified across desktop and mobile engines.

Copy-and-Own or Package

Consume as tree-shakeable ESM packages (@cosmoui/react) or scaffold source components directly into your workspace via the CLI.

Quick Installation

Install the headless primitive runtime or initialize the token stylesheet in your project root:

npm install @cosmoui/primitives @cosmoui/tokens
# Or scaffold individual components into src/components/ui:
npx @cosmoui/cli@latest init --tokens oklch --css-vars

Interactive Primitive Preview

All overlay primitives manage focus restoration, aria-modal attributes, and escape/outside-pointer dismissal out of the box.

Preview · @cosmoui/primitives/dialog WAI-ARIA Dialog Pattern
Explore 28 Primitives →

Composition Architecture

CosmoUI primitives follow a compound component contract with polymorphic asChild slot forwarding, allowing seamless composition with Tailwind CSS, CSS Modules, or vanilla style sheets:

import * as Dialog from '@cosmoui/primitives/dialog';

export function TokenPreferencesModal() {
  return (
    <Dialog.Root>
      <Dialog.Trigger asChild>
        <button className="cui-btn cui-btn-primary">Edit Workspace Tokens</button>
      </Dialog.Trigger>
      <Dialog.Portal>
        <Dialog.Overlay className="cui-overlay" />
        <Dialog.Content className="cui-dialog-surface">
          <Dialog.Title>Surface & Contrast Scale</Dialog.Title>
          <Dialog.Description>
            Adjust perceptual lightness and chroma stops across dark and light themes.
          </Dialog.Description>
          <Dialog.Close className="cui-btn">Save Changes</Dialog.Close>
        </Dialog.Content>
      </Dialog.Portal>
    </Dialog.Root>
  );
}

Accessibility & Runtime Matrix

SubsystemSpecificationBundle Footprint (brotli)SSR / Streaming
@cosmoui/primitives/dialogWAI-ARIA 1.2 Modal3.1 kBDeterministic ID hydration
@cosmoui/primitives/popoverCollision-aware Anchor4.4 kBClient portal lazy mount
@cosmoui/primitives/commandCombobox + Listbox3.8 kBZero-layout-shift SSR
@cosmoui/tokensCSS Color Level 4 (OKLCH)1.6 kBStatic CSS variables