Runs anywhere, needs nothing
UI components built as native HTML elements. No runtime to ship, they work in any framework or none, and each framework gets its own typings.
Drop it into any stack
Every component is a standard HTML element, so it works wherever HTML does. Each framework gets its own TypeScript types, and your editor autocompletes every tag and attribute.
One file per component
Each component is a single file with zero dependencies. It doesn't even need to be a module, so a plain script tag is enough to bring its tag to life on any page.
Layers of customization
Without a theme, components use the browser's own colors. A theme styles them all at once, each component's CSS variables fine-tune it, CSS parts reach the elements inside, and slots take your own markup.
Behaves like a built-in element
Components expose their state to CSS and join native forms, the same way the browser's own inputs do. No script in between.
Survives upgrades and migrations
Every framework migration replaces its whole ecosystem, from the router to the state library. These components stay. They run on web standards, not on your framework, so they keep working through every switch.
Agents get it right the first time
Components are plain HTML, CSS, and JavaScript, the languages models know best. The docs ship llms.txt and llms-full.txt so an agent reads the whole API in one fetch and writes code that works on the first try.
Start building
Installation, framework setup, theming, and a reference for every component.