What problem does it solve?
Vendure Dashboard extensions built on Radix UI and shadcn-style form components break when the dashboard moves to Base UI, requiring developers to manually rewrite asChild props, form wrappers, and imports across many files.
Core Features & Use Cases
- asChild to render prop conversion: Transforms Radix's asChild composition pattern into Base UI's render prop pattern for buttons, dialog triggers, popovers, and tooltips.
- Form component migration: Replaces FormField, FormItem, FormControl, FormLabel, and FormMessage with FormFieldWrapper or Controller plus Field primitives.
- Import consolidation: Rewrites direct @radix-ui/, @vendure-io/ui/, and @base-ui/react/* imports to unified @vendure/dashboard imports, with rules for approved third-party exceptions.
- Component API updates: Handles Select items props, Accordion default behavior, DropdownMenuItem onClick, and Checkbox null coercion.
- Use Case: A developer upgrading a Vendure plugin's custom dashboard pages can point this Skill at their extension files and get all Radix-era patterns rewritten to the current Base UI API with verified imports.
Quick Start
Migrate my Vendure dashboard extension files in the plugins directory from Radix UI to Base UI patterns.