@mui/codemod 5.15.14 → 6.0.0-alpha.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 (111) hide show
  1. package/README.md +285 -95
  2. package/node/deprecations/all/deprecations-all.js +6 -0
  3. package/node/deprecations/all/postcss.config.js +4 -1
  4. package/node/deprecations/backdrop-props/backdrop-props.js +80 -0
  5. package/node/deprecations/backdrop-props/index.js +13 -0
  6. package/node/deprecations/backdrop-props/test-cases/actual.js +33 -0
  7. package/node/deprecations/backdrop-props/test-cases/expected.js +38 -0
  8. package/node/deprecations/backdrop-props/test-cases/theme.actual.js +19 -0
  9. package/node/deprecations/backdrop-props/test-cases/theme.expected.js +21 -0
  10. package/node/deprecations/badge-props/badge-props.js +22 -0
  11. package/node/deprecations/badge-props/index.js +13 -0
  12. package/node/deprecations/badge-props/test-cases/actual.js +59 -0
  13. package/node/deprecations/badge-props/test-cases/expected.js +44 -0
  14. package/node/deprecations/badge-props/test-cases/theme.actual.js +73 -0
  15. package/node/deprecations/badge-props/test-cases/theme.expected.js +58 -0
  16. package/node/deprecations/button-group-classes/button-group-classes.js +77 -0
  17. package/node/deprecations/button-group-classes/index.js +13 -0
  18. package/node/deprecations/button-group-classes/postcss-plugin.js +78 -0
  19. package/node/deprecations/button-group-classes/postcss.config.js +8 -0
  20. package/node/deprecations/button-group-classes/test-cases/actual.js +37 -0
  21. package/node/deprecations/button-group-classes/test-cases/expected.js +37 -0
  22. package/node/deprecations/step-label-props/index.js +13 -0
  23. package/node/deprecations/step-label-props/step-label-props.js +22 -0
  24. package/node/deprecations/step-label-props/test-cases/actual.js +21 -0
  25. package/node/deprecations/step-label-props/test-cases/expected.js +19 -0
  26. package/node/deprecations/step-label-props/test-cases/theme.actual.js +23 -0
  27. package/node/deprecations/step-label-props/test-cases/theme.expected.js +22 -0
  28. package/node/v1.0.0/color-imports.test/actual.js +1 -1
  29. package/node/v1.0.0/color-imports.test/expected.js +1 -1
  30. package/node/v1.0.0/import-path.test/actual.js +1 -1
  31. package/node/v1.0.0/import-path.test/expected.js +1 -1
  32. package/node/v4.0.0/optimal-imports.test/actual.js +1 -1
  33. package/node/v4.0.0/optimal-imports.test/expected.js +1 -1
  34. package/node/v4.0.0/top-level-imports.test/actual.js +1 -1
  35. package/node/v4.0.0/top-level-imports.test/expected.js +1 -1
  36. package/node/v5.0.0/base-hook-imports.test/actual.js +1 -1
  37. package/node/v5.0.0/base-hook-imports.test/expected.js +1 -1
  38. package/node/v5.0.0/base-remove-unstyled-suffix.test/actual.js +1 -1
  39. package/node/v5.0.0/base-remove-unstyled-suffix.test/expected.js +1 -1
  40. package/node/v5.0.0/base-use-named-exports.test/actual-with-warning.js +1 -1
  41. package/node/v5.0.0/base-use-named-exports.test/actual.js +1 -1
  42. package/node/v5.0.0/box-sx-prop.test/actual.js +1 -1
  43. package/node/v5.0.0/box-sx-prop.test/alias-actual.js +1 -1
  44. package/node/v5.0.0/box-sx-prop.test/alias-expected.js +1 -1
  45. package/node/v5.0.0/box-sx-prop.test/expected.js +1 -1
  46. package/node/v5.0.0/date-pickers-moved-to-x.test/actual-sub-module.js +1 -1
  47. package/node/v5.0.0/jss-to-styled.test/Anonymous.actual.js +1 -1
  48. package/node/v5.0.0/jss-to-styled.test/Anonymous.expected.js +1 -1
  49. package/node/v5.0.0/jss-to-styled.test/eighth.actual.js +1 -1
  50. package/node/v5.0.0/jss-to-styled.test/eighth.expected.js +1 -1
  51. package/node/v5.0.0/jss-to-styled.test/eleventh.actual.js +1 -1
  52. package/node/v5.0.0/jss-to-styled.test/eleventh.expected.js +1 -1
  53. package/node/v5.0.0/jss-to-styled.test/exportClass.actual.js +1 -1
  54. package/node/v5.0.0/jss-to-styled.test/exportClass.expected.js +1 -1
  55. package/node/v5.0.0/jss-to-styled.test/exportFunction.actual.js +1 -1
  56. package/node/v5.0.0/jss-to-styled.test/exportFunction.expected.js +1 -1
  57. package/node/v5.0.0/jss-to-styled.test/fifth.actual.js +1 -1
  58. package/node/v5.0.0/jss-to-styled.test/fifth.expected.js +1 -1
  59. package/node/v5.0.0/jss-to-styled.test/first.actual.js +1 -1
  60. package/node/v5.0.0/jss-to-styled.test/first.expected.js +1 -1
  61. package/node/v5.0.0/jss-to-styled.test/fourth.actual.js +1 -1
  62. package/node/v5.0.0/jss-to-styled.test/fourth.expected.js +1 -1
  63. package/node/v5.0.0/jss-to-styled.test/multipleWithStyles.actual.js +1 -1
  64. package/node/v5.0.0/jss-to-styled.test/multipleWithStyles.expected.js +1 -1
  65. package/node/v5.0.0/jss-to-styled.test/nineth.actual.js +1 -1
  66. package/node/v5.0.0/jss-to-styled.test/nineth.expected.js +1 -1
  67. package/node/v5.0.0/jss-to-styled.test/second.actual.js +1 -1
  68. package/node/v5.0.0/jss-to-styled.test/second.expected.js +1 -1
  69. package/node/v5.0.0/jss-to-styled.test/seventh.actual.js +1 -1
  70. package/node/v5.0.0/jss-to-styled.test/seventh.expected.js +1 -1
  71. package/node/v5.0.0/jss-to-styled.test/sixth.actual.js +1 -1
  72. package/node/v5.0.0/jss-to-styled.test/sixth.expected.js +1 -1
  73. package/node/v5.0.0/jss-to-styled.test/tenth.actual.js +1 -1
  74. package/node/v5.0.0/jss-to-styled.test/tenth.expected.js +1 -1
  75. package/node/v5.0.0/jss-to-styled.test/third.actual.js +1 -1
  76. package/node/v5.0.0/jss-to-styled.test/third.expected.js +1 -1
  77. package/node/v5.0.0/jss-to-styled.test/twelfth.actual.js +1 -1
  78. package/node/v5.0.0/jss-to-styled.test/withCreateStyles.actual.js +1 -1
  79. package/node/v5.0.0/jss-to-styled.test/withCreateStyles.expected.js +1 -1
  80. package/node/v5.0.0/jss-to-styled.test/withCreateStyles1.actual.js +1 -1
  81. package/node/v5.0.0/jss-to-styled.test/withCreateStyles1.expected.js +1 -1
  82. package/node/v5.0.0/jss-to-styled.test/withCreateStyles2.actual.js +1 -1
  83. package/node/v5.0.0/jss-to-styled.test/withCreateStyles2.expected.js +1 -1
  84. package/node/v5.0.0/jss-to-styled.test/withCreateStyles3.actual.js +1 -1
  85. package/node/v5.0.0/jss-to-styled.test/withCreateStyles3.expected.js +1 -1
  86. package/node/v5.0.0/jss-to-tss-react.test/actual-todo-comments.js +1 -1
  87. package/node/v5.0.0/jss-to-tss-react.test/actual-typescript-docs-example.js +1 -1
  88. package/node/v5.0.0/jss-to-tss-react.test/actual-typescript.js +1 -1
  89. package/node/v5.0.0/jss-to-tss-react.test/expected-todo-comments.js +1 -1
  90. package/node/v5.0.0/jss-to-tss-react.test/expected-typescript-docs-example.js +1 -1
  91. package/node/v5.0.0/jss-to-tss-react.test/expected-typescript.js +1 -1
  92. package/node/v5.0.0/preset-safe.test/actual.js +1 -1
  93. package/node/v5.0.0/preset-safe.test/expected.js +1 -1
  94. package/node/v5.0.0/styled-engine-provider.test/mui-theme-provider.actual.js +1 -1
  95. package/node/v5.0.0/styled-engine-provider.test/mui-theme-provider.expected.js +1 -1
  96. package/node/v5.0.0/styled-engine-provider.test/theme-provider.actual.js +1 -1
  97. package/node/v5.0.0/styled-engine-provider.test/theme-provider.expected.js +1 -1
  98. package/node/v5.0.0/theme-spacing.test/large-actual.js +1 -1
  99. package/node/v5.0.0/theme-spacing.test/large-expected.js +1 -1
  100. package/node/v5.0.0/top-level-imports.test/actual.js +1 -1
  101. package/node/v5.0.0/top-level-imports.test/expected.js +1 -1
  102. package/node/v5.0.0/transitions.test/actual.js +1 -1
  103. package/node/v5.0.0/transitions.test/expected.js +1 -1
  104. package/node/v5.0.0/tree-view-moved-to-x.test/actual-sub-module.js +1 -1
  105. package/node/v5.0.0/use-autocomplete.test/expected.js +1 -1
  106. package/node/v5.0.0/variant-prop.test/actual.js +1 -1
  107. package/node/v5.0.0/variant-prop.test/expected.js +1 -1
  108. package/node/v6.0.0/all/index.js +13 -0
  109. package/node/v6.0.0/all/postcss.config.js +9 -0
  110. package/node/v6.0.0/all/v6-all.js +17 -0
  111. package/package.json +6 -6
@@ -10,9 +10,12 @@ var _avatarProps = _interopRequireDefault(require("../avatar-props"));
10
10
  var _dividerProps = _interopRequireDefault(require("../divider-props"));
11
11
  var _accordionSummaryClasses = _interopRequireDefault(require("../accordion-summary-classes"));
12
12
  var _buttonClasses = _interopRequireDefault(require("../button-classes"));
13
+ var _buttonGroupClasses = _interopRequireDefault(require("../button-group-classes"));
13
14
  var _chipClasses = _interopRequireDefault(require("../chip-classes"));
14
15
  var _paginationItemClasses = _interopRequireDefault(require("../pagination-item-classes"));
15
16
  var _alertClasses = _interopRequireDefault(require("../alert-classes"));
17
+ var _stepLabelProps = _interopRequireDefault(require("../step-label-props"));
18
+ var _backdropProps = _interopRequireDefault(require("../backdrop-props"));
16
19
  /**
17
20
  * @param {import('jscodeshift').FileInfo} file
18
21
  * @param {import('jscodeshift').API} api
@@ -23,8 +26,11 @@ function deprecationsAll(file, api, options) {
23
26
  file.source = (0, _dividerProps.default)(file, api, options);
24
27
  file.source = (0, _accordionSummaryClasses.default)(file, api, options);
25
28
  file.source = (0, _buttonClasses.default)(file, api, options);
29
+ file.source = (0, _buttonGroupClasses.default)(file, api, options);
26
30
  file.source = (0, _chipClasses.default)(file, api, options);
27
31
  file.source = (0, _paginationItemClasses.default)(file, api, options);
28
32
  file.source = (0, _alertClasses.default)(file, api, options);
33
+ file.source = (0, _stepLabelProps.default)(file, api, options);
34
+ file.source = (0, _backdropProps.default)(file, api, options);
29
35
  return file.source;
30
36
  }
@@ -9,6 +9,9 @@ const {
9
9
  const {
10
10
  plugin: buttonClassesPlugin
11
11
  } = require('../button-classes/postcss-plugin');
12
+ const {
13
+ plugin: buttonGroupClassesPlugin
14
+ } = require('../button-group-classes/postcss-plugin');
12
15
  const {
13
16
  plugin: chipClassesPlugin
14
17
  } = require('../chip-classes/postcss-plugin');
@@ -16,5 +19,5 @@ const {
16
19
  plugin: paginationItemClassesPlugin
17
20
  } = require('../pagination-item-classes/postcss-plugin');
18
21
  module.exports = {
19
- plugins: [accordionSummaryClassesPlugin, alertClassesPlugin, buttonClassesPlugin, chipClassesPlugin, paginationItemClassesPlugin]
22
+ plugins: [accordionSummaryClassesPlugin, alertClassesPlugin, buttonClassesPlugin, buttonGroupClassesPlugin, chipClassesPlugin, paginationItemClassesPlugin]
20
23
  };
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = transformer;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+ var _findComponentJSX = _interopRequireDefault(require("../../util/findComponentJSX"));
10
+ var _assignObject = _interopRequireDefault(require("../../util/assignObject"));
11
+ var _appendAttribute = _interopRequireDefault(require("../../util/appendAttribute"));
12
+ /**
13
+ * @param {import('jscodeshift').FileInfo} file
14
+ * @param {import('jscodeshift').API} api
15
+ */
16
+ function transformer(file, api, options) {
17
+ const j = api.jscodeshift;
18
+ const root = j(file.source);
19
+ const printOptions = options.printOptions;
20
+ (0, _findComponentJSX.default)(j, {
21
+ root,
22
+ componentName: 'Backdrop'
23
+ }, elementPath => {
24
+ const index = elementPath.node.openingElement.attributes.findIndex(attr => attr.type === 'JSXAttribute' && attr.name.name === 'TransitionComponent');
25
+ if (index !== -1) {
26
+ const removed = elementPath.node.openingElement.attributes.splice(index, 1);
27
+ let hasNode = false;
28
+ elementPath.node.openingElement.attributes.forEach(attr => {
29
+ var _attr$name;
30
+ if (((_attr$name = attr.name) == null ? void 0 : _attr$name.name) === 'slots') {
31
+ hasNode = true;
32
+ (0, _assignObject.default)(j, {
33
+ target: attr,
34
+ key: 'transition',
35
+ expression: removed[0].value.expression
36
+ });
37
+ }
38
+ });
39
+ if (!hasNode) {
40
+ (0, _appendAttribute.default)(j, {
41
+ target: elementPath.node,
42
+ attributeName: 'slots',
43
+ expression: j.objectExpression([j.objectProperty(j.identifier('transition'), removed[0].value.expression)])
44
+ });
45
+ }
46
+ }
47
+ });
48
+ root.find(j.ObjectProperty, {
49
+ key: {
50
+ name: 'TransitionComponent'
51
+ }
52
+ }).forEach(path => {
53
+ var _path$parent;
54
+ if (((_path$parent = path.parent) == null || (_path$parent = _path$parent.parent) == null || (_path$parent = _path$parent.parent) == null || (_path$parent = _path$parent.parent) == null || (_path$parent = _path$parent.node.key) == null ? void 0 : _path$parent.name) === 'MuiBackdrop') {
55
+ var _defaultPropsProperti;
56
+ const {
57
+ properties: defaultPropsProperties
58
+ } = path.parent.value;
59
+ const existingSlots = defaultPropsProperties.find(prop => prop.key.name === 'slots');
60
+ const slots = existingSlots ? existingSlots.value.properties.reduce((acc, prop) => {
61
+ return (0, _extends2.default)({}, acc, {
62
+ [prop.key.name]: prop.value
63
+ });
64
+ }, {}) : {};
65
+ const transitionComponent = (_defaultPropsProperti = defaultPropsProperties.find(prop => prop.key.name === 'TransitionComponent')) != null ? _defaultPropsProperti : {};
66
+ const updatedSlots = j.objectExpression(Object.entries((0, _extends2.default)({
67
+ transition: transitionComponent == null ? void 0 : transitionComponent.value
68
+ }, slots)).map(([slot, value]) => {
69
+ return j.objectProperty(j.identifier(slot), value);
70
+ }));
71
+ if (existingSlots) {
72
+ existingSlots.value = updatedSlots;
73
+ path.prune();
74
+ } else {
75
+ path.replace(j.property('init', j.identifier('slots'), j.objectExpression([j.objectProperty(j.identifier('transition'), path.node.value)])));
76
+ }
77
+ }
78
+ });
79
+ return root.toSource(printOptions);
80
+ }
@@ -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 _backdropProps.default;
11
+ }
12
+ });
13
+ var _backdropProps = _interopRequireDefault(require("./backdrop-props"));
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
5
+ var _Backdrop = _interopRequireDefault(require("@mui/material/Backdrop"));
6
+ var _material = require("@mui/material");
7
+ var _jsxRuntime = require("react/jsx-runtime");
8
+ /*#__PURE__*/(0, _jsxRuntime.jsx)(_Backdrop.default, {
9
+ TransitionComponent: CustomTransition
10
+ });
11
+ /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Backdrop, {
12
+ TransitionComponent: CustomTransition
13
+ });
14
+ /*#__PURE__*/(0, _jsxRuntime.jsx)(_Backdrop.default, {
15
+ TransitionComponent: CustomTransition,
16
+ slots: {
17
+ root: 'div'
18
+ },
19
+ slotProps: {
20
+ root: {
21
+ className: 'foo'
22
+ }
23
+ }
24
+ });
25
+ /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Backdrop, {
26
+ TransitionComponent: CustomTransition,
27
+ slots: (0, _extends2.default)({}, outerSlots),
28
+ slotProps: (0, _extends2.default)({}, outerSlotProps)
29
+ });
30
+ // should skip non MUI components
31
+ /*#__PURE__*/(0, _jsxRuntime.jsx)(NonMuiBackdrop, {
32
+ TransitionComponent: CustomTransition
33
+ });
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
5
+ var _Backdrop = _interopRequireDefault(require("@mui/material/Backdrop"));
6
+ var _material = require("@mui/material");
7
+ var _jsxRuntime = require("react/jsx-runtime");
8
+ /*#__PURE__*/(0, _jsxRuntime.jsx)(_Backdrop.default, {
9
+ slots: {
10
+ transition: CustomTransition
11
+ }
12
+ });
13
+ /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Backdrop, {
14
+ slots: {
15
+ transition: CustomTransition
16
+ }
17
+ });
18
+ /*#__PURE__*/(0, _jsxRuntime.jsx)(_Backdrop.default, {
19
+ slots: {
20
+ root: 'div',
21
+ transition: CustomTransition
22
+ },
23
+ slotProps: {
24
+ root: {
25
+ className: 'foo'
26
+ }
27
+ }
28
+ });
29
+ /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Backdrop, {
30
+ slots: (0, _extends2.default)({}, outerSlots, {
31
+ transition: CustomTransition
32
+ }),
33
+ slotProps: (0, _extends2.default)({}, outerSlotProps)
34
+ });
35
+ // should skip non MUI components
36
+ /*#__PURE__*/(0, _jsxRuntime.jsx)(NonMuiBackdrop, {
37
+ TransitionComponent: CustomTransition
38
+ });
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ fn({
4
+ MuiBackdrop: {
5
+ defaultProps: {
6
+ TransitionComponent: CustomTransition
7
+ }
8
+ }
9
+ });
10
+ fn({
11
+ MuiBackdrop: {
12
+ defaultProps: {
13
+ TransitionComponent: CustomTransition,
14
+ slots: {
15
+ root: 'div'
16
+ }
17
+ }
18
+ }
19
+ });
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ fn({
4
+ MuiBackdrop: {
5
+ defaultProps: {
6
+ slots: {
7
+ transition: CustomTransition
8
+ }
9
+ }
10
+ }
11
+ });
12
+ fn({
13
+ MuiBackdrop: {
14
+ defaultProps: {
15
+ slots: {
16
+ transition: CustomTransition,
17
+ root: 'div'
18
+ }
19
+ }
20
+ }
21
+ });
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = transformer;
8
+ var _replaceComponentsWithSlots = _interopRequireDefault(require("../utils/replaceComponentsWithSlots"));
9
+ /**
10
+ * @param {import('jscodeshift').FileInfo} file
11
+ * @param {import('jscodeshift').API} api
12
+ */
13
+ function transformer(file, api, options) {
14
+ const j = api.jscodeshift;
15
+ const root = j(file.source);
16
+ const printOptions = options.printOptions;
17
+ (0, _replaceComponentsWithSlots.default)(j, {
18
+ root,
19
+ componentName: 'Badge'
20
+ });
21
+ return root.toSource(printOptions);
22
+ }
@@ -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 _badgeProps.default;
11
+ }
12
+ });
13
+ var _badgeProps = _interopRequireDefault(require("./badge-props"));
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+
3
+ var _material = require("@mui/material");
4
+ var _jsxRuntime = require("react/jsx-runtime");
5
+ /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Badge, {
6
+ components: {
7
+ root: ComponentsRoot
8
+ },
9
+ componentsProps: {
10
+ root: componentsRootProps
11
+ }
12
+ });
13
+ /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Badge, {
14
+ slots: {
15
+ badge: SlotsBadge
16
+ },
17
+ components: {
18
+ root: ComponentsRoot
19
+ },
20
+ slotProps: {
21
+ badge: slotsBadgeProps
22
+ },
23
+ componentsProps: {
24
+ root: componentsRootProps
25
+ }
26
+ });
27
+ /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Badge, {
28
+ slots: {
29
+ root: SlotsRoot,
30
+ badge: SlotsBadge
31
+ },
32
+ components: {
33
+ root: ComponentsRoot
34
+ },
35
+ slotProps: {
36
+ root: slotsRootProps,
37
+ badge: slotsBadgeProps
38
+ },
39
+ componentsProps: {
40
+ root: componentsRootProps
41
+ }
42
+ });
43
+ /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Badge, {
44
+ slots: {
45
+ root: SlotsRoot,
46
+ badge: SlotsBadge
47
+ },
48
+ components: {
49
+ root: ComponentsRoot
50
+ },
51
+ slotProps: {
52
+ root: slotsRootProps,
53
+ badge: slotsBadgeProps
54
+ },
55
+ componentsProps: {
56
+ root: componentsRootProps,
57
+ badge: componentsBadgeProps
58
+ }
59
+ });
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
5
+ var _material = require("@mui/material");
6
+ var _jsxRuntime = require("react/jsx-runtime");
7
+ /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Badge, {
8
+ slots: {
9
+ root: ComponentsRoot
10
+ },
11
+ slotProps: {
12
+ root: componentsRootProps
13
+ }
14
+ });
15
+ /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Badge, {
16
+ slots: {
17
+ badge: SlotsBadge,
18
+ root: ComponentsRoot
19
+ },
20
+ slotProps: {
21
+ badge: slotsBadgeProps,
22
+ root: componentsRootProps
23
+ }
24
+ });
25
+ /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Badge, {
26
+ slots: {
27
+ root: SlotsRoot,
28
+ badge: SlotsBadge
29
+ },
30
+ slotProps: {
31
+ badge: slotsBadgeProps,
32
+ root: (0, _extends2.default)({}, componentsRootProps, slotsRootProps)
33
+ }
34
+ });
35
+ /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Badge, {
36
+ slots: {
37
+ root: SlotsRoot,
38
+ badge: SlotsBadge
39
+ },
40
+ slotProps: {
41
+ root: (0, _extends2.default)({}, componentsRootProps, slotsRootProps),
42
+ badge: (0, _extends2.default)({}, componentsBadgeProps, slotsBadgeProps)
43
+ }
44
+ });
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+
3
+ fn({
4
+ MuiBadge: {
5
+ defaultProps: {
6
+ components: {
7
+ root: ComponentsRoot
8
+ },
9
+ componentsProps: {
10
+ root: componentsRootProps
11
+ }
12
+ }
13
+ }
14
+ });
15
+ fn({
16
+ MuiBadge: {
17
+ defaultProps: {
18
+ components: {
19
+ root: ComponentsRoot
20
+ },
21
+ slots: {
22
+ badge: SlotsBadge
23
+ },
24
+ componentsProps: {
25
+ root: componentsRootProps
26
+ },
27
+ slotProps: {
28
+ badge: slotsBadgeProps
29
+ }
30
+ }
31
+ }
32
+ });
33
+ fn({
34
+ MuiBadge: {
35
+ defaultProps: {
36
+ components: {
37
+ root: ComponentsRoot
38
+ },
39
+ slots: {
40
+ badge: SlotsBadge,
41
+ root: SlotsRoot
42
+ },
43
+ componentsProps: {
44
+ root: componentsRootProps
45
+ },
46
+ slotProps: {
47
+ root: slotsRootProps,
48
+ badge: slotsBadgeProps
49
+ }
50
+ }
51
+ }
52
+ });
53
+ fn({
54
+ MuiBadge: {
55
+ defaultProps: {
56
+ components: {
57
+ root: ComponentsRoot
58
+ },
59
+ slots: {
60
+ badge: SlotsBadge,
61
+ root: SlotsRoot
62
+ },
63
+ componentsProps: {
64
+ root: componentsRootProps,
65
+ badge: componentsBadgeProps
66
+ },
67
+ slotProps: {
68
+ badge: slotsBadgeProps,
69
+ root: slotsRootProps
70
+ }
71
+ }
72
+ }
73
+ });
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
5
+ fn({
6
+ MuiBadge: {
7
+ defaultProps: {
8
+ slots: {
9
+ root: ComponentsRoot
10
+ },
11
+ slotProps: {
12
+ root: componentsRootProps
13
+ }
14
+ }
15
+ }
16
+ });
17
+ fn({
18
+ MuiBadge: {
19
+ defaultProps: {
20
+ slots: {
21
+ root: ComponentsRoot,
22
+ badge: SlotsBadge
23
+ },
24
+ slotProps: {
25
+ root: componentsRootProps,
26
+ badge: slotsBadgeProps
27
+ }
28
+ }
29
+ }
30
+ });
31
+ fn({
32
+ MuiBadge: {
33
+ defaultProps: {
34
+ slots: {
35
+ root: SlotsRoot,
36
+ badge: SlotsBadge
37
+ },
38
+ slotProps: {
39
+ root: (0, _extends2.default)({}, componentsRootProps, slotsRootProps),
40
+ badge: slotsBadgeProps
41
+ }
42
+ }
43
+ }
44
+ });
45
+ fn({
46
+ MuiBadge: {
47
+ defaultProps: {
48
+ slots: {
49
+ root: SlotsRoot,
50
+ badge: SlotsBadge
51
+ },
52
+ slotProps: {
53
+ root: (0, _extends2.default)({}, componentsRootProps, slotsRootProps),
54
+ badge: (0, _extends2.default)({}, componentsBadgeProps, slotsBadgeProps)
55
+ }
56
+ }
57
+ }
58
+ });
@@ -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\/ButtonGroup$/)).forEach(path => {
22
+ path.node.specifiers.forEach(specifier => {
23
+ if (specifier.type === 'ImportSpecifier' && specifier.imported.name === 'buttonGroupClasses') {
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('MuiButtonGroup-', '').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 _buttonGroupClasses.default;
11
+ }
12
+ });
13
+ var _buttonGroupClasses = _interopRequireDefault(require("./button-group-classes"));