Edmi UI
Quiet, tactile components for the interfaces you ship
An editorial-minimal, shadcn-compatible registry for React, Vue and Svelte. Flat by default, layered depth by role when you want it, and code you copy in and own.
Using Vue or Svelte? Pick it in the header. Install everything →
Built to be read, then owned in three small decisions.
Same item names, props and data-slots as the shadcn ports, so the CLI you already use just works. Edmi additions are marked with a star.
Every component is a quiet 1px-border control. Add elevation for depth: a sunken well, a raised bevel or a floating plate with one soft drop. Layered mode gives every role its natural level. Elevation guide →
Base UI for React, Reka UI for Vue and Bits UI for Svelte, all reading the same OKLCH tokens. Copy it in and own it.
Four knobs. Every component follows.
Base color, theme, mode and radius — plain CSS variables on <html>.
Chat, agents and tools — same voice.
Chat, agent, code, voice and workflow components in Edmi tokens, plus artifacts, session panels and agent avatars. It lives in components/ai and never leaks into the core kit.
Explore the AI pack