Ruixen Pro is now live.50+ premium components, templates, blocks, and lifetime updates.

Command Palette

Search for a command to run...

Multi-stack shadcn registry

Base UI Components for Shadcn Projects

240+ React sections and components that install with Base UI primitives instead of Radix. Same shadcn CLI, same components, different primitive layer.

pnpm dlx shadcn@latest add https://ruixen.com/r/baseui/gradient-hero-showcase.json

Example installs the Gradient Hero Showcase. Same /r/baseui/ prefix works for every component.

Why Base UI primitives

Accessibility-first

Base UI is maintained by the MUI team with a strong accessibility track record — keyboard nav, ARIA, focus management built in. Reasonable default for design systems that need to clear an accessibility audit.

Cleaner API surface

A modern, opinionated primitive layer designed in 2024–25 with hindsight on what Radix got right and where the API surface can be tightened. Smaller bundle, simpler prop contracts.

Same Ruixen catalog

Every Ruixen component installs via the same shadcn CLI, just pointed at the /r/baseui/ registry. 25 wrapper files map shadcn's primitive surface onto Base UI under the hood.

A sample of what ships in Base UI

Every component in the catalog is available with Base UI primitives. Browse the full docs for the rest of the 240+ sections and primitives.

Frequently asked questions

What is Base UI and why use it instead of Radix?+

Base UI is an accessible, unstyled React primitive library maintained by the MUI team. It's a fresh alternative to Radix with a cleaner API surface, more permissive licensing, and active development from a larger sponsor. Teams choose Base UI for accessibility-first projects, design-system work, or when they want primitives without Radix's specific opinions.

Does Ruixen really run on Base UI instead of Radix?+

Yes. The component source code is identical across both — only the wrapper layer at components/ui/* differs. Ruixen ships 25 Base UI wrappers that mirror the shadcn primitive API surface (Dialog, DropdownMenu, Accordion, Tabs, etc.), so any of the 240+ components can install with Base UI primitives in place of Radix.

Which package do I install — @base-ui/react or @base-ui-components/react?+

@base-ui/react. The package was renamed in December 2025 (v1 release) — older docs may reference @base-ui-components/react. The shadcn CLI handles the install automatically when you use the /r/baseui/ registry endpoint.

How does the install differ from the Radix flow?+

Same shadcn CLI, different registry URL. Point it at https://ruixen.com/r/baseui/<component>.json. The CLI fetches a manifest where the component's primitive dependencies are mapped to Base UI wrappers instead of Radix's @radix-ui/* packages.

What about Tailwind state selectors — does data-[state=open] still work?+

Base UI uses a slightly different attribute convention: data-[open] instead of data-[state=open]. The Ruixen wrappers handle this automatically — class strings in the component source are written to work with the Base UI attribute convention when you install from the baseui registry.

Can I mix Base UI and Radix in the same project?+

Technically yes, but it adds bundle size and creates two parallel primitive systems. The recommended path is to commit to one. Ruixen lets you stay consistent across the whole catalog by always installing from one registry prefix.

Is Base UI support free?+

Yes. The full 240+ component catalog is MIT-licensed and free across all four stack variants (Tailwind v3 or v4, Radix or Base UI). Ruixen Pro is a separate one-time $59 purchase for premium components and templates — all available in Base UI variants too.

Need polished landing-page templates?

Ruixen Pro ships 50+ premium components and full landing-page templates with Base UI variants. One payment, lifetime updates.

Explore Ruixen Pro