@artisanpack-ui/react 2.0 replaces DaisyUI with the design system's CSS, renames some components and props to share one API with Livewire and Vue, and moves theming to token-based presets. A codemod does the mechanical part.
The full guide, generated from the same rules the codemod applies, covers every renamed component and every changed prop: Upgrading @artisanpack-ui/react 1.x to 2.0.
In short
Upgrade the whole app at once, on a branch: 1.x and 2.0 can't be mixed in one app.
-
Update the packages and remove DaisyUI:
npm install @artisanpack-ui/react@^2 @artisanpack-ui/css npm uninstall daisyui -
Preview the codemod. The dry run prints a diff and writes nothing:
npx @artisanpack-ui/codemods react src --dry-runThen run it without
--dry-runto apply the changes, and work through its report: the props and components it couldn't change, and every raw DaisyUI class it found. -
Load
@artisanpack-ui/css, with or without Tailwind, as in Getting Started, and remove the DaisyUI plugin from your Tailwind stylesheet. -
Move your DaisyUI theme to a preset, and add
ThemeScript(see Theming). -
Replace the deprecated components the codemod couldn't rewrite. They keep working meanwhile: each renders its replacement.
-
Replace imports of the 1.x shared types
DaisyColor,Size,GlassProps,ColorPropsandFormFieldProps. The root no longer exports them; use each component's own types, such asButtonColorandButtonSize(see TypeScript).
Laravel apps
Update @artisanpack-ui/react-laravel alongside @artisanpack-ui/react: its menu, breadcrumbs and pagination now wrap the design system components, InertiaToastProvider shows flash messages with the design system's Toaster, and InertiaLink with asButton renders Button markup. InertiaToastProvider's 1.x position and defaultDuration props still work but are deprecated: use placement and duration. See Laravel and Inertia.

