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
The project runs DaisyUI beta (5.0.0-beta.9) but a number of components still use DaisyUI v4 class names that were renamed or removed in v5. These are dead classes — DaisyUI v5 doesn't emit any CSS for them, so they're silently ignored. The layouts still render because the base classes (.card, .input, .label) and Tailwind utilities carry the visual weight. Nothing is broken today, but the markup is accumulating no-op classes that mislead readers and will rot further as DaisyUI evolves.
Surfaced while building the /design-sync design-system bundle (PR #149): the bundle's coverage check flagged these classes as having no rule in compiled DaisyUI v5. The generator's manifest already uses the v5 names; the app source does not.
The drift
v4 class (dead in v5)
v5 replacement
Notes
card-bordered
card-border
renamed
card-compact
card-sm
replaced by size modifiers (card-sm / card-xs)
input-bordered
(remove)
.input is bordered by default in v5
form-control
(remove)
form-control system removed; use fieldset / flex wrappers
Drop input-bordered entirely (no-op; .input is already bordered).
The form-control / label-text removals are not pure deletes — the wrapper/label markup needs converting to the v5 pattern (.label + text utilities, or fieldset). The form components in PR feat(design-sync): generator for claude.ai design-system bundle #149's design-sync manifest show the converted pattern as a reference. Do these per-component and eyeball each form (the .label spacing differs slightly from form-control).
Run the gates after: type-check, lint, test, and the relevant Pa11y / E2E for any touched form (contrast on labels must stay AA).
Why p3
Zero visual/functional impact today — pure tech-debt cleanup. Worth doing before/with any future DaisyUI v5 stable upgrade so the drift doesn't compound.
Summary
The project runs DaisyUI
beta(5.0.0-beta.9) but a number of components still use DaisyUI v4 class names that were renamed or removed in v5. These are dead classes — DaisyUI v5 doesn't emit any CSS for them, so they're silently ignored. The layouts still render because the base classes (.card,.input,.label) and Tailwind utilities carry the visual weight. Nothing is broken today, but the markup is accumulating no-op classes that mislead readers and will rot further as DaisyUI evolves.Surfaced while building the
/design-syncdesign-system bundle (PR #149): the bundle's coverage check flagged these classes as having no rule in compiled DaisyUI v5. The generator's manifest already uses the v5 names; the app source does not.The drift
card-borderedcard-bordercard-compactcard-smcard-sm/card-xs)input-bordered.inputis bordered by default in v5form-controlfieldset/ flex wrapperslabel-text/label-text-alt.label+ plain text utilities (text-sm,text-base-content/85, etc.)All v5 replacement classes (
card-border,card-sm,input,label,fieldset) confirmed present in compiled DaisyUI v5.Scope
~29 unique files under
src/use at least one dead class. Counts by class (unique files):card-bordered— 3 filescard-compact— 4 filesinput-bordered— 20 filesform-control— 21 fileslabel-text/label-text-alt— 19 filesHighest-traffic areas: the auth forms (
SignInForm,SignUpForm,ForgotPasswordForm,ResetPasswordForm,ReAuthModal,AccountSettings),forms/(FormField,ValidatedInput,ContactForm), and several molecular/organism components (DateRangePicker,UserSearch,CreateGroupModal,ConversationList,PaymentHistory, etc.). Also one stylesheet ref:src/styles/colorblind-patterns.css(card-bordered).Find them all:
grep -rln -E "card-bordered|card-compact|input-bordered|form-control|label-text" src/Suggested approach
card-bordered→card-border,card-compact→card-sm(mechanical replace).input-borderedentirely (no-op;.inputis already bordered).form-control/label-textremovals are not pure deletes — the wrapper/label markup needs converting to the v5 pattern (.label+ text utilities, orfieldset). The form components in PR feat(design-sync): generator for claude.ai design-system bundle #149's design-sync manifest show the converted pattern as a reference. Do these per-component and eyeball each form (the.labelspacing differs slightly fromform-control).type-check,lint,test, and the relevant Pa11y / E2E for any touched form (contrast on labels must stay AA).Why p3
Zero visual/functional impact today — pure tech-debt cleanup. Worth doing before/with any future DaisyUI v5 stable upgrade so the drift doesn't compound.
🤖 Generated with Claude Code