Base UI component migration
Pro Prisma and Pro Drizzle now use the Base UI variant of shadcn/ui across their shared component system and application surfaces.
Both starter kits now use Base UI as the accessible primitive layer beneath shadcn/ui. The migration covers the shared UI library and the product surfaces that compose it, including authentication, organization management, administration, billing, dialogs, menus, selects, tooltips and responsive navigation.
What changed
- Replaced Radix UI primitive packages with
@base-ui/react. - Updated component composition from Radix-specific
asChildbehavior to Base UI'srenderAPI where required. - Migrated dialogs, sheets, drawers, menus, popovers, form controls, tabs, tooltips and related interaction state to Base UI contracts.
- Set the shadcn configuration to the Base UI
base-novastyle so newly added components remain compatible with the shipped component system. - Preserved Achromatic's existing visual language and direct ownership of the
source in
components/ui/.
Verification
The release adds focused component coverage and expands Playwright coverage for desktop and mobile navigation, dialogs, menus, selects, checkboxes, radio groups, calendar popovers, CSV export controls and focus restoration. The full Prisma and Drizzle applications were type-checked, built and tested against their production server before release.
Existing projects
New downloads include the migration. Existing projects should treat this as a
component-system upgrade rather than replacing individual dependency versions:
copy the updated components/ui/ implementations together with their affected
call sites, update components.json and remove the old Radix packages only
after the application compiles. Review locally customized components before
merging because composition props and open-state callbacks changed.
See the theming and component guidance for Pro Prisma or Pro Drizzle.