Migration
Upgrading between Aidash Components major versions. Every breaking change is spelled out below with a before/after diff so you can jump straight to the ones that affect your app.
v0 → v1
The v1 release standardised prop names and moved to Tailwind CSS v4.
Prop rename: appearance → variant
Every component now uses variant for its visual style. appearance was a v0.9 experiment; v1 reverts to the industry-standard name.
<AidashButton appearance="primary">
Save
</AidashButton><AidashButton variant="primary">
Save
</AidashButton>Tailwind CSS v3 → v4
v1 targets Tailwind CSS v4. Tokens move from tailwind.config.js into your global stylesheet via the @theme directive.
module.exports = {
theme: {
extend: {
colors: {
brand: { 500: '#198CFF' }
}
}
}
};@import "tailwindcss";
@theme {
--color-brand-500: oklch(0.62 0.20 255);
}v1 → v1.1
Non-breaking, but a couple of new props worth adopting.
Input: leading/trailing addons
Icon slots that used to require a wrapper are now first-class props.
<div className="relative">
<SearchIcon className="absolute left-3 top-1/2 -translate-y-1/2" />
<AidashInput className="pl-9" />
</div><AidashInput
leadingIcon={<SearchIcon />}
/>v1.1 → v1.2
Charts, resizable panels, and a couple of API cleanups.
Dialog: onClose is now required
The default no-op made it too easy to ship dialogs that couldn't be dismissed.
<AidashDialog open={open}>
<p>Body</p>
</AidashDialog><AidashDialog
open={open}
onClose={() => setOpen(false)}
>
<p>Body</p>
</AidashDialog>Codemods
Automated migration scripts we ship with each major release. Run once and you're done.
# v0 → v1
pnpm dlx @aidash/codemod v0-to-v1 ./src
# v1 → v1.1
pnpm dlx @aidash/codemod appearance-to-variant ./src