@mui/material 6.2.1 → 6.3.0

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 (59) hide show
  1. package/AccordionSummary/AccordionSummary.js +4 -3
  2. package/Autocomplete/Autocomplete.js +1 -1
  3. package/Backdrop/Backdrop.js +1 -9
  4. package/CHANGELOG.md +41 -0
  5. package/Collapse/Collapse.js +5 -4
  6. package/Fade/Fade.js +5 -2
  7. package/FilledInput/FilledInput.js +1 -3
  8. package/Grow/Grow.js +5 -2
  9. package/Icon/Icon.js +1 -3
  10. package/Input/Input.js +1 -3
  11. package/OutlinedInput/OutlinedInput.js +1 -3
  12. package/Slide/Slide.js +5 -2
  13. package/StepContent/StepContent.d.ts +31 -2
  14. package/StepContent/StepContent.js +39 -7
  15. package/StepLabel/StepLabel.js +1 -3
  16. package/SvgIcon/SvgIcon.js +1 -3
  17. package/TablePagination/TablePagination.d.ts +134 -18
  18. package/TablePagination/TablePagination.js +89 -33
  19. package/Zoom/Zoom.js +5 -2
  20. package/index.js +1 -1
  21. package/modern/AccordionSummary/AccordionSummary.js +4 -3
  22. package/modern/Autocomplete/Autocomplete.js +1 -1
  23. package/modern/Backdrop/Backdrop.js +1 -9
  24. package/modern/Collapse/Collapse.js +5 -4
  25. package/modern/Fade/Fade.js +5 -2
  26. package/modern/FilledInput/FilledInput.js +1 -3
  27. package/modern/Grow/Grow.js +5 -2
  28. package/modern/Icon/Icon.js +1 -3
  29. package/modern/Input/Input.js +1 -3
  30. package/modern/OutlinedInput/OutlinedInput.js +1 -3
  31. package/modern/Slide/Slide.js +5 -2
  32. package/modern/StepContent/StepContent.js +39 -7
  33. package/modern/StepLabel/StepLabel.js +1 -3
  34. package/modern/SvgIcon/SvgIcon.js +1 -3
  35. package/modern/TablePagination/TablePagination.js +89 -33
  36. package/modern/Zoom/Zoom.js +5 -2
  37. package/modern/index.js +1 -1
  38. package/modern/version/index.js +3 -3
  39. package/node/AccordionSummary/AccordionSummary.js +4 -3
  40. package/node/Autocomplete/Autocomplete.js +1 -1
  41. package/node/Backdrop/Backdrop.js +1 -9
  42. package/node/Collapse/Collapse.js +5 -4
  43. package/node/Fade/Fade.js +5 -2
  44. package/node/FilledInput/FilledInput.js +1 -3
  45. package/node/Grow/Grow.js +5 -2
  46. package/node/Icon/Icon.js +1 -3
  47. package/node/Input/Input.js +1 -3
  48. package/node/OutlinedInput/OutlinedInput.js +1 -3
  49. package/node/Slide/Slide.js +5 -2
  50. package/node/StepContent/StepContent.js +39 -7
  51. package/node/StepLabel/StepLabel.js +1 -3
  52. package/node/SvgIcon/SvgIcon.js +1 -3
  53. package/node/TablePagination/TablePagination.js +89 -33
  54. package/node/Zoom/Zoom.js +5 -2
  55. package/node/index.js +1 -1
  56. package/node/version/index.js +3 -3
  57. package/package.json +5 -5
  58. package/useAutocomplete/useAutocomplete.d.ts +20 -5
  59. package/version/index.js +3 -3
@@ -7,7 +7,6 @@ import clsx from 'clsx';
7
7
  import integerPropType from '@mui/utils/integerPropType';
8
8
  import chainPropTypes from '@mui/utils/chainPropTypes';
9
9
  import composeClasses from '@mui/utils/composeClasses';
10
- import isHostComponent from "../utils/isHostComponent.js";
11
10
  import { styled } from "../zero-styled/index.js";
12
11
  import memoTheme from "../utils/memoTheme.js";
13
12
  import { useDefaultProps } from "../DefaultPropsProvider/index.js";
@@ -19,6 +18,7 @@ import Toolbar from "../Toolbar/index.js";
19
18
  import TablePaginationActions from "./TablePaginationActions.js";
20
19
  import useId from "../utils/useId.js";
21
20
  import tablePaginationClasses, { getTablePaginationUtilityClass } from "./tablePaginationClasses.js";
21
+ import useSlot from "../utils/useSlot.js";
22
22
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
23
23
  import { createElement as _createElement } from "react";
24
24
  const TablePaginationRoot = styled(TableCell, {
@@ -154,7 +154,6 @@ const TablePagination = /*#__PURE__*/React.forwardRef(function TablePagination(i
154
154
  const {
155
155
  ActionsComponent = TablePaginationActions,
156
156
  backIconButtonProps,
157
- className,
158
157
  colSpan: colSpanProp,
159
158
  component = TableCell,
160
159
  count,
@@ -191,22 +190,73 @@ const TablePagination = /*#__PURE__*/React.forwardRef(function TablePagination(i
191
190
  }
192
191
  return rowsPerPage === -1 ? count : Math.min(count, (page + 1) * rowsPerPage);
193
192
  };
194
- return /*#__PURE__*/_jsx(TablePaginationRoot, {
195
- colSpan: colSpan,
196
- ref: ref,
197
- as: component,
198
- ownerState: ownerState,
199
- className: clsx(classes.root, className),
200
- ...other,
201
- children: /*#__PURE__*/_jsxs(TablePaginationToolbar, {
202
- className: classes.toolbar,
203
- children: [/*#__PURE__*/_jsx(TablePaginationSpacer, {
204
- className: classes.spacer
205
- }), rowsPerPageOptions.length > 1 && /*#__PURE__*/_jsx(TablePaginationSelectLabel, {
206
- className: classes.selectLabel,
207
- id: labelId,
193
+ const externalForwardedProps = {
194
+ slots,
195
+ slotProps
196
+ };
197
+ const [RootSlot, rootSlotProps] = useSlot('root', {
198
+ ref,
199
+ className: classes.root,
200
+ elementType: TablePaginationRoot,
201
+ externalForwardedProps: {
202
+ ...externalForwardedProps,
203
+ component,
204
+ ...other
205
+ },
206
+ ownerState,
207
+ additionalProps: {
208
+ colSpan
209
+ }
210
+ });
211
+ const [ToolbarSlot, toolbarSlotProps] = useSlot('toolbar', {
212
+ className: classes.toolbar,
213
+ elementType: TablePaginationToolbar,
214
+ externalForwardedProps,
215
+ ownerState
216
+ });
217
+ const [SpacerSlot, spacerSlotProps] = useSlot('spacer', {
218
+ className: classes.spacer,
219
+ elementType: TablePaginationSpacer,
220
+ externalForwardedProps,
221
+ ownerState
222
+ });
223
+ const [SelectLabelSlot, selectLabelSlotProps] = useSlot('selectLabel', {
224
+ className: classes.selectLabel,
225
+ elementType: TablePaginationSelectLabel,
226
+ externalForwardedProps,
227
+ ownerState,
228
+ additionalProps: {
229
+ id: labelId
230
+ }
231
+ });
232
+ const [SelectSlot, selectSlotProps] = useSlot('select', {
233
+ className: classes.select,
234
+ elementType: TablePaginationSelect,
235
+ externalForwardedProps,
236
+ ownerState
237
+ });
238
+ const [MenuItemSlot, menuItemSlotProps] = useSlot('menuItem', {
239
+ className: classes.menuItem,
240
+ elementType: MenuItemComponent,
241
+ externalForwardedProps,
242
+ ownerState
243
+ });
244
+ const [DisplayedRows, displayedRowsProps] = useSlot('displayedRows', {
245
+ className: classes.displayedRows,
246
+ elementType: TablePaginationDisplayedRows,
247
+ externalForwardedProps,
248
+ ownerState
249
+ });
250
+ return /*#__PURE__*/_jsx(RootSlot, {
251
+ ...rootSlotProps,
252
+ children: /*#__PURE__*/_jsxs(ToolbarSlot, {
253
+ ...toolbarSlotProps,
254
+ children: [/*#__PURE__*/_jsx(SpacerSlot, {
255
+ ...spacerSlotProps
256
+ }), rowsPerPageOptions.length > 1 && /*#__PURE__*/_jsx(SelectLabelSlot, {
257
+ ...selectLabelSlotProps,
208
258
  children: labelRowsPerPage
209
- }), rowsPerPageOptions.length > 1 && /*#__PURE__*/_jsx(TablePaginationSelect, {
259
+ }), rowsPerPageOptions.length > 1 && /*#__PURE__*/_jsx(SelectSlot, {
210
260
  variant: "standard",
211
261
  ...(!selectProps.variant && {
212
262
  input: _InputBase || (_InputBase = /*#__PURE__*/_jsx(InputBase, {}))
@@ -225,16 +275,14 @@ const TablePagination = /*#__PURE__*/React.forwardRef(function TablePagination(i
225
275
  icon: clsx(classes.selectIcon, (selectProps.classes || {}).icon)
226
276
  },
227
277
  disabled: disabled,
228
- children: rowsPerPageOptions.map(rowsPerPageOption => /*#__PURE__*/_createElement(MenuItemComponent, {
229
- ...(!isHostComponent(MenuItemComponent) && {
230
- ownerState
231
- }),
232
- className: classes.menuItem,
278
+ ...selectSlotProps,
279
+ children: rowsPerPageOptions.map(rowsPerPageOption => /*#__PURE__*/_createElement(MenuItemSlot, {
280
+ ...menuItemSlotProps,
233
281
  key: rowsPerPageOption.label ? rowsPerPageOption.label : rowsPerPageOption,
234
282
  value: rowsPerPageOption.value ? rowsPerPageOption.value : rowsPerPageOption
235
283
  }, rowsPerPageOption.label ? rowsPerPageOption.label : rowsPerPageOption))
236
- }), /*#__PURE__*/_jsx(TablePaginationDisplayedRows, {
237
- className: classes.displayedRows,
284
+ }), /*#__PURE__*/_jsx(DisplayedRows, {
285
+ ...displayedRowsProps,
238
286
  children: labelDisplayedRows({
239
287
  from: count === 0 ? 0 : page * rowsPerPage + 1,
240
288
  to: getLabelDisplayedRowsTo(),
@@ -281,10 +329,6 @@ process.env.NODE_ENV !== "production" ? TablePagination.propTypes /* remove-prop
281
329
  * Override or extend the styles applied to the component.
282
330
  */
283
331
  classes: PropTypes.object,
284
- /**
285
- * @ignore
286
- */
287
- className: PropTypes.string,
288
332
  /**
289
333
  * @ignore
290
334
  */
@@ -408,7 +452,7 @@ process.env.NODE_ENV !== "production" ? TablePagination.propTypes /* remove-prop
408
452
  */
409
453
  showLastButton: PropTypes.bool,
410
454
  /**
411
- * The props used for each slot inside the TablePagination.
455
+ * The props used for each slot inside.
412
456
  * @default {}
413
457
  */
414
458
  slotProps: PropTypes.shape({
@@ -422,11 +466,16 @@ process.env.NODE_ENV !== "production" ? TablePagination.propTypes /* remove-prop
422
466
  previousButton: PropTypes.object,
423
467
  previousButtonIcon: PropTypes.object
424
468
  }),
425
- select: PropTypes.object
469
+ displayedRows: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
470
+ menuItem: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
471
+ root: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
472
+ select: PropTypes.object,
473
+ selectLabel: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
474
+ spacer: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
475
+ toolbar: PropTypes.oneOfType([PropTypes.func, PropTypes.object])
426
476
  }),
427
477
  /**
428
- * The components used for each slot inside the TablePagination.
429
- * Either a string to use a HTML element or a component.
478
+ * The components used for each slot inside.
430
479
  * @default {}
431
480
  */
432
481
  slots: PropTypes.shape({
@@ -439,7 +488,14 @@ process.env.NODE_ENV !== "production" ? TablePagination.propTypes /* remove-prop
439
488
  nextButtonIcon: PropTypes.elementType,
440
489
  previousButton: PropTypes.elementType,
441
490
  previousButtonIcon: PropTypes.elementType
442
- })
491
+ }),
492
+ displayedRows: PropTypes.elementType,
493
+ menuItem: PropTypes.elementType,
494
+ root: PropTypes.elementType,
495
+ select: PropTypes.elementType,
496
+ selectLabel: PropTypes.elementType,
497
+ spacer: PropTypes.elementType,
498
+ toolbar: PropTypes.elementType
443
499
  }),
444
500
  /**
445
501
  * The system prop that allows defining system overrides as well as additional CSS styles.
package/Zoom/Zoom.js CHANGED
@@ -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/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/material v6.2.1
2
+ * @mui/material v6.3.0
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
@@ -38,6 +38,7 @@ const AccordionSummaryRoot = styled(ButtonBase, {
38
38
  };
39
39
  return {
40
40
  display: 'flex',
41
+ width: '100%',
41
42
  minHeight: 48,
42
43
  padding: theme.spacing(0, 2),
43
44
  transition: theme.transitions.create(['min-height', 'background-color'], transition),
@@ -60,7 +61,7 @@ const AccordionSummaryRoot = styled(ButtonBase, {
60
61
  }]
61
62
  };
62
63
  }));
63
- const AccordionSummaryContent = styled('div', {
64
+ const AccordionSummaryContent = styled('span', {
64
65
  name: 'MuiAccordionSummary',
65
66
  slot: 'Content',
66
67
  overridesResolver: (props, styles) => styles.content
@@ -68,6 +69,7 @@ const AccordionSummaryContent = styled('div', {
68
69
  theme
69
70
  }) => ({
70
71
  display: 'flex',
72
+ textAlign: 'start',
71
73
  flexGrow: 1,
72
74
  margin: '12px 0',
73
75
  variants: [{
@@ -82,7 +84,7 @@ const AccordionSummaryContent = styled('div', {
82
84
  }
83
85
  }]
84
86
  })));
85
- const AccordionSummaryExpandIconWrapper = styled('div', {
87
+ const AccordionSummaryExpandIconWrapper = styled('span', {
86
88
  name: 'MuiAccordionSummary',
87
89
  slot: 'ExpandIconWrapper',
88
90
  overridesResolver: (props, styles) => styles.expandIconWrapper
@@ -137,7 +139,6 @@ const AccordionSummary = /*#__PURE__*/React.forwardRef(function AccordionSummary
137
139
  focusRipple: false,
138
140
  disableRipple: true,
139
141
  disabled: disabled,
140
- component: "div",
141
142
  "aria-expanded": expanded,
142
143
  className: clsx(classes.root, className),
143
144
  focusVisibleClassName: clsx(classes.focusVisible, focusVisibleClassName),
@@ -952,7 +952,7 @@ process.env.NODE_ENV !== "production" ? Autocomplete.propTypes /* remove-proptyp
952
952
  * If provided, the options will be grouped under the returned string.
953
953
  * The groupBy value is also used as the text for group headings when `renderGroup` is not provided.
954
954
  *
955
- * @param {Value} options The options to group.
955
+ * @param {Value} option The Autocomplete option.
956
956
  * @returns {string}
957
957
  */
958
958
  groupBy: PropTypes.func,
@@ -10,13 +10,6 @@ import useSlot from "../utils/useSlot.js";
10
10
  import Fade from "../Fade/index.js";
11
11
  import { getBackdropUtilityClass } from "./backdropClasses.js";
12
12
  import { jsx as _jsx } from "react/jsx-runtime";
13
- const removeOwnerState = props => {
14
- const {
15
- ownerState,
16
- ...rest
17
- } = props;
18
- return rest;
19
- };
20
13
  const useUtilityClasses = ownerState => {
21
14
  const {
22
15
  classes,
@@ -105,12 +98,11 @@ const Backdrop = /*#__PURE__*/React.forwardRef(function Backdrop(inProps, ref) {
105
98
  externalForwardedProps,
106
99
  ownerState
107
100
  });
108
- const transitionPropsRemoved = removeOwnerState(transitionProps);
109
101
  return /*#__PURE__*/_jsx(TransitionSlot, {
110
102
  in: open,
111
103
  timeout: transitionDuration,
112
104
  ...other,
113
- ...transitionPropsRemoved,
105
+ ...transitionProps,
114
106
  children: /*#__PURE__*/_jsx(RootSlot, {
115
107
  "aria-hidden": true,
116
108
  ...rootProps,
@@ -272,7 +272,10 @@ const Collapse = /*#__PURE__*/React.forwardRef(function Collapse(inProps, ref) {
272
272
  nodeRef: nodeRef,
273
273
  timeout: timeout === 'auto' ? null : timeout,
274
274
  ...other,
275
- children: (state, childProps) => /*#__PURE__*/_jsx(CollapseRoot, {
275
+ children: (state, {
276
+ ownerState: incomingOwnerState,
277
+ ...restChildProps
278
+ }) => /*#__PURE__*/_jsx(CollapseRoot, {
276
279
  as: component,
277
280
  className: clsx(classes.root, className, {
278
281
  'entered': classes.entered,
@@ -283,13 +286,11 @@ const Collapse = /*#__PURE__*/React.forwardRef(function Collapse(inProps, ref) {
283
286
  ...style
284
287
  },
285
288
  ref: handleRef,
286
- ...childProps,
287
- // `ownerState` is set after `childProps` to override any existing `ownerState` property in `childProps`
288
- // that might have been forwarded from the Transition component.
289
289
  ownerState: {
290
290
  ...ownerState,
291
291
  state
292
292
  },
293
+ ...restChildProps,
293
294
  children: /*#__PURE__*/_jsx(CollapseWrapper, {
294
295
  ownerState: {
295
296
  ...ownerState,
@@ -114,7 +114,10 @@ const Fade = /*#__PURE__*/React.forwardRef(function Fade(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
  opacity: 0,
@@ -124,7 +127,7 @@ const Fade = /*#__PURE__*/React.forwardRef(function Fade(props, ref) {
124
127
  ...children.props.style
125
128
  },
126
129
  ref: handleRef,
127
- ...childProps
130
+ ...restChildProps
128
131
  });
129
132
  }
130
133
  });
@@ -512,7 +512,5 @@ process.env.NODE_ENV !== "production" ? FilledInput.propTypes /* remove-proptype
512
512
  */
513
513
  value: PropTypes.any
514
514
  } : void 0;
515
- if (FilledInput) {
516
- FilledInput.muiName = 'Input';
517
- }
515
+ FilledInput.muiName = 'Input';
518
516
  export default FilledInput;
@@ -163,7 +163,10 @@ const Grow = /*#__PURE__*/React.forwardRef(function Grow(props, ref) {
163
163
  addEndListener: handleAddEndListener,
164
164
  timeout: timeout === 'auto' ? null : timeout,
165
165
  ...other,
166
- children: (state, childProps) => {
166
+ children: (state, {
167
+ ownerState,
168
+ ...restChildProps
169
+ }) => {
167
170
  return /*#__PURE__*/React.cloneElement(children, {
168
171
  style: {
169
172
  opacity: 0,
@@ -174,7 +177,7 @@ const Grow = /*#__PURE__*/React.forwardRef(function Grow(props, ref) {
174
177
  ...children.props.style
175
178
  },
176
179
  ref: handleRef,
177
- ...childProps
180
+ ...restChildProps
178
181
  });
179
182
  }
180
183
  });
@@ -181,7 +181,5 @@ process.env.NODE_ENV !== "production" ? Icon.propTypes /* remove-proptypes */ =
181
181
  */
182
182
  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])
183
183
  } : void 0;
184
- if (Icon) {
185
- Icon.muiName = 'Icon';
186
- }
184
+ Icon.muiName = 'Icon';
187
185
  export default Icon;
@@ -357,7 +357,5 @@ process.env.NODE_ENV !== "production" ? Input.propTypes /* remove-proptypes */ =
357
357
  */
358
358
  value: PropTypes.any
359
359
  } : void 0;
360
- if (Input) {
361
- Input.muiName = 'Input';
362
- }
360
+ Input.muiName = 'Input';
363
361
  export default Input;
@@ -406,7 +406,5 @@ process.env.NODE_ENV !== "production" ? OutlinedInput.propTypes /* remove-propty
406
406
  */
407
407
  value: PropTypes.any
408
408
  } : void 0;
409
- if (OutlinedInput) {
410
- OutlinedInput.muiName = 'Input';
411
- }
409
+ OutlinedInput.muiName = 'Input';
412
410
  export default OutlinedInput;
@@ -217,7 +217,10 @@ const Slide = /*#__PURE__*/React.forwardRef(function Slide(props, ref) {
217
217
  in: inProp,
218
218
  timeout: timeout,
219
219
  ...other,
220
- children: (state, childProps) => {
220
+ children: (state, {
221
+ ownerState,
222
+ ...restChildProps
223
+ }) => {
221
224
  return /*#__PURE__*/React.cloneElement(children, {
222
225
  ref: handleRef,
223
226
  style: {
@@ -225,7 +228,7 @@ const Slide = /*#__PURE__*/React.forwardRef(function Slide(props, ref) {
225
228
  ...style,
226
229
  ...children.props.style
227
230
  },
228
- ...childProps
231
+ ...restChildProps
229
232
  });
230
233
  }
231
234
  });
@@ -11,6 +11,7 @@ import Collapse from "../Collapse/index.js";
11
11
  import StepperContext from "../Stepper/StepperContext.js";
12
12
  import StepContext from "../Step/StepContext.js";
13
13
  import { getStepContentUtilityClass } from "./stepContentClasses.js";
14
+ import useSlot from "../utils/useSlot.js";
14
15
  import { jsx as _jsx } from "react/jsx-runtime";
15
16
  const useUtilityClasses = ownerState => {
16
17
  const {
@@ -66,6 +67,8 @@ const StepContent = /*#__PURE__*/React.forwardRef(function StepContent(inProps,
66
67
  TransitionComponent = Collapse,
67
68
  transitionDuration: transitionDurationProp = 'auto',
68
69
  TransitionProps,
70
+ slots = {},
71
+ slotProps = {},
69
72
  ...other
70
73
  } = props;
71
74
  const {
@@ -90,19 +93,32 @@ const StepContent = /*#__PURE__*/React.forwardRef(function StepContent(inProps,
90
93
  if (transitionDurationProp === 'auto' && !TransitionComponent.muiSupportAuto) {
91
94
  transitionDuration = undefined;
92
95
  }
96
+ const externalForwardedProps = {
97
+ slots,
98
+ slotProps: {
99
+ transition: TransitionProps,
100
+ ...slotProps
101
+ }
102
+ };
103
+ const [TransitionSlot, transitionProps] = useSlot('transition', {
104
+ elementType: StepContentTransition,
105
+ externalForwardedProps,
106
+ ownerState,
107
+ className: classes.transition,
108
+ additionalProps: {
109
+ in: active || expanded,
110
+ timeout: transitionDuration,
111
+ unmountOnExit: true
112
+ }
113
+ });
93
114
  return /*#__PURE__*/_jsx(StepContentRoot, {
94
115
  className: clsx(classes.root, className),
95
116
  ref: ref,
96
117
  ownerState: ownerState,
97
118
  ...other,
98
- children: /*#__PURE__*/_jsx(StepContentTransition, {
119
+ children: /*#__PURE__*/_jsx(TransitionSlot, {
99
120
  as: TransitionComponent,
100
- in: active || expanded,
101
- className: classes.transition,
102
- ownerState: ownerState,
103
- timeout: transitionDuration,
104
- unmountOnExit: true,
105
- ...TransitionProps,
121
+ ...transitionProps,
106
122
  children: children
107
123
  })
108
124
  });
@@ -124,6 +140,20 @@ process.env.NODE_ENV !== "production" ? StepContent.propTypes /* remove-proptype
124
140
  * @ignore
125
141
  */
126
142
  className: PropTypes.string,
143
+ /**
144
+ * The props used for each slot inside.
145
+ * @default {}
146
+ */
147
+ slotProps: PropTypes.shape({
148
+ transition: PropTypes.oneOfType([PropTypes.func, PropTypes.object])
149
+ }),
150
+ /**
151
+ * The components used for each slot inside.
152
+ * @default {}
153
+ */
154
+ slots: PropTypes.shape({
155
+ transition: PropTypes.elementType
156
+ }),
127
157
  /**
128
158
  * The system prop that allows defining system overrides as well as additional CSS styles.
129
159
  */
@@ -132,6 +162,7 @@ process.env.NODE_ENV !== "production" ? StepContent.propTypes /* remove-proptype
132
162
  * The component used for the transition.
133
163
  * [Follow this guide](https://mui.com/material-ui/transitions/#transitioncomponent-prop) to learn more about the requirements for this component.
134
164
  * @default Collapse
165
+ * @deprecated Use `slots.transition` instead. This prop will be removed in v7. [How to migrate](/material-ui/migration/migrating-from-deprecated-apis/).
135
166
  */
136
167
  TransitionComponent: PropTypes.elementType,
137
168
  /**
@@ -149,6 +180,7 @@ process.env.NODE_ENV !== "production" ? StepContent.propTypes /* remove-proptype
149
180
  /**
150
181
  * Props applied to the transition element.
151
182
  * By default, the element is based on this [`Transition`](https://reactcommunity.org/react-transition-group/transition/) component.
183
+ * @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.
152
184
  */
153
185
  TransitionProps: PropTypes.object
154
186
  } : void 0;
@@ -267,7 +267,5 @@ process.env.NODE_ENV !== "production" ? StepLabel.propTypes /* remove-proptypes
267
267
  */
268
268
  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])
269
269
  } : void 0;
270
- if (StepLabel) {
271
- StepLabel.muiName = 'StepLabel';
272
- }
270
+ StepLabel.muiName = 'StepLabel';
273
271
  export default StepLabel;
@@ -230,7 +230,5 @@ process.env.NODE_ENV !== "production" ? SvgIcon.propTypes /* remove-proptypes */
230
230
  */
231
231
  viewBox: PropTypes.string
232
232
  } : void 0;
233
- if (SvgIcon) {
234
- SvgIcon.muiName = 'SvgIcon';
235
- }
233
+ SvgIcon.muiName = 'SvgIcon';
236
234
  export default SvgIcon;