Skip to content

[core] Migrate away from deprecated Material UI APIs #21659

Description

@siriwatknp

Context

Material UI v9 (skipping v8 to align with MUI X) will remove deprecated APIs. MUI X v9 must work with both MUI v7 and v9.

All new slots/slotProps APIs have been verified to exist in MUI v7, so migrating is safe for dual-version compatibility.

For cases where MUI v9 changes the shape of callback params (e.g. Autocomplete renderInput), MUI X can use the existing version-branching pattern: import { major as materialMajor } from '@mui/material/version' (see PickerFieldUI.tsx).

Phases

Phase Scope Complexity Risk Effort
1 Docs demos Low Low ~2h
2 Data Grid material adapter + grid generator Medium Medium ~4h
3 Scheduler Dialog slot migration Low Low ~1h
4 Pickers: Dialog/Snackbar slots + PickersTextField public API High High ~1-2 days

Popper TransitionProps — No action needed

Popper's TransitionProps in the render callback is NOT deprecated. Only Popper's root-level components/componentsProps are deprecated, and MUI X doesn't use those.

Already clean (not found in codebase)

  • Deprecated composed CSS classes
  • System props on Box/Typography/Stack
  • BackdropComponent/BackdropProps, PopperComponent/PopperProps on Tooltip
  • titleTypographyProps/subheaderTypographyProps on CardHeader
  • imgProps on Avatar
  • Theme variants placement

Metadata

Metadata

Assignees

No one assigned

    Labels

    internalBehind-the-scenes enhancement. Formerly called “core”.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions