@mui/codemod 6.0.0-alpha.0 → 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 (227) hide show
  1. package/README.md +742 -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/badge-props.js +22 -0
  34. package/node/deprecations/badge-props/index.js +13 -0
  35. package/node/deprecations/badge-props/test-cases/actual.js +59 -0
  36. package/node/deprecations/badge-props/test-cases/expected.js +51 -0
  37. package/node/deprecations/badge-props/test-cases/theme.actual.js +73 -0
  38. package/node/deprecations/badge-props/test-cases/theme.expected.js +65 -0
  39. package/node/deprecations/circular-progress-classes/circular-progress-classes.js +77 -0
  40. package/node/deprecations/circular-progress-classes/index.js +13 -0
  41. package/node/deprecations/circular-progress-classes/postcss-plugin.js +33 -0
  42. package/node/deprecations/circular-progress-classes/postcss.config.js +8 -0
  43. package/node/deprecations/circular-progress-classes/test-cases/actual.js +7 -0
  44. package/node/deprecations/circular-progress-classes/test-cases/expected.js +7 -0
  45. package/node/deprecations/divider-props/divider-props.js +36 -30
  46. package/node/deprecations/divider-props/test-cases/actual.js +3 -0
  47. package/node/deprecations/divider-props/test-cases/expected.js +3 -0
  48. package/node/deprecations/divider-props/test-cases/theme.actual.js +7 -0
  49. package/node/deprecations/divider-props/test-cases/theme.expected.js +7 -0
  50. package/node/deprecations/filled-input-props/filled-input-props.js +22 -0
  51. package/node/deprecations/filled-input-props/index.js +13 -0
  52. package/node/deprecations/filled-input-props/test-cases/actual.js +60 -0
  53. package/node/deprecations/filled-input-props/test-cases/expected.js +52 -0
  54. package/node/deprecations/filled-input-props/test-cases/theme.actual.js +73 -0
  55. package/node/deprecations/filled-input-props/test-cases/theme.expected.js +65 -0
  56. package/node/deprecations/form-control-label-props/form-control-label-props.js +22 -0
  57. package/node/deprecations/form-control-label-props/index.js +13 -0
  58. package/node/deprecations/form-control-label-props/test-cases/actual.js +21 -0
  59. package/node/deprecations/form-control-label-props/test-cases/expected.js +21 -0
  60. package/node/deprecations/form-control-label-props/test-cases/theme.actual.js +23 -0
  61. package/node/deprecations/form-control-label-props/test-cases/theme.expected.js +23 -0
  62. package/node/deprecations/grid-props/grid-props.js +51 -0
  63. package/node/deprecations/grid-props/index.js +13 -0
  64. package/node/deprecations/grid-props/test-cases/actual.js +25 -0
  65. package/node/deprecations/grid-props/test-cases/expected.js +23 -0
  66. package/node/deprecations/grid-props/test-cases/theme.actual.js +24 -0
  67. package/node/deprecations/grid-props/test-cases/theme.expected.js +23 -0
  68. package/node/deprecations/input-base-props/index.js +13 -0
  69. package/node/deprecations/input-base-props/input-base-props.js +22 -0
  70. package/node/deprecations/input-base-props/test-cases/actual.js +60 -0
  71. package/node/deprecations/input-base-props/test-cases/expected.js +52 -0
  72. package/node/deprecations/input-base-props/test-cases/theme.actual.js +73 -0
  73. package/node/deprecations/input-base-props/test-cases/theme.expected.js +65 -0
  74. package/node/deprecations/input-props/index.js +13 -0
  75. package/node/deprecations/input-props/input-props.js +22 -0
  76. package/node/deprecations/input-props/test-cases/actual.js +60 -0
  77. package/node/deprecations/input-props/test-cases/expected.js +52 -0
  78. package/node/deprecations/input-props/test-cases/theme.actual.js +73 -0
  79. package/node/deprecations/input-props/test-cases/theme.expected.js +65 -0
  80. package/node/deprecations/list-item-props/index.js +13 -0
  81. package/node/deprecations/list-item-props/list-item-props.js +22 -0
  82. package/node/deprecations/list-item-props/test-cases/actual.js +43 -0
  83. package/node/deprecations/list-item-props/test-cases/expected.js +40 -0
  84. package/node/deprecations/list-item-props/test-cases/theme.actual.js +56 -0
  85. package/node/deprecations/list-item-props/test-cases/theme.expected.js +53 -0
  86. package/node/deprecations/modal-props/index.js +13 -0
  87. package/node/deprecations/modal-props/modal-props.js +22 -0
  88. package/node/deprecations/modal-props/test-cases/actual.js +43 -0
  89. package/node/deprecations/modal-props/test-cases/expected.js +40 -0
  90. package/node/deprecations/modal-props/test-cases/theme.actual.js +56 -0
  91. package/node/deprecations/modal-props/test-cases/theme.expected.js +53 -0
  92. package/node/deprecations/outlined-input-props/index.js +13 -0
  93. package/node/deprecations/outlined-input-props/outlined-input-props.js +22 -0
  94. package/node/deprecations/outlined-input-props/test-cases/actual.js +60 -0
  95. package/node/deprecations/outlined-input-props/test-cases/expected.js +52 -0
  96. package/node/deprecations/outlined-input-props/test-cases/theme.actual.js +73 -0
  97. package/node/deprecations/outlined-input-props/test-cases/theme.expected.js +65 -0
  98. package/node/deprecations/pagination-item-props/index.js +13 -0
  99. package/node/deprecations/pagination-item-props/pagination-item-props.js +22 -0
  100. package/node/deprecations/pagination-item-props/test-cases/actual.js +27 -0
  101. package/node/deprecations/pagination-item-props/test-cases/expected.js +21 -0
  102. package/node/deprecations/pagination-item-props/test-cases/theme.actual.js +28 -0
  103. package/node/deprecations/pagination-item-props/test-cases/theme.expected.js +26 -0
  104. package/node/deprecations/popper-props/index.js +13 -0
  105. package/node/deprecations/popper-props/popper-props.js +22 -0
  106. package/node/deprecations/popper-props/test-cases/actual.js +27 -0
  107. package/node/deprecations/popper-props/test-cases/expected.js +24 -0
  108. package/node/deprecations/popper-props/test-cases/theme.actual.js +32 -0
  109. package/node/deprecations/popper-props/test-cases/theme.expected.js +29 -0
  110. package/node/deprecations/slider-props/test-cases/expected.js +12 -4
  111. package/node/deprecations/slider-props/test-cases/theme.expected.js +12 -5
  112. package/node/deprecations/speed-dial-props/index.js +13 -0
  113. package/node/deprecations/speed-dial-props/speed-dial-props.js +31 -0
  114. package/node/deprecations/speed-dial-props/test-cases/actual.js +41 -0
  115. package/node/deprecations/speed-dial-props/test-cases/expected.js +54 -0
  116. package/node/deprecations/speed-dial-props/test-cases/theme.actual.js +33 -0
  117. package/node/deprecations/speed-dial-props/test-cases/theme.expected.js +40 -0
  118. package/node/deprecations/step-connector-classes/index.js +13 -0
  119. package/node/deprecations/step-connector-classes/postcss-plugin.js +33 -0
  120. package/node/deprecations/step-connector-classes/postcss.config.js +8 -0
  121. package/node/deprecations/step-connector-classes/step-connector-classes.js +77 -0
  122. package/node/deprecations/step-connector-classes/test-cases/actual.js +7 -0
  123. package/node/deprecations/step-connector-classes/test-cases/expected.js +7 -0
  124. package/node/deprecations/step-label-props/step-label-props.js +14 -0
  125. package/node/deprecations/step-label-props/test-cases/actual.js +23 -0
  126. package/node/deprecations/step-label-props/test-cases/expected.js +31 -2
  127. package/node/deprecations/step-label-props/test-cases/theme.actual.js +22 -0
  128. package/node/deprecations/step-label-props/test-cases/theme.expected.js +32 -3
  129. package/node/deprecations/text-field-props/index.js +13 -0
  130. package/node/deprecations/text-field-props/test-cases/actual.js +27 -0
  131. package/node/deprecations/text-field-props/test-cases/expected.js +31 -0
  132. package/node/deprecations/text-field-props/test-cases/theme.actual.js +13 -0
  133. package/node/deprecations/text-field-props/test-cases/theme.expected.js +15 -0
  134. package/node/deprecations/text-field-props/text-field-props.js +48 -0
  135. package/node/deprecations/toggle-button-group-classes/index.js +13 -0
  136. package/node/deprecations/toggle-button-group-classes/postcss-plugin.js +33 -0
  137. package/node/deprecations/toggle-button-group-classes/postcss.config.js +8 -0
  138. package/node/deprecations/toggle-button-group-classes/test-cases/actual.js +7 -0
  139. package/node/deprecations/toggle-button-group-classes/test-cases/expected.js +7 -0
  140. package/node/deprecations/toggle-button-group-classes/toggle-button-group-classes.js +77 -0
  141. package/node/deprecations/tooltip-props/index.js +13 -0
  142. package/node/deprecations/tooltip-props/test-cases/actual.js +92 -0
  143. package/node/deprecations/tooltip-props/test-cases/expected.js +84 -0
  144. package/node/deprecations/tooltip-props/test-cases/theme.actual.js +73 -0
  145. package/node/deprecations/tooltip-props/test-cases/theme.expected.js +65 -0
  146. package/node/deprecations/tooltip-props/tooltip-props.js +22 -0
  147. package/node/deprecations/utils/movePropIntoSlotProps.js +111 -0
  148. package/node/deprecations/utils/movePropIntoSlots.js +101 -0
  149. package/node/deprecations/utils/replaceComponentsWithSlots.js +29 -17
  150. package/node/util/getReturnExpression.js +20 -0
  151. package/node/util/migrateToVariants.js +549 -0
  152. package/node/v5.0.0/badge-overlap-value.test/actual.js +3 -4
  153. package/node/v5.0.0/badge-overlap-value.test/expected.js +3 -4
  154. package/node/v5.0.0/base-remove-component-prop.test/actual.js +4 -4
  155. package/node/v5.0.0/base-remove-component-prop.test/expected.js +4 -4
  156. package/node/v5.0.0/base-remove-unstyled-suffix.js +4 -4
  157. package/node/v5.0.0/box-sx-prop.test/actual.js +4 -4
  158. package/node/v5.0.0/box-sx-prop.test/expected.js +3 -3
  159. package/node/v5.0.0/create-theme.test/custom-fn.actual.js +3 -4
  160. package/node/v5.0.0/create-theme.test/custom-fn.expected.js +3 -4
  161. package/node/v5.0.0/jss-to-styled.test/first.actual.js +11 -14
  162. package/node/v5.0.0/jss-to-styled.test/first.expected.js +11 -14
  163. package/node/v5.0.0/jss-to-styled.test/seventh.actual.js +4 -4
  164. package/node/v5.0.0/jss-to-styled.test/seventh.expected.js +4 -4
  165. package/node/v5.0.0/jss-to-styled.test/sixth.actual.js +3 -3
  166. package/node/v5.0.0/jss-to-styled.test/sixth.expected.js +3 -3
  167. package/node/v5.0.0/jss-to-styled.test/withCreateStyles.actual.js +3 -3
  168. package/node/v5.0.0/jss-to-styled.test/withCreateStyles.expected.js +3 -4
  169. package/node/v5.0.0/jss-to-styled.test/withCreateStyles1.actual.js +3 -3
  170. package/node/v5.0.0/jss-to-styled.test/withCreateStyles1.expected.js +3 -4
  171. package/node/v5.0.0/jss-to-styled.test/withCreateStyles2.actual.js +3 -3
  172. package/node/v5.0.0/jss-to-styled.test/withCreateStyles2.expected.js +3 -4
  173. package/node/v5.0.0/jss-to-styled.test/withCreateStyles3.actual.js +3 -3
  174. package/node/v5.0.0/jss-to-styled.test/withCreateStyles3.expected.js +3 -4
  175. package/node/v5.0.0/jss-to-tss-react.test/actual-mixins-pattern.js +6 -5
  176. package/node/v5.0.0/jss-to-tss-react.test/expected-mixins-pattern.js +6 -5
  177. package/node/v5.0.0/preset-safe.test/actual.js +6 -4
  178. package/node/v5.0.0/preset-safe.test/expected.js +9 -6
  179. package/node/v5.0.0/styled-engine-provider.test/theme-provider.expected.js +3 -3
  180. package/node/v5.0.0/table-props.test/actual.js +4 -5
  181. package/node/v5.0.0/table-props.test/expected.js +4 -5
  182. package/node/v5.0.0/theme-spacing.test/large-actual.js +10 -10
  183. package/node/v5.0.0/theme-spacing.test/large-expected.js +10 -10
  184. package/node/v5.0.0/variant-prop.test/actual.js +12 -6
  185. package/node/v5.0.0/variant-prop.test/expected.js +15 -12
  186. package/node/v5.0.0/with-mobile-dialog.test/expected.js +6 -5
  187. package/node/v5.0.0/with-width.test/expected.js +6 -5
  188. package/node/v6.0.0/all/index.js +13 -0
  189. package/node/v6.0.0/all/postcss.config.js +9 -0
  190. package/node/v6.0.0/all/v6-all.js +17 -0
  191. package/node/v6.0.0/styled/index.js +13 -0
  192. package/node/v6.0.0/styled/styled-v6.js +80 -0
  193. package/node/v6.0.0/styled/test-cases/BasicStyled.actual.js +89 -0
  194. package/node/v6.0.0/styled/test-cases/BasicStyled.expected.js +143 -0
  195. package/node/v6.0.0/styled/test-cases/ConditionalStyled.actual.js +152 -0
  196. package/node/v6.0.0/styled/test-cases/ConditionalStyled.expected.js +244 -0
  197. package/node/v6.0.0/styled/test-cases/LogicalStyled.actual.js +28 -0
  198. package/node/v6.0.0/styled/test-cases/LogicalStyled.expected.js +52 -0
  199. package/node/v6.0.0/styled/test-cases/NestedSpread.actual.js +48 -0
  200. package/node/v6.0.0/styled/test-cases/NestedSpread.expected.js +86 -0
  201. package/node/v6.0.0/styled/test-cases/ObjectMap.actual.js +36 -0
  202. package/node/v6.0.0/styled/test-cases/ObjectMap.expected.js +109 -0
  203. package/node/v6.0.0/styled/test-cases/ThemePaletteMode.actual.js +62 -0
  204. package/node/v6.0.0/styled/test-cases/ThemePaletteMode.expected.js +78 -0
  205. package/node/v6.0.0/styled/test-cases/VariantAndModeStyled.actual.js +12 -0
  206. package/node/v6.0.0/styled/test-cases/VariantAndModeStyled.expected.js +19 -0
  207. package/node/v6.0.0/sx-prop/index.js +13 -0
  208. package/node/v6.0.0/sx-prop/sx-v6.js +355 -0
  209. package/node/v6.0.0/sx-prop/test-cases/basic-sx.actual.js +36 -0
  210. package/node/v6.0.0/sx-prop/test-cases/basic-sx.expected.js +46 -0
  211. package/node/v6.0.0/sx-prop/test-cases/sx-css-vars.actual.js +41 -0
  212. package/node/v6.0.0/sx-prop/test-cases/sx-css-vars.expected.js +71 -0
  213. package/node/v6.0.0/sx-prop/test-cases/sx-dynamic.actual.js +87 -0
  214. package/node/v6.0.0/sx-prop/test-cases/sx-dynamic.expected.js +102 -0
  215. package/node/v6.0.0/sx-prop/test-cases/sx-dynamic2.actual.js +49 -0
  216. package/node/v6.0.0/sx-prop/test-cases/sx-dynamic2.expected.js +64 -0
  217. package/node/v6.0.0/system-props/index.js +13 -0
  218. package/node/v6.0.0/system-props/removeSystemProps.js +242 -0
  219. package/node/v6.0.0/system-props/test-cases/system-props.actual.js +79 -0
  220. package/node/v6.0.0/system-props/test-cases/system-props.expected.js +92 -0
  221. package/node/v6.0.0/theme-v6/index.js +13 -0
  222. package/node/v6.0.0/theme-v6/test-cases/basicTheme.actual.js +559 -0
  223. package/node/v6.0.0/theme-v6/test-cases/basicTheme.expected.js +644 -0
  224. package/node/v6.0.0/theme-v6/test-cases/themeVariants.actual.js +65 -0
  225. package/node/v6.0.0/theme-v6/test-cases/themeVariants.expected.js +74 -0
  226. package/node/v6.0.0/theme-v6/theme-v6.js +87 -0
  227. package/package.json +9 -9
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _Tooltip = _interopRequireDefault(require("@mui/material/Tooltip"));
5
+ var _jsxRuntime = require("react/jsx-runtime");
6
+ /*#__PURE__*/(0, _jsxRuntime.jsx)(_Tooltip.default, {
7
+ components: {
8
+ Arrow: ComponentsArrow,
9
+ Popper: ComponentsPopper,
10
+ Tooltip: ComponentsTooltip,
11
+ Transition: ComponentsTransition
12
+ },
13
+ componentsProps: {
14
+ arrow: componentsArrowProps,
15
+ popper: componentsPopperProps,
16
+ tooltip: componentsTooltipProps,
17
+ transition: componentsTransitionProps
18
+ }
19
+ });
20
+ /*#__PURE__*/(0, _jsxRuntime.jsx)(_Tooltip.default, {
21
+ slots: {
22
+ tooltip: SlotsTooltip
23
+ },
24
+ components: {
25
+ Arrow: ComponentsArrow
26
+ },
27
+ slotProps: {
28
+ tooltip: slotsTooltipProps
29
+ },
30
+ componentsProps: {
31
+ arrow: componentsArrowProps
32
+ }
33
+ });
34
+ /*#__PURE__*/(0, _jsxRuntime.jsx)(_Tooltip.default, {
35
+ slots: {
36
+ tooltip: SlotsTooltip,
37
+ arrow: SlotsArrow
38
+ },
39
+ components: {
40
+ Arrow: ComponentsArrow
41
+ },
42
+ slotProps: {
43
+ tooltip: slotsTooltipProps,
44
+ arrow: slotsArrowProps
45
+ },
46
+ componentsProps: {
47
+ arrow: componentsArrowProps
48
+ }
49
+ });
50
+ /*#__PURE__*/(0, _jsxRuntime.jsx)(_Tooltip.default, {
51
+ slots: {
52
+ tooltip: SlotsTooltip,
53
+ arrow: SlotsArrow
54
+ },
55
+ components: {
56
+ Arrow: ComponentsArrow
57
+ },
58
+ slotProps: {
59
+ tooltip: slotsTooltipProps,
60
+ arrow: slotsArrowProps
61
+ },
62
+ componentsProps: {
63
+ arrow: componentsArrowProps,
64
+ tooltip: componentsTooltipProps
65
+ }
66
+ });
67
+ /*#__PURE__*/(0, _jsxRuntime.jsx)(_Tooltip.default, {
68
+ slots: {
69
+ arrow: SlotsArrow,
70
+ popper: SlotsPopper,
71
+ tooltip: SlotsTooltip,
72
+ transition: SlotsTransition
73
+ },
74
+ components: {
75
+ Arrow: ComponentsArrow,
76
+ Popper: ComponentsPopper,
77
+ Tooltip: ComponentsTooltip,
78
+ Transition: ComponentsTransition
79
+ },
80
+ slotProps: {
81
+ arrow: slotsArrowProps,
82
+ popper: slotsPopperProps,
83
+ tooltip: slotsTooltipProps,
84
+ transition: slotsTransitionProps
85
+ },
86
+ componentsProps: {
87
+ arrow: componentsArrowProps,
88
+ popper: componentsPopperProps,
89
+ tooltip: componentsTooltipProps,
90
+ transition: componentsTransitionProps
91
+ }
92
+ });
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _Tooltip = _interopRequireDefault(require("@mui/material/Tooltip"));
5
+ var _jsxRuntime = require("react/jsx-runtime");
6
+ /*#__PURE__*/(0, _jsxRuntime.jsx)(_Tooltip.default, {
7
+ slots: {
8
+ arrow: ComponentsArrow,
9
+ popper: ComponentsPopper,
10
+ tooltip: ComponentsTooltip,
11
+ transition: ComponentsTransition
12
+ },
13
+ slotProps: {
14
+ arrow: componentsArrowProps,
15
+ popper: componentsPopperProps,
16
+ tooltip: componentsTooltipProps,
17
+ transition: componentsTransitionProps
18
+ }
19
+ });
20
+ /*#__PURE__*/(0, _jsxRuntime.jsx)(_Tooltip.default, {
21
+ slots: {
22
+ tooltip: SlotsTooltip,
23
+ arrow: ComponentsArrow
24
+ },
25
+ slotProps: {
26
+ tooltip: slotsTooltipProps,
27
+ arrow: componentsArrowProps
28
+ }
29
+ });
30
+ /*#__PURE__*/(0, _jsxRuntime.jsx)(_Tooltip.default, {
31
+ slots: {
32
+ tooltip: SlotsTooltip,
33
+ arrow: SlotsArrow
34
+ },
35
+ slotProps: {
36
+ tooltip: slotsTooltipProps,
37
+ arrow: {
38
+ ...componentsArrowProps,
39
+ ...slotsArrowProps
40
+ }
41
+ }
42
+ });
43
+ /*#__PURE__*/(0, _jsxRuntime.jsx)(_Tooltip.default, {
44
+ slots: {
45
+ tooltip: SlotsTooltip,
46
+ arrow: SlotsArrow
47
+ },
48
+ slotProps: {
49
+ arrow: {
50
+ ...componentsArrowProps,
51
+ ...slotsArrowProps
52
+ },
53
+ tooltip: {
54
+ ...componentsTooltipProps,
55
+ ...slotsTooltipProps
56
+ }
57
+ }
58
+ });
59
+ /*#__PURE__*/(0, _jsxRuntime.jsx)(_Tooltip.default, {
60
+ slots: {
61
+ arrow: SlotsArrow,
62
+ popper: SlotsPopper,
63
+ tooltip: SlotsTooltip,
64
+ transition: SlotsTransition
65
+ },
66
+ slotProps: {
67
+ arrow: {
68
+ ...componentsArrowProps,
69
+ ...slotsArrowProps
70
+ },
71
+ popper: {
72
+ ...componentsPopperProps,
73
+ ...slotsPopperProps
74
+ },
75
+ tooltip: {
76
+ ...componentsTooltipProps,
77
+ ...slotsTooltipProps
78
+ },
79
+ transition: {
80
+ ...componentsTransitionProps,
81
+ ...slotsTransitionProps
82
+ }
83
+ }
84
+ });
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+
3
+ fn({
4
+ MuiTooltip: {
5
+ defaultProps: {
6
+ components: {
7
+ Arrow: ComponentsArrow
8
+ },
9
+ componentsProps: {
10
+ arrow: componentsArrowProps
11
+ }
12
+ }
13
+ }
14
+ });
15
+ fn({
16
+ MuiTooltip: {
17
+ defaultProps: {
18
+ components: {
19
+ Arrow: ComponentsArrow
20
+ },
21
+ slots: {
22
+ tooltip: SlotsTooltip
23
+ },
24
+ componentsProps: {
25
+ arrow: componentsArrowProps
26
+ },
27
+ slotProps: {
28
+ tooltip: slotsTooltipProps
29
+ }
30
+ }
31
+ }
32
+ });
33
+ fn({
34
+ MuiTooltip: {
35
+ defaultProps: {
36
+ components: {
37
+ Arrow: ComponentsArrow
38
+ },
39
+ slots: {
40
+ tooltip: SlotsTooltip,
41
+ arrow: SlotsArrow
42
+ },
43
+ componentsProps: {
44
+ arrow: componentsArrowProps
45
+ },
46
+ slotProps: {
47
+ tooltip: slotsTooltipProps,
48
+ arrow: slotsArrowProps
49
+ }
50
+ }
51
+ }
52
+ });
53
+ fn({
54
+ MuiTooltip: {
55
+ defaultProps: {
56
+ components: {
57
+ Arrow: ComponentsArrow
58
+ },
59
+ slots: {
60
+ tooltip: SlotsTooltip,
61
+ arrow: SlotsArrow
62
+ },
63
+ componentsProps: {
64
+ arrow: componentsArrowProps,
65
+ tooltip: componentsTooltipProps
66
+ },
67
+ slotProps: {
68
+ tooltip: slotsTooltipProps,
69
+ arrow: slotsArrowProps
70
+ }
71
+ }
72
+ }
73
+ });
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+
3
+ fn({
4
+ MuiTooltip: {
5
+ defaultProps: {
6
+ slots: {
7
+ arrow: ComponentsArrow
8
+ },
9
+ slotProps: {
10
+ arrow: componentsArrowProps
11
+ }
12
+ }
13
+ }
14
+ });
15
+ fn({
16
+ MuiTooltip: {
17
+ defaultProps: {
18
+ slots: {
19
+ arrow: ComponentsArrow,
20
+ tooltip: SlotsTooltip
21
+ },
22
+ slotProps: {
23
+ arrow: componentsArrowProps,
24
+ tooltip: slotsTooltipProps
25
+ }
26
+ }
27
+ }
28
+ });
29
+ fn({
30
+ MuiTooltip: {
31
+ defaultProps: {
32
+ slots: {
33
+ arrow: SlotsArrow,
34
+ tooltip: SlotsTooltip
35
+ },
36
+ slotProps: {
37
+ arrow: {
38
+ ...componentsArrowProps,
39
+ ...slotsArrowProps
40
+ },
41
+ tooltip: slotsTooltipProps
42
+ }
43
+ }
44
+ }
45
+ });
46
+ fn({
47
+ MuiTooltip: {
48
+ defaultProps: {
49
+ slots: {
50
+ arrow: SlotsArrow,
51
+ tooltip: SlotsTooltip
52
+ },
53
+ slotProps: {
54
+ arrow: {
55
+ ...componentsArrowProps,
56
+ ...slotsArrowProps
57
+ },
58
+ tooltip: {
59
+ ...componentsTooltipProps,
60
+ ...slotsTooltipProps
61
+ }
62
+ }
63
+ }
64
+ }
65
+ });
@@ -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: 'Tooltip'
20
+ });
21
+ return root.toSource(printOptions);
22
+ }
@@ -0,0 +1,111 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = movePropIntoSlotProps;
8
+ var _findComponentJSX = _interopRequireDefault(require("../../util/findComponentJSX"));
9
+ var _findComponentDefaultProps = _interopRequireDefault(require("../../util/findComponentDefaultProps"));
10
+ var _assignObject = _interopRequireDefault(require("../../util/assignObject"));
11
+ var _appendAttribute = _interopRequireDefault(require("../../util/appendAttribute"));
12
+ function moveJsxPropIntoSlotProps(j, element, propName, slotName) {
13
+ const propIndex = element.openingElement.attributes.findIndex(attr => attr.type === 'JSXAttribute' && attr.name.name === propName);
14
+ if (propIndex !== -1) {
15
+ const removedValue = element.openingElement.attributes.splice(propIndex, 1)[0].value.expression;
16
+ let hasSlotProps = false;
17
+ element.openingElement.attributes.forEach(attr => {
18
+ var _attr$name;
19
+ if (((_attr$name = attr.name) == null ? void 0 : _attr$name.name) === 'slotProps') {
20
+ hasSlotProps = true;
21
+ const slots = attr.value.expression;
22
+ const slotIndex = slots.properties.findIndex(prop => {
23
+ var _prop$key;
24
+ return (prop == null || (_prop$key = prop.key) == null ? void 0 : _prop$key.name) === slotName;
25
+ });
26
+ if (slotIndex === -1) {
27
+ (0, _assignObject.default)(j, {
28
+ target: attr,
29
+ key: slotName,
30
+ expression: removedValue
31
+ });
32
+ } else {
33
+ const slotPropsSlotValue = slots.properties.splice(slotIndex, 1)[0].value;
34
+ (0, _assignObject.default)(j, {
35
+ target: attr,
36
+ key: slotName,
37
+ expression: j.objectExpression([j.spreadElement(removedValue), j.spreadElement(slotPropsSlotValue)])
38
+ });
39
+ }
40
+ }
41
+ });
42
+ if (!hasSlotProps) {
43
+ (0, _appendAttribute.default)(j, {
44
+ target: element,
45
+ attributeName: 'slotProps',
46
+ expression: j.objectExpression([j.objectProperty(j.identifier(slotName), removedValue)])
47
+ });
48
+ }
49
+ }
50
+ }
51
+ function moveDefaultPropsPropIntoslotProps(j, defaultPropsPathCollection, propName, slotName) {
52
+ defaultPropsPathCollection.find(j.ObjectProperty, {
53
+ key: {
54
+ name: propName
55
+ }
56
+ }).forEach(path => {
57
+ const removedValue = path.value.value;
58
+ const defaultProps = path.parent.value;
59
+ let hasSlotProps = false;
60
+ defaultProps.properties.forEach(property => {
61
+ var _property$key;
62
+ if (((_property$key = property.key) == null ? void 0 : _property$key.name) === 'slotProps') {
63
+ hasSlotProps = true;
64
+ const slotIndex = property.value.properties.findIndex(prop => {
65
+ var _prop$key2;
66
+ return (prop == null || (_prop$key2 = prop.key) == null ? void 0 : _prop$key2.name) === slotName;
67
+ });
68
+ if (slotIndex === -1) {
69
+ property.value.properties.push(j.objectProperty(j.identifier(slotName), removedValue));
70
+ } else {
71
+ const slotPropsSlotValue = property.value.properties.splice(slotIndex, 1)[0].value;
72
+ property.value.properties.push(j.objectProperty(j.identifier(slotName), j.objectExpression([j.spreadElement(removedValue), j.spreadElement(slotPropsSlotValue)])));
73
+ }
74
+ }
75
+ });
76
+ if (!hasSlotProps) {
77
+ defaultProps.properties.push(j.objectProperty(j.identifier('slotProps'), j.objectExpression([j.objectProperty(j.identifier(slotName), removedValue)])));
78
+ }
79
+ path.prune();
80
+ });
81
+ }
82
+
83
+ /**
84
+ * Moves prop into slotProps.
85
+ * If the slotProps prop exists, it will merge the prop into the slotProps.
86
+ * If there are duplicated values, the values will be spread.
87
+ *
88
+ * @param {import('jscodeshift')} j
89
+ * @param {{ root: import('jscodeshift').Collection; componentName: string, propName: string, slotName: string }} options
90
+ *
91
+ * @example <Component TransitionProps={value} /> => <Component slotProps={{ transition: value }} />
92
+ */
93
+ function movePropIntoSlotProps(j, options) {
94
+ const {
95
+ root,
96
+ componentName,
97
+ propName,
98
+ slotName
99
+ } = options;
100
+ (0, _findComponentJSX.default)(j, {
101
+ root,
102
+ componentName
103
+ }, elementPath => {
104
+ moveJsxPropIntoSlotProps(j, elementPath.node, propName, slotName);
105
+ });
106
+ const defaultPropsPathCollection = (0, _findComponentDefaultProps.default)(j, {
107
+ root,
108
+ componentName
109
+ });
110
+ moveDefaultPropsPropIntoslotProps(j, defaultPropsPathCollection, propName, slotName);
111
+ }
@@ -0,0 +1,101 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = movePropIntoSlots;
8
+ var _findComponentJSX = _interopRequireDefault(require("../../util/findComponentJSX"));
9
+ var _findComponentDefaultProps = _interopRequireDefault(require("../../util/findComponentDefaultProps"));
10
+ var _assignObject = _interopRequireDefault(require("../../util/assignObject"));
11
+ var _appendAttribute = _interopRequireDefault(require("../../util/appendAttribute"));
12
+ function moveJsxPropIntoSlots(j, element, propName, slotName) {
13
+ const index = element.openingElement.attributes.findIndex(attr => attr.type === 'JSXAttribute' && attr.name.name === propName);
14
+ if (index !== -1) {
15
+ const removedValue = element.openingElement.attributes.splice(index, 1)[0].value.expression;
16
+ let hasSlots = false;
17
+ element.openingElement.attributes.forEach(attr => {
18
+ var _attr$name;
19
+ if (((_attr$name = attr.name) == null ? void 0 : _attr$name.name) === 'slots') {
20
+ hasSlots = true;
21
+ const slotIndex = attr.value.expression.properties.findIndex(prop => {
22
+ var _prop$key;
23
+ return (prop == null || (_prop$key = prop.key) == null ? void 0 : _prop$key.name) === slotName;
24
+ });
25
+ if (slotIndex === -1) {
26
+ (0, _assignObject.default)(j, {
27
+ target: attr,
28
+ key: slotName,
29
+ expression: removedValue
30
+ });
31
+ }
32
+ }
33
+ });
34
+ if (!hasSlots) {
35
+ (0, _appendAttribute.default)(j, {
36
+ target: element,
37
+ attributeName: 'slots',
38
+ expression: j.objectExpression([j.objectProperty(j.identifier(slotName), removedValue)])
39
+ });
40
+ }
41
+ }
42
+ }
43
+ function moveDefaultPropsPropIntoSlots(j, defaultPropsPathCollection, propName, slotName) {
44
+ defaultPropsPathCollection.find(j.ObjectProperty, {
45
+ key: {
46
+ name: propName
47
+ }
48
+ }).forEach(path => {
49
+ const removedValue = path.value.value;
50
+ const defaultProps = path.parent.value;
51
+ let hasSlots = false;
52
+ defaultProps.properties.forEach(property => {
53
+ var _property$key;
54
+ if (((_property$key = property.key) == null ? void 0 : _property$key.name) === 'slots') {
55
+ hasSlots = true;
56
+ const slots = property.value;
57
+ const slotIndex = slots.properties.findIndex(prop => {
58
+ var _prop$key2;
59
+ return (prop == null || (_prop$key2 = prop.key) == null ? void 0 : _prop$key2.name) === slotName;
60
+ });
61
+ if (slotIndex === -1) {
62
+ slots.properties.push(j.objectProperty(j.identifier(slotName), removedValue));
63
+ }
64
+ }
65
+ });
66
+ if (!hasSlots) {
67
+ defaultProps.properties.push(j.property('init', j.identifier('slots'), j.objectExpression([j.objectProperty(j.identifier(slotName), removedValue)])));
68
+ }
69
+ path.prune();
70
+ });
71
+ }
72
+
73
+ /**
74
+ * Moves prop into slots.
75
+ * If the slots prop exists, it will add the prop to the slots.
76
+ * If there are duplicated values, the slots values will be used.
77
+ *
78
+ * @param {import('jscodeshift')} j
79
+ * @param {{ root: import('jscodeshift').Collection; componentName: string, propName: string, slotName: string }} options
80
+ *
81
+ * @example <Component TransitionComponent={CustomTransition} /> => <Component slots={{ transition: CustomTransition }} />
82
+ */
83
+ function movePropIntoSlots(j, options) {
84
+ const {
85
+ root,
86
+ componentName,
87
+ propName,
88
+ slotName
89
+ } = options;
90
+ (0, _findComponentJSX.default)(j, {
91
+ root,
92
+ componentName
93
+ }, elementPath => {
94
+ moveJsxPropIntoSlots(j, elementPath.node, propName, slotName);
95
+ });
96
+ const defaultPropsPathCollection = (0, _findComponentDefaultProps.default)(j, {
97
+ root,
98
+ componentName
99
+ });
100
+ moveDefaultPropsPropIntoSlots(j, defaultPropsPathCollection, propName, slotName);
101
+ }
@@ -5,7 +5,6 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.default = replaceComponentsWithSlots;
8
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
8
  var _findComponentJSX = _interopRequireDefault(require("../../util/findComponentJSX"));
10
9
  var _findComponentDefaultProps = _interopRequireDefault(require("../../util/findComponentDefaultProps"));
11
10
  var _assignObject = _interopRequireDefault(require("../../util/assignObject"));
@@ -19,9 +18,10 @@ function replaceJsxComponentsProp(j, elementPath) {
19
18
  if (index !== -1) {
20
19
  const removed = element.openingElement.attributes.splice(index, 1);
21
20
  const camelCaseComponents = removed[0].value.expression.properties.reduce((acc, prop) => {
22
- return (0, _extends2.default)({}, acc, {
21
+ return {
22
+ ...acc,
23
23
  [componentsKeyToSlotsKey(prop.key.name)]: prop.value
24
- });
24
+ };
25
25
  }, {});
26
26
  let hasNode = false;
27
27
  element.openingElement.attributes.forEach(attr => {
@@ -29,9 +29,10 @@ function replaceJsxComponentsProp(j, elementPath) {
29
29
  if (((_attr$name = attr.name) == null ? void 0 : _attr$name.name) === 'slots') {
30
30
  hasNode = true;
31
31
  const slots = attr.value.expression.properties.reduce((acc, prop) => {
32
- return (0, _extends2.default)({}, acc, {
32
+ return {
33
+ ...acc,
33
34
  [prop.key.name]: prop.value
34
- });
35
+ };
35
36
  }, {});
36
37
  Object.entries(camelCaseComponents).forEach(([slot, value]) => {
37
38
  if (!slots[slot]) {
@@ -65,9 +66,10 @@ function replaceJsxComponentsPropsProp(j, element) {
65
66
  if (((_attr$name2 = attr.name) == null ? void 0 : _attr$name2.name) === 'slotProps') {
66
67
  hasNode = true;
67
68
  const slotProps = attr.value.expression.properties.reduce((acc, prop) => {
68
- return (0, _extends2.default)({}, acc, {
69
+ return {
70
+ ...acc,
69
71
  [prop.key.name]: prop.value
70
- });
72
+ };
71
73
  }, {});
72
74
  removed[0].value.expression.properties.forEach(prop => {
73
75
  if (!slotProps[prop.key.name]) {
@@ -109,17 +111,22 @@ function replaceDefaultPropsComponentsProp(j, defaultPropsPathCollection) {
109
111
  properties: defaultPropsProperties
110
112
  } = path.parent.value;
111
113
  const components = path.value.value.properties.reduce((acc, prop) => {
112
- return (0, _extends2.default)({}, acc, {
114
+ return {
115
+ ...acc,
113
116
  [componentsKeyToSlotsKey(prop.key.name)]: prop.value
114
- });
117
+ };
115
118
  }, {});
116
119
  const existingSlots = defaultPropsProperties.find(prop => prop.key.name === 'slots');
117
120
  const slots = existingSlots ? existingSlots.value.properties.reduce((acc, prop) => {
118
- return (0, _extends2.default)({}, acc, {
121
+ return {
122
+ ...acc,
119
123
  [prop.key.name]: prop.value
120
- });
124
+ };
121
125
  }, {}) : {};
122
- const updatedSlots = j.objectExpression(Object.entries((0, _extends2.default)({}, components, slots)).map(([slot, value]) => {
126
+ const updatedSlots = j.objectExpression(Object.entries({
127
+ ...components,
128
+ ...slots
129
+ }).map(([slot, value]) => {
123
130
  return j.objectProperty(j.identifier(slot), value);
124
131
  }));
125
132
  if (existingSlots) {
@@ -140,17 +147,22 @@ function replaceDefaultPropsComponentsPropsProp(j, defaultPropsPathCollection) {
140
147
  properties: defaultPropsProperties
141
148
  } = path.parent.value;
142
149
  const components = path.value.value.properties.reduce((acc, prop) => {
143
- return (0, _extends2.default)({}, acc, {
150
+ return {
151
+ ...acc,
144
152
  [prop.key.name]: prop.value
145
- });
153
+ };
146
154
  }, {});
147
155
  const existingSlots = defaultPropsProperties.find(prop => prop.key.name === 'slotProps');
148
156
  const slots = existingSlots ? existingSlots.value.properties.reduce((acc, prop) => {
149
- return (0, _extends2.default)({}, acc, {
157
+ return {
158
+ ...acc,
150
159
  [prop.key.name]: components[prop.key.name] ? j.objectExpression([j.spreadElement(components[prop.key.name]), j.spreadElement(prop.value)]) : prop.value
151
- });
160
+ };
152
161
  }, {}) : {};
153
- const updatedSlots = j.objectExpression(Object.entries((0, _extends2.default)({}, components, slots)).map(([slot, value]) => {
162
+ const updatedSlots = j.objectExpression(Object.entries({
163
+ ...components,
164
+ ...slots
165
+ }).map(([slot, value]) => {
154
166
  return j.objectProperty(j.identifier(slot), value);
155
167
  }));
156
168
  if (existingSlots) {
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = getReturnExpression;
7
+ /**
8
+ * @param {import('ast-types').namedTypes.ArrowFunctionExpression | import('ast-types').namedTypes.FunctionExpression} node
9
+ */
10
+ function getReturnExpression(node) {
11
+ let body = node.body;
12
+ if (body === 'BlockStatement') {
13
+ body = body.body;
14
+ }
15
+ if (Array.isArray(body)) {
16
+ var _body$find;
17
+ return (_body$find = body.find(statement => statement.type === 'ReturnStatement')) == null ? void 0 : _body$find.argument;
18
+ }
19
+ return body;
20
+ }