Onyx UI
Accessible · Token-themed · Open source

One design system.
Three frameworks.

Onyx UI is an accessible, token-driven component library. The same components and the exact same design tokens, available natively for Angular, React and Vue. Pick your stack below.

22 Components
3 Frameworks
A11y axe-core clean
Light · Dark Token-themed

Angular

Standalone · Signals · CDK

The reference implementation. Live demos, API tables, theming and a command palette. Built with Angular 19 standalone components.

npm install @onyx/ui @angular/cdk

React

React 19 · Hooks · Portals

Idiomatic React port — props & callbacks, createPortal overlays, the same token CSS. 223 tests, axe-clean.

npm install @onyx/react

Vue

Vue 3 · script setup · Teleport

Idiomatic Vue 3 port — props & emits, Teleport overlays, v-model, the same token CSS. 226 tests, axe-clean.

npm install @onyx/vue

Why Onyx UI

One architecture, three idiomatic implementations.

Shared design tokens

A single three-tier token layer drives every framework. Re-skin a client by swapping one preset — no component edits.

Accessible by default

Correct ARIA, full keyboard nav, visible focus and zero axe-core violations — verified in every port's test suite.

Light & dark, identical

Dark mode is a class that re-maps semantic tokens. The same CSS yields the same look across Angular, React and Vue.

Idiomatic, not wrapped

Signals for Angular, hooks for React, composition for Vue — each port speaks its framework natively, no thin wrappers.