@mui/material 7.3.5 → 7.3.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (105) hide show
  1. package/Accordion/Accordion.d.ts +56 -55
  2. package/Accordion/Accordion.js +3 -13
  3. package/Alert/Alert.js +1 -1
  4. package/AppBar/AppBar.d.ts +13 -2
  5. package/AppBar/AppBar.js +14 -2
  6. package/Backdrop/Backdrop.js +0 -1
  7. package/Button/Button.d.ts +1 -0
  8. package/ButtonBase/ButtonBase.js +8 -1
  9. package/ButtonBase/TouchRipple.js +1 -1
  10. package/ButtonGroup/ButtonGroup.js +8 -11
  11. package/CHANGELOG.md +144 -1
  12. package/CardActionArea/CardActionArea.js +0 -1
  13. package/Chip/Chip.js +1 -1
  14. package/CssBaseline/CssBaseline.d.ts +1 -1
  15. package/CssBaseline/CssBaseline.js +1 -1
  16. package/Dialog/Dialog.js +4 -3
  17. package/Dialog/dialogClasses.d.ts +2 -0
  18. package/Dialog/dialogClasses.js +1 -1
  19. package/FormControl/FormControl.d.ts +1 -0
  20. package/FormHelperText/FormHelperText.d.ts +1 -0
  21. package/FormLabel/FormLabel.d.ts +1 -0
  22. package/IconButton/IconButton.d.ts +1 -0
  23. package/InputLabel/InputLabel.d.ts +1 -0
  24. package/ListItem/ListItem.d.ts +5 -0
  25. package/ListItem/ListItem.js +19 -4
  26. package/MenuList/MenuList.js +2 -1
  27. package/Modal/ModalManager.js +1 -1
  28. package/OutlinedInput/OutlinedInput.d.ts +1 -0
  29. package/README.md +2 -2
  30. package/ScopedCssBaseline/ScopedCssBaseline.d.ts +1 -1
  31. package/ScopedCssBaseline/ScopedCssBaseline.js +1 -1
  32. package/Select/SelectInput.d.ts +2 -0
  33. package/Select/SelectInput.js +25 -4
  34. package/Slider/Slider.d.ts +1 -1
  35. package/Slider/useSlider.types.d.ts +1 -1
  36. package/Snackbar/Snackbar.js +1 -3
  37. package/Tabs/Tabs.d.ts +1 -1
  38. package/Tabs/Tabs.js +4 -3
  39. package/TextField/TextField.d.ts +10 -5
  40. package/Unstable_TrapFocus/FocusTrap.js +13 -8
  41. package/esm/Accordion/Accordion.d.ts +56 -55
  42. package/esm/Accordion/Accordion.js +3 -13
  43. package/esm/Alert/Alert.js +1 -1
  44. package/esm/AppBar/AppBar.d.ts +13 -2
  45. package/esm/AppBar/AppBar.js +14 -2
  46. package/esm/Backdrop/Backdrop.js +0 -1
  47. package/esm/Button/Button.d.ts +1 -0
  48. package/esm/ButtonBase/ButtonBase.js +8 -1
  49. package/esm/ButtonBase/TouchRipple.js +1 -1
  50. package/esm/ButtonGroup/ButtonGroup.js +8 -11
  51. package/esm/CardActionArea/CardActionArea.js +0 -1
  52. package/esm/Chip/Chip.js +1 -1
  53. package/esm/CssBaseline/CssBaseline.d.ts +1 -1
  54. package/esm/CssBaseline/CssBaseline.js +1 -1
  55. package/esm/Dialog/Dialog.js +4 -3
  56. package/esm/Dialog/dialogClasses.d.ts +2 -0
  57. package/esm/Dialog/dialogClasses.js +1 -1
  58. package/esm/FormControl/FormControl.d.ts +1 -0
  59. package/esm/FormHelperText/FormHelperText.d.ts +1 -0
  60. package/esm/FormLabel/FormLabel.d.ts +1 -0
  61. package/esm/IconButton/IconButton.d.ts +1 -0
  62. package/esm/InputLabel/InputLabel.d.ts +1 -0
  63. package/esm/ListItem/ListItem.d.ts +5 -0
  64. package/esm/ListItem/ListItem.js +19 -4
  65. package/esm/MenuList/MenuList.js +2 -1
  66. package/esm/Modal/ModalManager.js +1 -1
  67. package/esm/OutlinedInput/OutlinedInput.d.ts +1 -0
  68. package/esm/ScopedCssBaseline/ScopedCssBaseline.d.ts +1 -1
  69. package/esm/ScopedCssBaseline/ScopedCssBaseline.js +1 -1
  70. package/esm/Select/SelectInput.d.ts +2 -0
  71. package/esm/Select/SelectInput.js +25 -4
  72. package/esm/Slider/Slider.d.ts +1 -1
  73. package/esm/Slider/useSlider.types.d.ts +1 -1
  74. package/esm/Snackbar/Snackbar.js +1 -3
  75. package/esm/Tabs/Tabs.d.ts +1 -1
  76. package/esm/Tabs/Tabs.js +4 -3
  77. package/esm/TextField/TextField.d.ts +10 -5
  78. package/esm/Unstable_TrapFocus/FocusTrap.js +13 -8
  79. package/esm/index.js +1 -1
  80. package/esm/internal/SwitchBase.js +1 -1
  81. package/esm/locale/arEG.js +1 -1
  82. package/esm/locale/arSA.js +1 -1
  83. package/esm/locale/arSD.js +1 -1
  84. package/esm/locale/kuCKB.js +1 -1
  85. package/esm/locale/neNP.js +1 -1
  86. package/esm/styles/createThemeNoVars.d.ts +4 -3
  87. package/esm/styles/createThemeWithVars.d.ts +2 -2
  88. package/esm/useAutocomplete/useAutocomplete.js +62 -16
  89. package/esm/utils/getActiveElement.d.ts +2 -0
  90. package/esm/utils/getActiveElement.js +2 -0
  91. package/esm/version/index.js +2 -2
  92. package/index.js +1 -1
  93. package/internal/SwitchBase.js +1 -1
  94. package/locale/arEG.js +1 -1
  95. package/locale/arSA.js +1 -1
  96. package/locale/arSD.js +1 -1
  97. package/locale/kuCKB.js +1 -1
  98. package/locale/neNP.js +1 -1
  99. package/package.json +8 -8
  100. package/styles/createThemeNoVars.d.ts +4 -3
  101. package/styles/createThemeWithVars.d.ts +2 -2
  102. package/useAutocomplete/useAutocomplete.js +62 -16
  103. package/utils/getActiveElement.d.ts +2 -0
  104. package/utils/getActiveElement.js +9 -0
  105. package/version/index.js +2 -2
@@ -55,62 +55,63 @@ export type AccordionSlotsAndSlotProps = CreateSlotsAndSlotProps<AccordionSlots,
55
55
  */
56
56
  region: SlotProps<'div', AccordionRegionSlotPropsOverrides, AccordionOwnerState>;
57
57
  }>;
58
+ export interface AccordionOwnProps {
59
+ /**
60
+ * The content of the component.
61
+ */
62
+ children: NonNullable<React.ReactNode>;
63
+ /**
64
+ * Override or extend the styles applied to the component.
65
+ */
66
+ classes?: Partial<AccordionClasses>;
67
+ /**
68
+ * If `true`, expands the accordion by default.
69
+ * @default false
70
+ */
71
+ defaultExpanded?: boolean;
72
+ /**
73
+ * If `true`, the component is disabled.
74
+ * @default false
75
+ */
76
+ disabled?: boolean;
77
+ /**
78
+ * If `true`, it removes the margin between two expanded accordion items and prevents the increased height when expanded.
79
+ * @default false
80
+ */
81
+ disableGutters?: boolean;
82
+ /**
83
+ * If `true`, expands the accordion, otherwise collapses it.
84
+ * Setting this prop enables control over the accordion.
85
+ */
86
+ expanded?: boolean;
87
+ /**
88
+ * Callback fired when the expand/collapse state is changed.
89
+ *
90
+ * @param {React.SyntheticEvent} event The event source of the callback. **Warning**: This is a generic event not a change event.
91
+ * @param {boolean} expanded The `expanded` state of the accordion.
92
+ */
93
+ onChange?: (event: React.SyntheticEvent, expanded: boolean) => void;
94
+ /**
95
+ * The system prop that allows defining system overrides as well as additional CSS styles.
96
+ */
97
+ sx?: SxProps<Theme>;
98
+ /**
99
+ * The component used for the transition.
100
+ * [Follow this guide](https://mui.com/material-ui/transitions/#transitioncomponent-prop) to learn more about the requirements for this component.
101
+ * @deprecated Use `slots.transition` instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
102
+ */
103
+ TransitionComponent?: React.JSXElementConstructor<TransitionProps & {
104
+ children?: React.ReactElement<unknown, any>;
105
+ }>;
106
+ /**
107
+ * Props applied to the transition element.
108
+ * By default, the element is based on this [`Transition`](https://reactcommunity.org/react-transition-group/transition/) component.
109
+ * @deprecated Use `slotProps.transition` instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
110
+ */
111
+ TransitionProps?: TransitionProps;
112
+ }
58
113
  export type AccordionTypeMap<AdditionalProps = {}, RootComponent extends React.ElementType = 'div'> = ExtendPaperTypeMap<{
59
- props: AdditionalProps & {
60
- /**
61
- * The content of the component.
62
- */
63
- children: NonNullable<React.ReactNode>;
64
- /**
65
- * Override or extend the styles applied to the component.
66
- */
67
- classes?: Partial<AccordionClasses>;
68
- /**
69
- * If `true`, expands the accordion by default.
70
- * @default false
71
- */
72
- defaultExpanded?: boolean;
73
- /**
74
- * If `true`, the component is disabled.
75
- * @default false
76
- */
77
- disabled?: boolean;
78
- /**
79
- * If `true`, it removes the margin between two expanded accordion items and the increase of height.
80
- * @default false
81
- */
82
- disableGutters?: boolean;
83
- /**
84
- * If `true`, expands the accordion, otherwise collapse it.
85
- * Setting this prop enables control over the accordion.
86
- */
87
- expanded?: boolean;
88
- /**
89
- * Callback fired when the expand/collapse state is changed.
90
- *
91
- * @param {React.SyntheticEvent} event The event source of the callback. **Warning**: This is a generic event not a change event.
92
- * @param {boolean} expanded The `expanded` state of the accordion.
93
- */
94
- onChange?: (event: React.SyntheticEvent, expanded: boolean) => void;
95
- /**
96
- * The system prop that allows defining system overrides as well as additional CSS styles.
97
- */
98
- sx?: SxProps<Theme>;
99
- /**
100
- * The component used for the transition.
101
- * [Follow this guide](https://mui.com/material-ui/transitions/#transitioncomponent-prop) to learn more about the requirements for this component.
102
- * @deprecated Use `slots.transition` instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
103
- */
104
- TransitionComponent?: React.JSXElementConstructor<TransitionProps & {
105
- children?: React.ReactElement<unknown, any>;
106
- }>;
107
- /**
108
- * Props applied to the transition element.
109
- * By default, the element is based on this [`Transition`](https://reactcommunity.org/react-transition-group/transition/) component.
110
- * @deprecated Use `slotProps.transition` instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
111
- */
112
- TransitionProps?: TransitionProps;
113
- } & AccordionSlotsAndSlotProps;
114
+ props: AdditionalProps & AccordionOwnProps & AccordionSlotsAndSlotProps;
114
115
  defaultComponent: RootComponent;
115
116
  }, 'onChange' | 'classes'>;
116
117
 
@@ -149,7 +149,6 @@ const Accordion = /*#__PURE__*/React.forwardRef(function Accordion(inProps, ref)
149
149
  disableGutters = false,
150
150
  expanded: expandedProp,
151
151
  onChange,
152
- square = false,
153
152
  slots = {},
154
153
  slotProps = {},
155
154
  TransitionComponent: TransitionComponentProp,
@@ -177,7 +176,6 @@ const Accordion = /*#__PURE__*/React.forwardRef(function Accordion(inProps, ref)
177
176
  }), [expanded, disabled, disableGutters, handleChange]);
178
177
  const ownerState = {
179
178
  ...props,
180
- square,
181
179
  disabled,
182
180
  disableGutters,
183
181
  expanded
@@ -204,10 +202,7 @@ const Accordion = /*#__PURE__*/React.forwardRef(function Accordion(inProps, ref)
204
202
  className: (0, _clsx.default)(classes.root, className),
205
203
  shouldForwardComponentProp: true,
206
204
  ownerState,
207
- ref,
208
- additionalProps: {
209
- square
210
- }
205
+ ref
211
206
  });
212
207
  const [AccordionHeadingSlot, accordionProps] = (0, _useSlot.default)('heading', {
213
208
  elementType: AccordionHeading,
@@ -287,12 +282,12 @@ process.env.NODE_ENV !== "production" ? Accordion.propTypes /* remove-proptypes
287
282
  */
288
283
  disabled: _propTypes.default.bool,
289
284
  /**
290
- * If `true`, it removes the margin between two expanded accordion items and the increase of height.
285
+ * If `true`, it removes the margin between two expanded accordion items and prevents the increased height when expanded.
291
286
  * @default false
292
287
  */
293
288
  disableGutters: _propTypes.default.bool,
294
289
  /**
295
- * If `true`, expands the accordion, otherwise collapse it.
290
+ * If `true`, expands the accordion, otherwise collapses it.
296
291
  * Setting this prop enables control over the accordion.
297
292
  */
298
293
  expanded: _propTypes.default.bool,
@@ -323,11 +318,6 @@ process.env.NODE_ENV !== "production" ? Accordion.propTypes /* remove-proptypes
323
318
  root: _propTypes.default.elementType,
324
319
  transition: _propTypes.default.elementType
325
320
  }),
326
- /**
327
- * If `true`, rounded corners are disabled.
328
- * @default false
329
- */
330
- square: _propTypes.default.bool,
331
321
  /**
332
322
  * The system prop that allows defining system overrides as well as additional CSS styles.
333
323
  */
package/Alert/Alert.js CHANGED
@@ -237,7 +237,7 @@ const Alert = /*#__PURE__*/React.forwardRef(function Alert(inProps, ref) {
237
237
  ...rootSlotProps,
238
238
  children: [icon !== false ? /*#__PURE__*/(0, _jsxRuntime.jsx)(IconSlot, {
239
239
  ...iconSlotProps,
240
- children: icon || iconMapping[severity] || defaultIconMapping[severity]
240
+ children: icon || iconMapping[severity]
241
241
  }) : null, /*#__PURE__*/(0, _jsxRuntime.jsx)(MessageSlot, {
242
242
  ...messageSlotProps,
243
243
  children: children
@@ -18,6 +18,12 @@ export interface AppBarOwnProps {
18
18
  * @default 'primary'
19
19
  */
20
20
  color?: OverridableStringUnion<PropTypes.Color | 'transparent' | 'error' | 'info' | 'success' | 'warning', AppBarPropsColorOverrides>;
21
+ /**
22
+ * Shadow depth, corresponds to `dp` in the spec.
23
+ * It accepts values between 0 and 24 inclusive.
24
+ * @default 4
25
+ */
26
+ elevation?: number;
21
27
  /**
22
28
  * If true, the `color` prop is applied in dark mode.
23
29
  * @default false
@@ -25,11 +31,16 @@ export interface AppBarOwnProps {
25
31
  enableColorOnDark?: boolean;
26
32
  /**
27
33
  * The positioning type. The behavior of the different options is described
28
- * [in the MDN web docs](https://developer.mozilla.org/en-US/docs/Web/CSS/position).
34
+ * [in the MDN web docs](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/position).
29
35
  * Note: `sticky` is not universally supported and will fall back to `static` when unavailable.
30
36
  * @default 'fixed'
31
37
  */
32
38
  position?: 'fixed' | 'absolute' | 'sticky' | 'static' | 'relative';
39
+ /**
40
+ * If `false`, rounded corners are enabled.
41
+ * @default true
42
+ */
43
+ square?: boolean;
33
44
  /**
34
45
  * The system prop that allows defining system overrides as well as additional CSS styles.
35
46
  */
@@ -38,7 +49,7 @@ export interface AppBarOwnProps {
38
49
  export type AppBarTypeMap<AdditionalProps = {}, RootComponent extends React.ElementType = 'header'> = ExtendPaperTypeMap<{
39
50
  props: AdditionalProps & AppBarOwnProps;
40
51
  defaultComponent: RootComponent;
41
- }, 'position' | 'color' | 'classes'>;
52
+ }, 'position' | 'color' | 'classes' | 'elevation' | 'square'>;
42
53
 
43
54
  /**
44
55
  *
package/AppBar/AppBar.js CHANGED
@@ -108,7 +108,8 @@ const AppBarRoot = (0, _zeroStyled.styled)(_Paper.default, {
108
108
  color: 'inherit'
109
109
  },
110
110
  style: {
111
- '--AppBar-color': 'inherit'
111
+ '--AppBar-color': 'inherit',
112
+ color: 'var(--AppBar-color)'
112
113
  }
113
114
  }, {
114
115
  props: {
@@ -214,6 +215,12 @@ process.env.NODE_ENV !== "production" ? AppBar.propTypes /* remove-proptypes */
214
215
  * @default 'primary'
215
216
  */
216
217
  color: _propTypes.default /* @typescript-to-proptypes-ignore */.oneOfType([_propTypes.default.oneOf(['default', 'inherit', 'primary', 'secondary', 'transparent', 'error', 'info', 'success', 'warning']), _propTypes.default.string]),
218
+ /**
219
+ * Shadow depth, corresponds to `dp` in the spec.
220
+ * It accepts values between 0 and 24 inclusive.
221
+ * @default 4
222
+ */
223
+ elevation: _propTypes.default.number,
217
224
  /**
218
225
  * If true, the `color` prop is applied in dark mode.
219
226
  * @default false
@@ -221,11 +228,16 @@ process.env.NODE_ENV !== "production" ? AppBar.propTypes /* remove-proptypes */
221
228
  enableColorOnDark: _propTypes.default.bool,
222
229
  /**
223
230
  * The positioning type. The behavior of the different options is described
224
- * [in the MDN web docs](https://developer.mozilla.org/en-US/docs/Web/CSS/position).
231
+ * [in the MDN web docs](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/position).
225
232
  * Note: `sticky` is not universally supported and will fall back to `static` when unavailable.
226
233
  * @default 'fixed'
227
234
  */
228
235
  position: _propTypes.default.oneOf(['absolute', 'fixed', 'relative', 'static', 'sticky']),
236
+ /**
237
+ * If `false`, rounded corners are enabled.
238
+ * @default true
239
+ */
240
+ square: _propTypes.default.bool,
229
241
  /**
230
242
  * The system prop that allows defining system overrides as well as additional CSS styles.
231
243
  */
@@ -114,7 +114,6 @@ const Backdrop = /*#__PURE__*/React.forwardRef(function Backdrop(inProps, ref) {
114
114
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(RootSlot, {
115
115
  "aria-hidden": true,
116
116
  ...rootProps,
117
- classes: classes,
118
117
  ref: ref,
119
118
  children: children
120
119
  })
@@ -117,6 +117,7 @@ export type ExtendButton<TypeMap extends OverridableTypeMap> = ((props: {
117
117
  *
118
118
  * - [Button Group](https://mui.com/material-ui/react-button-group/)
119
119
  * - [Button](https://mui.com/material-ui/react-button/)
120
+ * - [Number Field](https://mui.com/material-ui/react-number-field/)
120
121
  *
121
122
  * API:
122
123
  *
@@ -229,7 +229,10 @@ const ButtonBase = /*#__PURE__*/React.forwardRef(function ButtonBase(inProps, re
229
229
  }
230
230
  const buttonProps = {};
231
231
  if (ComponentProp === 'button') {
232
- buttonProps.type = type === undefined ? 'button' : type;
232
+ const hasFormAttributes = !!other.formAction;
233
+ // ButtonBase was defaulting to type="button" when no type prop was provided, which prevented form submission and broke formAction functionality.
234
+ // The fix checks for form-related attributes and skips the default type to allow the browser's natural submit behavior (type="submit").
235
+ buttonProps.type = type === undefined && !hasFormAttributes ? 'button' : type;
233
236
  buttonProps.disabled = disabled;
234
237
  } else {
235
238
  if (!other.href && !other.to) {
@@ -357,6 +360,10 @@ process.env.NODE_ENV !== "production" ? ButtonBase.propTypes /* remove-proptypes
357
360
  * if needed.
358
361
  */
359
362
  focusVisibleClassName: _propTypes.default.string,
363
+ /**
364
+ * @ignore
365
+ */
366
+ formAction: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.string]),
360
367
  /**
361
368
  * @ignore
362
369
  */
@@ -235,7 +235,7 @@ const TouchRipple = /*#__PURE__*/React.forwardRef(function TouchRipple(inProps,
235
235
  rippleSize = Math.sqrt(sizeX ** 2 + sizeY ** 2);
236
236
  }
237
237
 
238
- // Touche devices
238
+ // Touch devices
239
239
  if (event?.touches) {
240
240
  // check that this isn't another touchstart due to multitouch
241
241
  // otherwise we will only clear a single timer when unmounting while two
@@ -76,7 +76,13 @@ const ButtonGroupRoot = (0, _zeroStyled.styled)('div', {
76
76
  variant: 'contained'
77
77
  },
78
78
  style: {
79
- boxShadow: (theme.vars || theme).shadows[2]
79
+ boxShadow: (theme.vars || theme).shadows[2],
80
+ [`& .${_buttonGroupClasses.default.grouped}`]: {
81
+ boxShadow: 'none',
82
+ '&:hover': {
83
+ boxShadow: 'none'
84
+ }
85
+ }
80
86
  }
81
87
  }, {
82
88
  props: {
@@ -227,16 +233,7 @@ const ButtonGroupRoot = (0, _zeroStyled.styled)('div', {
227
233
  }
228
234
  }))],
229
235
  [`& .${_buttonGroupClasses.default.grouped}`]: {
230
- minWidth: 40,
231
- boxShadow: 'none',
232
- props: {
233
- variant: 'contained'
234
- },
235
- style: {
236
- '&:hover': {
237
- boxShadow: 'none'
238
- }
239
- }
236
+ minWidth: 40
240
237
  }
241
238
  })));
242
239
  const ButtonGroup = /*#__PURE__*/React.forwardRef(function ButtonGroup(inProps, ref) {
package/CHANGELOG.md CHANGED
@@ -1,5 +1,148 @@
1
1
  # [Versions](https://mui.com/versions/)
2
2
 
3
+ ## 7.3.7
4
+
5
+ <!-- generated comparing v7.3.6..master -->
6
+
7
+ _Jan 8, 2026_
8
+
9
+ A big thanks to the 16 contributors who made this release possible.
10
+
11
+ ### `@mui/material@7.3.7`
12
+
13
+ - [accordion] Remove unnecessary handling of `square` prop on Accordion Root (#47457) @ZeeshanTamboli
14
+ - [alert] Remove unnecessary default icon mapping fallback (#47460) @ZeeshanTamboli
15
+ - [appbar] Fix inherit color CSS variable not getting applied (#47518) @ZeeshanTamboli
16
+ - [autocomplete] Fix `ArrowLeft`, `Backspace` & `Delete` behavior for multiple and single-value rendering with proper caret handling (#47411) @jnbain
17
+ - [backdrop] Remove unnecessary passing of `classes` from root slot (#47519) @ZeeshanTamboli
18
+ - [button-group] Fix styles when variant is `contained` (#47499) @ZeeshanTamboli
19
+ - [card-action-area] Remove incorrect root ref being forwarded to focus highlight component (#47523) @ZeeshanTamboli
20
+ - [checkbox] Fix readonly checkboxes (#47503) @mj12albert
21
+ - [click-away-listener] Tighten the parameter type of createHandleSynthetic method (#47525) @ZeeshanTamboli
22
+ - [dialog] Fix backdrop theme style overrides (#47544) @ZeeshanTamboli
23
+ - [focus-trap] Compute `activeElement` inside `loopFocus` on every keydown (#47566) @ZeeshanTamboli
24
+ - [modal] Take non-integer padding-right into consideration when scroll locking (#47420) @Zache
25
+ - [select] Fix dropdown width does not match trigger width on window resize (#47526) @AarishMansur
26
+ - [tabs] Fix passing incorrect slot name props (scrollButton → scrollButtons) (#47215) @rithik56
27
+
28
+ ### Docs
29
+
30
+ - [card] Fix key warning (#47524) @ZeeshanTamboli
31
+ - [dialog] Replace TranstionProps with slotProps.transition (#47569) @sai6855
32
+ - [number-field] Use stable Base UI package (#47504) @siriwatknp
33
+ - [snackbar] Replace TransitionComponent with slots.transition (#47570) @sai6855
34
+ - Fix incorrect indentation in migration guide (#47571) @sai6855
35
+ - Enable MUI chat on Material UI demos (#46837) @siriwatknp
36
+ - Add docs and website banner for Dev survey'25 (#47521) @prakhargupta1
37
+ - Update Tailwind CSS v4 + Next.js Pages Router docs (#47546) @atharva3333
38
+ - Add warning callout to Sync plugin doc (#47511) @mapache-salvaje
39
+ - Update typo in TailwindCSS v4 integration with Next.js docs (#47512) @TimKraemer
40
+ - Fix link to contributing guide (#47473) @oliviertassinari
41
+ - Improve description of Accordion props (#47459) @ZeeshanTamboli
42
+
43
+ ### Core
44
+
45
+ - [blog] Whats new since MUI X v8 [DX-51] (#47140) @joserodolfofreitas
46
+ - [code-infra] Fix React@next CI job (#47493) @Janpot
47
+ - [code-infra] Move font loading to @mui/docs (#47385) @Janpot
48
+ - [code-infra] Fix CI for React 18 (#47560) @Janpot
49
+ - [code-infra] Prevent legacy browsers tests from updating (#47496) @Janpot
50
+ - [code-infra] Move `@mui/internal-test-utils` to code infra repo (#47422) @Janpot
51
+ - [code-infra] Fix React@next CI job (#47493) @Janpot
52
+ - [examples] Update Next.js versions to v16 in Next.js examples (DX-57) (#47453) @alelthomas
53
+ - [internal] Bump Next.js & React version to avoid security vulnerability (#47427) @oliviertassinari
54
+ - [test] Use plain playwright for e2e (#47410) @mj12albert
55
+ - [test] Fix react-18 tests (#47407) @Janpot
56
+
57
+ All contributors of this release in alphabetical order: @AarishMansur, @alelthomas, @atharva3333, @bricefrisco, @Janpot, @jnbain, @joserodolfofreitas, @mapache-salvaje, @mj12albert, @oliviertassinari, @prakhargupta1, @rithik56, @siriwatknp, @TimKraemer, @Zache, @ZeeshanTamboli
58
+
59
+ ## 7.3.6
60
+
61
+ <!-- generated comparing v7.3.5..master -->
62
+
63
+ _Dec 3, 2025_
64
+
65
+ A big thanks to the 22 contributors who made this release possible.
66
+
67
+ ### @mui/material@7.3.6
68
+
69
+ - [Accordion] Move properties to the AccordionOwnProps interface (#47348) @Aleksan4e3
70
+ - [Autocomplete] Remove unnecessary `filterSelectedOptions` dependency from `syncHighlightedIndex` useCallback (#47378) @ZeeshanTamboli
71
+ - [Autocomplete] Fix input caret not showing when focusing after chip navigation (#47249) @vrachuri28
72
+ - [Autocomplete] Fix ArrowLeft crash when value is not set with single-value rendering (#47214) @rithik56
73
+ - [Button] Fix running formAction when passed (#47185) @sai6855
74
+ - [Chip] Remove leftover closing parenthesis in CSS class key (#47345) @ZeeshanTamboli
75
+ - [ListItem] Add `secondaryAction` slot to `ListItem` (#47399) @sai6855
76
+ - [NumberField] Fix scroll behavior (#47397) @oliviertassinari
77
+ - [Select] Fix keyboard navigation while rendering in shadow DOM (#47380) @xBlizZer
78
+ - [Select] Fix cannot pass certain event handlers (#47366) @ZeeshanTamboli
79
+ - [Slider] Accept readonly array for `marks` prop (#47370) @pcorpet
80
+ - [Snackbar] Avoid unnecessary `ownerState` spread into `useSnackbar` (#47373) @ZeeshanTamboli
81
+ - [TextField] Allow custom props in slot props via TS module augmentation (#47367) @kumarvishwajeettrivedi
82
+ - [Tabs] Fix Arrow key navigation failing when component is rendered in shadow DOM (#47178) @sai6855
83
+ - Fix typings for theme `applyStyles` with custom color schemes (#47242) @akankshahu
84
+
85
+ ### @mui/system@7.3.6
86
+
87
+ - Fix unwanted attribute on DOM from InitColorSchemeScript `class` attribute (#47200) @siriwatknp
88
+
89
+ ### @mui/lab@7.3.6
90
+
91
+ - [Masonry] Fix layout flicker and single column issue (#43903) @Fanzzzd
92
+
93
+ ### Docs
94
+
95
+ - Fix default theme viewer styling (#47400) @sai6855
96
+ - Remove repetitive words (#47384) @rifeplight
97
+ - Fix link to Portal API docs (#47383) @ZeeshanTamboli
98
+ - Remove mentions of MUI Base from Material UI docs (#47324) @mapache-salvaje
99
+ - Update CSP guidance (#47342) @rossdakin
100
+ - Fix pathname collision in LLMs docs generator (#47209) @siriwatknp
101
+ - Resolve redirected urls to their final location (#47193) @Janpot
102
+ - Document correct default values for `elevation` and `square` props (#47261) @Ad1tya-007
103
+ - Fix display of colors in dark mode in palette customization page (#47403) @sai6855
104
+ - Add Number Field component page (#47165) @siriwatknp
105
+ - Fix mcp schema change (#47171) @sai6855
106
+
107
+ ### Core
108
+
109
+ - [code-infra] Add types for markdown loader (#47075) @Janpot
110
+ - [code-infra] Build test utils with code-infra pipeline (#47405) @Janpot
111
+ - [code-infra] Vitest test migration (#44325) @JCQuintas
112
+ - [code-infra] Revive docs bundle analyzer (#47401) @Janpot
113
+ - [code-infra] Update tests from vitest PR (#47344) @Janpot
114
+ - [code-infra] Use util from code-infra to fetch changelogs (#47350) @brijeshb42
115
+ - [code-infra] Enable production sourcemaps (#47352) @Janpot
116
+ - [code-infra] Use code-infra orb utils in circle ci (#47179) @brijeshb42
117
+ - [code-infra] Use `next/font` for local fonts (#47351) @Janpot
118
+ - [code-infra] New broken links checker (#47113) @Janpot
119
+ - [code-infra] Remove profiler (#47258) @Janpot
120
+ - [code-infra] Api doc optimizations (#47188) @Janpot
121
+ - [code-infra] Increase type check parallelism (#47192) @Janpot
122
+ - [code-infra] Remove deprecated baseUrl (#47210) @Janpot
123
+ - [code-infra] Disable next.js cache (#47233) @Janpot
124
+ - [code-infra] release:build for bundle checker (#47207) @Janpot
125
+ - [code-infra] Parallelize module augmentation tests (#47208) @Janpot
126
+ - [code-infra] Fix next.js parallelism at 2 for macos runner (#47201) @Janpot
127
+ - [code-infra] Fix bash escape (#46969) @oliviertassinari
128
+ - [code-infra] Utilise eslint cache in CI (#47194) @Janpot
129
+ - [code-infra] Enable Next.js build cache to improve CI performance (#47176) @Copilot
130
+ - [code-infra] Remove `apps` folder (#47183) @Janpot
131
+ - [code-infra] Migrate everything to getStaticProps (#47152) @Janpot
132
+ - [docs-infra] Migrate to `next/font` (#47347) @Janpot
133
+ - [docs-infra] Add some `ComponentLinkHeader` bottom margin (#47328) @Janpot
134
+ - [docs-infra] Exclude a few pages from llms-txt (#47111) @Janpot
135
+ - [examples] Add missing .gitignore to NextJS App Router example (#47251) @shamblonaut
136
+ - [examples] Migrate Next.js `next.config.js` to `next.config.mjs` (#44040) @albarv340
137
+ - [internal] Remove leftover testing-library libraries from `mui-material` package (#47392) @ZeeshanTamboli
138
+ - [internal] Remove unnecessary `clean-css` package from docs (#47314) @ZeeshanTamboli
139
+ - [internal] Fix typo `buidApiDocs` -> `buildApiDocs` (#47235) @Ad1tya-007
140
+ - [internal] Remove unused `@vitest/browser` and `@vitest/coverage-v8` (#47189) @ZeeshanTamboli
141
+ - [test] Update e2e test app (#47252) @Ad1tya-007
142
+ - [test] Fix flaky Virtualize Autocomplete regression test (#47199) @ZeeshanTamboli
143
+
144
+ All contributors of this release in alphabetical order: @Ad1tya-007, @akankshahu, @albarv340, @Aleksan4e3, @brijeshb42, @Copilot, @Fanzzzd, @Janpot, @JCQuintas, @kumarvishwajeettrivedi, @mapache-salvaje, @oliviertassinari, @pcorpet, @rifeplight, @rithik56, @rossdakin, @sai6855, @shamblonaut, @siriwatknp, @vrachuri28, @xBlizZer, @ZeeshanTamboli
145
+
3
146
  ## 7.3.5
4
147
 
5
148
  <!-- generated comparing v7.3.4..master -->
@@ -666,7 +809,7 @@ A big thanks to the 7 contributors who made this release possible.
666
809
  - Fix `Grid`, `GridLegacy`, `Stack`, `Badge`, `Select`, `Autocomplete` demos CSS variables (#45693) @DiegoAndai
667
810
  - Add "Material UI v7 is here" to the notifications (#45694) @DiegoAndai
668
811
  - Fix `Breadcrumbs`, `List`, `Divider`, and `Typography` dark mode demos (#45692) @siriwatknp
669
- - Fix Material Icons page in dark mode (#45691) @mnajdova
812
+ - Fix Material Icons page in dark mode (#45691) @mnajdova
670
813
 
671
814
  All contributors of this release in alphabetical order: @aarongarciah, @DiegoAndai, @eduter, @Janpot, @micttyoid, @mnajdova, @siriwatknp
672
815
 
@@ -106,7 +106,6 @@ const CardActionArea = /*#__PURE__*/React.forwardRef(function CardActionArea(inP
106
106
  elementType: CardActionAreaFocusHighlight,
107
107
  externalForwardedProps,
108
108
  ownerState,
109
- ref,
110
109
  className: classes.focusHighlight
111
110
  });
112
111
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(RootSlot, {
package/Chip/Chip.js CHANGED
@@ -78,7 +78,7 @@ const ChipRoot = (0, _zeroStyled.styled)('div', {
78
78
  [`& .${_chipClasses.default.deleteIcon}`]: styles[`deleteIconColor${(0, _capitalize.default)(color)}`]
79
79
  }, {
80
80
  [`& .${_chipClasses.default.deleteIcon}`]: styles[`deleteIcon${(0, _capitalize.default)(variant)}Color${(0, _capitalize.default)(color)}`]
81
- }, styles.root, styles[`size${(0, _capitalize.default)(size)}`], styles[`color${(0, _capitalize.default)(color)}`], clickable && styles.clickable, clickable && color !== 'default' && styles[`clickableColor${(0, _capitalize.default)(color)})`], onDelete && styles.deletable, onDelete && color !== 'default' && styles[`deletableColor${(0, _capitalize.default)(color)}`], styles[variant], styles[`${variant}${(0, _capitalize.default)(color)}`]];
81
+ }, styles.root, styles[`size${(0, _capitalize.default)(size)}`], styles[`color${(0, _capitalize.default)(color)}`], clickable && styles.clickable, clickable && color !== 'default' && styles[`clickableColor${(0, _capitalize.default)(color)}`], onDelete && styles.deletable, onDelete && color !== 'default' && styles[`deletableColor${(0, _capitalize.default)(color)}`], styles[variant], styles[`${variant}${(0, _capitalize.default)(color)}`]];
82
82
  }
83
83
  })((0, _memoTheme.default)(({
84
84
  theme
@@ -7,7 +7,7 @@ export interface CssBaselineProps extends StyledComponentProps<never> {
7
7
  children?: React.ReactNode;
8
8
  /**
9
9
  * Enable `color-scheme` CSS property to use `theme.palette.mode`.
10
- * For more details, check out https://developer.mozilla.org/en-US/docs/Web/CSS/color-scheme
10
+ * For more details, check out https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/color-scheme
11
11
  * For browser support, check out https://caniuse.com/?search=color-scheme
12
12
  * @default false
13
13
  */
@@ -161,7 +161,7 @@ process.env.NODE_ENV !== "production" ? CssBaseline.propTypes /* remove-proptype
161
161
  children: _propTypes.default.node,
162
162
  /**
163
163
  * Enable `color-scheme` CSS property to use `theme.palette.mode`.
164
- * For more details, check out https://developer.mozilla.org/en-US/docs/Web/CSS/color-scheme
164
+ * For more details, check out https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/color-scheme
165
165
  * For browser support, check out https://caniuse.com/?search=color-scheme
166
166
  * @default false
167
167
  */
package/Dialog/Dialog.js CHANGED
@@ -26,8 +26,7 @@ var _useSlot = _interopRequireDefault(require("../utils/useSlot"));
26
26
  var _jsxRuntime = require("react/jsx-runtime");
27
27
  const DialogBackdrop = (0, _zeroStyled.styled)(_Backdrop.default, {
28
28
  name: 'MuiDialog',
29
- slot: 'Backdrop',
30
- overrides: (props, styles) => styles.backdrop
29
+ slot: 'Backdrop'
31
30
  })({
32
31
  // Improve scrollable dialog support.
33
32
  zIndex: -1
@@ -42,6 +41,7 @@ const useUtilityClasses = ownerState => {
42
41
  } = ownerState;
43
42
  const slots = {
44
43
  root: ['root'],
44
+ backdrop: ['backdrop'],
45
45
  container: ['container', `scroll${(0, _capitalize.default)(scroll)}`],
46
46
  paper: ['paper', `paperScroll${(0, _capitalize.default)(scroll)}`, `paperWidth${(0, _capitalize.default)(String(maxWidth))}`, fullWidth && 'paperFullWidth', fullScreen && 'paperFullScreen']
47
47
  };
@@ -292,7 +292,8 @@ const Dialog = /*#__PURE__*/React.forwardRef(function Dialog(inProps, ref) {
292
292
  elementType: DialogBackdrop,
293
293
  shouldForwardComponentProp: true,
294
294
  externalForwardedProps,
295
- ownerState
295
+ ownerState,
296
+ className: classes.backdrop
296
297
  });
297
298
  const [PaperSlot, paperSlotProps] = (0, _useSlot.default)('paper', {
298
299
  elementType: DialogPaper,
@@ -1,6 +1,8 @@
1
1
  export interface DialogClasses {
2
2
  /** Styles applied to the root element. */
3
3
  root: string;
4
+ /** Styles applied to the backdrop element. */
5
+ backdrop: string;
4
6
  /** Styles applied to the container element if `scroll="paper"`. */
5
7
  scrollPaper: string;
6
8
  /** Styles applied to the container element if `scroll="body"`. */
@@ -11,5 +11,5 @@ var _generateUtilityClass = _interopRequireDefault(require("@mui/utils/generateU
11
11
  function getDialogUtilityClass(slot) {
12
12
  return (0, _generateUtilityClass.default)('MuiDialog', slot);
13
13
  }
14
- const dialogClasses = (0, _generateUtilityClasses.default)('MuiDialog', ['root', 'scrollPaper', 'scrollBody', 'container', 'paper', 'paperScrollPaper', 'paperScrollBody', 'paperWidthFalse', 'paperWidthXs', 'paperWidthSm', 'paperWidthMd', 'paperWidthLg', 'paperWidthXl', 'paperFullWidth', 'paperFullScreen']);
14
+ const dialogClasses = (0, _generateUtilityClasses.default)('MuiDialog', ['root', 'backdrop', 'scrollPaper', 'scrollBody', 'container', 'paper', 'paperScrollPaper', 'paperScrollBody', 'paperWidthFalse', 'paperWidthXs', 'paperWidthSm', 'paperWidthMd', 'paperWidthLg', 'paperWidthXl', 'paperFullWidth', 'paperFullScreen']);
15
15
  var _default = exports.default = dialogClasses;
@@ -105,6 +105,7 @@ export interface FormControlTypeMap<AdditionalProps = {}, RootComponent extends
105
105
  * Demos:
106
106
  *
107
107
  * - [Checkbox](https://mui.com/material-ui/react-checkbox/)
108
+ * - [Number Field](https://mui.com/material-ui/react-number-field/)
108
109
  * - [Radio Group](https://mui.com/material-ui/react-radio-button/)
109
110
  * - [Switch](https://mui.com/material-ui/react-switch/)
110
111
  * - [Text Field](https://mui.com/material-ui/react-text-field/)
@@ -58,6 +58,7 @@ export interface FormHelperTextTypeMap<AdditionalProps = {}, RootComponent exten
58
58
  *
59
59
  * Demos:
60
60
  *
61
+ * - [Number Field](https://mui.com/material-ui/react-number-field/)
61
62
  * - [Text Field](https://mui.com/material-ui/react-text-field/)
62
63
  *
63
64
  * API:
@@ -60,6 +60,7 @@ export interface FormLabelTypeMap<AdditionalProps = {}, RootComponent extends Re
60
60
  * Demos:
61
61
  *
62
62
  * - [Checkbox](https://mui.com/material-ui/react-checkbox/)
63
+ * - [Number Field](https://mui.com/material-ui/react-number-field/)
63
64
  * - [Radio Group](https://mui.com/material-ui/react-radio-button/)
64
65
  * - [Switch](https://mui.com/material-ui/react-switch/)
65
66
  *
@@ -77,6 +77,7 @@ export type IconButtonTypeMap<AdditionalProps = {}, RootComponent extends React.
77
77
  * Demos:
78
78
  *
79
79
  * - [Button](https://mui.com/material-ui/react-button/)
80
+ * - [Number Field](https://mui.com/material-ui/react-number-field/)
80
81
  *
81
82
  * API:
82
83
  *
@@ -65,6 +65,7 @@ export type InputLabelTypeMap<AdditionalProps = {}, RootComponent extends React.
65
65
  *
66
66
  * Demos:
67
67
  *
68
+ * - [Number Field](https://mui.com/material-ui/react-number-field/)
68
69
  * - [Text Field](https://mui.com/material-ui/react-text-field/)
69
70
  *
70
71
  * API: