@mui/codemod 6.4.0 → 6.4.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 (27) hide show
  1. package/README.md +72 -0
  2. package/node/deprecations/alert-classes/postcss-plugin.js +1 -1
  3. package/node/deprecations/all/deprecations-all.js +2 -0
  4. package/node/deprecations/all/postcss.config.js +4 -1
  5. package/node/deprecations/button-classes/postcss-plugin.js +1 -1
  6. package/node/deprecations/button-group-classes/postcss-plugin.js +1 -1
  7. package/node/deprecations/chip-classes/postcss-plugin.js +1 -1
  8. package/node/deprecations/drawer-classes/drawer-classes.js +77 -0
  9. package/node/deprecations/drawer-classes/index.js +13 -0
  10. package/node/deprecations/drawer-classes/postcss-plugin.js +51 -0
  11. package/node/deprecations/drawer-classes/postcss.config.js +8 -0
  12. package/node/deprecations/drawer-classes/test-cases/actual.js +19 -0
  13. package/node/deprecations/drawer-classes/test-cases/expected.js +19 -0
  14. package/node/deprecations/list-item-props/list-item-props.js +14 -0
  15. package/node/deprecations/list-item-props/test-cases/actual.js +6 -0
  16. package/node/deprecations/list-item-props/test-cases/expected.js +10 -0
  17. package/node/deprecations/list-item-props/test-cases/theme.actual.js +10 -0
  18. package/node/deprecations/list-item-props/test-cases/theme.expected.js +14 -0
  19. package/node/deprecations/modal-props/modal-props.js +14 -0
  20. package/node/deprecations/modal-props/test-cases/actual.js +6 -0
  21. package/node/deprecations/modal-props/test-cases/expected.js +10 -0
  22. package/node/deprecations/modal-props/test-cases/theme.actual.js +10 -0
  23. package/node/deprecations/modal-props/test-cases/theme.expected.js +14 -0
  24. package/node/deprecations/pagination-item-classes/postcss-plugin.js +1 -1
  25. package/node/deprecations/step-connector-classes/postcss-plugin.js +1 -1
  26. package/node/deprecations/toggle-button-group-classes/postcss-plugin.js +1 -1
  27. package/package.json +1 -1
package/README.md CHANGED
@@ -1032,6 +1032,78 @@ npx @mui/codemod@latest deprecations/circular-progress-classes <path>
1032
1032
  npx @mui/codemod@latest deprecations/divider-props <path>
1033
1033
  ```
1034
1034
 
1035
+ #### `drawer-classes`
1036
+
1037
+ JS transforms:
1038
+
1039
+ ```diff
1040
+ import { drawerClasses } from '@mui/material/Drawer';
1041
+
1042
+ MuiDrawer: {
1043
+ styleOverrides: {
1044
+ root: {
1045
+ - [`.${drawerClasses.paperAnchorBottom}`]: {
1046
+ + [`&.${drawerClasses.anchorBottom} > .${drawerClasses.paper}`]: {
1047
+ color: 'red',
1048
+ },
1049
+ - [`.${drawerClasses.paperAnchorLeft}`]: {
1050
+ + [`&.${drawerClasses.anchorLeft} > .${drawerClasses.paper}`]: {
1051
+ color: 'red',
1052
+ },
1053
+ - [`.${drawerClasses.paperAnchorRight}`]: {
1054
+ + [`&.${drawerClasses.anchorRight} > .${drawerClasses.paper}`]: {
1055
+ color: 'red',
1056
+ },
1057
+ - [`.${drawerClasses.paperAnchorTop}`]: {
1058
+ + [`&.${drawerClasses.anchorTop} > .${drawerClasses.paper}`]: {
1059
+ color: 'red',
1060
+ },
1061
+ - [`.${drawerClasses.paperAnchorDockedBottom}`]: {
1062
+ + [`&.${drawerClasses.docked}.${drawerClasses.anchorBottom} > .${drawerClasses.paper}`]: {
1063
+ color: 'red',
1064
+ },
1065
+ - [`.${drawerClasses.paperAnchorDockedLeft}`]: {
1066
+ + [`&.${drawerClasses.docked}.${drawerClasses.anchorLeft} > .${drawerClasses.paper}`]: {
1067
+ color: 'red',
1068
+ },
1069
+ - [`.${drawerClasses.paperAnchorDockedRight}`]: {
1070
+ + [`&.${drawerClasses.docked}.${drawerClasses.anchorRight} > .${drawerClasses.paper}`]: {
1071
+ color: 'red',
1072
+ },
1073
+ - [`.${drawerClasses.paperAnchorDockedTop}`]: {
1074
+ + [`&.${drawerClasses.docked}.${drawerClasses.anchorTop} > .${drawerClasses.paper}`]: {
1075
+ color: 'red',
1076
+ },
1077
+ },
1078
+ },
1079
+ },
1080
+ ```
1081
+
1082
+ CSS transforms:
1083
+
1084
+ ```diff
1085
+ -.MuiDrawer-paperAnchorBottom
1086
+ +.MuiDrawer-anchorBottom > .MuiDrawer-paper
1087
+ -.MuiDrawer-paperAnchorLeft
1088
+ +.MuiDrawer-anchorLeft > .MuiDrawer-paper
1089
+ -.MuiDrawer-paperAnchorRight
1090
+ +.MuiDrawer-anchorRight > .MuiDrawer-paper
1091
+ -.MuiDrawer-paperAnchorTop
1092
+ +.MuiDrawer-anchorTop > .MuiDrawer-paper
1093
+ -.MuiDrawer-paperAnchorDockedBottom
1094
+ +.MuiDrawer-docked.MuiDrawer-anchorBottom > .MuiDrawer-paper
1095
+ -.MuiDrawer-paperAnchorDockedLeft
1096
+ +.MuiDrawer-docked.MuiDrawer-anchorLeft > .MuiDrawer-paper
1097
+ -.MuiDrawer-paperAnchorDockedRight
1098
+ +.MuiDrawer-docked.MuiDrawer-anchorRight > .MuiDrawer-paper
1099
+ -.MuiDrawer-paperAnchorDockedTop
1100
+ +.MuiDrawer-docked.MuiDrawer-anchorTop > .MuiDrawer-paper
1101
+ ```
1102
+
1103
+ ```bash
1104
+ npx @mui/codemod@latest deprecations/drawer-classes <path>
1105
+ ```
1106
+
1035
1107
  #### `filled-input-props`
1036
1108
 
1037
1109
  ```diff
@@ -14,7 +14,7 @@ const classes = variants.reduce((acc, variant) => {
14
14
  }, []);
15
15
  const plugin = () => {
16
16
  return {
17
- postcssPlugin: `Replace deperecated Alert classes with new classes`,
17
+ postcssPlugin: `Replace deprecated Alert classes with new classes`,
18
18
  Rule(rule) {
19
19
  const {
20
20
  selector
@@ -17,6 +17,7 @@ var _buttonGroupClasses = _interopRequireDefault(require("../button-group-classe
17
17
  var _chipClasses = _interopRequireDefault(require("../chip-classes"));
18
18
  var _circularProgressClasses = _interopRequireDefault(require("../circular-progress-classes"));
19
19
  var _dividerProps = _interopRequireDefault(require("../divider-props"));
20
+ var _drawerClasses = _interopRequireDefault(require("../drawer-classes"));
20
21
  var _filledInputProps = _interopRequireDefault(require("../filled-input-props"));
21
22
  var _formControlLabelProps = _interopRequireDefault(require("../form-control-label-props"));
22
23
  var _imageListItemBarClasses = _interopRequireDefault(require("../image-list-item-bar-classes"));
@@ -56,6 +57,7 @@ function deprecationsAll(file, api, options) {
56
57
  file.source = (0, _chipClasses.default)(file, api, options);
57
58
  file.source = (0, _circularProgressClasses.default)(file, api, options);
58
59
  file.source = (0, _dividerProps.default)(file, api, options);
60
+ file.source = (0, _drawerClasses.default)(file, api, options);
59
61
  file.source = (0, _filledInputProps.default)(file, api, options);
60
62
  file.source = (0, _formControlLabelProps.default)(file, api, options);
61
63
  file.source = (0, _imageListItemBarClasses.default)(file, api, options);
@@ -15,6 +15,9 @@ const {
15
15
  const {
16
16
  plugin: chipClassesPlugin
17
17
  } = require('../chip-classes/postcss-plugin');
18
+ const {
19
+ plugin: drawerClassesPlugin
20
+ } = require('../drawer-classes/postcss-plugin');
18
21
  const {
19
22
  plugin: paginationItemClassesPlugin
20
23
  } = require('../pagination-item-classes/postcss-plugin');
@@ -40,5 +43,5 @@ const {
40
43
  plugin: selectClassesPlugin
41
44
  } = require('../select-classes/postcss-plugin');
42
45
  module.exports = {
43
- plugins: [accordionSummaryClassesPlugin, alertClassesPlugin, buttonClassesPlugin, buttonGroupClassesPlugin, chipClassesPlugin, circularProgressClassesPlugin, linearProgressClassesPlugin, paginationItemClassesPlugin, stepConnectorClassesPlugin, toggleButtonGroupClassesPlugin, tabClassesPlugin, tableSortLabelClassesPlugin, selectClassesPlugin]
46
+ plugins: [accordionSummaryClassesPlugin, alertClassesPlugin, buttonClassesPlugin, buttonGroupClassesPlugin, chipClassesPlugin, circularProgressClassesPlugin, linearProgressClassesPlugin, drawerClassesPlugin, paginationItemClassesPlugin, stepConnectorClassesPlugin, toggleButtonGroupClassesPlugin, tabClassesPlugin, tableSortLabelClassesPlugin, selectClassesPlugin]
44
47
  };
@@ -102,7 +102,7 @@ const classes = [{
102
102
  }];
103
103
  const plugin = () => {
104
104
  return {
105
- postcssPlugin: `Replace deperecated Button classes with new classes`,
105
+ postcssPlugin: `Replace deprecated Button classes with new classes`,
106
106
  Rule(rule) {
107
107
  const {
108
108
  selector
@@ -54,7 +54,7 @@ const classes = [{
54
54
  }];
55
55
  const plugin = () => {
56
56
  return {
57
- postcssPlugin: `Replace deperecated ButtonGroup classes with new classes`,
57
+ postcssPlugin: `Replace deprecated ButtonGroup classes with new classes`,
58
58
  Rule(rule) {
59
59
  const {
60
60
  selector
@@ -81,7 +81,7 @@ const classes = [{
81
81
  }];
82
82
  const plugin = () => {
83
83
  return {
84
- postcssPlugin: `Replace deperecated Chip classes with new classes`,
84
+ postcssPlugin: `Replace deprecated Chip classes with new classes`,
85
85
  Rule(rule) {
86
86
  const {
87
87
  selector
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = transformer;
7
+ var _postcssPlugin = require("./postcss-plugin");
8
+ /**
9
+ * @param {import('jscodeshift').FileInfo} file
10
+ * @param {import('jscodeshift').API} api
11
+ */
12
+ function transformer(file, api, options) {
13
+ const j = api.jscodeshift;
14
+ const root = j(file.source);
15
+ const printOptions = options.printOptions;
16
+ _postcssPlugin.classes.forEach(({
17
+ deprecatedClass,
18
+ replacementSelector
19
+ }) => {
20
+ const replacementSelectorPrefix = '&';
21
+ root.find(j.ImportDeclaration).filter(path => path.node.source.value.match(/^@mui\/material\/Drawer$/)).forEach(path => {
22
+ path.node.specifiers.forEach(specifier => {
23
+ if (specifier.type === 'ImportSpecifier' && specifier.imported.name === 'drawerClasses') {
24
+ const deprecatedAtomicClass = deprecatedClass.replace(`${deprecatedClass.split('-')[0]}-`, '');
25
+ root.find(j.MemberExpression, {
26
+ object: {
27
+ name: specifier.local.name
28
+ },
29
+ property: {
30
+ name: deprecatedAtomicClass
31
+ }
32
+ }).forEach(memberExpression => {
33
+ const parent = memberExpression.parentPath.parentPath.value;
34
+ if (parent.type === j.TemplateLiteral.name) {
35
+ const memberExpressionIndex = parent.expressions.findIndex(expression => expression === memberExpression.value);
36
+ const precedingTemplateElement = parent.quasis[memberExpressionIndex];
37
+ const atomicClasses = replacementSelector.replaceAll('MuiDrawer-', '').replaceAll(replacementSelectorPrefix, '').replaceAll(' > ', '').split('.').filter(Boolean);
38
+ if (precedingTemplateElement.value.raw.endsWith(deprecatedClass.startsWith(' ') ? `${replacementSelectorPrefix} .` : `${replacementSelectorPrefix}.`)) {
39
+ const atomicClassesArgs = [memberExpressionIndex, 1, ...atomicClasses.map(atomicClass => j.memberExpression(memberExpression.value.object, j.identifier(atomicClass)))];
40
+ parent.expressions.splice(...atomicClassesArgs);
41
+ if (replacementSelector.includes(' > ')) {
42
+ const quasisArgs = [memberExpressionIndex, 1, j.templateElement({
43
+ raw: precedingTemplateElement.value.raw.replace(' ', ''),
44
+ cooked: precedingTemplateElement.value.cooked.replace(' ', '')
45
+ }, false), j.templateElement({
46
+ raw: ' > .',
47
+ cooked: ' > .'
48
+ }, false)];
49
+ if (atomicClasses.length === 3) {
50
+ quasisArgs.splice(3, 0, j.templateElement({
51
+ raw: '.',
52
+ cooked: '.'
53
+ }, false));
54
+ }
55
+ parent.quasis.splice(...quasisArgs);
56
+ } else {
57
+ parent.quasis.splice(memberExpressionIndex, 1, j.templateElement({
58
+ raw: precedingTemplateElement.value.raw,
59
+ cooked: precedingTemplateElement.value.cooked
60
+ }, false), j.templateElement({
61
+ raw: '.',
62
+ cooked: '.'
63
+ }, false));
64
+ }
65
+ }
66
+ }
67
+ });
68
+ }
69
+ });
70
+ });
71
+ const selectorRegex = new RegExp(`^${replacementSelectorPrefix}${deprecatedClass}`);
72
+ root.find(j.Literal, literal => typeof literal.value === 'string' && literal.value.match(selectorRegex)).forEach(path => {
73
+ path.replace(j.literal(path.value.value.replace(selectorRegex, `${replacementSelectorPrefix}${replacementSelector}`)));
74
+ });
75
+ });
76
+ return root.toSource(printOptions);
77
+ }
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ Object.defineProperty(exports, "default", {
8
+ enumerable: true,
9
+ get: function () {
10
+ return _drawerClasses.default;
11
+ }
12
+ });
13
+ var _drawerClasses = _interopRequireDefault(require("./drawer-classes"));
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+
3
+ const classes = [{
4
+ deprecatedClass: ' .MuiDrawer-paperAnchorBottom',
5
+ replacementSelector: '.MuiDrawer-anchorBottom > .MuiDrawer-paper'
6
+ }, {
7
+ deprecatedClass: ' .MuiDrawer-paperAnchorLeft',
8
+ replacementSelector: '.MuiDrawer-anchorLeft > .MuiDrawer-paper'
9
+ }, {
10
+ deprecatedClass: ' .MuiDrawer-paperAnchorRight',
11
+ replacementSelector: '.MuiDrawer-anchorRight > .MuiDrawer-paper'
12
+ }, {
13
+ deprecatedClass: ' .MuiDrawer-paperAnchorTop',
14
+ replacementSelector: '.MuiDrawer-anchorTop > .MuiDrawer-paper'
15
+ }, {
16
+ deprecatedClass: ' .MuiDrawer-paperAnchorDockedBottom',
17
+ replacementSelector: '.MuiDrawer-docked.MuiDrawer-anchorBottom > .MuiDrawer-paper'
18
+ }, {
19
+ deprecatedClass: ' .MuiDrawer-paperAnchorDockedLeft',
20
+ replacementSelector: '.MuiDrawer-docked.MuiDrawer-anchorLeft > .MuiDrawer-paper'
21
+ }, {
22
+ deprecatedClass: ' .MuiDrawer-paperAnchorDockedRight',
23
+ replacementSelector: '.MuiDrawer-docked.MuiDrawer-anchorRight > .MuiDrawer-paper'
24
+ }, {
25
+ deprecatedClass: ' .MuiDrawer-paperAnchorDockedTop',
26
+ replacementSelector: '.MuiDrawer-docked.MuiDrawer-anchorTop > .MuiDrawer-paper'
27
+ }];
28
+ const plugin = () => {
29
+ return {
30
+ postcssPlugin: `Replace deprecated Drawer classes with new classes`,
31
+ Rule(rule) {
32
+ const {
33
+ selector
34
+ } = rule;
35
+ classes.forEach(({
36
+ deprecatedClass,
37
+ replacementSelector
38
+ }) => {
39
+ const selectorRegex = new RegExp(`${deprecatedClass}`);
40
+ if (selector.match(selectorRegex)) {
41
+ rule.selector = selector.replace(selectorRegex, replacementSelector);
42
+ }
43
+ });
44
+ }
45
+ };
46
+ };
47
+ plugin.postcss = true;
48
+ module.exports = {
49
+ plugin,
50
+ classes
51
+ };
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+
3
+ const {
4
+ plugin
5
+ } = require('./postcss-plugin');
6
+ module.exports = {
7
+ plugins: [plugin]
8
+ };
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ var _Drawer = require("@mui/material/Drawer");
4
+ "& .MuiDrawer-paperAnchorBottom";
5
+ "& .MuiDrawer-paperAnchorLeft";
6
+ "& .MuiDrawer-paperAnchorRight";
7
+ "& .MuiDrawer-paperAnchorTop";
8
+ "& .MuiDrawer-paperAnchorDockedBottom";
9
+ "& .MuiDrawer-paperAnchorDockedLeft";
10
+ "& .MuiDrawer-paperAnchorDockedRight";
11
+ "& .MuiDrawer-paperAnchorDockedTop";
12
+ `& .${_Drawer.drawerClasses.paperAnchorBottom}`;
13
+ `& .${_Drawer.drawerClasses.paperAnchorLeft}`;
14
+ `& .${_Drawer.drawerClasses.paperAnchorRight}`;
15
+ `& .${_Drawer.drawerClasses.paperAnchorTop}`;
16
+ `& .${_Drawer.drawerClasses.paperAnchorDockedBottom}`;
17
+ `& .${_Drawer.drawerClasses.paperAnchorDockedLeft}`;
18
+ `& .${_Drawer.drawerClasses.paperAnchorDockedRight}`;
19
+ `& .${_Drawer.drawerClasses.paperAnchorDockedTop}`;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ var _Drawer = require("@mui/material/Drawer");
4
+ "&.MuiDrawer-anchorBottom > .MuiDrawer-paper";
5
+ "&.MuiDrawer-anchorLeft > .MuiDrawer-paper";
6
+ "&.MuiDrawer-anchorRight > .MuiDrawer-paper";
7
+ "&.MuiDrawer-anchorTop > .MuiDrawer-paper";
8
+ "&.MuiDrawer-docked.MuiDrawer-anchorBottom > .MuiDrawer-paper";
9
+ "&.MuiDrawer-docked.MuiDrawer-anchorLeft > .MuiDrawer-paper";
10
+ "&.MuiDrawer-docked.MuiDrawer-anchorRight > .MuiDrawer-paper";
11
+ "&.MuiDrawer-docked.MuiDrawer-anchorTop > .MuiDrawer-paper";
12
+ `&.${_Drawer.drawerClasses.anchorBottom} > .${_Drawer.drawerClasses.paper}`;
13
+ `&.${_Drawer.drawerClasses.anchorLeft} > .${_Drawer.drawerClasses.paper}`;
14
+ `&.${_Drawer.drawerClasses.anchorRight} > .${_Drawer.drawerClasses.paper}`;
15
+ `&.${_Drawer.drawerClasses.anchorTop} > .${_Drawer.drawerClasses.paper}`;
16
+ `&.${_Drawer.drawerClasses.docked}.${_Drawer.drawerClasses.anchorBottom} > .${_Drawer.drawerClasses.paper}`;
17
+ `&.${_Drawer.drawerClasses.docked}.${_Drawer.drawerClasses.anchorLeft} > .${_Drawer.drawerClasses.paper}`;
18
+ `&.${_Drawer.drawerClasses.docked}.${_Drawer.drawerClasses.anchorRight} > .${_Drawer.drawerClasses.paper}`;
19
+ `&.${_Drawer.drawerClasses.docked}.${_Drawer.drawerClasses.anchorTop} > .${_Drawer.drawerClasses.paper}`;
@@ -5,6 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.default = transformer;
8
+ var _movePropIntoSlotProps = _interopRequireDefault(require("../utils/movePropIntoSlotProps"));
9
+ var _movePropIntoSlots = _interopRequireDefault(require("../utils/movePropIntoSlots"));
8
10
  var _replaceComponentsWithSlots = _interopRequireDefault(require("../utils/replaceComponentsWithSlots"));
9
11
  /**
10
12
  * @param {import('jscodeshift').FileInfo} file
@@ -18,5 +20,17 @@ function transformer(file, api, options) {
18
20
  root,
19
21
  componentName: 'ListItem'
20
22
  });
23
+ (0, _movePropIntoSlots.default)(j, {
24
+ root,
25
+ componentName: 'ListItem',
26
+ propName: 'ContainerComponent',
27
+ slotName: 'root'
28
+ });
29
+ (0, _movePropIntoSlotProps.default)(j, {
30
+ root,
31
+ componentName: 'ListItem',
32
+ propName: 'ContainerProps',
33
+ slotName: 'root'
34
+ });
21
35
  return root.toSource(printOptions);
22
36
  }
@@ -40,4 +40,10 @@ var _jsxRuntime = require("react/jsx-runtime");
40
40
  componentsProps: {
41
41
  root: componentsRootProps
42
42
  }
43
+ });
44
+ /*#__PURE__*/(0, _jsxRuntime.jsx)(_ListItem.default, {
45
+ ContainerComponent: Container,
46
+ ContainerProps: {
47
+ id: 'test'
48
+ }
43
49
  });
@@ -37,4 +37,14 @@ var _jsxRuntime = require("react/jsx-runtime");
37
37
  ...slotsRootProps
38
38
  }
39
39
  }
40
+ });
41
+ /*#__PURE__*/(0, _jsxRuntime.jsx)(_ListItem.default, {
42
+ slots: {
43
+ root: Container
44
+ },
45
+ slotProps: {
46
+ root: {
47
+ id: 'test'
48
+ }
49
+ }
40
50
  });
@@ -53,4 +53,14 @@ fn({
53
53
  }
54
54
  }
55
55
  }
56
+ });
57
+ fn({
58
+ MuiListItem: {
59
+ defaultProps: {
60
+ ContainerComponent: Container,
61
+ ContainerProps: {
62
+ id: 'test'
63
+ }
64
+ }
65
+ }
56
66
  });
@@ -50,4 +50,18 @@ fn({
50
50
  }
51
51
  }
52
52
  }
53
+ });
54
+ fn({
55
+ MuiListItem: {
56
+ defaultProps: {
57
+ slots: {
58
+ root: Container
59
+ },
60
+ slotProps: {
61
+ root: {
62
+ id: 'test'
63
+ }
64
+ }
65
+ }
66
+ }
53
67
  });
@@ -5,6 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.default = transformer;
8
+ var _movePropIntoSlotProps = _interopRequireDefault(require("../utils/movePropIntoSlotProps"));
9
+ var _movePropIntoSlots = _interopRequireDefault(require("../utils/movePropIntoSlots"));
8
10
  var _replaceComponentsWithSlots = _interopRequireDefault(require("../utils/replaceComponentsWithSlots"));
9
11
  /**
10
12
  * @param {import('jscodeshift').FileInfo} file
@@ -18,5 +20,17 @@ function transformer(file, api, options) {
18
20
  root,
19
21
  componentName: 'Modal'
20
22
  });
23
+ (0, _movePropIntoSlots.default)(j, {
24
+ root,
25
+ componentName: 'Modal',
26
+ propName: 'BackdropComponent',
27
+ slotName: 'backdrop'
28
+ });
29
+ (0, _movePropIntoSlotProps.default)(j, {
30
+ root,
31
+ componentName: 'Modal',
32
+ propName: 'BackdropProps',
33
+ slotName: 'backdrop'
34
+ });
21
35
  return root.toSource(printOptions);
22
36
  }
@@ -40,4 +40,10 @@ var _jsxRuntime = require("react/jsx-runtime");
40
40
  componentsProps: {
41
41
  root: componentsRootProps
42
42
  }
43
+ });
44
+ /*#__PURE__*/(0, _jsxRuntime.jsx)(_Modal.default, {
45
+ BackdropComponent: Backdrop,
46
+ BackdropProps: {
47
+ timeout: 500
48
+ }
43
49
  });
@@ -37,4 +37,14 @@ var _jsxRuntime = require("react/jsx-runtime");
37
37
  ...slotsRootProps
38
38
  }
39
39
  }
40
+ });
41
+ /*#__PURE__*/(0, _jsxRuntime.jsx)(_Modal.default, {
42
+ slots: {
43
+ backdrop: Backdrop
44
+ },
45
+ slotProps: {
46
+ backdrop: {
47
+ timeout: 500
48
+ }
49
+ }
40
50
  });
@@ -53,4 +53,14 @@ fn({
53
53
  }
54
54
  }
55
55
  }
56
+ });
57
+ fn({
58
+ MuiModal: {
59
+ defaultProps: {
60
+ BackdropProps: {
61
+ timeout: 500
62
+ },
63
+ BackdropComponent: Backdrop
64
+ }
65
+ }
56
66
  });
@@ -50,4 +50,18 @@ fn({
50
50
  }
51
51
  }
52
52
  }
53
+ });
54
+ fn({
55
+ MuiModal: {
56
+ defaultProps: {
57
+ slots: {
58
+ backdrop: Backdrop
59
+ },
60
+ slotProps: {
61
+ backdrop: {
62
+ timeout: 500
63
+ }
64
+ }
65
+ }
66
+ }
53
67
  });
@@ -15,7 +15,7 @@ const classes = [{
15
15
  }];
16
16
  const plugin = () => {
17
17
  return {
18
- postcssPlugin: `Replace deperecated PaginationItem classes with new classes`,
18
+ postcssPlugin: `Replace deprecated PaginationItem classes with new classes`,
19
19
  Rule(rule) {
20
20
  const {
21
21
  selector
@@ -9,7 +9,7 @@ const classes = [{
9
9
  }];
10
10
  const plugin = () => {
11
11
  return {
12
- postcssPlugin: `Replace deperecated StepConnector classes with new classes`,
12
+ postcssPlugin: `Replace deprecated StepConnector classes with new classes`,
13
13
  Rule(rule) {
14
14
  const {
15
15
  selector
@@ -9,7 +9,7 @@ const classes = [{
9
9
  }];
10
10
  const plugin = () => {
11
11
  return {
12
- postcssPlugin: `Replace deperecated ToggleButtonGroup classes with new classes`,
12
+ postcssPlugin: `Replace deprecated ToggleButtonGroup classes with new classes`,
13
13
  Rule(rule) {
14
14
  const {
15
15
  selector
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mui/codemod",
3
- "version": "6.4.0",
3
+ "version": "6.4.1",
4
4
  "bin": "./codemod.js",
5
5
  "private": false,
6
6
  "author": "MUI Team",