You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Removed all *-focus color names. They where being used only for buttons.
Darker colors are now generated using CSS color-mix() under the hood.
The following class names are removed now:
primary-focus
secondary-focus
accent-focus
neutral-focus
You can also make a color darker or lighter using CSS color-mix(). For example to make primary (--p) color darker, you can use this class name: bg-[color-mix(in_oklab,oklch(var(--p)),black)]
🎨 Themes
All theme colors adjusted for better contrast, better color harmony and better accessibility.
🧠 Logical CSS properties
daisyUI 4 components use logical CSS properties instead of directional rules (mr-*, pl-*, etc)
If you are using directional CSS rules (right/left) to modify daisyUI styles, it still works fine in LTR mode but you may want to double check.
⬅️ RTL
Removed rtl daisyUI config
All components now support LTR/RTL without any config or plugin.
You don't need tailwindcss-flip plugin anymore.
You don't need to set rtl: true in tailwind.config.js
Just add dir=rtl to <html> tag and everything will be RTL on runtime.
🗂️ Tab
No need to repeat modifier classes for each tab item.
these modifier classes for tab are removed:
tab-lifted
tab-bordered
tab-lg
tab-md
tab-sm
tab-xs
Use the following modifier classes for the parent tabs class instead:
tabs-lifted
tabs-bordered
tabs-lg
tabs-md
tabs-sm
tabs-xs
tabs class is now using grid, instead of flex.
Lifted tab now uses a single pseudo element (:before) instead of two (:before and after)
⏺️ Button
buttons are not uppercase by default anymore
Removed --btn-text-case CSS variable from themes
⚙️ Config
Removed rtl config because RTL is now automatic
📦 Dependencies
Removed colord, rtlcss, postcss, tailwindcss
Added culori, picocolors
Features
💡 Efficiency
92% less NPM module dependencies
73% smaller install size and node_modules footprint
✨ New components:
timeline
skeleton
diff
theme-controller
➗ New divider color modifier class names
divider-primary
divider-secondary
divider-accent
divider-neutral
divider-success
divider-warning
divider-info
divider-error
➗ New divider position modifier class names
divider-start
divider-end
🎨 New themes:
Dim
Nord
Sunset
⏺️ Buttons
Added hover color for the following other buttons:
btn-info
btn-success
btn-warning
btn-error
🗂️ Tab
Empty tab tag now grows and fills the empty space
tab class can now be a radio input. aria-label value will be shown as the tab title so it's accessible for screen readers and keyboard navigation.
New tab-content class allows you to switch tab content
🧩 @tailwindcss/forms
Fix compatibility with @tailwindcss/forms plugin (even though you don't need it alongside daisyUI)
⚙️ Config
New themeRoot config
Now you can define target another element instead of :root to receive the color CSS variables.