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

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