@mui/material 6.2.1 → 6.3.1

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 (71) hide show
  1. package/AccordionSummary/AccordionSummary.js +4 -3
  2. package/AppBar/AppBar.d.ts +1 -1
  3. package/AppBar/AppBar.js +1 -1
  4. package/Autocomplete/Autocomplete.js +36 -49
  5. package/Backdrop/Backdrop.js +1 -9
  6. package/CHANGELOG.md +77 -0
  7. package/Collapse/Collapse.js +5 -4
  8. package/Fade/Fade.js +5 -2
  9. package/FilledInput/FilledInput.js +1 -3
  10. package/Grow/Grow.js +5 -2
  11. package/Icon/Icon.js +1 -3
  12. package/Input/Input.js +1 -3
  13. package/OutlinedInput/OutlinedInput.js +1 -3
  14. package/Select/selectClasses.d.ts +9 -3
  15. package/Slide/Slide.js +5 -2
  16. package/StepContent/StepContent.d.ts +31 -2
  17. package/StepContent/StepContent.js +39 -7
  18. package/StepLabel/StepLabel.js +1 -3
  19. package/SvgIcon/SvgIcon.js +1 -3
  20. package/TablePagination/TablePagination.d.ts +134 -18
  21. package/TablePagination/TablePagination.js +89 -33
  22. package/TableSortLabel/TableSortLabel.d.ts +43 -1
  23. package/TableSortLabel/TableSortLabel.js +40 -7
  24. package/Tooltip/Tooltip.js +1 -1
  25. package/Zoom/Zoom.js +5 -2
  26. package/index.js +1 -1
  27. package/modern/AccordionSummary/AccordionSummary.js +4 -3
  28. package/modern/AppBar/AppBar.js +1 -1
  29. package/modern/Autocomplete/Autocomplete.js +36 -49
  30. package/modern/Backdrop/Backdrop.js +1 -9
  31. package/modern/Collapse/Collapse.js +5 -4
  32. package/modern/Fade/Fade.js +5 -2
  33. package/modern/FilledInput/FilledInput.js +1 -3
  34. package/modern/Grow/Grow.js +5 -2
  35. package/modern/Icon/Icon.js +1 -3
  36. package/modern/Input/Input.js +1 -3
  37. package/modern/OutlinedInput/OutlinedInput.js +1 -3
  38. package/modern/Slide/Slide.js +5 -2
  39. package/modern/StepContent/StepContent.js +39 -7
  40. package/modern/StepLabel/StepLabel.js +1 -3
  41. package/modern/SvgIcon/SvgIcon.js +1 -3
  42. package/modern/TablePagination/TablePagination.js +89 -33
  43. package/modern/TableSortLabel/TableSortLabel.js +40 -7
  44. package/modern/Tooltip/Tooltip.js +1 -1
  45. package/modern/Zoom/Zoom.js +5 -2
  46. package/modern/index.js +1 -1
  47. package/modern/version/index.js +2 -2
  48. package/node/AccordionSummary/AccordionSummary.js +4 -3
  49. package/node/AppBar/AppBar.js +1 -1
  50. package/node/Autocomplete/Autocomplete.js +36 -49
  51. package/node/Backdrop/Backdrop.js +1 -9
  52. package/node/Collapse/Collapse.js +5 -4
  53. package/node/Fade/Fade.js +5 -2
  54. package/node/FilledInput/FilledInput.js +1 -3
  55. package/node/Grow/Grow.js +5 -2
  56. package/node/Icon/Icon.js +1 -3
  57. package/node/Input/Input.js +1 -3
  58. package/node/OutlinedInput/OutlinedInput.js +1 -3
  59. package/node/Slide/Slide.js +5 -2
  60. package/node/StepContent/StepContent.js +39 -7
  61. package/node/StepLabel/StepLabel.js +1 -3
  62. package/node/SvgIcon/SvgIcon.js +1 -3
  63. package/node/TablePagination/TablePagination.js +89 -33
  64. package/node/TableSortLabel/TableSortLabel.js +40 -7
  65. package/node/Tooltip/Tooltip.js +1 -1
  66. package/node/Zoom/Zoom.js +5 -2
  67. package/node/index.js +1 -1
  68. package/node/version/index.js +2 -2
  69. package/package.json +6 -6
  70. package/useAutocomplete/useAutocomplete.d.ts +20 -5
  71. package/version/index.js +2 -2
@@ -114,7 +114,10 @@ const Zoom = /*#__PURE__*/React.forwardRef(function Zoom(props, ref) {
114
114
  addEndListener: handleAddEndListener,
115
115
  timeout: timeout,
116
116
  ...other,
117
- children: (state, childProps) => {
117
+ children: (state, {
118
+ ownerState,
119
+ ...restChildProps
120
+ }) => {
118
121
  return /*#__PURE__*/React.cloneElement(children, {
119
122
  style: {
120
123
  transform: 'scale(0)',
@@ -124,7 +127,7 @@ const Zoom = /*#__PURE__*/React.forwardRef(function Zoom(props, ref) {
124
127
  ...children.props.style
125
128
  },
126
129
  ref: handleRef,
127
- ...childProps
130
+ ...restChildProps
128
131
  });
129
132
  }
130
133
  });
package/modern/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/material v6.2.1
2
+ * @mui/material v6.3.1
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
@@ -1,6 +1,6 @@
1
- export const version = "6.2.1";
1
+ export const version = "6.3.1";
2
2
  export const major = Number("6");
3
- export const minor = Number("2");
3
+ export const minor = Number("3");
4
4
  export const patch = Number("1");
5
5
  export const prerelease = undefined;
6
6
  export default version;
@@ -45,6 +45,7 @@ const AccordionSummaryRoot = (0, _zeroStyled.styled)(_ButtonBase.default, {
45
45
  };
46
46
  return {
47
47
  display: 'flex',
48
+ width: '100%',
48
49
  minHeight: 48,
49
50
  padding: theme.spacing(0, 2),
50
51
  transition: theme.transitions.create(['min-height', 'background-color'], transition),
@@ -67,7 +68,7 @@ const AccordionSummaryRoot = (0, _zeroStyled.styled)(_ButtonBase.default, {
67
68
  }]
68
69
  };
69
70
  }));
70
- const AccordionSummaryContent = (0, _zeroStyled.styled)('div', {
71
+ const AccordionSummaryContent = (0, _zeroStyled.styled)('span', {
71
72
  name: 'MuiAccordionSummary',
72
73
  slot: 'Content',
73
74
  overridesResolver: (props, styles) => styles.content
@@ -75,6 +76,7 @@ const AccordionSummaryContent = (0, _zeroStyled.styled)('div', {
75
76
  theme
76
77
  }) => ({
77
78
  display: 'flex',
79
+ textAlign: 'start',
78
80
  flexGrow: 1,
79
81
  margin: '12px 0',
80
82
  variants: [{
@@ -89,7 +91,7 @@ const AccordionSummaryContent = (0, _zeroStyled.styled)('div', {
89
91
  }
90
92
  }]
91
93
  })));
92
- const AccordionSummaryExpandIconWrapper = (0, _zeroStyled.styled)('div', {
94
+ const AccordionSummaryExpandIconWrapper = (0, _zeroStyled.styled)('span', {
93
95
  name: 'MuiAccordionSummary',
94
96
  slot: 'ExpandIconWrapper',
95
97
  overridesResolver: (props, styles) => styles.expandIconWrapper
@@ -144,7 +146,6 @@ const AccordionSummary = /*#__PURE__*/React.forwardRef(function AccordionSummary
144
146
  focusRipple: false,
145
147
  disableRipple: true,
146
148
  disabled: disabled,
147
- component: "div",
148
149
  "aria-expanded": expanded,
149
150
  className: (0, _clsx.default)(classes.root, className),
150
151
  focusVisibleClassName: (0, _clsx.default)(classes.focusVisible, focusVisibleClassName),
@@ -221,7 +221,7 @@ process.env.NODE_ENV !== "production" ? AppBar.propTypes /* remove-proptypes */
221
221
  enableColorOnDark: _propTypes.default.bool,
222
222
  /**
223
223
  * The positioning type. The behavior of the different options is described
224
- * [in the MDN web docs](https://developer.mozilla.org/en-US/docs/Learn/CSS/CSS_layout/Positioning).
224
+ * [in the MDN web docs](https://developer.mozilla.org/en-US/docs/Web/CSS/position).
225
225
  * Note: `sticky` is not universally supported and will fall back to `static` when unavailable.
226
226
  * @default 'fixed'
227
227
  */
@@ -662,53 +662,6 @@ const Autocomplete = /*#__PURE__*/React.forwardRef(function Autocomplete(inProps
662
662
  };
663
663
  const clearIndicatorSlotProps = externalForwardedProps.slotProps.clearIndicator;
664
664
  const popupIndicatorSlotProps = externalForwardedProps.slotProps.popupIndicator;
665
- const renderAutocompletePopperChildren = children => /*#__PURE__*/(0, _jsxRuntime.jsx)(AutocompletePopper, {
666
- as: PopperSlot,
667
- ...popperProps,
668
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(AutocompletePaper, {
669
- as: PaperSlot,
670
- ...paperProps,
671
- children: children
672
- })
673
- });
674
- let autocompletePopper = null;
675
- if (groupedOptions.length > 0) {
676
- autocompletePopper = renderAutocompletePopperChildren(
677
- /*#__PURE__*/
678
- // TODO v7: remove `as` prop and move ListboxComponentProp to externalForwardedProps or remove ListboxComponentProp entirely
679
- // https://github.com/mui/material-ui/pull/43994#issuecomment-2401945800
680
- (0, _jsxRuntime.jsx)(ListboxSlot, {
681
- as: ListboxComponentProp,
682
- ...listboxProps,
683
- children: groupedOptions.map((option, index) => {
684
- if (groupBy) {
685
- return renderGroup({
686
- key: option.key,
687
- group: option.group,
688
- children: option.options.map((option2, index2) => renderListOption(option2, option.index + index2))
689
- });
690
- }
691
- return renderListOption(option, index);
692
- })
693
- }));
694
- } else if (loading && groupedOptions.length === 0) {
695
- autocompletePopper = renderAutocompletePopperChildren(/*#__PURE__*/(0, _jsxRuntime.jsx)(AutocompleteLoading, {
696
- className: classes.loading,
697
- ownerState: ownerState,
698
- children: loadingText
699
- }));
700
- } else if (groupedOptions.length === 0 && !freeSolo && !loading) {
701
- autocompletePopper = renderAutocompletePopperChildren(/*#__PURE__*/(0, _jsxRuntime.jsx)(AutocompleteNoOptions, {
702
- className: classes.noOptions,
703
- ownerState: ownerState,
704
- role: "presentation",
705
- onMouseDown: event => {
706
- // Prevent input blur when interacting with the "no options" content
707
- event.preventDefault();
708
- },
709
- children: noOptionsText
710
- }));
711
- }
712
665
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(React.Fragment, {
713
666
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(AutocompleteRoot, {
714
667
  ref: ref,
@@ -762,7 +715,41 @@ const Autocomplete = /*#__PURE__*/React.forwardRef(function Autocomplete(inProps
762
715
  ...getInputProps()
763
716
  }
764
717
  })
765
- }), anchorEl ? autocompletePopper : null]
718
+ }), anchorEl ? /*#__PURE__*/(0, _jsxRuntime.jsx)(AutocompletePopper, {
719
+ as: PopperSlot,
720
+ ...popperProps,
721
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(AutocompletePaper, {
722
+ as: PaperSlot,
723
+ ...paperProps,
724
+ children: [loading && groupedOptions.length === 0 ? /*#__PURE__*/(0, _jsxRuntime.jsx)(AutocompleteLoading, {
725
+ className: classes.loading,
726
+ ownerState: ownerState,
727
+ children: loadingText
728
+ }) : null, groupedOptions.length === 0 && !freeSolo && !loading ? /*#__PURE__*/(0, _jsxRuntime.jsx)(AutocompleteNoOptions, {
729
+ className: classes.noOptions,
730
+ ownerState: ownerState,
731
+ role: "presentation",
732
+ onMouseDown: event => {
733
+ // Prevent input blur when interacting with the "no options" content
734
+ event.preventDefault();
735
+ },
736
+ children: noOptionsText
737
+ }) : null, groupedOptions.length > 0 ? /*#__PURE__*/(0, _jsxRuntime.jsx)(ListboxSlot, {
738
+ as: ListboxComponentProp,
739
+ ...listboxProps,
740
+ children: groupedOptions.map((option, index) => {
741
+ if (groupBy) {
742
+ return renderGroup({
743
+ key: option.key,
744
+ group: option.group,
745
+ children: option.options.map((option2, index2) => renderListOption(option2, option.index + index2))
746
+ });
747
+ }
748
+ return renderListOption(option, index);
749
+ })
750
+ }) : null]
751
+ })
752
+ }) : null]
766
753
  });
767
754
  });
768
755
  process.env.NODE_ENV !== "production" ? Autocomplete.propTypes /* remove-proptypes */ = {
@@ -964,7 +951,7 @@ process.env.NODE_ENV !== "production" ? Autocomplete.propTypes /* remove-proptyp
964
951
  * If provided, the options will be grouped under the returned string.
965
952
  * The groupBy value is also used as the text for group headings when `renderGroup` is not provided.
966
953
  *
967
- * @param {Value} options The options to group.
954
+ * @param {Value} option The Autocomplete option.
968
955
  * @returns {string}
969
956
  */
970
957
  groupBy: _propTypes.default.func,
@@ -17,13 +17,6 @@ var _useSlot = _interopRequireDefault(require("../utils/useSlot"));
17
17
  var _Fade = _interopRequireDefault(require("../Fade"));
18
18
  var _backdropClasses = require("./backdropClasses");
19
19
  var _jsxRuntime = require("react/jsx-runtime");
20
- const removeOwnerState = props => {
21
- const {
22
- ownerState,
23
- ...rest
24
- } = props;
25
- return rest;
26
- };
27
20
  const useUtilityClasses = ownerState => {
28
21
  const {
29
22
  classes,
@@ -112,12 +105,11 @@ const Backdrop = /*#__PURE__*/React.forwardRef(function Backdrop(inProps, ref) {
112
105
  externalForwardedProps,
113
106
  ownerState
114
107
  });
115
- const transitionPropsRemoved = removeOwnerState(transitionProps);
116
108
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(TransitionSlot, {
117
109
  in: open,
118
110
  timeout: transitionDuration,
119
111
  ...other,
120
- ...transitionPropsRemoved,
112
+ ...transitionProps,
121
113
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(RootSlot, {
122
114
  "aria-hidden": true,
123
115
  ...rootProps,
@@ -279,7 +279,10 @@ const Collapse = /*#__PURE__*/React.forwardRef(function Collapse(inProps, ref) {
279
279
  nodeRef: nodeRef,
280
280
  timeout: timeout === 'auto' ? null : timeout,
281
281
  ...other,
282
- children: (state, childProps) => /*#__PURE__*/(0, _jsxRuntime.jsx)(CollapseRoot, {
282
+ children: (state, {
283
+ ownerState: incomingOwnerState,
284
+ ...restChildProps
285
+ }) => /*#__PURE__*/(0, _jsxRuntime.jsx)(CollapseRoot, {
283
286
  as: component,
284
287
  className: (0, _clsx.default)(classes.root, className, {
285
288
  'entered': classes.entered,
@@ -290,13 +293,11 @@ const Collapse = /*#__PURE__*/React.forwardRef(function Collapse(inProps, ref) {
290
293
  ...style
291
294
  },
292
295
  ref: handleRef,
293
- ...childProps,
294
- // `ownerState` is set after `childProps` to override any existing `ownerState` property in `childProps`
295
- // that might have been forwarded from the Transition component.
296
296
  ownerState: {
297
297
  ...ownerState,
298
298
  state
299
299
  },
300
+ ...restChildProps,
300
301
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(CollapseWrapper, {
301
302
  ownerState: {
302
303
  ...ownerState,
package/node/Fade/Fade.js CHANGED
@@ -121,7 +121,10 @@ const Fade = /*#__PURE__*/React.forwardRef(function Fade(props, ref) {
121
121
  addEndListener: handleAddEndListener,
122
122
  timeout: timeout,
123
123
  ...other,
124
- children: (state, childProps) => {
124
+ children: (state, {
125
+ ownerState,
126
+ ...restChildProps
127
+ }) => {
125
128
  return /*#__PURE__*/React.cloneElement(children, {
126
129
  style: {
127
130
  opacity: 0,
@@ -131,7 +134,7 @@ const Fade = /*#__PURE__*/React.forwardRef(function Fade(props, ref) {
131
134
  ...children.props.style
132
135
  },
133
136
  ref: handleRef,
134
- ...childProps
137
+ ...restChildProps
135
138
  });
136
139
  }
137
140
  });
@@ -519,7 +519,5 @@ process.env.NODE_ENV !== "production" ? FilledInput.propTypes /* remove-proptype
519
519
  */
520
520
  value: _propTypes.default.any
521
521
  } : void 0;
522
- if (FilledInput) {
523
- FilledInput.muiName = 'Input';
524
- }
522
+ FilledInput.muiName = 'Input';
525
523
  var _default = exports.default = FilledInput;
package/node/Grow/Grow.js CHANGED
@@ -170,7 +170,10 @@ const Grow = /*#__PURE__*/React.forwardRef(function Grow(props, ref) {
170
170
  addEndListener: handleAddEndListener,
171
171
  timeout: timeout === 'auto' ? null : timeout,
172
172
  ...other,
173
- children: (state, childProps) => {
173
+ children: (state, {
174
+ ownerState,
175
+ ...restChildProps
176
+ }) => {
174
177
  return /*#__PURE__*/React.cloneElement(children, {
175
178
  style: {
176
179
  opacity: 0,
@@ -181,7 +184,7 @@ const Grow = /*#__PURE__*/React.forwardRef(function Grow(props, ref) {
181
184
  ...children.props.style
182
185
  },
183
186
  ref: handleRef,
184
- ...childProps
187
+ ...restChildProps
185
188
  });
186
189
  }
187
190
  });
package/node/Icon/Icon.js CHANGED
@@ -188,7 +188,5 @@ process.env.NODE_ENV !== "production" ? Icon.propTypes /* remove-proptypes */ =
188
188
  */
189
189
  sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object, _propTypes.default.bool])), _propTypes.default.func, _propTypes.default.object])
190
190
  } : void 0;
191
- if (Icon) {
192
- Icon.muiName = 'Icon';
193
- }
191
+ Icon.muiName = 'Icon';
194
192
  var _default = exports.default = Icon;
@@ -364,7 +364,5 @@ process.env.NODE_ENV !== "production" ? Input.propTypes /* remove-proptypes */ =
364
364
  */
365
365
  value: _propTypes.default.any
366
366
  } : void 0;
367
- if (Input) {
368
- Input.muiName = 'Input';
369
- }
367
+ Input.muiName = 'Input';
370
368
  var _default = exports.default = Input;
@@ -413,7 +413,5 @@ process.env.NODE_ENV !== "production" ? OutlinedInput.propTypes /* remove-propty
413
413
  */
414
414
  value: _propTypes.default.any
415
415
  } : void 0;
416
- if (OutlinedInput) {
417
- OutlinedInput.muiName = 'Input';
418
- }
416
+ OutlinedInput.muiName = 'Input';
419
417
  var _default = exports.default = OutlinedInput;
@@ -224,7 +224,10 @@ const Slide = /*#__PURE__*/React.forwardRef(function Slide(props, ref) {
224
224
  in: inProp,
225
225
  timeout: timeout,
226
226
  ...other,
227
- children: (state, childProps) => {
227
+ children: (state, {
228
+ ownerState,
229
+ ...restChildProps
230
+ }) => {
228
231
  return /*#__PURE__*/React.cloneElement(children, {
229
232
  ref: handleRef,
230
233
  style: {
@@ -232,7 +235,7 @@ const Slide = /*#__PURE__*/React.forwardRef(function Slide(props, ref) {
232
235
  ...style,
233
236
  ...children.props.style
234
237
  },
235
- ...childProps
238
+ ...restChildProps
236
239
  });
237
240
  }
238
241
  });
@@ -18,6 +18,7 @@ var _Collapse = _interopRequireDefault(require("../Collapse"));
18
18
  var _StepperContext = _interopRequireDefault(require("../Stepper/StepperContext"));
19
19
  var _StepContext = _interopRequireDefault(require("../Step/StepContext"));
20
20
  var _stepContentClasses = require("./stepContentClasses");
21
+ var _useSlot = _interopRequireDefault(require("../utils/useSlot"));
21
22
  var _jsxRuntime = require("react/jsx-runtime");
22
23
  const useUtilityClasses = ownerState => {
23
24
  const {
@@ -73,6 +74,8 @@ const StepContent = /*#__PURE__*/React.forwardRef(function StepContent(inProps,
73
74
  TransitionComponent = _Collapse.default,
74
75
  transitionDuration: transitionDurationProp = 'auto',
75
76
  TransitionProps,
77
+ slots = {},
78
+ slotProps = {},
76
79
  ...other
77
80
  } = props;
78
81
  const {
@@ -97,19 +100,32 @@ const StepContent = /*#__PURE__*/React.forwardRef(function StepContent(inProps,
97
100
  if (transitionDurationProp === 'auto' && !TransitionComponent.muiSupportAuto) {
98
101
  transitionDuration = undefined;
99
102
  }
103
+ const externalForwardedProps = {
104
+ slots,
105
+ slotProps: {
106
+ transition: TransitionProps,
107
+ ...slotProps
108
+ }
109
+ };
110
+ const [TransitionSlot, transitionProps] = (0, _useSlot.default)('transition', {
111
+ elementType: StepContentTransition,
112
+ externalForwardedProps,
113
+ ownerState,
114
+ className: classes.transition,
115
+ additionalProps: {
116
+ in: active || expanded,
117
+ timeout: transitionDuration,
118
+ unmountOnExit: true
119
+ }
120
+ });
100
121
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(StepContentRoot, {
101
122
  className: (0, _clsx.default)(classes.root, className),
102
123
  ref: ref,
103
124
  ownerState: ownerState,
104
125
  ...other,
105
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(StepContentTransition, {
126
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(TransitionSlot, {
106
127
  as: TransitionComponent,
107
- in: active || expanded,
108
- className: classes.transition,
109
- ownerState: ownerState,
110
- timeout: transitionDuration,
111
- unmountOnExit: true,
112
- ...TransitionProps,
128
+ ...transitionProps,
113
129
  children: children
114
130
  })
115
131
  });
@@ -131,6 +147,20 @@ process.env.NODE_ENV !== "production" ? StepContent.propTypes /* remove-proptype
131
147
  * @ignore
132
148
  */
133
149
  className: _propTypes.default.string,
150
+ /**
151
+ * The props used for each slot inside.
152
+ * @default {}
153
+ */
154
+ slotProps: _propTypes.default.shape({
155
+ transition: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object])
156
+ }),
157
+ /**
158
+ * The components used for each slot inside.
159
+ * @default {}
160
+ */
161
+ slots: _propTypes.default.shape({
162
+ transition: _propTypes.default.elementType
163
+ }),
134
164
  /**
135
165
  * The system prop that allows defining system overrides as well as additional CSS styles.
136
166
  */
@@ -139,6 +169,7 @@ process.env.NODE_ENV !== "production" ? StepContent.propTypes /* remove-proptype
139
169
  * The component used for the transition.
140
170
  * [Follow this guide](https://mui.com/material-ui/transitions/#transitioncomponent-prop) to learn more about the requirements for this component.
141
171
  * @default Collapse
172
+ * @deprecated Use `slots.transition` instead. This prop will be removed in v7. [How to migrate](/material-ui/migration/migrating-from-deprecated-apis/).
142
173
  */
143
174
  TransitionComponent: _propTypes.default.elementType,
144
175
  /**
@@ -156,6 +187,7 @@ process.env.NODE_ENV !== "production" ? StepContent.propTypes /* remove-proptype
156
187
  /**
157
188
  * Props applied to the transition element.
158
189
  * By default, the element is based on this [`Transition`](https://reactcommunity.org/react-transition-group/transition/) component.
190
+ * @deprecated Use `slotProps.transition` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
159
191
  */
160
192
  TransitionProps: _propTypes.default.object
161
193
  } : void 0;
@@ -274,7 +274,5 @@ process.env.NODE_ENV !== "production" ? StepLabel.propTypes /* remove-proptypes
274
274
  */
275
275
  sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object, _propTypes.default.bool])), _propTypes.default.func, _propTypes.default.object])
276
276
  } : void 0;
277
- if (StepLabel) {
278
- StepLabel.muiName = 'StepLabel';
279
- }
277
+ StepLabel.muiName = 'StepLabel';
280
278
  var _default = exports.default = StepLabel;
@@ -237,7 +237,5 @@ process.env.NODE_ENV !== "production" ? SvgIcon.propTypes /* remove-proptypes */
237
237
  */
238
238
  viewBox: _propTypes.default.string
239
239
  } : void 0;
240
- if (SvgIcon) {
241
- SvgIcon.muiName = 'SvgIcon';
242
- }
240
+ SvgIcon.muiName = 'SvgIcon';
243
241
  var _default = exports.default = SvgIcon;
@@ -14,7 +14,6 @@ var _clsx = _interopRequireDefault(require("clsx"));
14
14
  var _integerPropType = _interopRequireDefault(require("@mui/utils/integerPropType"));
15
15
  var _chainPropTypes = _interopRequireDefault(require("@mui/utils/chainPropTypes"));
16
16
  var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
17
- var _isHostComponent = _interopRequireDefault(require("../utils/isHostComponent"));
18
17
  var _zeroStyled = require("../zero-styled");
19
18
  var _memoTheme = _interopRequireDefault(require("../utils/memoTheme"));
20
19
  var _DefaultPropsProvider = require("../DefaultPropsProvider");
@@ -26,6 +25,7 @@ var _Toolbar = _interopRequireDefault(require("../Toolbar"));
26
25
  var _TablePaginationActions = _interopRequireDefault(require("./TablePaginationActions"));
27
26
  var _useId = _interopRequireDefault(require("../utils/useId"));
28
27
  var _tablePaginationClasses = _interopRequireWildcard(require("./tablePaginationClasses"));
28
+ var _useSlot = _interopRequireDefault(require("../utils/useSlot"));
29
29
  var _jsxRuntime = require("react/jsx-runtime");
30
30
  var _InputBase;
31
31
  const TablePaginationRoot = (0, _zeroStyled.styled)(_TableCell.default, {
@@ -161,7 +161,6 @@ const TablePagination = /*#__PURE__*/React.forwardRef(function TablePagination(i
161
161
  const {
162
162
  ActionsComponent = _TablePaginationActions.default,
163
163
  backIconButtonProps,
164
- className,
165
164
  colSpan: colSpanProp,
166
165
  component = _TableCell.default,
167
166
  count,
@@ -198,22 +197,73 @@ const TablePagination = /*#__PURE__*/React.forwardRef(function TablePagination(i
198
197
  }
199
198
  return rowsPerPage === -1 ? count : Math.min(count, (page + 1) * rowsPerPage);
200
199
  };
201
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(TablePaginationRoot, {
202
- colSpan: colSpan,
203
- ref: ref,
204
- as: component,
205
- ownerState: ownerState,
206
- className: (0, _clsx.default)(classes.root, className),
207
- ...other,
208
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(TablePaginationToolbar, {
209
- className: classes.toolbar,
210
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(TablePaginationSpacer, {
211
- className: classes.spacer
212
- }), rowsPerPageOptions.length > 1 && /*#__PURE__*/(0, _jsxRuntime.jsx)(TablePaginationSelectLabel, {
213
- className: classes.selectLabel,
214
- id: labelId,
200
+ const externalForwardedProps = {
201
+ slots,
202
+ slotProps
203
+ };
204
+ const [RootSlot, rootSlotProps] = (0, _useSlot.default)('root', {
205
+ ref,
206
+ className: classes.root,
207
+ elementType: TablePaginationRoot,
208
+ externalForwardedProps: {
209
+ ...externalForwardedProps,
210
+ component,
211
+ ...other
212
+ },
213
+ ownerState,
214
+ additionalProps: {
215
+ colSpan
216
+ }
217
+ });
218
+ const [ToolbarSlot, toolbarSlotProps] = (0, _useSlot.default)('toolbar', {
219
+ className: classes.toolbar,
220
+ elementType: TablePaginationToolbar,
221
+ externalForwardedProps,
222
+ ownerState
223
+ });
224
+ const [SpacerSlot, spacerSlotProps] = (0, _useSlot.default)('spacer', {
225
+ className: classes.spacer,
226
+ elementType: TablePaginationSpacer,
227
+ externalForwardedProps,
228
+ ownerState
229
+ });
230
+ const [SelectLabelSlot, selectLabelSlotProps] = (0, _useSlot.default)('selectLabel', {
231
+ className: classes.selectLabel,
232
+ elementType: TablePaginationSelectLabel,
233
+ externalForwardedProps,
234
+ ownerState,
235
+ additionalProps: {
236
+ id: labelId
237
+ }
238
+ });
239
+ const [SelectSlot, selectSlotProps] = (0, _useSlot.default)('select', {
240
+ className: classes.select,
241
+ elementType: TablePaginationSelect,
242
+ externalForwardedProps,
243
+ ownerState
244
+ });
245
+ const [MenuItemSlot, menuItemSlotProps] = (0, _useSlot.default)('menuItem', {
246
+ className: classes.menuItem,
247
+ elementType: MenuItemComponent,
248
+ externalForwardedProps,
249
+ ownerState
250
+ });
251
+ const [DisplayedRows, displayedRowsProps] = (0, _useSlot.default)('displayedRows', {
252
+ className: classes.displayedRows,
253
+ elementType: TablePaginationDisplayedRows,
254
+ externalForwardedProps,
255
+ ownerState
256
+ });
257
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(RootSlot, {
258
+ ...rootSlotProps,
259
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(ToolbarSlot, {
260
+ ...toolbarSlotProps,
261
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(SpacerSlot, {
262
+ ...spacerSlotProps
263
+ }), rowsPerPageOptions.length > 1 && /*#__PURE__*/(0, _jsxRuntime.jsx)(SelectLabelSlot, {
264
+ ...selectLabelSlotProps,
215
265
  children: labelRowsPerPage
216
- }), rowsPerPageOptions.length > 1 && /*#__PURE__*/(0, _jsxRuntime.jsx)(TablePaginationSelect, {
266
+ }), rowsPerPageOptions.length > 1 && /*#__PURE__*/(0, _jsxRuntime.jsx)(SelectSlot, {
217
267
  variant: "standard",
218
268
  ...(!selectProps.variant && {
219
269
  input: _InputBase || (_InputBase = /*#__PURE__*/(0, _jsxRuntime.jsx)(_InputBase2.default, {}))
@@ -232,16 +282,14 @@ const TablePagination = /*#__PURE__*/React.forwardRef(function TablePagination(i
232
282
  icon: (0, _clsx.default)(classes.selectIcon, (selectProps.classes || {}).icon)
233
283
  },
234
284
  disabled: disabled,
235
- children: rowsPerPageOptions.map(rowsPerPageOption => /*#__PURE__*/(0, _react.createElement)(MenuItemComponent, {
236
- ...(!(0, _isHostComponent.default)(MenuItemComponent) && {
237
- ownerState
238
- }),
239
- className: classes.menuItem,
285
+ ...selectSlotProps,
286
+ children: rowsPerPageOptions.map(rowsPerPageOption => /*#__PURE__*/(0, _react.createElement)(MenuItemSlot, {
287
+ ...menuItemSlotProps,
240
288
  key: rowsPerPageOption.label ? rowsPerPageOption.label : rowsPerPageOption,
241
289
  value: rowsPerPageOption.value ? rowsPerPageOption.value : rowsPerPageOption
242
290
  }, rowsPerPageOption.label ? rowsPerPageOption.label : rowsPerPageOption))
243
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(TablePaginationDisplayedRows, {
244
- className: classes.displayedRows,
291
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(DisplayedRows, {
292
+ ...displayedRowsProps,
245
293
  children: labelDisplayedRows({
246
294
  from: count === 0 ? 0 : page * rowsPerPage + 1,
247
295
  to: getLabelDisplayedRowsTo(),
@@ -288,10 +336,6 @@ process.env.NODE_ENV !== "production" ? TablePagination.propTypes /* remove-prop
288
336
  * Override or extend the styles applied to the component.
289
337
  */
290
338
  classes: _propTypes.default.object,
291
- /**
292
- * @ignore
293
- */
294
- className: _propTypes.default.string,
295
339
  /**
296
340
  * @ignore
297
341
  */
@@ -415,7 +459,7 @@ process.env.NODE_ENV !== "production" ? TablePagination.propTypes /* remove-prop
415
459
  */
416
460
  showLastButton: _propTypes.default.bool,
417
461
  /**
418
- * The props used for each slot inside the TablePagination.
462
+ * The props used for each slot inside.
419
463
  * @default {}
420
464
  */
421
465
  slotProps: _propTypes.default.shape({
@@ -429,11 +473,16 @@ process.env.NODE_ENV !== "production" ? TablePagination.propTypes /* remove-prop
429
473
  previousButton: _propTypes.default.object,
430
474
  previousButtonIcon: _propTypes.default.object
431
475
  }),
432
- select: _propTypes.default.object
476
+ displayedRows: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
477
+ menuItem: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
478
+ root: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
479
+ select: _propTypes.default.object,
480
+ selectLabel: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
481
+ spacer: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
482
+ toolbar: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object])
433
483
  }),
434
484
  /**
435
- * The components used for each slot inside the TablePagination.
436
- * Either a string to use a HTML element or a component.
485
+ * The components used for each slot inside.
437
486
  * @default {}
438
487
  */
439
488
  slots: _propTypes.default.shape({
@@ -446,7 +495,14 @@ process.env.NODE_ENV !== "production" ? TablePagination.propTypes /* remove-prop
446
495
  nextButtonIcon: _propTypes.default.elementType,
447
496
  previousButton: _propTypes.default.elementType,
448
497
  previousButtonIcon: _propTypes.default.elementType
449
- })
498
+ }),
499
+ displayedRows: _propTypes.default.elementType,
500
+ menuItem: _propTypes.default.elementType,
501
+ root: _propTypes.default.elementType,
502
+ select: _propTypes.default.elementType,
503
+ selectLabel: _propTypes.default.elementType,
504
+ spacer: _propTypes.default.elementType,
505
+ toolbar: _propTypes.default.elementType
450
506
  }),
451
507
  /**
452
508
  * The system prop that allows defining system overrides as well as additional CSS styles.