Supported Design Systems
Build your UI once with Cloak UI and switch between React component libraries by changing the wrapper import—no rewrites, no vendor lock-in.
Supported Design Systems
Cloak UI lets you build your UI with a single, consistent API.
Instead of tying your code to one library, you swap the wrapper import to map your components to the design system you want.
Adapters act as a bridge between your code and the underlying UI library.
You write your components once, and Cloak UI handles the translation.
📦 shadcn/ui
shadcn/ui is a composable React component library built on Radix UI and Tailwind CSS.
How to use Cloak UI with shadcn/ui:
// Use the Shadcn UI wrapper
import { Button as ShadcnButtonWrapper } from "@component/wrapper/button";
export function Example() {
return <ShadcnButtonWrapper variant="primary">Click Me</ShadcnButtonWrapper>;
}🦸 Hero UI
Hero UI is a modern, accessible React component library.
How to use Cloak UI with Hero UI:
// Use the Hero UI wrapper
import { Button as HeroButtonWrapper } from "@component/wrapper/button";
export function Example() {
return <HeroButtonWrapper variant="primary">Click Me</HeroButtonWrapper>;
}🔧 How Adapters Work
- Unified API: Use Cloak UI’s consistent props and imports.
- Adapter Layer: Cloak UI translates your props to the target library.
- Instant Swap: Change the wrapper import—no component rewrites.
🚀 Benefits
- No Vendor Lock-In: Change design systems without rewriting your UI.
- Consistent Props: Same API for all supported libraries.
- Easy Maintenance: Simplifies large codebases.
- Extensible: Build and register your own adapters.
📅 Future Plans
Adapters coming soon for:
- Chakra UI
- Material UI
- Radix UI (direct)
- Mantine
- ...and more
💡 Want to contribute? See the adapter contribution guide.