@mui/codemod 6.0.0-alpha.1 → 6.0.0-alpha.11

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 (225) hide show
  1. package/README.md +713 -2
  2. package/codemod.js +0 -2
  3. package/node/deprecations/accordion-props/accordion-props.js +11 -71
  4. package/node/deprecations/accordion-props/test-cases/actual.js +22 -3
  5. package/node/deprecations/accordion-props/test-cases/expected.js +23 -5
  6. package/node/deprecations/accordion-props/test-cases/theme.actual.js +24 -0
  7. package/node/deprecations/accordion-props/test-cases/theme.expected.js +25 -0
  8. package/node/deprecations/alert-props/test-cases/expected.js +12 -4
  9. package/node/deprecations/alert-props/test-cases/theme.expected.js +12 -5
  10. package/node/deprecations/all/deprecations-all.js +36 -8
  11. package/node/deprecations/all/postcss.config.js +10 -1
  12. package/node/deprecations/autocomplete-props/autocomplete-props.js +54 -0
  13. package/node/deprecations/autocomplete-props/index.js +13 -0
  14. package/node/deprecations/autocomplete-props/test-cases/actual.js +97 -0
  15. package/node/deprecations/autocomplete-props/test-cases/expected.js +103 -0
  16. package/node/deprecations/autocomplete-props/test-cases/theme.actual.js +65 -0
  17. package/node/deprecations/autocomplete-props/test-cases/theme.expected.js +69 -0
  18. package/node/deprecations/avatar-group-props/avatar-group-props.js +87 -0
  19. package/node/deprecations/avatar-group-props/index.js +13 -0
  20. package/node/deprecations/avatar-group-props/test-cases/actual.js +56 -0
  21. package/node/deprecations/avatar-group-props/test-cases/expected.js +58 -0
  22. package/node/deprecations/avatar-group-props/test-cases/theme.actual.js +48 -0
  23. package/node/deprecations/avatar-group-props/test-cases/theme.expected.js +50 -0
  24. package/node/deprecations/avatar-props/avatar-props.js +5 -39
  25. package/node/deprecations/avatar-props/test-cases/actual.js +10 -0
  26. package/node/deprecations/avatar-props/test-cases/expected.js +12 -0
  27. package/node/deprecations/avatar-props/test-cases/theme.actual.js +14 -0
  28. package/node/deprecations/avatar-props/test-cases/theme.expected.js +16 -0
  29. package/node/deprecations/backdrop-props/backdrop-props.js +8 -59
  30. package/node/deprecations/backdrop-props/test-cases/actual.js +56 -8
  31. package/node/deprecations/backdrop-props/test-cases/expected.js +52 -9
  32. package/node/deprecations/backdrop-props/test-cases/theme.actual.js +65 -0
  33. package/node/deprecations/backdrop-props/test-cases/theme.expected.js +63 -2
  34. package/node/deprecations/badge-props/test-cases/expected.js +12 -5
  35. package/node/deprecations/badge-props/test-cases/theme.expected.js +12 -5
  36. package/node/deprecations/circular-progress-classes/circular-progress-classes.js +77 -0
  37. package/node/deprecations/circular-progress-classes/index.js +13 -0
  38. package/node/deprecations/circular-progress-classes/postcss-plugin.js +33 -0
  39. package/node/deprecations/circular-progress-classes/postcss.config.js +8 -0
  40. package/node/deprecations/circular-progress-classes/test-cases/actual.js +7 -0
  41. package/node/deprecations/circular-progress-classes/test-cases/expected.js +7 -0
  42. package/node/deprecations/divider-props/divider-props.js +36 -30
  43. package/node/deprecations/divider-props/test-cases/actual.js +3 -0
  44. package/node/deprecations/divider-props/test-cases/expected.js +3 -0
  45. package/node/deprecations/divider-props/test-cases/theme.actual.js +7 -0
  46. package/node/deprecations/divider-props/test-cases/theme.expected.js +7 -0
  47. package/node/deprecations/filled-input-props/filled-input-props.js +22 -0
  48. package/node/deprecations/filled-input-props/index.js +13 -0
  49. package/node/deprecations/filled-input-props/test-cases/actual.js +60 -0
  50. package/node/deprecations/filled-input-props/test-cases/expected.js +52 -0
  51. package/node/deprecations/filled-input-props/test-cases/theme.actual.js +73 -0
  52. package/node/deprecations/filled-input-props/test-cases/theme.expected.js +65 -0
  53. package/node/deprecations/form-control-label-props/form-control-label-props.js +22 -0
  54. package/node/deprecations/form-control-label-props/index.js +13 -0
  55. package/node/deprecations/form-control-label-props/test-cases/actual.js +21 -0
  56. package/node/deprecations/form-control-label-props/test-cases/expected.js +21 -0
  57. package/node/deprecations/form-control-label-props/test-cases/theme.actual.js +23 -0
  58. package/node/deprecations/form-control-label-props/test-cases/theme.expected.js +23 -0
  59. package/node/deprecations/grid-props/grid-props.js +51 -0
  60. package/node/deprecations/grid-props/index.js +13 -0
  61. package/node/deprecations/grid-props/test-cases/actual.js +25 -0
  62. package/node/deprecations/grid-props/test-cases/expected.js +23 -0
  63. package/node/deprecations/grid-props/test-cases/theme.actual.js +24 -0
  64. package/node/deprecations/grid-props/test-cases/theme.expected.js +23 -0
  65. package/node/deprecations/input-base-props/index.js +13 -0
  66. package/node/deprecations/input-base-props/input-base-props.js +22 -0
  67. package/node/deprecations/input-base-props/test-cases/actual.js +60 -0
  68. package/node/deprecations/input-base-props/test-cases/expected.js +52 -0
  69. package/node/deprecations/input-base-props/test-cases/theme.actual.js +73 -0
  70. package/node/deprecations/input-base-props/test-cases/theme.expected.js +65 -0
  71. package/node/deprecations/input-props/index.js +13 -0
  72. package/node/deprecations/input-props/input-props.js +22 -0
  73. package/node/deprecations/input-props/test-cases/actual.js +60 -0
  74. package/node/deprecations/input-props/test-cases/expected.js +52 -0
  75. package/node/deprecations/input-props/test-cases/theme.actual.js +73 -0
  76. package/node/deprecations/input-props/test-cases/theme.expected.js +65 -0
  77. package/node/deprecations/list-item-props/index.js +13 -0
  78. package/node/deprecations/list-item-props/list-item-props.js +22 -0
  79. package/node/deprecations/list-item-props/test-cases/actual.js +43 -0
  80. package/node/deprecations/list-item-props/test-cases/expected.js +40 -0
  81. package/node/deprecations/list-item-props/test-cases/theme.actual.js +56 -0
  82. package/node/deprecations/list-item-props/test-cases/theme.expected.js +53 -0
  83. package/node/deprecations/modal-props/index.js +13 -0
  84. package/node/deprecations/modal-props/modal-props.js +22 -0
  85. package/node/deprecations/modal-props/test-cases/actual.js +43 -0
  86. package/node/deprecations/modal-props/test-cases/expected.js +40 -0
  87. package/node/deprecations/modal-props/test-cases/theme.actual.js +56 -0
  88. package/node/deprecations/modal-props/test-cases/theme.expected.js +53 -0
  89. package/node/deprecations/outlined-input-props/index.js +13 -0
  90. package/node/deprecations/outlined-input-props/outlined-input-props.js +22 -0
  91. package/node/deprecations/outlined-input-props/test-cases/actual.js +60 -0
  92. package/node/deprecations/outlined-input-props/test-cases/expected.js +52 -0
  93. package/node/deprecations/outlined-input-props/test-cases/theme.actual.js +73 -0
  94. package/node/deprecations/outlined-input-props/test-cases/theme.expected.js +65 -0
  95. package/node/deprecations/pagination-item-props/index.js +13 -0
  96. package/node/deprecations/pagination-item-props/pagination-item-props.js +22 -0
  97. package/node/deprecations/pagination-item-props/test-cases/actual.js +27 -0
  98. package/node/deprecations/pagination-item-props/test-cases/expected.js +21 -0
  99. package/node/deprecations/pagination-item-props/test-cases/theme.actual.js +28 -0
  100. package/node/deprecations/pagination-item-props/test-cases/theme.expected.js +26 -0
  101. package/node/deprecations/popper-props/index.js +13 -0
  102. package/node/deprecations/popper-props/popper-props.js +22 -0
  103. package/node/deprecations/popper-props/test-cases/actual.js +27 -0
  104. package/node/deprecations/popper-props/test-cases/expected.js +24 -0
  105. package/node/deprecations/popper-props/test-cases/theme.actual.js +32 -0
  106. package/node/deprecations/popper-props/test-cases/theme.expected.js +29 -0
  107. package/node/deprecations/slider-props/test-cases/expected.js +12 -4
  108. package/node/deprecations/slider-props/test-cases/theme.expected.js +12 -5
  109. package/node/deprecations/speed-dial-props/index.js +13 -0
  110. package/node/deprecations/speed-dial-props/speed-dial-props.js +31 -0
  111. package/node/deprecations/speed-dial-props/test-cases/actual.js +41 -0
  112. package/node/deprecations/speed-dial-props/test-cases/expected.js +54 -0
  113. package/node/deprecations/speed-dial-props/test-cases/theme.actual.js +33 -0
  114. package/node/deprecations/speed-dial-props/test-cases/theme.expected.js +40 -0
  115. package/node/deprecations/step-connector-classes/index.js +13 -0
  116. package/node/deprecations/step-connector-classes/postcss-plugin.js +33 -0
  117. package/node/deprecations/step-connector-classes/postcss.config.js +8 -0
  118. package/node/deprecations/step-connector-classes/step-connector-classes.js +77 -0
  119. package/node/deprecations/step-connector-classes/test-cases/actual.js +7 -0
  120. package/node/deprecations/step-connector-classes/test-cases/expected.js +7 -0
  121. package/node/deprecations/step-label-props/step-label-props.js +14 -0
  122. package/node/deprecations/step-label-props/test-cases/actual.js +23 -0
  123. package/node/deprecations/step-label-props/test-cases/expected.js +31 -2
  124. package/node/deprecations/step-label-props/test-cases/theme.actual.js +22 -0
  125. package/node/deprecations/step-label-props/test-cases/theme.expected.js +32 -3
  126. package/node/deprecations/text-field-props/index.js +13 -0
  127. package/node/deprecations/text-field-props/test-cases/actual.js +27 -0
  128. package/node/deprecations/text-field-props/test-cases/expected.js +31 -0
  129. package/node/deprecations/text-field-props/test-cases/theme.actual.js +13 -0
  130. package/node/deprecations/text-field-props/test-cases/theme.expected.js +15 -0
  131. package/node/deprecations/text-field-props/text-field-props.js +48 -0
  132. package/node/deprecations/toggle-button-group-classes/index.js +13 -0
  133. package/node/deprecations/toggle-button-group-classes/postcss-plugin.js +33 -0
  134. package/node/deprecations/toggle-button-group-classes/postcss.config.js +8 -0
  135. package/node/deprecations/toggle-button-group-classes/test-cases/actual.js +7 -0
  136. package/node/deprecations/toggle-button-group-classes/test-cases/expected.js +7 -0
  137. package/node/deprecations/toggle-button-group-classes/toggle-button-group-classes.js +77 -0
  138. package/node/deprecations/tooltip-props/index.js +13 -0
  139. package/node/deprecations/tooltip-props/test-cases/actual.js +92 -0
  140. package/node/deprecations/tooltip-props/test-cases/expected.js +84 -0
  141. package/node/deprecations/tooltip-props/test-cases/theme.actual.js +73 -0
  142. package/node/deprecations/tooltip-props/test-cases/theme.expected.js +65 -0
  143. package/node/deprecations/tooltip-props/tooltip-props.js +22 -0
  144. package/node/deprecations/utils/movePropIntoSlotProps.js +111 -0
  145. package/node/deprecations/utils/movePropIntoSlots.js +101 -0
  146. package/node/deprecations/utils/replaceComponentsWithSlots.js +29 -17
  147. package/node/util/getReturnExpression.js +20 -0
  148. package/node/util/migrateToVariants.js +586 -0
  149. package/node/v5.0.0/badge-overlap-value.test/actual.js +3 -4
  150. package/node/v5.0.0/badge-overlap-value.test/expected.js +3 -4
  151. package/node/v5.0.0/base-remove-component-prop.test/actual.js +4 -4
  152. package/node/v5.0.0/base-remove-component-prop.test/expected.js +4 -4
  153. package/node/v5.0.0/base-remove-unstyled-suffix.js +4 -4
  154. package/node/v5.0.0/box-sx-prop.test/actual.js +4 -4
  155. package/node/v5.0.0/box-sx-prop.test/expected.js +3 -3
  156. package/node/v5.0.0/create-theme.test/custom-fn.actual.js +3 -4
  157. package/node/v5.0.0/create-theme.test/custom-fn.expected.js +3 -4
  158. package/node/v5.0.0/jss-to-styled.test/first.actual.js +11 -14
  159. package/node/v5.0.0/jss-to-styled.test/first.expected.js +11 -14
  160. package/node/v5.0.0/jss-to-styled.test/seventh.actual.js +4 -4
  161. package/node/v5.0.0/jss-to-styled.test/seventh.expected.js +4 -4
  162. package/node/v5.0.0/jss-to-styled.test/sixth.actual.js +3 -3
  163. package/node/v5.0.0/jss-to-styled.test/sixth.expected.js +3 -3
  164. package/node/v5.0.0/jss-to-styled.test/withCreateStyles.actual.js +3 -3
  165. package/node/v5.0.0/jss-to-styled.test/withCreateStyles.expected.js +3 -4
  166. package/node/v5.0.0/jss-to-styled.test/withCreateStyles1.actual.js +3 -3
  167. package/node/v5.0.0/jss-to-styled.test/withCreateStyles1.expected.js +3 -4
  168. package/node/v5.0.0/jss-to-styled.test/withCreateStyles2.actual.js +3 -3
  169. package/node/v5.0.0/jss-to-styled.test/withCreateStyles2.expected.js +3 -4
  170. package/node/v5.0.0/jss-to-styled.test/withCreateStyles3.actual.js +3 -3
  171. package/node/v5.0.0/jss-to-styled.test/withCreateStyles3.expected.js +3 -4
  172. package/node/v5.0.0/jss-to-tss-react.test/actual-mixins-pattern.js +6 -5
  173. package/node/v5.0.0/jss-to-tss-react.test/expected-mixins-pattern.js +6 -5
  174. package/node/v5.0.0/preset-safe.test/actual.js +6 -4
  175. package/node/v5.0.0/preset-safe.test/expected.js +9 -6
  176. package/node/v5.0.0/styled-engine-provider.test/theme-provider.expected.js +3 -3
  177. package/node/v5.0.0/table-props.test/actual.js +4 -5
  178. package/node/v5.0.0/table-props.test/expected.js +4 -5
  179. package/node/v5.0.0/theme-spacing.test/large-actual.js +10 -10
  180. package/node/v5.0.0/theme-spacing.test/large-expected.js +10 -10
  181. package/node/v5.0.0/variant-prop.test/actual.js +12 -6
  182. package/node/v5.0.0/variant-prop.test/expected.js +15 -12
  183. package/node/v5.0.0/with-mobile-dialog.test/expected.js +6 -5
  184. package/node/v5.0.0/with-width.test/expected.js +6 -5
  185. package/node/v6.0.0/styled/index.js +13 -0
  186. package/node/v6.0.0/styled/styled-v6.js +80 -0
  187. package/node/v6.0.0/styled/test-cases/BasicStyled.actual.js +89 -0
  188. package/node/v6.0.0/styled/test-cases/BasicStyled.expected.js +143 -0
  189. package/node/v6.0.0/styled/test-cases/ConditionalStyled.actual.js +152 -0
  190. package/node/v6.0.0/styled/test-cases/ConditionalStyled.expected.js +244 -0
  191. package/node/v6.0.0/styled/test-cases/LogicalStyled.actual.js +58 -0
  192. package/node/v6.0.0/styled/test-cases/LogicalStyled.expected.js +90 -0
  193. package/node/v6.0.0/styled/test-cases/NestedSpread.actual.js +48 -0
  194. package/node/v6.0.0/styled/test-cases/NestedSpread.expected.js +86 -0
  195. package/node/v6.0.0/styled/test-cases/ObjectMap.actual.js +36 -0
  196. package/node/v6.0.0/styled/test-cases/ObjectMap.expected.js +109 -0
  197. package/node/v6.0.0/styled/test-cases/ThemePaletteMode.actual.js +62 -0
  198. package/node/v6.0.0/styled/test-cases/ThemePaletteMode.expected.js +78 -0
  199. package/node/v6.0.0/styled/test-cases/VariantAndModeStyled.actual.js +12 -0
  200. package/node/v6.0.0/styled/test-cases/VariantAndModeStyled.expected.js +19 -0
  201. package/node/v6.0.0/sx-prop/index.js +13 -0
  202. package/node/v6.0.0/sx-prop/sx-v6.js +405 -0
  203. package/node/v6.0.0/sx-prop/test-cases/basic-sx.actual.js +36 -0
  204. package/node/v6.0.0/sx-prop/test-cases/basic-sx.expected.js +46 -0
  205. package/node/v6.0.0/sx-prop/test-cases/sx-css-vars.actual.js +55 -0
  206. package/node/v6.0.0/sx-prop/test-cases/sx-css-vars.expected.js +88 -0
  207. package/node/v6.0.0/sx-prop/test-cases/sx-dynamic.actual.js +107 -0
  208. package/node/v6.0.0/sx-prop/test-cases/sx-dynamic.expected.js +120 -0
  209. package/node/v6.0.0/sx-prop/test-cases/sx-dynamic2.actual.js +49 -0
  210. package/node/v6.0.0/sx-prop/test-cases/sx-dynamic2.expected.js +64 -0
  211. package/node/v6.0.0/sx-prop/test-cases/sx-line-break.actual.js +69 -0
  212. package/node/v6.0.0/sx-prop/test-cases/sx-line-break.expected.js +69 -0
  213. package/node/v6.0.0/sx-prop/test-cases/sx-value-callback.actual.js +102 -0
  214. package/node/v6.0.0/sx-prop/test-cases/sx-value-callback.expected.js +111 -0
  215. package/node/v6.0.0/system-props/index.js +13 -0
  216. package/node/v6.0.0/system-props/removeSystemProps.js +242 -0
  217. package/node/v6.0.0/system-props/test-cases/system-props.actual.js +79 -0
  218. package/node/v6.0.0/system-props/test-cases/system-props.expected.js +92 -0
  219. package/node/v6.0.0/theme-v6/index.js +13 -0
  220. package/node/v6.0.0/theme-v6/test-cases/basicTheme.actual.js +559 -0
  221. package/node/v6.0.0/theme-v6/test-cases/basicTheme.expected.js +644 -0
  222. package/node/v6.0.0/theme-v6/test-cases/themeVariants.actual.js +65 -0
  223. package/node/v6.0.0/theme-v6/test-cases/themeVariants.expected.js +74 -0
  224. package/node/v6.0.0/theme-v6/theme-v6.js +87 -0
  225. package/package.json +8 -8
@@ -0,0 +1,586 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = migrateToVariants;
7
+ exports.getCreateBuildStyle = exports.getBuildArrowFunctionAST = exports.getAppendPaletteModeStyles = void 0;
8
+ exports.getIdentifierKey = getIdentifierKey;
9
+ exports.getObjectKey = getObjectKey;
10
+ exports.getObjectToArrowFunction = void 0;
11
+ exports.isThemePaletteMode = isThemePaletteMode;
12
+ exports.removeProperty = removeProperty;
13
+ const MAX_DEPTH = 20;
14
+
15
+ /**
16
+ * @param {import('jscodeshift').API['j']} j
17
+ * @returns
18
+ */
19
+ const getCreateBuildStyle = j => function createBuildStyle(key, upperBuildStyle, applyStylesMode) {
20
+ if (applyStylesMode) {
21
+ upperBuildStyle = styleExpression => j.objectExpression([j.spreadElement(j.callExpression(j.memberExpression(j.identifier('theme'), j.identifier('applyStyles')), [j.stringLiteral(applyStylesMode), styleExpression]))]);
22
+ }
23
+ return function buildStyle(styleExpression) {
24
+ if (key) {
25
+ if (key.type === 'Identifier' || key.type === 'StringLiteral') {
26
+ return upperBuildStyle(j.objectExpression([j.objectProperty(key, styleExpression)]));
27
+ }
28
+ if (key.type === 'TemplateLiteral' || key.type === 'CallExpression') {
29
+ return upperBuildStyle(j.objectExpression([{
30
+ ...j.objectProperty(key, styleExpression),
31
+ computed: true
32
+ }]));
33
+ }
34
+ }
35
+ return upperBuildStyle ? upperBuildStyle(styleExpression) : styleExpression;
36
+ };
37
+ };
38
+
39
+ /**
40
+ * @param {import('jscodeshift').API['j']} j
41
+ */
42
+ exports.getCreateBuildStyle = getCreateBuildStyle;
43
+ const getAppendPaletteModeStyles = j =>
44
+ /**
45
+ *
46
+ * @param {{ properties: any[] }} node
47
+ * @param {Record<string, any[] | import('jscodeshift').ObjectExpression>} modeStyles
48
+ */
49
+ function appendPaletteModeStyles(node, modeStyles) {
50
+ Object.entries(modeStyles).forEach(([mode, objectStyles]) => {
51
+ node.properties.push(j.spreadElement(j.callExpression(j.memberExpression(j.identifier('theme'), j.identifier('applyStyles')), [j.stringLiteral(mode), Array.isArray(objectStyles) ? j.objectExpression(objectStyles) : objectStyles])));
52
+ });
53
+ };
54
+
55
+ /**
56
+ *
57
+ * @param {import('jscodeshift').MemberExpression | import('jscodeshift').Identifier} node
58
+ */
59
+ exports.getAppendPaletteModeStyles = getAppendPaletteModeStyles;
60
+ function getIdentifierKey(node) {
61
+ if (node.type === 'MemberExpression') {
62
+ return node.property;
63
+ }
64
+ return node;
65
+ }
66
+
67
+ /**
68
+ *
69
+ * @param {import('jscodeshift').UnaryExpression | import('jscodeshift').MemberExpression | import('jscodeshift').Identifier} node
70
+ */
71
+ function getObjectKey(node) {
72
+ let tempNode = {
73
+ ...node
74
+ };
75
+ while (tempNode.type === 'UnaryExpression') {
76
+ tempNode = tempNode.argument;
77
+ }
78
+ while (tempNode.type === 'MemberExpression' || tempNode.type === 'OptionMemberExpression') {
79
+ tempNode = tempNode.object;
80
+ }
81
+ return tempNode;
82
+ }
83
+
84
+ /**
85
+ *
86
+ * @param {import('jscodeshift').ObjectExpression} node
87
+ */
88
+ function removeProperty(parentNode, child) {
89
+ if (parentNode) {
90
+ if (parentNode.type === 'ObjectExpression') {
91
+ parentNode.properties = parentNode.properties.filter(prop => prop !== child && prop.value !== child);
92
+ }
93
+ }
94
+ }
95
+
96
+ /**
97
+ * @param {import('jscodeshift').API['j']} j
98
+ */
99
+ const getBuildArrowFunctionAST = j =>
100
+ /**
101
+ *
102
+ * @param {Set<string> | import('jscodeshift').Expression[]} params
103
+ * @param {import('jscodeshift').BlockStatement} body
104
+ * @returns
105
+ */
106
+ function buildArrowFunctionAST(params, body) {
107
+ const destructured = [...params].every(param => typeof param === 'string');
108
+ return j.arrowFunctionExpression(destructured ? [j.objectPattern([...params].map(k => ({
109
+ ...j.objectProperty(j.identifier(k), j.identifier(k)),
110
+ shorthand: true
111
+ })))] : params, body);
112
+ };
113
+
114
+ /**
115
+ * @param {import('jscodeshift').API['j']} j
116
+ */
117
+ exports.getBuildArrowFunctionAST = getBuildArrowFunctionAST;
118
+ const getObjectToArrowFunction = j => {
119
+ const buildArrowFunctionAST = getBuildArrowFunctionAST(j);
120
+ return (
121
+ /**
122
+ *
123
+ * @param {import('jscodeshift').ObjectExpression} objectExpression
124
+ * @param {import('jscodeshift').BinaryExpression} addtional
125
+ */
126
+ function objectToArrowFunction(objectExpression, addtional) {
127
+ const paramKeys = new Set();
128
+ let left;
129
+ objectExpression.properties.forEach((prop, index) => {
130
+ paramKeys.add(prop.key.name);
131
+ const result = j.binaryExpression('===', prop.key, prop.value);
132
+ if (index === 0) {
133
+ left = result;
134
+ } else {
135
+ left = j.logicalExpression('&&', left, result);
136
+ }
137
+ });
138
+ if (addtional) {
139
+ paramKeys.add(getObjectKey(addtional.left).name);
140
+ }
141
+ return buildArrowFunctionAST(paramKeys, addtional ? j.logicalExpression('&&', left, addtional) : left);
142
+ }
143
+ );
144
+ };
145
+
146
+ /**
147
+ *
148
+ * @param {undefined | null | import('jscodeshift').Expression} node
149
+ */
150
+ exports.getObjectToArrowFunction = getObjectToArrowFunction;
151
+ function isThemePaletteMode(node) {
152
+ return (node == null ? void 0 : node.type) === 'MemberExpression' && node.object.type === 'MemberExpression' && node.object.object.name === 'theme' && node.object.property.name === 'palette' && node.property.name === 'mode';
153
+ }
154
+
155
+ /**
156
+ *
157
+ * @param {import('jscodeshift').API['j']} j
158
+ * @param {any[]} styles
159
+ */
160
+ function migrateToVariants(j, styles) {
161
+ const createBuildStyle = getCreateBuildStyle(j);
162
+ const appendPaletteModeStyles = getAppendPaletteModeStyles(j);
163
+ const buildArrowFunctionAST = getBuildArrowFunctionAST(j);
164
+ const objectToArrowFunction = getObjectToArrowFunction(j);
165
+
166
+ /**
167
+ * A map of used variable with its original name
168
+ */
169
+ const parameterMap = {};
170
+
171
+ /**
172
+ *
173
+ * @param {import('jscodeshift').Identifier | import('jscodeshift').BinaryExpression | import('jscodeshift').UnaryExpression | import('jscodeshift').MemberExpression} node
174
+ */
175
+ function inverseBinaryExpression(node) {
176
+ if (node.type === 'Identifier' || node.type === 'MemberExpression') {
177
+ return j.unaryExpression('!', node);
178
+ }
179
+ if (node.operator === '===') {
180
+ return {
181
+ ...node,
182
+ operator: '!=='
183
+ };
184
+ }
185
+ if (node.operator === '!==') {
186
+ return {
187
+ ...node,
188
+ operator: '==='
189
+ };
190
+ }
191
+ if (node.operator === '!') {
192
+ var _node$argument;
193
+ if (((_node$argument = node.argument) == null ? void 0 : _node$argument.operator) === '!') {
194
+ return node.argument;
195
+ }
196
+ return j.unaryExpression('!', node);
197
+ }
198
+ return node;
199
+ }
200
+ function buildObjectAST(jsObject) {
201
+ const result = j.objectExpression([]);
202
+ Object.entries(jsObject).forEach(([key, value]) => {
203
+ result.properties.push(j.objectProperty(j.identifier(key), value));
204
+ });
205
+ return result;
206
+ }
207
+ function resolveParamName(name) {
208
+ if (typeof name !== 'string') {
209
+ if (name.type === 'Identifier' && parameterMap[name.name]) {
210
+ if (parameterMap[name.name].includes('-')) {
211
+ return j.stringLiteral(parameterMap[name.name]);
212
+ }
213
+ return {
214
+ ...name,
215
+ name: parameterMap[name.name]
216
+ };
217
+ }
218
+ return name;
219
+ }
220
+ return parameterMap[name] || name;
221
+ }
222
+
223
+ /**
224
+ *
225
+ * @param {import('jscodeshift').LogicalExpression | import('jscodeshift').BinaryExpression | import('jscodeshift').UnaryExpression | import('jscodeshift').MemberExpression} node
226
+ */
227
+ function buildProps(node) {
228
+ const properties = [];
229
+ const variables = new Set();
230
+ let isAllEqual = true;
231
+ let tempNode = {
232
+ ...node
233
+ };
234
+ function assignProperties(_node) {
235
+ if (_node.type === 'BinaryExpression') {
236
+ variables.add(resolveParamName(getObjectKey(_node.left).name));
237
+ if (_node.operator === '===') {
238
+ properties.push(j.objectProperty(resolveParamName(getIdentifierKey(_node.left)), _node.right));
239
+ } else {
240
+ isAllEqual = false;
241
+ }
242
+ }
243
+ if (_node.type === 'MemberExpression' || _node.type === 'Identifier') {
244
+ isAllEqual = false;
245
+ variables.add(resolveParamName(getObjectKey(_node).name));
246
+ }
247
+ if (_node.type === 'UnaryExpression') {
248
+ isAllEqual = false;
249
+ if (_node.argument.type === 'UnaryExpression') {
250
+ // handle `!!variable`
251
+ variables.add(resolveParamName(getObjectKey(_node.argument.argument).name));
252
+ } else {
253
+ // handle `!variable`
254
+ variables.add(resolveParamName(getObjectKey(_node.argument).name));
255
+ }
256
+ }
257
+ }
258
+ let counter = 0;
259
+ if (tempNode.type !== 'LogicalExpression') {
260
+ assignProperties(tempNode);
261
+ } else {
262
+ while (tempNode.type === 'LogicalExpression' && counter < MAX_DEPTH) {
263
+ counter += 1;
264
+ if (tempNode.operator !== '&&') {
265
+ isAllEqual = false;
266
+ }
267
+ assignProperties(tempNode.right);
268
+ if (tempNode.left.type !== 'LogicalExpression') {
269
+ assignProperties(tempNode.left);
270
+ break;
271
+ }
272
+ tempNode = {
273
+ ...tempNode.left
274
+ };
275
+ }
276
+ }
277
+ if (!isAllEqual) {
278
+ return buildArrowFunctionAST(variables, node);
279
+ }
280
+ return j.objectExpression(properties);
281
+ }
282
+ function mergeProps(parentProps, currentProps) {
283
+ if (parentProps.type === 'ObjectExpression' && currentProps.type === 'ObjectExpression') {
284
+ return j.objectExpression([...parentProps.properties, ...currentProps.properties]);
285
+ }
286
+ const parentArrow = parentProps.type === 'ObjectExpression' ? objectToArrowFunction(parentProps) : parentProps;
287
+ const currentArrow = currentProps.type === 'ObjectExpression' ? objectToArrowFunction(currentProps) : currentProps;
288
+ const variables = new Set();
289
+ [...parentArrow.params[0].properties, ...currentArrow.params[0].properties].forEach(param => {
290
+ variables.add(resolveParamName(param.key.name));
291
+ });
292
+ return buildArrowFunctionAST(variables, j.logicalExpression('&&', parentArrow.body, currentArrow.body));
293
+ }
294
+
295
+ // 2. Find logical spread expressions to convert to variants
296
+ styles.forEach(style => {
297
+ const parameters = new Set();
298
+ style.params.forEach(param => {
299
+ if (param.type === 'ObjectPattern') {
300
+ param.properties.forEach(prop => {
301
+ if (prop.type === 'ObjectProperty') {
302
+ let paramName;
303
+ if (prop.value.type === 'Identifier') {
304
+ paramName = prop.value.name;
305
+ }
306
+ if (prop.value.type === 'AssignmentPattern') {
307
+ paramName = prop.value.left.name;
308
+ }
309
+ if (paramName) {
310
+ parameters.add(paramName);
311
+ if (prop.key.type === 'Identifier') {
312
+ parameterMap[paramName] = prop.key.name;
313
+ }
314
+ if (prop.key.type === 'StringLiteral') {
315
+ parameterMap[paramName] = prop.key.value;
316
+ }
317
+ }
318
+ }
319
+ });
320
+ }
321
+ if (param.type === 'Identifier') {
322
+ parameters.add(param.name);
323
+ }
324
+ });
325
+ const variants = [];
326
+ if (style.body.type === 'LogicalExpression') {
327
+ if (style.params[0] && (style.params[0].type === 'Identifier' || style.params[0].type === 'ObjectPattern' && style.params[0].properties.some(prop => prop.key.name !== 'theme'))) {
328
+ // case: ({ theme, ownerState }) => ownerState.variant === 'regular' && theme.mixins.toolbar
329
+ style.body = j.objectExpression([j.objectProperty(j.identifier('variants'), j.arrayExpression([j.objectExpression([j.objectProperty(j.identifier('props'), buildProps(style.body.left)), j.objectProperty(j.identifier('style'), style.body.right)])]))]);
330
+ }
331
+ } else if (style.body.type === 'ConditionalExpression') {
332
+ // skip ConditionalExpression
333
+ } else {
334
+ let objectExpression = style.body;
335
+ let counter = 0;
336
+ while (objectExpression.type !== 'ObjectExpression' && counter < MAX_DEPTH) {
337
+ counter += 1;
338
+ if (objectExpression.type === 'BlockStatement') {
339
+ objectExpression = objectExpression.body.find(item => item.type === 'ReturnStatement').argument;
340
+ }
341
+ }
342
+ recurseObjectExpression({
343
+ node: objectExpression,
344
+ buildStyle: createBuildStyle()
345
+ });
346
+ if (variants.length) {
347
+ objectExpression.properties.push(j.objectProperty(j.identifier('variants'), j.arrayExpression(variants.filter(variant => {
348
+ const props = variant.properties.find(prop => prop.key.name === 'props');
349
+ const styleVal = variant.properties.find(prop => prop.key.name === 'style');
350
+ return props && styleVal && (!styleVal.value.properties || styleVal.value.properties.length > 0) && (props.value.type === 'ArrowFunctionExpression' || props.value.properties.length > 0);
351
+ }))));
352
+ }
353
+ }
354
+ function recurseObjectExpression(data) {
355
+ if (data.node.type === 'ObjectExpression') {
356
+ const modeStyles = {}; // to collect styles from `theme.palette.mode === '...'`
357
+ data.node.properties.forEach(prop => {
358
+ if (prop.type === 'ObjectProperty') {
359
+ recurseObjectExpression({
360
+ ...data,
361
+ node: prop.value,
362
+ parentNode: data.node,
363
+ key: prop.key,
364
+ buildStyle: createBuildStyle(prop.key, data.buildStyle),
365
+ replaceValue: newValue => {
366
+ prop.value = newValue;
367
+ },
368
+ modeStyles
369
+ });
370
+ } else {
371
+ recurseObjectExpression({
372
+ ...data,
373
+ node: prop,
374
+ parentNode: data.node,
375
+ buildStyle: createBuildStyle(prop.key, data.buildStyle)
376
+ });
377
+ }
378
+ });
379
+ appendPaletteModeStyles(data.node, modeStyles);
380
+ }
381
+ if (data.node.type === 'SpreadElement') {
382
+ if (data.node.argument.type === 'LogicalExpression') {
383
+ var _getObjectKey, _getObjectKey2;
384
+ const paramName = data.node.argument.left.type === 'BinaryExpression' ? (_getObjectKey = getObjectKey(data.node.argument.left.left)) == null ? void 0 : _getObjectKey.name : (_getObjectKey2 = getObjectKey(data.node.argument.left)) == null ? void 0 : _getObjectKey2.name;
385
+ if (paramName === 'theme' && data.node.argument.left.right.type === 'StringLiteral') {
386
+ if (data.node.argument.right.type === 'ObjectExpression') {
387
+ const mode = data.node.argument.left.right.value;
388
+ data.node.argument.right.properties.forEach(prop => {
389
+ if (prop.type === 'ObjectProperty') {
390
+ recurseObjectExpression({
391
+ ...data,
392
+ node: prop.value,
393
+ parentNode: data.node.argument.right,
394
+ key: prop.key,
395
+ buildStyle: createBuildStyle(prop.key, data.buildStyle, mode),
396
+ replaceValue: newValue => {
397
+ prop.value = newValue;
398
+ }
399
+ });
400
+ } else {
401
+ recurseObjectExpression({
402
+ ...data,
403
+ node: prop,
404
+ parentNode: data.node.argument.right,
405
+ buildStyle: createBuildStyle(prop.key, data.buildStyle, mode)
406
+ });
407
+ }
408
+ });
409
+ appendPaletteModeStyles(data.parentNode, {
410
+ [mode]: data.node.argument.right
411
+ });
412
+ }
413
+ removeProperty(data.parentNode, data.node);
414
+ return;
415
+ }
416
+ if (paramName && !parameters.has(paramName)) {
417
+ return;
418
+ }
419
+ const scopeProps = buildProps(data.node.argument.left);
420
+ const variant = {
421
+ props: data.props ? mergeProps(data.props, scopeProps) : scopeProps,
422
+ style: data.node.argument.right
423
+ };
424
+ const lastLength = variants.push({}); // preserve the order of the recursive calls
425
+
426
+ const modeStyles = {}; // to collect styles from `theme.palette.mode === '...'`
427
+ if (variant.style.type === 'ObjectExpression') {
428
+ variant.style.properties.forEach(prop => {
429
+ if (prop.type === 'ObjectProperty') {
430
+ recurseObjectExpression({
431
+ ...data,
432
+ node: prop.value,
433
+ parentNode: variant.style,
434
+ props: variant.props,
435
+ key: prop.key,
436
+ buildStyle: createBuildStyle(prop.key, data.buildStyle),
437
+ replaceValue: newValue => {
438
+ prop.value = newValue;
439
+ },
440
+ modeStyles
441
+ });
442
+ } else {
443
+ recurseObjectExpression({
444
+ ...data,
445
+ node: prop,
446
+ parentNode: variant.style,
447
+ props: variant.props,
448
+ buildStyle: createBuildStyle(prop.key, data.buildStyle)
449
+ });
450
+ }
451
+ });
452
+ }
453
+ appendPaletteModeStyles(variant.style, modeStyles);
454
+ variant.style = data.buildStyle(variant.style);
455
+ variants[lastLength - 1] = buildObjectAST(variant);
456
+ removeProperty(data.parentNode, data.node);
457
+ }
458
+ if (data.node.argument.type === 'ConditionalExpression') {
459
+ recurseObjectExpression({
460
+ ...data,
461
+ node: data.node.argument,
462
+ parentNode: data.node
463
+ });
464
+ removeProperty(data.parentNode, data.node);
465
+ }
466
+ }
467
+ if (data.node.type === 'ConditionalExpression') {
468
+ if (data.node.test.type === 'BinaryExpression' || data.node.test.type === 'UnaryExpression' || data.node.test.type === 'Identifier' || data.node.test.type === 'MemberExpression') {
469
+ var _getObjectKey3, _data$parentNode2, _data$node$test;
470
+ let leftName = (_getObjectKey3 = getObjectKey(data.node.test)) == null ? void 0 : _getObjectKey3.name;
471
+ if (data.node.test.left) {
472
+ var _getObjectKey4;
473
+ leftName = (_getObjectKey4 = getObjectKey(data.node.test.left)) == null ? void 0 : _getObjectKey4.name;
474
+ }
475
+ if (data.node.test.argument) {
476
+ var _getObjectKey5;
477
+ leftName = (_getObjectKey5 = getObjectKey(data.node.test.argument)) == null ? void 0 : _getObjectKey5.name;
478
+ }
479
+ if (parameters.has(leftName) && leftName !== 'theme') {
480
+ var _data$parentNode;
481
+ let props = buildProps(data.node.test);
482
+ if (data.props) {
483
+ props = mergeProps(data.props, props);
484
+ }
485
+ const styleVal = data.buildStyle(data.node.consequent);
486
+ const variant = {
487
+ props,
488
+ style: styleVal
489
+ };
490
+ variants.push(buildObjectAST(variant));
491
+
492
+ // create another variant with inverted condition
493
+ let props2 = buildProps(inverseBinaryExpression(data.node.test));
494
+ if (data.props) {
495
+ props2 = mergeProps(data.props, props2);
496
+ }
497
+ const styleVal2 = data.buildStyle(data.node.alternate);
498
+ const variant2 = {
499
+ props: props2,
500
+ style: styleVal2
501
+ };
502
+ variants.push(buildObjectAST(variant2));
503
+ if (((_data$parentNode = data.parentNode) == null ? void 0 : _data$parentNode.type) === 'ObjectExpression') {
504
+ removeProperty(data.parentNode, data.node);
505
+ }
506
+ }
507
+ if (leftName === 'theme' && ((_data$parentNode2 = data.parentNode) == null ? void 0 : _data$parentNode2.type) === 'ObjectExpression' && ((_data$node$test = data.node.test) == null ? void 0 : _data$node$test.type) === 'BinaryExpression' && isThemePaletteMode(data.node.test.left)) {
508
+ if (data.node.consequent.type !== 'ObjectExpression' && data.node.alternate.type !== 'ObjectExpression') {
509
+ var _data$replaceValue;
510
+ if (data.modeStyles) {
511
+ if (!data.modeStyles[data.node.test.right.value]) {
512
+ data.modeStyles[data.node.test.right.value] = [];
513
+ }
514
+ data.modeStyles[data.node.test.right.value].push(j.objectProperty(data.key, data.node.consequent));
515
+ }
516
+ (_data$replaceValue = data.replaceValue) == null || _data$replaceValue.call(data, data.node.alternate);
517
+ }
518
+ }
519
+ }
520
+ }
521
+ if (data.node.type === 'TemplateLiteral') {
522
+ var _data$parentNode3;
523
+ if (((_data$parentNode3 = data.parentNode) == null ? void 0 : _data$parentNode3.type) === 'ObjectExpression') {
524
+ const modeStyles = {};
525
+ data.node.expressions.forEach((expression, index) => {
526
+ recurseObjectExpression({
527
+ ...data,
528
+ node: expression,
529
+ parentNode: data.parentNode,
530
+ buildStyle: createBuildStyle(data.key, data.buildStyle),
531
+ replaceValue: newValue => {
532
+ data.node.expressions[index] = newValue;
533
+ },
534
+ modeStyles
535
+ });
536
+ });
537
+ if (data.modeStyles) {
538
+ Object.entries(modeStyles).forEach(([mode, objectStyles]) => {
539
+ const clonedNode = {
540
+ ...data.node,
541
+ expressions: data.node.expressions.map(expression => ({
542
+ ...expression
543
+ }))
544
+ };
545
+ clonedNode.expressions = objectStyles.map(item => item.value);
546
+ if (!data.modeStyles[mode]) {
547
+ data.modeStyles[mode] = [];
548
+ }
549
+ data.modeStyles[mode].push(j.objectProperty(data.key, clonedNode));
550
+ });
551
+ if (data.key) {
552
+ var _data$replaceValue2;
553
+ // to remove the arrow function
554
+ // { ...: theme => `1px solid...` } to { ...: `1px solid...` }
555
+ (_data$replaceValue2 = data.replaceValue) == null || _data$replaceValue2.call(data, data.node);
556
+ }
557
+ }
558
+ }
559
+ }
560
+ if (data.key && data.key.type === 'Identifier' && data.node.type === 'MemberExpression' && data.node.object.type === 'ObjectExpression' && parameters.has(getObjectKey(data.node.property).name)) {
561
+ data.node.object.properties.forEach(prop => {
562
+ variants.push(buildObjectAST({
563
+ props: j.objectExpression([j.objectProperty(getIdentifierKey(data.node.property), j.stringLiteral(prop.key.name))]),
564
+ style: data.buildStyle(prop.value)
565
+ }));
566
+ });
567
+ removeProperty(data.parentNode, data.node);
568
+ }
569
+ }
570
+ style.params.forEach(param => {
571
+ if (param.type === 'ObjectPattern') {
572
+ param.properties = param.properties.filter(prop => prop.key.name === 'theme');
573
+ }
574
+ });
575
+ if (style.body.type === 'ObjectExpression') {
576
+ // Remove empty `...theme.applyStyles('...', {})`
577
+ style.body.properties = style.body.properties.filter(prop => {
578
+ var _prop$argument, _prop$argument2, _prop$argument3;
579
+ if (((_prop$argument = prop.argument) == null || (_prop$argument = _prop$argument.callee) == null || (_prop$argument = _prop$argument.object) == null ? void 0 : _prop$argument.name) === 'theme' && typeof ((_prop$argument2 = prop.argument) == null || (_prop$argument2 = _prop$argument2.arguments[0]) == null ? void 0 : _prop$argument2.value) === 'string' && !((_prop$argument3 = prop.argument) != null && (_prop$argument3 = _prop$argument3.arguments) != null && (_prop$argument3 = _prop$argument3[1]) != null && (_prop$argument3 = _prop$argument3.properties) != null && _prop$argument3.length)) {
580
+ return false;
581
+ }
582
+ return true;
583
+ });
584
+ }
585
+ });
586
+ }
@@ -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 _jsxRuntime = require("react/jsx-runtime");
6
4
  /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
7
5
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(Badge, {
@@ -31,9 +29,10 @@ var _jsxRuntime = require("react/jsx-runtime");
31
29
  '& .MuiBadge-anchorOriginBottomLeftCircle': {}
32
30
  }
33
31
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(Badge, {
34
- classes: (0, _extends2.default)({}, badgeClasses, {
32
+ classes: {
33
+ ...badgeClasses,
35
34
  badge: badgeClasses.badge
36
- }),
35
+ },
37
36
  children: icon
38
37
  })]
39
38
  });
@@ -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 _jsxRuntime = require("react/jsx-runtime");
6
4
  /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
7
5
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(Badge, {
@@ -31,9 +29,10 @@ var _jsxRuntime = require("react/jsx-runtime");
31
29
  '& .MuiBadge-anchorOriginBottomLeftCircular': {}
32
30
  }
33
31
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(Badge, {
34
- classes: (0, _extends2.default)({}, badgeClasses, {
32
+ classes: {
33
+ ...badgeClasses,
35
34
  badge: badgeClasses.badge
36
- }),
35
+ },
37
36
  children: icon
38
37
  })]
39
38
  });
@@ -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 _Input = _interopRequireDefault(require("@mui/material/Input"));
6
5
  var _Input2 = _interopRequireDefault(require("@mui/base/Input"));
7
6
  var _Switch = _interopRequireDefault(require("@mui/base/Switch"));
@@ -15,9 +14,10 @@ var _jsxRuntime = require("react/jsx-runtime");
15
14
  /*#__PURE__*/(0, _jsxRuntime.jsx)(_Input2.default, {
16
15
  component: CustomRoot
17
16
  });
18
- /*#__PURE__*/(0, _jsxRuntime.jsx)(_Input2.default, (0, _extends2.default)({
19
- component: CustomRoot
20
- }, others));
17
+ /*#__PURE__*/(0, _jsxRuntime.jsx)(_Input2.default, {
18
+ component: CustomRoot,
19
+ ...others
20
+ });
21
21
  /*#__PURE__*/(0, _jsxRuntime.jsx)(_Switch.default, {
22
22
  component: CustomRoot,
23
23
  randomProp: "1",
@@ -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 _Input = _interopRequireDefault(require("@mui/material/Input"));
6
5
  var _Input2 = _interopRequireDefault(require("@mui/base/Input"));
7
6
  var _Switch = _interopRequireDefault(require("@mui/base/Switch"));
@@ -17,11 +16,12 @@ var _jsxRuntime = require("react/jsx-runtime");
17
16
  root: CustomRoot
18
17
  }
19
18
  });
20
- /*#__PURE__*/(0, _jsxRuntime.jsx)(_Input2.default, (0, _extends2.default)({
19
+ /*#__PURE__*/(0, _jsxRuntime.jsx)(_Input2.default, {
21
20
  slots: {
22
21
  root: CustomRoot
23
- }
24
- }, others));
22
+ },
23
+ ...others
24
+ });
25
25
  /*#__PURE__*/(0, _jsxRuntime.jsx)(_Switch.default, {
26
26
  slots: {
27
27
  root: CustomRoot
@@ -15,12 +15,12 @@ function transformer(file, api) {
15
15
  node
16
16
  }) => {
17
17
  const sourceVal = node.source.value;
18
- if (sourceVal.startsWith('@mui/base')) {
19
- node.source.value = sourceVal.replace(/unstyled/im, '');
20
- node.source.raw = sourceVal.replace(/unstyled/im, '');
21
- }
22
18
  return sourceVal.startsWith('@mui/base');
23
19
  }).forEach(path => {
20
+ const sourceVal = path.node.source.value;
21
+ if (sourceVal.startsWith('@mui/base')) {
22
+ path.node.source = j.stringLiteral(sourceVal.replace(/unstyled/im, ''));
23
+ }
24
24
  const specifiers = [];
25
25
  path.node.specifiers.forEach(elementNode => {
26
26
  var _elementNode$imported;