@mui/codemod 6.0.0-dev.240424162023-9968b4889d → 6.0.0

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 (278) hide show
  1. package/README.md +1037 -294
  2. package/codemod.js +0 -2
  3. package/node/deprecations/accordion-props/test-cases/actual.js +6 -3
  4. package/node/deprecations/accordion-props/test-cases/expected.js +14 -10
  5. package/node/deprecations/accordion-props/test-cases/theme.expected.js +8 -7
  6. package/node/deprecations/alert-props/test-cases/expected.js +12 -4
  7. package/node/deprecations/alert-props/test-cases/theme.expected.js +12 -5
  8. package/node/deprecations/all/deprecations-all.js +38 -14
  9. package/node/deprecations/all/postcss.config.js +10 -1
  10. package/node/deprecations/autocomplete-props/autocomplete-props.js +22 -0
  11. package/node/deprecations/autocomplete-props/index.js +13 -0
  12. package/node/deprecations/autocomplete-props/test-cases/actual.js +75 -0
  13. package/node/deprecations/autocomplete-props/test-cases/expected.js +75 -0
  14. package/node/deprecations/autocomplete-props/test-cases/theme.actual.js +47 -0
  15. package/node/deprecations/autocomplete-props/test-cases/theme.expected.js +47 -0
  16. package/node/deprecations/avatar-group-props/avatar-group-props.js +81 -0
  17. package/node/deprecations/avatar-group-props/index.js +13 -0
  18. package/node/deprecations/avatar-group-props/test-cases/actual.js +56 -0
  19. package/node/deprecations/avatar-group-props/test-cases/expected.js +58 -0
  20. package/node/deprecations/avatar-group-props/test-cases/theme.actual.js +48 -0
  21. package/node/deprecations/avatar-group-props/test-cases/theme.expected.js +50 -0
  22. package/node/deprecations/avatar-props/test-cases/expected.js +8 -6
  23. package/node/deprecations/avatar-props/test-cases/theme.expected.js +8 -7
  24. package/node/deprecations/backdrop-props/backdrop-props.js +3 -5
  25. package/node/deprecations/backdrop-props/test-cases/actual.js +30 -13
  26. package/node/deprecations/backdrop-props/test-cases/expected.js +23 -13
  27. package/node/deprecations/backdrop-props/test-cases/theme.actual.js +32 -6
  28. package/node/deprecations/backdrop-props/test-cases/theme.expected.js +27 -5
  29. package/node/deprecations/badge-props/test-cases/expected.js +12 -5
  30. package/node/deprecations/badge-props/test-cases/theme.expected.js +12 -5
  31. package/node/deprecations/circular-progress-classes/circular-progress-classes.js +77 -0
  32. package/node/deprecations/circular-progress-classes/index.js +13 -0
  33. package/node/deprecations/circular-progress-classes/postcss-plugin.js +33 -0
  34. package/node/deprecations/circular-progress-classes/postcss.config.js +8 -0
  35. package/node/deprecations/circular-progress-classes/test-cases/actual.js +7 -0
  36. package/node/deprecations/circular-progress-classes/test-cases/expected.js +7 -0
  37. package/node/deprecations/divider-props/divider-props.js +28 -15
  38. package/node/deprecations/divider-props/test-cases/actual.js +3 -0
  39. package/node/deprecations/divider-props/test-cases/expected.js +5 -8
  40. package/node/deprecations/divider-props/test-cases/theme.actual.js +28 -0
  41. package/node/deprecations/divider-props/test-cases/theme.expected.js +25 -0
  42. package/node/deprecations/filled-input-props/filled-input-props.js +22 -0
  43. package/node/deprecations/filled-input-props/index.js +13 -0
  44. package/node/deprecations/filled-input-props/test-cases/actual.js +60 -0
  45. package/node/deprecations/filled-input-props/test-cases/expected.js +52 -0
  46. package/node/deprecations/filled-input-props/test-cases/theme.actual.js +73 -0
  47. package/node/deprecations/filled-input-props/test-cases/theme.expected.js +65 -0
  48. package/node/deprecations/form-control-label-props/form-control-label-props.js +22 -0
  49. package/node/deprecations/form-control-label-props/index.js +13 -0
  50. package/node/deprecations/form-control-label-props/test-cases/actual.js +21 -0
  51. package/node/deprecations/form-control-label-props/test-cases/expected.js +21 -0
  52. package/node/deprecations/form-control-label-props/test-cases/theme.actual.js +23 -0
  53. package/node/deprecations/form-control-label-props/test-cases/theme.expected.js +23 -0
  54. package/node/deprecations/grid-props/grid-props.js +51 -0
  55. package/node/deprecations/grid-props/index.js +13 -0
  56. package/node/deprecations/grid-props/test-cases/actual.js +25 -0
  57. package/node/deprecations/grid-props/test-cases/expected.js +23 -0
  58. package/node/deprecations/grid-props/test-cases/theme.actual.js +24 -0
  59. package/node/deprecations/grid-props/test-cases/theme.expected.js +23 -0
  60. package/node/deprecations/image-list-item-bar-classes/image-list-item-bar-classes.js +77 -0
  61. package/node/deprecations/image-list-item-bar-classes/index.js +13 -0
  62. package/node/deprecations/image-list-item-bar-classes/postcss-plugin.js +39 -0
  63. package/node/deprecations/image-list-item-bar-classes/postcss.config.js +8 -0
  64. package/node/deprecations/image-list-item-bar-classes/test-cases/actual.js +11 -0
  65. package/node/deprecations/image-list-item-bar-classes/test-cases/expected.js +11 -0
  66. package/node/deprecations/input-base-props/index.js +13 -0
  67. package/node/deprecations/input-base-props/input-base-props.js +22 -0
  68. package/node/deprecations/input-base-props/test-cases/actual.js +60 -0
  69. package/node/deprecations/input-base-props/test-cases/expected.js +52 -0
  70. package/node/deprecations/input-base-props/test-cases/theme.actual.js +73 -0
  71. package/node/deprecations/input-base-props/test-cases/theme.expected.js +65 -0
  72. package/node/deprecations/input-props/index.js +13 -0
  73. package/node/deprecations/input-props/input-props.js +22 -0
  74. package/node/deprecations/input-props/test-cases/actual.js +60 -0
  75. package/node/deprecations/input-props/test-cases/expected.js +52 -0
  76. package/node/deprecations/input-props/test-cases/theme.actual.js +73 -0
  77. package/node/deprecations/input-props/test-cases/theme.expected.js +65 -0
  78. package/node/deprecations/list-item-props/index.js +13 -0
  79. package/node/deprecations/list-item-props/list-item-props.js +22 -0
  80. package/node/deprecations/list-item-props/test-cases/actual.js +43 -0
  81. package/node/deprecations/list-item-props/test-cases/expected.js +40 -0
  82. package/node/deprecations/list-item-props/test-cases/theme.actual.js +56 -0
  83. package/node/deprecations/list-item-props/test-cases/theme.expected.js +53 -0
  84. package/node/deprecations/modal-props/index.js +13 -0
  85. package/node/deprecations/modal-props/modal-props.js +22 -0
  86. package/node/deprecations/modal-props/test-cases/actual.js +43 -0
  87. package/node/deprecations/modal-props/test-cases/expected.js +40 -0
  88. package/node/deprecations/modal-props/test-cases/theme.actual.js +56 -0
  89. package/node/deprecations/modal-props/test-cases/theme.expected.js +53 -0
  90. package/node/deprecations/outlined-input-props/index.js +13 -0
  91. package/node/deprecations/outlined-input-props/outlined-input-props.js +22 -0
  92. package/node/deprecations/outlined-input-props/test-cases/actual.js +60 -0
  93. package/node/deprecations/outlined-input-props/test-cases/expected.js +52 -0
  94. package/node/deprecations/outlined-input-props/test-cases/theme.actual.js +73 -0
  95. package/node/deprecations/outlined-input-props/test-cases/theme.expected.js +65 -0
  96. package/node/deprecations/pagination-item-props/index.js +13 -0
  97. package/node/deprecations/pagination-item-props/pagination-item-props.js +22 -0
  98. package/node/deprecations/pagination-item-props/test-cases/actual.js +27 -0
  99. package/node/deprecations/pagination-item-props/test-cases/expected.js +21 -0
  100. package/node/deprecations/pagination-item-props/test-cases/theme.actual.js +28 -0
  101. package/node/deprecations/pagination-item-props/test-cases/theme.expected.js +26 -0
  102. package/node/deprecations/popper-props/index.js +13 -0
  103. package/node/deprecations/popper-props/popper-props.js +22 -0
  104. package/node/deprecations/popper-props/test-cases/actual.js +27 -0
  105. package/node/deprecations/popper-props/test-cases/expected.js +24 -0
  106. package/node/deprecations/popper-props/test-cases/theme.actual.js +32 -0
  107. package/node/deprecations/popper-props/test-cases/theme.expected.js +29 -0
  108. package/node/deprecations/slider-props/test-cases/expected.js +12 -4
  109. package/node/deprecations/slider-props/test-cases/theme.expected.js +12 -5
  110. package/node/deprecations/speed-dial-props/index.js +13 -0
  111. package/node/deprecations/speed-dial-props/speed-dial-props.js +31 -0
  112. package/node/deprecations/speed-dial-props/test-cases/actual.js +41 -0
  113. package/node/deprecations/speed-dial-props/test-cases/expected.js +54 -0
  114. package/node/deprecations/speed-dial-props/test-cases/theme.actual.js +33 -0
  115. package/node/deprecations/speed-dial-props/test-cases/theme.expected.js +40 -0
  116. package/node/deprecations/step-label-props/step-label-props.js +0 -14
  117. package/node/deprecations/step-label-props/test-cases/actual.js +0 -23
  118. package/node/deprecations/step-label-props/test-cases/expected.js +4 -26
  119. package/node/deprecations/step-label-props/test-cases/theme.actual.js +0 -22
  120. package/node/deprecations/step-label-props/test-cases/theme.expected.js +4 -28
  121. package/node/deprecations/tab-classes/index.js +13 -0
  122. package/node/deprecations/tab-classes/postcss-plugin.js +30 -0
  123. package/node/deprecations/tab-classes/postcss.config.js +8 -0
  124. package/node/deprecations/tab-classes/tab-classes.js +53 -0
  125. package/node/deprecations/tab-classes/test-cases/actual.js +5 -0
  126. package/node/deprecations/tab-classes/test-cases/expected.js +5 -0
  127. package/node/deprecations/table-sort-label-classes/index.js +13 -0
  128. package/node/deprecations/table-sort-label-classes/postcss-plugin.js +33 -0
  129. package/node/deprecations/table-sort-label-classes/postcss.config.js +8 -0
  130. package/node/deprecations/table-sort-label-classes/table-sort-label-classes.js +77 -0
  131. package/node/deprecations/table-sort-label-classes/test-cases/actual.js +7 -0
  132. package/node/deprecations/table-sort-label-classes/test-cases/expected.js +7 -0
  133. package/node/deprecations/text-field-props/index.js +13 -0
  134. package/node/deprecations/text-field-props/test-cases/actual.js +27 -0
  135. package/node/deprecations/text-field-props/test-cases/expected.js +31 -0
  136. package/node/deprecations/text-field-props/test-cases/theme.actual.js +13 -0
  137. package/node/deprecations/text-field-props/test-cases/theme.expected.js +15 -0
  138. package/node/deprecations/text-field-props/text-field-props.js +48 -0
  139. package/node/deprecations/tooltip-props/index.js +13 -0
  140. package/node/deprecations/tooltip-props/test-cases/actual.js +92 -0
  141. package/node/deprecations/tooltip-props/test-cases/expected.js +84 -0
  142. package/node/deprecations/tooltip-props/test-cases/theme.actual.js +73 -0
  143. package/node/deprecations/tooltip-props/test-cases/theme.expected.js +65 -0
  144. package/node/deprecations/tooltip-props/tooltip-props.js +22 -0
  145. package/node/deprecations/typography-props/index.js +13 -0
  146. package/node/deprecations/typography-props/test-cases/actual.js +80 -0
  147. package/node/deprecations/typography-props/test-cases/expected.js +86 -0
  148. package/node/deprecations/typography-props/test-cases/theme.actual.js +85 -0
  149. package/node/deprecations/typography-props/test-cases/theme.expected.js +86 -0
  150. package/node/deprecations/typography-props/typography-props.js +81 -0
  151. package/node/deprecations/utils/movePropIntoSlotProps.js +4 -12
  152. package/node/deprecations/utils/movePropIntoSlots.js +4 -12
  153. package/node/deprecations/utils/replaceComponentsWithSlots.js +32 -25
  154. package/node/util/getReturnExpression.js +19 -0
  155. package/node/util/migrateToVariants.js +586 -0
  156. package/node/util/propsToObject.js +2 -6
  157. package/node/util/renameClassKey.js +1 -2
  158. package/node/v0.15.0/import-path.js +2 -2
  159. package/node/v5.0.0/avatar-circle-circular.js +2 -4
  160. package/node/v5.0.0/badge-overlap-value.js +4 -7
  161. package/node/v5.0.0/badge-overlap-value.test/actual.js +3 -4
  162. package/node/v5.0.0/badge-overlap-value.test/expected.js +3 -4
  163. package/node/v5.0.0/base-hook-imports.js +1 -2
  164. package/node/v5.0.0/base-remove-component-prop.test/actual.js +4 -4
  165. package/node/v5.0.0/base-remove-component-prop.test/expected.js +4 -4
  166. package/node/v5.0.0/base-remove-unstyled-suffix.js +1 -2
  167. package/node/v5.0.0/base-remove-unstyled-suffix.test/actual.js +5 -5
  168. package/node/v5.0.0/base-remove-unstyled-suffix.test/expected.js +4 -4
  169. package/node/v5.0.0/base-rename-components-to-slots.js +1 -1
  170. package/node/v5.0.0/base-use-named-exports.js +5 -8
  171. package/node/v5.0.0/box-sx-prop.js +1 -2
  172. package/node/v5.0.0/box-sx-prop.test/actual.js +4 -4
  173. package/node/v5.0.0/box-sx-prop.test/expected.js +3 -3
  174. package/node/v5.0.0/button-color-prop.js +1 -2
  175. package/node/v5.0.0/chip-variant-prop.js +1 -2
  176. package/node/v5.0.0/circularprogress-variant.js +2 -4
  177. package/node/v5.0.0/create-theme.test/custom-fn.actual.js +3 -4
  178. package/node/v5.0.0/create-theme.test/custom-fn.expected.js +3 -4
  179. package/node/v5.0.0/fab-variant.js +2 -4
  180. package/node/v5.0.0/grid-list-component.test/actual.js +1 -1
  181. package/node/v5.0.0/grid-list-component.test/expected.js +1 -1
  182. package/node/v5.0.0/joy-avatar-remove-imgProps.js +3 -7
  183. package/node/v5.0.0/joy-rename-components-to-slots.js +1 -1
  184. package/node/v5.0.0/joy-rename-row-prop.js +1 -2
  185. package/node/v5.0.0/joy-text-field-to-input.js +4 -7
  186. package/node/v5.0.0/jss-to-styled.test/first.actual.js +11 -14
  187. package/node/v5.0.0/jss-to-styled.test/first.expected.js +11 -14
  188. package/node/v5.0.0/jss-to-styled.test/seventh.actual.js +4 -4
  189. package/node/v5.0.0/jss-to-styled.test/seventh.expected.js +4 -4
  190. package/node/v5.0.0/jss-to-styled.test/sixth.actual.js +3 -3
  191. package/node/v5.0.0/jss-to-styled.test/sixth.expected.js +3 -3
  192. package/node/v5.0.0/jss-to-styled.test/withCreateStyles.actual.js +3 -3
  193. package/node/v5.0.0/jss-to-styled.test/withCreateStyles.expected.js +3 -4
  194. package/node/v5.0.0/jss-to-styled.test/withCreateStyles1.actual.js +3 -3
  195. package/node/v5.0.0/jss-to-styled.test/withCreateStyles1.expected.js +3 -4
  196. package/node/v5.0.0/jss-to-styled.test/withCreateStyles2.actual.js +3 -3
  197. package/node/v5.0.0/jss-to-styled.test/withCreateStyles2.expected.js +3 -4
  198. package/node/v5.0.0/jss-to-styled.test/withCreateStyles3.actual.js +3 -3
  199. package/node/v5.0.0/jss-to-styled.test/withCreateStyles3.expected.js +3 -4
  200. package/node/v5.0.0/jss-to-tss-react.js +4 -6
  201. package/node/v5.0.0/jss-to-tss-react.test/actual-mixins-pattern.js +6 -5
  202. package/node/v5.0.0/jss-to-tss-react.test/actual-withStyles.js +4 -4
  203. package/node/v5.0.0/jss-to-tss-react.test/expected-mixins-pattern.js +6 -5
  204. package/node/v5.0.0/jss-to-tss-react.test/expected-withStyles.js +4 -4
  205. package/node/v5.0.0/link-underline-hover.js +1 -4
  206. package/node/v5.0.0/pagination-round-circular.js +3 -8
  207. package/node/v5.0.0/preset-safe.test/actual.js +6 -4
  208. package/node/v5.0.0/preset-safe.test/expected.js +9 -6
  209. package/node/v5.0.0/root-ref.test/expected.js +4 -4
  210. package/node/v5.0.0/skeleton-variant.js +3 -5
  211. package/node/v5.0.0/table-props.js +4 -9
  212. package/node/v5.0.0/table-props.test/actual.js +4 -5
  213. package/node/v5.0.0/table-props.test/expected.js +4 -5
  214. package/node/v5.0.0/tabs-scroll-buttons.js +4 -5
  215. package/node/v5.0.0/theme-spacing.test/large-actual.js +11 -11
  216. package/node/v5.0.0/theme-spacing.test/large-expected.js +11 -11
  217. package/node/v5.0.0/variant-prop.test/actual.js +12 -6
  218. package/node/v5.0.0/variant-prop.test/expected.js +15 -12
  219. package/node/v5.0.0/with-mobile-dialog.test/expected.js +6 -5
  220. package/node/v5.0.0/with-width.test/expected.js +6 -5
  221. package/node/v6.0.0/all/v6-all.js +4 -5
  222. package/node/v6.0.0/grid-v2-props/grid-v2-props.js +142 -0
  223. package/node/v6.0.0/grid-v2-props/index.js +13 -0
  224. package/node/v6.0.0/grid-v2-props/test-cases/actual.js +89 -0
  225. package/node/v6.0.0/grid-v2-props/test-cases/custom-breakpoints.actual.js +18 -0
  226. package/node/v6.0.0/grid-v2-props/test-cases/custom-breakpoints.expected.js +22 -0
  227. package/node/v6.0.0/grid-v2-props/test-cases/expected.js +101 -0
  228. package/node/v6.0.0/list-item-button-prop/index.js +13 -0
  229. package/node/v6.0.0/list-item-button-prop/list-item-button-prop.js +93 -0
  230. package/node/v6.0.0/list-item-button-prop/test-cases/actual.js +31 -0
  231. package/node/v6.0.0/list-item-button-prop/test-cases/expected.js +20 -0
  232. package/node/v6.0.0/list-item-button-prop/test-cases/theme.actual.js +20 -0
  233. package/node/v6.0.0/list-item-button-prop/test-cases/theme.expected.js +24 -0
  234. package/node/v6.0.0/styled/styled-v6.js +2 -415
  235. package/node/v6.0.0/styled/test-cases/BasicStyled.actual.js +55 -44
  236. package/node/v6.0.0/styled/test-cases/BasicStyled.expected.js +5 -6
  237. package/node/v6.0.0/styled/test-cases/ConditionalStyled.actual.js +98 -61
  238. package/node/v6.0.0/styled/test-cases/ConditionalStyled.expected.js +54 -29
  239. package/node/v6.0.0/styled/test-cases/DynamicPropsStyled.actual.js +39 -0
  240. package/node/v6.0.0/styled/test-cases/DynamicPropsStyled.expected.js +65 -0
  241. package/node/v6.0.0/styled/test-cases/LogicalStyled.actual.js +31 -1
  242. package/node/v6.0.0/styled/test-cases/LogicalStyled.expected.js +39 -1
  243. package/node/v6.0.0/styled/test-cases/NestedSpread.actual.js +33 -28
  244. package/node/v6.0.0/styled/test-cases/NestedSpread.expected.js +20 -22
  245. package/node/v6.0.0/styled/test-cases/ThemePaletteMode.expected.js +28 -26
  246. package/node/v6.0.0/styled/test-cases/VariantAndModeStyled.actual.js +6 -5
  247. package/node/v6.0.0/styled/test-cases/VariantAndModeStyled.expected.js +8 -8
  248. package/node/v6.0.0/sx-prop/index.js +13 -0
  249. package/node/v6.0.0/sx-prop/sx-v6.js +411 -0
  250. package/node/v6.0.0/sx-prop/test-cases/basic-sx.actual.js +36 -0
  251. package/node/v6.0.0/sx-prop/test-cases/basic-sx.expected.js +46 -0
  252. package/node/v6.0.0/sx-prop/test-cases/sx-applyStyles.actual.js +89 -0
  253. package/node/v6.0.0/sx-prop/test-cases/sx-applyStyles.expected.js +82 -0
  254. package/node/v6.0.0/sx-prop/test-cases/sx-condition.actual.js +92 -0
  255. package/node/v6.0.0/sx-prop/test-cases/sx-condition.expected.js +89 -0
  256. package/node/v6.0.0/sx-prop/test-cases/sx-css-vars.actual.js +55 -0
  257. package/node/v6.0.0/sx-prop/test-cases/sx-css-vars.expected.js +88 -0
  258. package/node/v6.0.0/sx-prop/test-cases/sx-dynamic.actual.js +107 -0
  259. package/node/v6.0.0/sx-prop/test-cases/sx-dynamic.expected.js +120 -0
  260. package/node/v6.0.0/sx-prop/test-cases/sx-dynamic2.actual.js +49 -0
  261. package/node/v6.0.0/sx-prop/test-cases/sx-dynamic2.expected.js +64 -0
  262. package/node/v6.0.0/sx-prop/test-cases/sx-inheritance.actual.js +17 -0
  263. package/node/v6.0.0/sx-prop/test-cases/sx-inheritance.expected.js +17 -0
  264. package/node/v6.0.0/sx-prop/test-cases/sx-line-break.actual.js +69 -0
  265. package/node/v6.0.0/sx-prop/test-cases/sx-line-break.expected.js +69 -0
  266. package/node/v6.0.0/sx-prop/test-cases/sx-value-callback.actual.js +102 -0
  267. package/node/v6.0.0/sx-prop/test-cases/sx-value-callback.expected.js +111 -0
  268. package/node/v6.0.0/system-props/index.js +13 -0
  269. package/node/v6.0.0/system-props/removeSystemProps.js +233 -0
  270. package/node/v6.0.0/system-props/test-cases/system-props.actual.js +83 -0
  271. package/node/v6.0.0/system-props/test-cases/system-props.expected.js +98 -0
  272. package/node/v6.0.0/theme-v6/index.js +13 -0
  273. package/node/v6.0.0/theme-v6/test-cases/basicTheme.actual.js +559 -0
  274. package/node/v6.0.0/theme-v6/test-cases/basicTheme.expected.js +644 -0
  275. package/node/v6.0.0/theme-v6/test-cases/themeVariants.actual.js +65 -0
  276. package/node/v6.0.0/theme-v6/test-cases/themeVariants.expected.js +74 -0
  277. package/node/v6.0.0/theme-v6/theme-v6.js +86 -0
  278. package/package.json +11 -11
@@ -0,0 +1,51 @@
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 _findComponentJSX = _interopRequireDefault(require("../../util/findComponentJSX"));
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
+ const filterJSXAttr = (attr, name) => attr.type === 'JSXAttribute' && attr.name.name === name;
18
+ (0, _findComponentJSX.default)(j, {
19
+ root,
20
+ componentName: 'Grid'
21
+ }, gridElement => {
22
+ const attrs = gridElement.node.openingElement.attributes;
23
+ const wrapPropIndex = attrs.findIndex(attr => filterJSXAttr(attr, 'wrap'));
24
+ if (wrapPropIndex !== -1) {
25
+ if (attrs.findIndex(attr => filterJSXAttr(attr, 'flexWrap')) !== -1) {
26
+ attrs.splice(wrapPropIndex, 1);
27
+ } else {
28
+ attrs[wrapPropIndex].name.name = 'flexWrap';
29
+ }
30
+ }
31
+ });
32
+ root.find(j.ObjectProperty, {
33
+ key: {
34
+ name: 'MuiGrid'
35
+ }
36
+ }).forEach(path => {
37
+ const defaultProps = path.value.value.properties.find(({
38
+ key
39
+ }) => key.name === 'defaultProps');
40
+ const props = defaultProps.value.properties;
41
+ const wrapPropIndex = props.findIndex(prop => prop.key.name === 'wrap');
42
+ if (wrapPropIndex !== -1) {
43
+ if (props.findIndex(prop => prop.key.name === 'flexWrap') !== -1) {
44
+ props.splice(wrapPropIndex, 1);
45
+ } else {
46
+ props[wrapPropIndex].key.name = 'flexWrap';
47
+ }
48
+ }
49
+ });
50
+ return root.toSource(printOptions);
51
+ }
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ Object.defineProperty(exports, "default", {
8
+ enumerable: true,
9
+ get: function () {
10
+ return _gridProps.default;
11
+ }
12
+ });
13
+ var _gridProps = _interopRequireDefault(require("./grid-props"));
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _Grid = _interopRequireDefault(require("@mui/material/Grid"));
5
+ var _material = require("@mui/material");
6
+ var _jsxRuntime = require("react/jsx-runtime");
7
+ /*#__PURE__*/(0, _jsxRuntime.jsx)(_Grid.default, {
8
+ wrap: "wrap-reverse"
9
+ });
10
+ /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Grid, {
11
+ wrap: "wrap-reverse"
12
+ });
13
+ /*#__PURE__*/(0, _jsxRuntime.jsx)(_Grid.default, {
14
+ wrap: "wrap-reverse",
15
+ flexWrap: "wrap"
16
+ });
17
+ /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Grid, {
18
+ wrap: "wrap-reverse",
19
+ flexWrap: "wrap"
20
+ });
21
+
22
+ // should skip non MUI components
23
+ /*#__PURE__*/(0, _jsxRuntime.jsx)(NonMuiGrid, {
24
+ wrap: "wrap-reverse"
25
+ });
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _Grid = _interopRequireDefault(require("@mui/material/Grid"));
5
+ var _material = require("@mui/material");
6
+ var _jsxRuntime = require("react/jsx-runtime");
7
+ /*#__PURE__*/(0, _jsxRuntime.jsx)(_Grid.default, {
8
+ flexWrap: "wrap-reverse"
9
+ });
10
+ /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Grid, {
11
+ flexWrap: "wrap-reverse"
12
+ });
13
+ /*#__PURE__*/(0, _jsxRuntime.jsx)(_Grid.default, {
14
+ flexWrap: "wrap"
15
+ });
16
+ /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Grid, {
17
+ flexWrap: "wrap"
18
+ });
19
+
20
+ // should skip non MUI components
21
+ /*#__PURE__*/(0, _jsxRuntime.jsx)(NonMuiGrid, {
22
+ wrap: "wrap-reverse"
23
+ });
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ fn({
4
+ MuiGrid: {
5
+ defaultProps: {
6
+ wrap: 'wrap'
7
+ }
8
+ }
9
+ });
10
+ fn({
11
+ MuiGrid: {
12
+ defaultProps: {
13
+ wrap: 'wrap-reverse'
14
+ }
15
+ }
16
+ });
17
+ fn({
18
+ MuiGrid: {
19
+ defaultProps: {
20
+ wrap: 'wrap-reverse',
21
+ flexWrap: 'wrap'
22
+ }
23
+ }
24
+ });
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+
3
+ fn({
4
+ MuiGrid: {
5
+ defaultProps: {
6
+ flexWrap: 'wrap'
7
+ }
8
+ }
9
+ });
10
+ fn({
11
+ MuiGrid: {
12
+ defaultProps: {
13
+ flexWrap: 'wrap-reverse'
14
+ }
15
+ }
16
+ });
17
+ fn({
18
+ MuiGrid: {
19
+ defaultProps: {
20
+ flexWrap: 'wrap'
21
+ }
22
+ }
23
+ });
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = transformer;
7
+ var _postcssPlugin = require("./postcss-plugin");
8
+ /**
9
+ * @param {import('jscodeshift').FileInfo} file
10
+ * @param {import('jscodeshift').API} api
11
+ */
12
+ function transformer(file, api, options) {
13
+ const j = api.jscodeshift;
14
+ const root = j(file.source);
15
+ const printOptions = options.printOptions;
16
+ _postcssPlugin.classes.forEach(({
17
+ deprecatedClass,
18
+ replacementSelector
19
+ }) => {
20
+ const replacementSelectorPrefix = '&';
21
+ root.find(j.ImportDeclaration).filter(path => path.node.source.value.match(/^@mui\/material\/ImageListItemBar$/)).forEach(path => {
22
+ path.node.specifiers.forEach(specifier => {
23
+ if (specifier.type === 'ImportSpecifier' && specifier.imported.name === 'imageListItemBarClasses') {
24
+ const deprecatedAtomicClass = deprecatedClass.replace(`${deprecatedClass.split('-')[0]}-`, '');
25
+ root.find(j.MemberExpression, {
26
+ object: {
27
+ name: specifier.local.name
28
+ },
29
+ property: {
30
+ name: deprecatedAtomicClass
31
+ }
32
+ }).forEach(memberExpression => {
33
+ const parent = memberExpression.parentPath.parentPath.value;
34
+ if (parent.type === j.TemplateLiteral.name) {
35
+ const memberExpressionIndex = parent.expressions.findIndex(expression => expression === memberExpression.value);
36
+ const precedingTemplateElement = parent.quasis[memberExpressionIndex];
37
+ const atomicClasses = replacementSelector.replaceAll('MuiImageListItemBar-', '').replaceAll(replacementSelectorPrefix, '').replaceAll(' > ', '').split('.').filter(Boolean);
38
+ if (precedingTemplateElement.value.raw.endsWith(deprecatedClass.startsWith(' ') ? `${replacementSelectorPrefix} .` : `${replacementSelectorPrefix}.`)) {
39
+ const atomicClassesArgs = [memberExpressionIndex, 1, ...atomicClasses.map(atomicClass => j.memberExpression(memberExpression.value.object, j.identifier(atomicClass)))];
40
+ parent.expressions.splice(...atomicClassesArgs);
41
+ if (replacementSelector.includes(' > ')) {
42
+ const quasisArgs = [memberExpressionIndex, 1, j.templateElement({
43
+ raw: precedingTemplateElement.value.raw.replace(' ', ''),
44
+ cooked: precedingTemplateElement.value.cooked.replace(' ', '')
45
+ }, false), j.templateElement({
46
+ raw: ' > .',
47
+ cooked: ' > .'
48
+ }, false)];
49
+ if (atomicClasses.length === 3) {
50
+ quasisArgs.splice(3, 0, j.templateElement({
51
+ raw: '.',
52
+ cooked: '.'
53
+ }, false));
54
+ }
55
+ parent.quasis.splice(...quasisArgs);
56
+ } else {
57
+ parent.quasis.splice(memberExpressionIndex, 1, j.templateElement({
58
+ raw: precedingTemplateElement.value.raw,
59
+ cooked: precedingTemplateElement.value.cooked
60
+ }, false), j.templateElement({
61
+ raw: '.',
62
+ cooked: '.'
63
+ }, false));
64
+ }
65
+ }
66
+ }
67
+ });
68
+ }
69
+ });
70
+ });
71
+ const selectorRegex = new RegExp(`${replacementSelectorPrefix}${deprecatedClass}$`);
72
+ root.find(j.Literal, literal => typeof literal.value === 'string' && literal.value.match(selectorRegex)).forEach(path => {
73
+ path.replace(j.literal(path.value.value.replace(selectorRegex, `${replacementSelectorPrefix}${replacementSelector}`)));
74
+ });
75
+ });
76
+ return root.toSource(printOptions);
77
+ }
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ Object.defineProperty(exports, "default", {
8
+ enumerable: true,
9
+ get: function () {
10
+ return _imageListItemBarClasses.default;
11
+ }
12
+ });
13
+ var _imageListItemBarClasses = _interopRequireDefault(require("./image-list-item-bar-classes"));
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+
3
+ const classes = [{
4
+ deprecatedClass: ' .MuiImageListItemBar-titleWrapBelow',
5
+ replacementSelector: '.MuiImageListItemBar-positionBelow > .MuiImageListItemBar-titleWrap'
6
+ }, {
7
+ deprecatedClass: ' .MuiImageListItemBar-titleWrapActionPosLeft',
8
+ replacementSelector: '.MuiImageListItemBar-actionPositionLeft > .MuiImageListItemBar-titleWrap'
9
+ }, {
10
+ deprecatedClass: ' .MuiImageListItemBar-titleWrapActionPosRight',
11
+ replacementSelector: '.MuiImageListItemBar-actionPositionRight > .MuiImageListItemBar-titleWrap'
12
+ }, {
13
+ deprecatedClass: ' .MuiImageListItemBar-actionIconActionPosLeft',
14
+ replacementSelector: '.MuiImageListItemBar-actionPositionLeft > .MuiImageListItemBar-actionIcon'
15
+ }];
16
+ const plugin = () => {
17
+ return {
18
+ postcssPlugin: `Replace deprecated ImageListItemBar classes with new classes`,
19
+ Rule(rule) {
20
+ const {
21
+ selector
22
+ } = rule;
23
+ classes.forEach(({
24
+ deprecatedClass,
25
+ replacementSelector
26
+ }) => {
27
+ const selectorRegex = new RegExp(`${deprecatedClass}$`);
28
+ if (selector.match(selectorRegex)) {
29
+ rule.selector = selector.replace(selectorRegex, replacementSelector);
30
+ }
31
+ });
32
+ }
33
+ };
34
+ };
35
+ plugin.postcss = true;
36
+ module.exports = {
37
+ plugin,
38
+ classes
39
+ };
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+
3
+ const {
4
+ plugin
5
+ } = require('./postcss-plugin');
6
+ module.exports = {
7
+ plugins: [plugin]
8
+ };
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+
3
+ var _ImageListItemBar = require("@mui/material/ImageListItemBar");
4
+ '& .MuiImageListItemBar-titleWrapBelow';
5
+ '& .MuiImageListItemBar-titleWrapActionPosLeft';
6
+ '& .MuiImageListItemBar-titleWrapActionPosRight';
7
+ '& .MuiImageListItemBar-actionIconActionPosLeft';
8
+ `& .${_ImageListItemBar.imageListItemBarClasses.titleWrapBelow}`;
9
+ `& .${_ImageListItemBar.imageListItemBarClasses.titleWrapActionPosLeft}`;
10
+ `& .${_ImageListItemBar.imageListItemBarClasses.titleWrapActionPosRight}`;
11
+ `& .${_ImageListItemBar.imageListItemBarClasses.actionIconActionPosLeft}`;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+
3
+ var _ImageListItemBar = require("@mui/material/ImageListItemBar");
4
+ "&.MuiImageListItemBar-positionBelow > .MuiImageListItemBar-titleWrap";
5
+ "&.MuiImageListItemBar-actionPositionLeft > .MuiImageListItemBar-titleWrap";
6
+ "&.MuiImageListItemBar-actionPositionRight > .MuiImageListItemBar-titleWrap";
7
+ "&.MuiImageListItemBar-actionPositionLeft > .MuiImageListItemBar-actionIcon";
8
+ `&.${_ImageListItemBar.imageListItemBarClasses.positionBelow} > .${_ImageListItemBar.imageListItemBarClasses.titleWrap}`;
9
+ `&.${_ImageListItemBar.imageListItemBarClasses.actionPositionLeft} > .${_ImageListItemBar.imageListItemBarClasses.titleWrap}`;
10
+ `&.${_ImageListItemBar.imageListItemBarClasses.actionPositionRight} > .${_ImageListItemBar.imageListItemBarClasses.titleWrap}`;
11
+ `&.${_ImageListItemBar.imageListItemBarClasses.actionPositionLeft} > .${_ImageListItemBar.imageListItemBarClasses.actionIcon}`;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ Object.defineProperty(exports, "default", {
8
+ enumerable: true,
9
+ get: function () {
10
+ return _inputBaseProps.default;
11
+ }
12
+ });
13
+ var _inputBaseProps = _interopRequireDefault(require("./input-base-props"));
@@ -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: 'InputBase'
20
+ });
21
+ return root.toSource(printOptions);
22
+ }
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _InputBase = _interopRequireDefault(require("@mui/material/InputBase"));
5
+ var _jsxRuntime = require("react/jsx-runtime");
6
+ /*#__PURE__*/(0, _jsxRuntime.jsx)(_InputBase.default, {
7
+ components: {
8
+ Input: ComponentsInput
9
+ },
10
+ componentsProps: {
11
+ input: componentsInputProps
12
+ }
13
+ });
14
+ /*#__PURE__*/(0, _jsxRuntime.jsx)(_InputBase.default, {
15
+ slots: {
16
+ root: SlotsRoot
17
+ },
18
+ components: {
19
+ Input: ComponentsInput
20
+ },
21
+ slotProps: {
22
+ root: slotsRootProps
23
+ },
24
+ componentsProps: {
25
+ input: componentsInputProps
26
+ }
27
+ });
28
+ /*#__PURE__*/(0, _jsxRuntime.jsx)(_InputBase.default, {
29
+ slots: {
30
+ root: SlotsRoot,
31
+ input: SlotsInput
32
+ },
33
+ components: {
34
+ Input: ComponentsInput
35
+ },
36
+ slotProps: {
37
+ root: slotsRootProps,
38
+ input: slotsInputProps
39
+ },
40
+ componentsProps: {
41
+ input: componentsInputProps
42
+ }
43
+ });
44
+ /*#__PURE__*/(0, _jsxRuntime.jsx)(_InputBase.default, {
45
+ slots: {
46
+ root: SlotsRoot,
47
+ input: SlotsInput
48
+ },
49
+ components: {
50
+ Input: ComponentsInput
51
+ },
52
+ slotProps: {
53
+ root: slotsRootProps,
54
+ input: slotsInputProps
55
+ },
56
+ componentsProps: {
57
+ input: componentsInputProps,
58
+ root: componentsRootProps
59
+ }
60
+ });
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _InputBase = _interopRequireDefault(require("@mui/material/InputBase"));
5
+ var _jsxRuntime = require("react/jsx-runtime");
6
+ /*#__PURE__*/(0, _jsxRuntime.jsx)(_InputBase.default, {
7
+ slots: {
8
+ input: ComponentsInput
9
+ },
10
+ slotProps: {
11
+ input: componentsInputProps
12
+ }
13
+ });
14
+ /*#__PURE__*/(0, _jsxRuntime.jsx)(_InputBase.default, {
15
+ slots: {
16
+ root: SlotsRoot,
17
+ input: ComponentsInput
18
+ },
19
+ slotProps: {
20
+ root: slotsRootProps,
21
+ input: componentsInputProps
22
+ }
23
+ });
24
+ /*#__PURE__*/(0, _jsxRuntime.jsx)(_InputBase.default, {
25
+ slots: {
26
+ root: SlotsRoot,
27
+ input: SlotsInput
28
+ },
29
+ slotProps: {
30
+ root: slotsRootProps,
31
+ input: {
32
+ ...componentsInputProps,
33
+ ...slotsInputProps
34
+ }
35
+ }
36
+ });
37
+ /*#__PURE__*/(0, _jsxRuntime.jsx)(_InputBase.default, {
38
+ slots: {
39
+ root: SlotsRoot,
40
+ input: SlotsInput
41
+ },
42
+ slotProps: {
43
+ input: {
44
+ ...componentsInputProps,
45
+ ...slotsInputProps
46
+ },
47
+ root: {
48
+ ...componentsRootProps,
49
+ ...slotsRootProps
50
+ }
51
+ }
52
+ });
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+
3
+ fn({
4
+ MuiInputBase: {
5
+ defaultProps: {
6
+ components: {
7
+ Input: ComponentsInput
8
+ },
9
+ componentsProps: {
10
+ input: componentsInputProps
11
+ }
12
+ }
13
+ }
14
+ });
15
+ fn({
16
+ MuiInputBase: {
17
+ defaultProps: {
18
+ components: {
19
+ Input: ComponentsInput
20
+ },
21
+ slots: {
22
+ root: SlotsRoot
23
+ },
24
+ componentsProps: {
25
+ input: componentsInputProps
26
+ },
27
+ slotProps: {
28
+ root: slotsRootProps
29
+ }
30
+ }
31
+ }
32
+ });
33
+ fn({
34
+ MuiInputBase: {
35
+ defaultProps: {
36
+ components: {
37
+ Input: ComponentsInput
38
+ },
39
+ slots: {
40
+ root: SlotsRoot,
41
+ input: SlotsInput
42
+ },
43
+ componentsProps: {
44
+ input: componentsInputProps
45
+ },
46
+ slotProps: {
47
+ root: slotsRootProps,
48
+ input: slotsInputProps
49
+ }
50
+ }
51
+ }
52
+ });
53
+ fn({
54
+ MuiInputBase: {
55
+ defaultProps: {
56
+ components: {
57
+ Input: ComponentsInput
58
+ },
59
+ slots: {
60
+ root: SlotsRoot,
61
+ input: SlotsInput
62
+ },
63
+ componentsProps: {
64
+ input: componentsInputProps,
65
+ root: componentsRootProps
66
+ },
67
+ slotProps: {
68
+ root: slotsRootProps,
69
+ input: slotsInputProps
70
+ }
71
+ }
72
+ }
73
+ });
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+
3
+ fn({
4
+ MuiInputBase: {
5
+ defaultProps: {
6
+ slots: {
7
+ input: ComponentsInput
8
+ },
9
+ slotProps: {
10
+ input: componentsInputProps
11
+ }
12
+ }
13
+ }
14
+ });
15
+ fn({
16
+ MuiInputBase: {
17
+ defaultProps: {
18
+ slots: {
19
+ input: ComponentsInput,
20
+ root: SlotsRoot
21
+ },
22
+ slotProps: {
23
+ input: componentsInputProps,
24
+ root: slotsRootProps
25
+ }
26
+ }
27
+ }
28
+ });
29
+ fn({
30
+ MuiInputBase: {
31
+ defaultProps: {
32
+ slots: {
33
+ input: SlotsInput,
34
+ root: SlotsRoot
35
+ },
36
+ slotProps: {
37
+ input: {
38
+ ...componentsInputProps,
39
+ ...slotsInputProps
40
+ },
41
+ root: slotsRootProps
42
+ }
43
+ }
44
+ }
45
+ });
46
+ fn({
47
+ MuiInputBase: {
48
+ defaultProps: {
49
+ slots: {
50
+ input: SlotsInput,
51
+ root: SlotsRoot
52
+ },
53
+ slotProps: {
54
+ input: {
55
+ ...componentsInputProps,
56
+ ...slotsInputProps
57
+ },
58
+ root: {
59
+ ...componentsRootProps,
60
+ ...slotsRootProps
61
+ }
62
+ }
63
+ }
64
+ }
65
+ });
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ Object.defineProperty(exports, "default", {
8
+ enumerable: true,
9
+ get: function () {
10
+ return _inputProps.default;
11
+ }
12
+ });
13
+ var _inputProps = _interopRequireDefault(require("./input-props"));
@@ -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: 'Input'
20
+ });
21
+ return root.toSource(printOptions);
22
+ }