Browse docs
Browse docs
Released 2026-05-11 · MUI v9 compatibility
Migrates @dashforge/ui and @dashforge/theme-mui from
@mui/material@^7 to @mui/material@^9, eliminating the four persistent
React deprecation warnings that fired on every render of every form
component. No public API breaks.
| Package | What changed |
|---|---|
@dashforge/ui | All 9 form components migrated to the v9 slotProps API. Snackbar, ConfirmDialog, LeftNav fixed for v9. |
@dashforge/theme-mui | Peer dep bumped to @mui/material@^9.0.0. Theme overrides untouched. |
Peer dependency @mui/material widened from ^7.0.0 to ^9.0.0 in
both @dashforge/ui and @dashforge/theme-mui.
Form components migrated to slotProps — all internal usage of the
deprecated top-level props moved to the v9 API:
| Old prop | New location |
|---|---|
inputRef | slotProps.htmlInput.ref / slotProps.input.ref |
InputProps | slotProps.input |
inputProps | slotProps.htmlInput |
InputLabelProps | slotProps.inputLabel |
Touched: TextField, Textarea, Select, Autocomplete, Checkbox,
Switch, DateTimePicker. NumberField and RadioGroup didn't use the
deprecated props internally.
Non-form components also adapted: LeftNav (PaperProps →
slotProps.paper, ModalProps → slotProps.root — without which the
role="navigation" landmark was silently dropped under v9); Snackbar
(TransitionComponent → slots.transition).
LeftNav accessibility — the role="navigation" landmark that
disappeared after the v9 bump is restored.The public API of @dashforge/ui components does not change. The
deprecated MUI props were always either Omit-ed from the component prop
types or forwarded internally. DateTimePicker still accepts inputProps
and InputLabelProps as @deprecated props for ergonomic backward compat.
@dashforge/ui — 481 / 482 passing, 1 skipped (back to baseline; 19
tests updated for v9 class names).If your app pins @mui/material@^7, bump it to ^9 alongside the
Dashforge upgrade. No Dashforge-specific code change required.