@mui/codemod 6.0.0-alpha.6 → 6.0.0-alpha.8

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 (95) hide show
  1. package/README.md +125 -0
  2. package/node/deprecations/accordion-props/test-cases/actual.js +6 -3
  3. package/node/deprecations/accordion-props/test-cases/expected.js +14 -10
  4. package/node/deprecations/accordion-props/test-cases/theme.expected.js +8 -7
  5. package/node/deprecations/alert-props/test-cases/expected.js +12 -4
  6. package/node/deprecations/alert-props/test-cases/theme.expected.js +12 -5
  7. package/node/deprecations/all/deprecations-all.js +6 -0
  8. package/node/deprecations/all/postcss.config.js +4 -1
  9. package/node/deprecations/autocomplete-props/autocomplete-props.js +54 -0
  10. package/node/deprecations/autocomplete-props/index.js +13 -0
  11. package/node/deprecations/autocomplete-props/test-cases/actual.js +97 -0
  12. package/node/deprecations/autocomplete-props/test-cases/expected.js +103 -0
  13. package/node/deprecations/autocomplete-props/test-cases/theme.actual.js +65 -0
  14. package/node/deprecations/autocomplete-props/test-cases/theme.expected.js +69 -0
  15. package/node/deprecations/avatar-props/test-cases/expected.js +8 -6
  16. package/node/deprecations/avatar-props/test-cases/theme.expected.js +8 -7
  17. package/node/deprecations/backdrop-props/test-cases/actual.js +3 -2
  18. package/node/deprecations/backdrop-props/test-cases/expected.js +3 -3
  19. package/node/deprecations/badge-props/test-cases/expected.js +12 -5
  20. package/node/deprecations/badge-props/test-cases/theme.expected.js +12 -5
  21. package/node/deprecations/circular-progress-classes/circular-progress-classes.js +77 -0
  22. package/node/deprecations/circular-progress-classes/index.js +13 -0
  23. package/node/deprecations/circular-progress-classes/postcss-plugin.js +33 -0
  24. package/node/deprecations/circular-progress-classes/postcss.config.js +8 -0
  25. package/node/deprecations/circular-progress-classes/test-cases/actual.js +7 -0
  26. package/node/deprecations/circular-progress-classes/test-cases/expected.js +7 -0
  27. package/node/deprecations/divider-props/divider-props.js +36 -30
  28. package/node/deprecations/divider-props/test-cases/actual.js +3 -0
  29. package/node/deprecations/divider-props/test-cases/expected.js +3 -0
  30. package/node/deprecations/divider-props/test-cases/theme.actual.js +7 -0
  31. package/node/deprecations/divider-props/test-cases/theme.expected.js +7 -0
  32. package/node/deprecations/form-control-label-props/test-cases/expected.js +4 -2
  33. package/node/deprecations/form-control-label-props/test-cases/theme.expected.js +4 -3
  34. package/node/deprecations/slider-props/test-cases/expected.js +12 -4
  35. package/node/deprecations/slider-props/test-cases/theme.expected.js +12 -5
  36. package/node/deprecations/speed-dial-props/test-cases/actual.js +3 -2
  37. package/node/deprecations/speed-dial-props/test-cases/expected.js +3 -3
  38. package/node/deprecations/step-label-props/test-cases/expected.js +8 -3
  39. package/node/deprecations/step-label-props/test-cases/theme.expected.js +8 -4
  40. package/node/deprecations/text-field-props/index.js +13 -0
  41. package/node/deprecations/text-field-props/test-cases/actual.js +27 -0
  42. package/node/deprecations/text-field-props/test-cases/expected.js +31 -0
  43. package/node/deprecations/text-field-props/test-cases/theme.actual.js +13 -0
  44. package/node/deprecations/text-field-props/test-cases/theme.expected.js +15 -0
  45. package/node/deprecations/text-field-props/text-field-props.js +48 -0
  46. package/node/deprecations/utils/replaceComponentsWithSlots.js +29 -17
  47. package/node/util/migrateToVariants.js +50 -31
  48. package/node/v5.0.0/badge-overlap-value.test/actual.js +3 -4
  49. package/node/v5.0.0/badge-overlap-value.test/expected.js +3 -4
  50. package/node/v5.0.0/base-remove-component-prop.test/actual.js +4 -4
  51. package/node/v5.0.0/base-remove-component-prop.test/expected.js +4 -4
  52. package/node/v5.0.0/box-sx-prop.test/actual.js +4 -4
  53. package/node/v5.0.0/box-sx-prop.test/expected.js +3 -3
  54. package/node/v5.0.0/create-theme.test/custom-fn.actual.js +3 -4
  55. package/node/v5.0.0/create-theme.test/custom-fn.expected.js +3 -4
  56. package/node/v5.0.0/jss-to-styled.test/first.actual.js +11 -14
  57. package/node/v5.0.0/jss-to-styled.test/first.expected.js +11 -14
  58. package/node/v5.0.0/jss-to-styled.test/seventh.actual.js +4 -4
  59. package/node/v5.0.0/jss-to-styled.test/seventh.expected.js +4 -4
  60. package/node/v5.0.0/jss-to-styled.test/sixth.actual.js +3 -3
  61. package/node/v5.0.0/jss-to-styled.test/sixth.expected.js +3 -3
  62. package/node/v5.0.0/jss-to-styled.test/withCreateStyles.actual.js +3 -3
  63. package/node/v5.0.0/jss-to-styled.test/withCreateStyles.expected.js +3 -4
  64. package/node/v5.0.0/jss-to-styled.test/withCreateStyles1.actual.js +3 -3
  65. package/node/v5.0.0/jss-to-styled.test/withCreateStyles1.expected.js +3 -4
  66. package/node/v5.0.0/jss-to-styled.test/withCreateStyles2.actual.js +3 -3
  67. package/node/v5.0.0/jss-to-styled.test/withCreateStyles2.expected.js +3 -4
  68. package/node/v5.0.0/jss-to-styled.test/withCreateStyles3.actual.js +3 -3
  69. package/node/v5.0.0/jss-to-styled.test/withCreateStyles3.expected.js +3 -4
  70. package/node/v5.0.0/jss-to-tss-react.test/actual-mixins-pattern.js +6 -5
  71. package/node/v5.0.0/jss-to-tss-react.test/expected-mixins-pattern.js +6 -5
  72. package/node/v5.0.0/preset-safe.test/actual.js +6 -4
  73. package/node/v5.0.0/preset-safe.test/expected.js +9 -6
  74. package/node/v5.0.0/table-props.test/actual.js +4 -5
  75. package/node/v5.0.0/table-props.test/expected.js +4 -5
  76. package/node/v5.0.0/theme-spacing.test/large-actual.js +10 -10
  77. package/node/v5.0.0/theme-spacing.test/large-expected.js +10 -10
  78. package/node/v5.0.0/variant-prop.test/actual.js +12 -6
  79. package/node/v5.0.0/variant-prop.test/expected.js +15 -12
  80. package/node/v5.0.0/with-mobile-dialog.test/expected.js +6 -5
  81. package/node/v5.0.0/with-width.test/expected.js +6 -5
  82. package/node/v6.0.0/styled/test-cases/BasicStyled.actual.js +55 -44
  83. package/node/v6.0.0/styled/test-cases/BasicStyled.expected.js +5 -6
  84. package/node/v6.0.0/styled/test-cases/ConditionalStyled.actual.js +80 -70
  85. package/node/v6.0.0/styled/test-cases/ConditionalStyled.expected.js +7 -6
  86. package/node/v6.0.0/styled/test-cases/NestedSpread.actual.js +32 -26
  87. package/node/v6.0.0/styled/test-cases/NestedSpread.expected.js +7 -6
  88. package/node/v6.0.0/styled/test-cases/ThemePaletteMode.expected.js +28 -26
  89. package/node/v6.0.0/styled/test-cases/VariantAndModeStyled.actual.js +6 -5
  90. package/node/v6.0.0/styled/test-cases/VariantAndModeStyled.expected.js +8 -8
  91. package/node/v6.0.0/theme-v6/test-cases/basicTheme.actual.js +254 -225
  92. package/node/v6.0.0/theme-v6/test-cases/basicTheme.expected.js +180 -162
  93. package/node/v6.0.0/theme-v6/test-cases/themeVariants.actual.js +23 -21
  94. package/node/v6.0.0/theme-v6/test-cases/themeVariants.expected.js +20 -19
  95. package/package.json +5 -5
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+
3
+ fn({
4
+ MuiAutocomplete: {
5
+ defaultProps: {
6
+ slots: {
7
+ paper: CustomPaper,
8
+ popper: CustomPopper,
9
+ listbox: CustomListbox
10
+ },
11
+ slotProps: {
12
+ clearIndicator: {
13
+ width: 10
14
+ },
15
+ paper: {
16
+ width: 12
17
+ },
18
+ popper: {
19
+ width: 14
20
+ },
21
+ popupIndicator: {
22
+ width: 16
23
+ },
24
+ listbox: {
25
+ height: 12
26
+ },
27
+ chip: {
28
+ height: 10
29
+ }
30
+ }
31
+ }
32
+ }
33
+ });
34
+ fn({
35
+ MuiAutocomplete: {
36
+ defaultProps: {
37
+ slotProps: {
38
+ clearIndicator: {
39
+ width: 10
40
+ },
41
+ paper: {
42
+ width: 12
43
+ },
44
+ popper: {
45
+ width: 14
46
+ },
47
+ popupIndicator: {
48
+ ...{
49
+ width: 16
50
+ },
51
+ ...{
52
+ width: 20
53
+ }
54
+ },
55
+ listbox: {
56
+ height: 12
57
+ },
58
+ chip: {
59
+ height: 10
60
+ }
61
+ },
62
+ slots: {
63
+ paper: CustomPaper,
64
+ popper: CustomPopper,
65
+ listbox: CustomListbox
66
+ }
67
+ }
68
+ }
69
+ });
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
5
4
  var _Avatar = _interopRequireDefault(require("@mui/material/Avatar"));
6
5
  var _material = require("@mui/material");
7
6
  var _jsxRuntime = require("react/jsx-runtime");
@@ -23,11 +22,14 @@ var _jsxRuntime = require("react/jsx-runtime");
23
22
  });
24
23
  /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Avatar, {
25
24
  slotProps: {
26
- img: (0, _extends2.default)({}, {
27
- onLoad: () => {}
28
- }, {
29
- onError: () => {}
30
- })
25
+ img: {
26
+ ...{
27
+ onLoad: () => {}
28
+ },
29
+ ...{
30
+ onError: () => {}
31
+ }
32
+ }
31
33
  }
32
34
  });
33
35
 
@@ -1,7 +1,5 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
5
3
  fn({
6
4
  MuiAvatar: {
7
5
  defaultProps: {
@@ -18,11 +16,14 @@ fn({
18
16
  MuiAvatar: {
19
17
  defaultProps: {
20
18
  slotProps: {
21
- img: (0, _extends2.default)({}, {
22
- onLoad: () => {}
23
- }, {
24
- onError: () => {}
25
- })
19
+ img: {
20
+ ...{
21
+ onLoad: () => {}
22
+ },
23
+ ...{
24
+ onError: () => {}
25
+ }
26
+ }
26
27
  }
27
28
  }
28
29
  }
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
5
4
  var _Backdrop = _interopRequireDefault(require("@mui/material/Backdrop"));
6
5
  var _material = require("@mui/material");
7
6
  var _jsxRuntime = require("react/jsx-runtime");
@@ -19,7 +18,9 @@ var _jsxRuntime = require("react/jsx-runtime");
19
18
  });
20
19
  /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Backdrop, {
21
20
  TransitionComponent: CustomTransition,
22
- slots: (0, _extends2.default)({}, outerSlots)
21
+ slots: {
22
+ ...outerSlots
23
+ }
23
24
  });
24
25
  /*#__PURE__*/(0, _jsxRuntime.jsx)(_Backdrop.default, {
25
26
  TransitionComponent: ComponentTransition,
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
5
4
  var _Backdrop = _interopRequireDefault(require("@mui/material/Backdrop"));
6
5
  var _material = require("@mui/material");
7
6
  var _jsxRuntime = require("react/jsx-runtime");
@@ -22,9 +21,10 @@ var _jsxRuntime = require("react/jsx-runtime");
22
21
  }
23
22
  });
24
23
  /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Backdrop, {
25
- slots: (0, _extends2.default)({}, outerSlots, {
24
+ slots: {
25
+ ...outerSlots,
26
26
  transition: CustomTransition
27
- })
27
+ }
28
28
  });
29
29
  /*#__PURE__*/(0, _jsxRuntime.jsx)(_Backdrop.default, {
30
30
  slots: {
@@ -1,7 +1,5 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
5
3
  var _material = require("@mui/material");
6
4
  var _jsxRuntime = require("react/jsx-runtime");
7
5
  /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Badge, {
@@ -29,7 +27,10 @@ var _jsxRuntime = require("react/jsx-runtime");
29
27
  },
30
28
  slotProps: {
31
29
  badge: slotsBadgeProps,
32
- root: (0, _extends2.default)({}, componentsRootProps, slotsRootProps)
30
+ root: {
31
+ ...componentsRootProps,
32
+ ...slotsRootProps
33
+ }
33
34
  }
34
35
  });
35
36
  /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Badge, {
@@ -38,7 +39,13 @@ var _jsxRuntime = require("react/jsx-runtime");
38
39
  badge: SlotsBadge
39
40
  },
40
41
  slotProps: {
41
- root: (0, _extends2.default)({}, componentsRootProps, slotsRootProps),
42
- badge: (0, _extends2.default)({}, componentsBadgeProps, slotsBadgeProps)
42
+ root: {
43
+ ...componentsRootProps,
44
+ ...slotsRootProps
45
+ },
46
+ badge: {
47
+ ...componentsBadgeProps,
48
+ ...slotsBadgeProps
49
+ }
43
50
  }
44
51
  });
@@ -1,7 +1,5 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
5
3
  fn({
6
4
  MuiBadge: {
7
5
  defaultProps: {
@@ -36,7 +34,10 @@ fn({
36
34
  badge: SlotsBadge
37
35
  },
38
36
  slotProps: {
39
- root: (0, _extends2.default)({}, componentsRootProps, slotsRootProps),
37
+ root: {
38
+ ...componentsRootProps,
39
+ ...slotsRootProps
40
+ },
40
41
  badge: slotsBadgeProps
41
42
  }
42
43
  }
@@ -50,8 +51,14 @@ fn({
50
51
  badge: SlotsBadge
51
52
  },
52
53
  slotProps: {
53
- root: (0, _extends2.default)({}, componentsRootProps, slotsRootProps),
54
- badge: (0, _extends2.default)({}, componentsBadgeProps, slotsBadgeProps)
54
+ root: {
55
+ ...componentsRootProps,
56
+ ...slotsRootProps
57
+ },
58
+ badge: {
59
+ ...componentsBadgeProps,
60
+ ...slotsBadgeProps
61
+ }
55
62
  }
56
63
  }
57
64
  }
@@ -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\/CircularProgress$/)).forEach(path => {
22
+ path.node.specifiers.forEach(specifier => {
23
+ if (specifier.type === 'ImportSpecifier' && specifier.imported.name === 'circularProgressClasses') {
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('MuiCircularProgress-', '').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");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ Object.defineProperty(exports, "default", {
8
+ enumerable: true,
9
+ get: function () {
10
+ return _circularProgressClasses.default;
11
+ }
12
+ });
13
+ var _circularProgressClasses = _interopRequireDefault(require("./circular-progress-classes"));
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+
3
+ const classes = [{
4
+ deprecatedClass: ' .MuiCircularProgress-circleDeterminate',
5
+ replacementSelector: '.MuiCircularProgress-determinate > .MuiCircularProgress-circle'
6
+ }, {
7
+ deprecatedClass: ' .MuiCircularProgress-circleIndeterminate',
8
+ replacementSelector: '.MuiCircularProgress-indeterminate > .MuiCircularProgress-circle'
9
+ }];
10
+ const plugin = () => {
11
+ return {
12
+ postcssPlugin: `Replace deprecated CircularProgress classes with new classes`,
13
+ Rule(rule) {
14
+ const {
15
+ selector
16
+ } = rule;
17
+ classes.forEach(({
18
+ deprecatedClass,
19
+ replacementSelector
20
+ }) => {
21
+ const selectorRegex = new RegExp(`${deprecatedClass}$`);
22
+ if (selector.match(selectorRegex)) {
23
+ rule.selector = selector.replace(selectorRegex, replacementSelector);
24
+ }
25
+ });
26
+ }
27
+ };
28
+ };
29
+ plugin.postcss = true;
30
+ module.exports = {
31
+ plugin,
32
+ classes
33
+ };
@@ -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,7 @@
1
+ "use strict";
2
+
3
+ var _CircularProgress = require("@mui/material/CircularProgress");
4
+ '& .MuiCircularProgress-circleDeterminate';
5
+ '& .MuiCircularProgress-circleIndeterminate';
6
+ `& .${_CircularProgress.circularProgressClasses.circleDeterminate}`;
7
+ `& .${_CircularProgress.circularProgressClasses.circleIndeterminate}`;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+
3
+ var _CircularProgress = require("@mui/material/CircularProgress");
4
+ "&.MuiCircularProgress-determinate > .MuiCircularProgress-circle";
5
+ "&.MuiCircularProgress-indeterminate > .MuiCircularProgress-circle";
6
+ `&.${_CircularProgress.circularProgressClasses.determinate} > .${_CircularProgress.circularProgressClasses.circle}`;
7
+ `&.${_CircularProgress.circularProgressClasses.indeterminate} > .${_CircularProgress.circularProgressClasses.circle}`;
@@ -20,27 +20,30 @@ function transformer(file, api, options) {
20
20
  root,
21
21
  componentName: 'Divider'
22
22
  }, elementPath => {
23
- elementPath.node.openingElement.attributes = elementPath.node.openingElement.attributes.filter(attr => {
24
- if (attr.type === 'JSXAttribute' && attr.name.name === 'light') {
25
- return false;
26
- }
27
- return true;
28
- });
29
- const sxIndex = elementPath.node.openingElement.attributes.findIndex(attr => attr.type === 'JSXAttribute' && attr.name.name === 'sx');
30
- if (sxIndex === -1) {
31
- (0, _appendAttribute.default)(j, {
32
- target: elementPath.node,
33
- attributeName: 'sx',
34
- expression: j.objectExpression([j.objectProperty(j.identifier('opacity'), j.literal('0.6'))])
23
+ const hasLightProp = elementPath.node.openingElement.attributes.findIndex(attr => attr.type === 'JSXAttribute' && attr.name.name === 'light') !== -1;
24
+ if (hasLightProp) {
25
+ elementPath.node.openingElement.attributes = elementPath.node.openingElement.attributes.filter(attr => {
26
+ if (attr.type === 'JSXAttribute' && attr.name.name === 'light') {
27
+ return false;
28
+ }
29
+ return true;
35
30
  });
36
- } else {
37
- const opacityIndex = elementPath.node.openingElement.attributes[sxIndex].value.expression.properties.findIndex(key => key.key.name === 'opacity');
38
- if (opacityIndex === -1) {
39
- (0, _assignObject.default)(j, {
40
- target: elementPath.node.openingElement.attributes[sxIndex],
41
- key: 'opacity',
42
- expression: j.literal('0.6')
31
+ const sxIndex = elementPath.node.openingElement.attributes.findIndex(attr => attr.type === 'JSXAttribute' && attr.name.name === 'sx');
32
+ if (sxIndex === -1) {
33
+ (0, _appendAttribute.default)(j, {
34
+ target: elementPath.node,
35
+ attributeName: 'sx',
36
+ expression: j.objectExpression([j.objectProperty(j.identifier('opacity'), j.literal('0.6'))])
43
37
  });
38
+ } else {
39
+ const opacityIndex = elementPath.node.openingElement.attributes[sxIndex].value.expression.properties.findIndex(key => key.key.name === 'opacity');
40
+ if (opacityIndex === -1) {
41
+ (0, _assignObject.default)(j, {
42
+ target: elementPath.node.openingElement.attributes[sxIndex],
43
+ key: 'opacity',
44
+ expression: j.literal('0.6')
45
+ });
46
+ }
44
47
  }
45
48
  }
46
49
  });
@@ -50,17 +53,20 @@ function transformer(file, api, options) {
50
53
  }
51
54
  }).forEach(path => {
52
55
  const defaultPropsObject = path.value.value.properties.find(key => key.key.name === 'defaultProps');
53
- defaultPropsObject.value.properties = defaultPropsObject.value.properties.filter(prop => {
54
- var _prop$key;
55
- return !['light'].includes(prop == null || (_prop$key = prop.key) == null ? void 0 : _prop$key.name);
56
- });
57
- const sxIndex = defaultPropsObject.value.properties.findIndex(prop => prop.key.name === 'sx');
58
- if (sxIndex === -1) {
59
- defaultPropsObject.value.properties.push(j.objectProperty(j.identifier('sx'), j.objectExpression([j.objectProperty(j.identifier('opacity'), j.literal('0.6'))])));
60
- } else {
61
- const opacityIndex = defaultPropsObject.value.properties[sxIndex].value.properties.findIndex(key => key.key.name === 'opacity');
62
- if (opacityIndex === -1) {
63
- defaultPropsObject.value.properties[sxIndex].value.properties.push(j.objectProperty(j.identifier('opacity'), j.literal('0.6')));
56
+ const hasLightProp = defaultPropsObject.value.properties.findIndex(prop => prop.key.name === 'light') !== -1;
57
+ if (hasLightProp) {
58
+ defaultPropsObject.value.properties = defaultPropsObject.value.properties.filter(prop => {
59
+ var _prop$key;
60
+ return !['light'].includes(prop == null || (_prop$key = prop.key) == null ? void 0 : _prop$key.name);
61
+ });
62
+ const sxIndex = defaultPropsObject.value.properties.findIndex(prop => prop.key.name === 'sx');
63
+ if (sxIndex === -1) {
64
+ defaultPropsObject.value.properties.push(j.objectProperty(j.identifier('sx'), j.objectExpression([j.objectProperty(j.identifier('opacity'), j.literal('0.6'))])));
65
+ } else {
66
+ const opacityIndex = defaultPropsObject.value.properties[sxIndex].value.properties.findIndex(key => key.key.name === 'opacity');
67
+ if (opacityIndex === -1) {
68
+ defaultPropsObject.value.properties[sxIndex].value.properties.push(j.objectProperty(j.identifier('opacity'), j.literal('0.6')));
69
+ }
64
70
  }
65
71
  }
66
72
  });
@@ -39,4 +39,7 @@ var _jsxRuntime = require("react/jsx-runtime");
39
39
  sx: {
40
40
  bgcolor: 'black'
41
41
  }
42
+ });
43
+ /*#__PURE__*/(0, _jsxRuntime.jsx)(_Divider.default, {
44
+ className: "test"
42
45
  });
@@ -50,4 +50,7 @@ var _jsxRuntime = require("react/jsx-runtime");
50
50
  bgcolor: 'black',
51
51
  opacity: "0.6"
52
52
  }
53
+ });
54
+ /*#__PURE__*/(0, _jsxRuntime.jsx)(_Divider.default, {
55
+ className: "test"
53
56
  });
@@ -44,4 +44,11 @@ fn({
44
44
  }
45
45
  }
46
46
  }
47
+ });
48
+ fn({
49
+ MuiDivider: {
50
+ defaultProps: {
51
+ className: 'my-class'
52
+ }
53
+ }
47
54
  });
@@ -49,4 +49,11 @@ fn({
49
49
  }
50
50
  }
51
51
  }
52
+ });
53
+ fn({
54
+ MuiDivider: {
55
+ defaultProps: {
56
+ className: 'my-class'
57
+ }
58
+ }
52
59
  });
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
5
4
  var _FormControlLabel = _interopRequireDefault(require("@mui/material/FormControlLabel"));
6
5
  var _jsxRuntime = require("react/jsx-runtime");
7
6
  /*#__PURE__*/(0, _jsxRuntime.jsx)(_FormControlLabel.default, {
@@ -14,6 +13,9 @@ var _jsxRuntime = require("react/jsx-runtime");
14
13
  typography: SlotsTypography
15
14
  },
16
15
  slotProps: {
17
- typography: (0, _extends2.default)({}, componentsTypographyProps, slotsTypographyProps)
16
+ typography: {
17
+ ...componentsTypographyProps,
18
+ ...slotsTypographyProps
19
+ }
18
20
  }
19
21
  });
@@ -1,7 +1,5 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
5
3
  fn({
6
4
  MuiFormControlLabel: {
7
5
  defaultProps: {
@@ -15,7 +13,10 @@ fn({
15
13
  MuiFormControlLabel: {
16
14
  defaultProps: {
17
15
  slotProps: {
18
- typography: (0, _extends2.default)({}, componentsTypographyProps, slotsTypographyProps)
16
+ typography: {
17
+ ...componentsTypographyProps,
18
+ ...slotsTypographyProps
19
+ }
19
20
  }
20
21
  }
21
22
  }
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
5
4
  var _Slider = _interopRequireDefault(require("@mui/material/Slider"));
6
5
  var _jsxRuntime = require("react/jsx-runtime");
7
6
  /*#__PURE__*/(0, _jsxRuntime.jsx)(_Slider.default, {
@@ -29,7 +28,10 @@ var _jsxRuntime = require("react/jsx-runtime");
29
28
  },
30
29
  slotProps: {
31
30
  rail: slotsRailProps,
32
- track: (0, _extends2.default)({}, componentsTrackProps, slotsTrackProps)
31
+ track: {
32
+ ...componentsTrackProps,
33
+ ...slotsTrackProps
34
+ }
33
35
  }
34
36
  });
35
37
  /*#__PURE__*/(0, _jsxRuntime.jsx)(_Slider.default, {
@@ -38,7 +40,13 @@ var _jsxRuntime = require("react/jsx-runtime");
38
40
  track: SlotsTrack
39
41
  },
40
42
  slotProps: {
41
- track: (0, _extends2.default)({}, componentsTrackProps, slotsTrackProps),
42
- rail: (0, _extends2.default)({}, componentsRailProps, slotsRailProps)
43
+ track: {
44
+ ...componentsTrackProps,
45
+ ...slotsTrackProps
46
+ },
47
+ rail: {
48
+ ...componentsRailProps,
49
+ ...slotsRailProps
50
+ }
43
51
  }
44
52
  });
@@ -1,7 +1,5 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
5
3
  fn({
6
4
  MuiSlider: {
7
5
  defaultProps: {
@@ -36,7 +34,10 @@ fn({
36
34
  rail: SlotsRail
37
35
  },
38
36
  slotProps: {
39
- track: (0, _extends2.default)({}, componentsTrackProps, slotsTrackProps),
37
+ track: {
38
+ ...componentsTrackProps,
39
+ ...slotsTrackProps
40
+ },
40
41
  rail: slotsRailProps
41
42
  }
42
43
  }
@@ -50,8 +51,14 @@ fn({
50
51
  rail: SlotsRail
51
52
  },
52
53
  slotProps: {
53
- track: (0, _extends2.default)({}, componentsTrackProps, slotsTrackProps),
54
- rail: (0, _extends2.default)({}, componentsRailProps, slotsRailProps)
54
+ track: {
55
+ ...componentsTrackProps,
56
+ ...slotsTrackProps
57
+ },
58
+ rail: {
59
+ ...componentsRailProps,
60
+ ...slotsRailProps
61
+ }
55
62
  }
56
63
  }
57
64
  }
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
5
4
  var _SpeedDial = _interopRequireDefault(require("@mui/material/SpeedDial"));
6
5
  var _material = require("@mui/material");
7
6
  var _jsxRuntime = require("react/jsx-runtime");
@@ -23,7 +22,9 @@ var _jsxRuntime = require("react/jsx-runtime");
23
22
  /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.SpeedDial, {
24
23
  TransitionComponent: CustomTransition,
25
24
  TransitionProps: CustomTransitionProps,
26
- slots: (0, _extends2.default)({}, outerSlots)
25
+ slots: {
26
+ ...outerSlots
27
+ }
27
28
  });
28
29
  /*#__PURE__*/(0, _jsxRuntime.jsx)(_SpeedDial.default, {
29
30
  TransitionComponent: ComponentTransition,