@mui/codemod 6.0.0-alpha.7 → 6.0.0-alpha.9

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 (124) hide show
  1. package/README.md +227 -30
  2. package/node/deprecations/accordion-props/test-cases/actual.js +6 -3
  3. package/node/deprecations/accordion-props/test-cases/expected.js +14 -10
  4. package/node/deprecations/accordion-props/test-cases/theme.expected.js +8 -7
  5. package/node/deprecations/alert-props/test-cases/expected.js +12 -4
  6. package/node/deprecations/alert-props/test-cases/theme.expected.js +12 -5
  7. package/node/deprecations/all/deprecations-all.js +6 -0
  8. package/node/deprecations/autocomplete-props/test-cases/expected.js +8 -6
  9. package/node/deprecations/autocomplete-props/test-cases/theme.expected.js +8 -7
  10. package/node/deprecations/avatar-group-props/avatar-group-props.js +87 -0
  11. package/node/deprecations/avatar-group-props/index.js +13 -0
  12. package/node/deprecations/avatar-group-props/test-cases/actual.js +56 -0
  13. package/node/deprecations/avatar-group-props/test-cases/expected.js +58 -0
  14. package/node/deprecations/avatar-group-props/test-cases/theme.actual.js +48 -0
  15. package/node/deprecations/avatar-group-props/test-cases/theme.expected.js +50 -0
  16. package/node/deprecations/avatar-props/test-cases/expected.js +8 -6
  17. package/node/deprecations/avatar-props/test-cases/theme.expected.js +8 -7
  18. package/node/deprecations/backdrop-props/test-cases/actual.js +3 -2
  19. package/node/deprecations/backdrop-props/test-cases/expected.js +3 -3
  20. package/node/deprecations/badge-props/test-cases/expected.js +12 -5
  21. package/node/deprecations/badge-props/test-cases/theme.expected.js +12 -5
  22. package/node/deprecations/form-control-label-props/test-cases/expected.js +4 -2
  23. package/node/deprecations/form-control-label-props/test-cases/theme.expected.js +4 -3
  24. package/node/deprecations/grid-props/grid-props.js +51 -0
  25. package/node/deprecations/grid-props/index.js +13 -0
  26. package/node/deprecations/grid-props/test-cases/actual.js +25 -0
  27. package/node/deprecations/grid-props/test-cases/expected.js +23 -0
  28. package/node/deprecations/grid-props/test-cases/theme.actual.js +24 -0
  29. package/node/deprecations/grid-props/test-cases/theme.expected.js +23 -0
  30. package/node/deprecations/list-item-props/index.js +13 -0
  31. package/node/deprecations/list-item-props/list-item-props.js +22 -0
  32. package/node/deprecations/list-item-props/test-cases/actual.js +43 -0
  33. package/node/deprecations/list-item-props/test-cases/expected.js +40 -0
  34. package/node/deprecations/list-item-props/test-cases/theme.actual.js +56 -0
  35. package/node/deprecations/list-item-props/test-cases/theme.expected.js +53 -0
  36. package/node/deprecations/popper-props/index.js +13 -0
  37. package/node/deprecations/popper-props/popper-props.js +22 -0
  38. package/node/deprecations/popper-props/test-cases/actual.js +27 -0
  39. package/node/deprecations/popper-props/test-cases/expected.js +24 -0
  40. package/node/deprecations/popper-props/test-cases/theme.actual.js +32 -0
  41. package/node/deprecations/popper-props/test-cases/theme.expected.js +29 -0
  42. package/node/deprecations/slider-props/test-cases/expected.js +12 -4
  43. package/node/deprecations/slider-props/test-cases/theme.expected.js +12 -5
  44. package/node/deprecations/speed-dial-props/test-cases/actual.js +3 -2
  45. package/node/deprecations/speed-dial-props/test-cases/expected.js +3 -3
  46. package/node/deprecations/step-label-props/test-cases/expected.js +8 -3
  47. package/node/deprecations/step-label-props/test-cases/theme.expected.js +8 -4
  48. package/node/deprecations/text-field-props/index.js +13 -0
  49. package/node/deprecations/text-field-props/test-cases/actual.js +27 -0
  50. package/node/deprecations/text-field-props/test-cases/expected.js +31 -0
  51. package/node/deprecations/text-field-props/test-cases/theme.actual.js +13 -0
  52. package/node/deprecations/text-field-props/test-cases/theme.expected.js +15 -0
  53. package/node/deprecations/text-field-props/text-field-props.js +48 -0
  54. package/node/deprecations/tooltip-props/index.js +13 -0
  55. package/node/deprecations/tooltip-props/test-cases/actual.js +92 -0
  56. package/node/deprecations/tooltip-props/test-cases/expected.js +84 -0
  57. package/node/deprecations/tooltip-props/test-cases/theme.actual.js +73 -0
  58. package/node/deprecations/tooltip-props/test-cases/theme.expected.js +65 -0
  59. package/node/deprecations/tooltip-props/tooltip-props.js +22 -0
  60. package/node/deprecations/utils/replaceComponentsWithSlots.js +29 -17
  61. package/node/util/migrateToVariants.js +198 -121
  62. package/node/v5.0.0/badge-overlap-value.test/actual.js +3 -4
  63. package/node/v5.0.0/badge-overlap-value.test/expected.js +3 -4
  64. package/node/v5.0.0/base-remove-component-prop.test/actual.js +4 -4
  65. package/node/v5.0.0/base-remove-component-prop.test/expected.js +4 -4
  66. package/node/v5.0.0/box-sx-prop.test/actual.js +4 -4
  67. package/node/v5.0.0/box-sx-prop.test/expected.js +3 -3
  68. package/node/v5.0.0/create-theme.test/custom-fn.actual.js +3 -4
  69. package/node/v5.0.0/create-theme.test/custom-fn.expected.js +3 -4
  70. package/node/v5.0.0/jss-to-styled.test/first.actual.js +11 -14
  71. package/node/v5.0.0/jss-to-styled.test/first.expected.js +11 -14
  72. package/node/v5.0.0/jss-to-styled.test/seventh.actual.js +4 -4
  73. package/node/v5.0.0/jss-to-styled.test/seventh.expected.js +4 -4
  74. package/node/v5.0.0/jss-to-styled.test/sixth.actual.js +3 -3
  75. package/node/v5.0.0/jss-to-styled.test/sixth.expected.js +3 -3
  76. package/node/v5.0.0/jss-to-styled.test/withCreateStyles.actual.js +3 -3
  77. package/node/v5.0.0/jss-to-styled.test/withCreateStyles.expected.js +3 -4
  78. package/node/v5.0.0/jss-to-styled.test/withCreateStyles1.actual.js +3 -3
  79. package/node/v5.0.0/jss-to-styled.test/withCreateStyles1.expected.js +3 -4
  80. package/node/v5.0.0/jss-to-styled.test/withCreateStyles2.actual.js +3 -3
  81. package/node/v5.0.0/jss-to-styled.test/withCreateStyles2.expected.js +3 -4
  82. package/node/v5.0.0/jss-to-styled.test/withCreateStyles3.actual.js +3 -3
  83. package/node/v5.0.0/jss-to-styled.test/withCreateStyles3.expected.js +3 -4
  84. package/node/v5.0.0/jss-to-tss-react.test/actual-mixins-pattern.js +6 -5
  85. package/node/v5.0.0/jss-to-tss-react.test/expected-mixins-pattern.js +6 -5
  86. package/node/v5.0.0/preset-safe.test/actual.js +6 -4
  87. package/node/v5.0.0/preset-safe.test/expected.js +9 -6
  88. package/node/v5.0.0/table-props.test/actual.js +4 -5
  89. package/node/v5.0.0/table-props.test/expected.js +4 -5
  90. package/node/v5.0.0/theme-spacing.test/large-actual.js +10 -10
  91. package/node/v5.0.0/theme-spacing.test/large-expected.js +10 -10
  92. package/node/v5.0.0/variant-prop.test/actual.js +12 -6
  93. package/node/v5.0.0/variant-prop.test/expected.js +15 -12
  94. package/node/v5.0.0/with-mobile-dialog.test/expected.js +6 -5
  95. package/node/v5.0.0/with-width.test/expected.js +6 -5
  96. package/node/v6.0.0/styled/test-cases/BasicStyled.actual.js +55 -44
  97. package/node/v6.0.0/styled/test-cases/BasicStyled.expected.js +5 -6
  98. package/node/v6.0.0/styled/test-cases/ConditionalStyled.actual.js +80 -70
  99. package/node/v6.0.0/styled/test-cases/ConditionalStyled.expected.js +7 -6
  100. package/node/v6.0.0/styled/test-cases/NestedSpread.actual.js +32 -26
  101. package/node/v6.0.0/styled/test-cases/NestedSpread.expected.js +7 -6
  102. package/node/v6.0.0/styled/test-cases/ThemePaletteMode.expected.js +28 -26
  103. package/node/v6.0.0/styled/test-cases/VariantAndModeStyled.actual.js +6 -5
  104. package/node/v6.0.0/styled/test-cases/VariantAndModeStyled.expected.js +8 -8
  105. package/node/v6.0.0/sx-prop/index.js +13 -0
  106. package/node/v6.0.0/sx-prop/sx-v6.js +355 -0
  107. package/node/v6.0.0/sx-prop/test-cases/basic-sx.actual.js +36 -0
  108. package/node/v6.0.0/sx-prop/test-cases/basic-sx.expected.js +46 -0
  109. package/node/v6.0.0/sx-prop/test-cases/sx-css-vars.actual.js +41 -0
  110. package/node/v6.0.0/sx-prop/test-cases/sx-css-vars.expected.js +71 -0
  111. package/node/v6.0.0/sx-prop/test-cases/sx-dynamic.actual.js +87 -0
  112. package/node/v6.0.0/sx-prop/test-cases/sx-dynamic.expected.js +102 -0
  113. package/node/v6.0.0/sx-prop/test-cases/sx-dynamic2.actual.js +49 -0
  114. package/node/v6.0.0/sx-prop/test-cases/sx-dynamic2.expected.js +64 -0
  115. package/node/v6.0.0/system-props/index.js +13 -0
  116. package/node/v6.0.0/system-props/removeSystemProps.js +242 -0
  117. package/node/v6.0.0/system-props/test-cases/system-props.actual.js +79 -0
  118. package/node/v6.0.0/system-props/test-cases/system-props.expected.js +92 -0
  119. package/node/v6.0.0/theme-v6/test-cases/basicTheme.actual.js +254 -225
  120. package/node/v6.0.0/theme-v6/test-cases/basicTheme.expected.js +180 -162
  121. package/node/v6.0.0/theme-v6/test-cases/themeVariants.actual.js +23 -21
  122. package/node/v6.0.0/theme-v6/test-cases/themeVariants.expected.js +20 -19
  123. package/node/v6.0.0/theme-v6/theme-v6.js +2 -2
  124. package/package.json +4 -4
package/README.md CHANGED
@@ -325,6 +325,54 @@ npx @mui/codemod@next deprecations/alert-props <path>
325
325
  npx @mui/codemod@next deprecations/autocomplete-props <path>
326
326
  ```
327
327
 
328
+ #### `avatar-group-props`
329
+
330
+ ```diff
331
+ <AvatarGroup
332
+ - componentsProps={{
333
+ - additionalAvatar: {color: "red"}
334
+ + slotProps={{
335
+ + surplus: {color: "red"}
336
+ }}
337
+ />;
338
+ ```
339
+
340
+ ```diff
341
+ <AvatarGroup
342
+ slotProps={{
343
+ - additionalAvatar: {color: "red"}
344
+ + surplus: {color: "red"}
345
+ }}
346
+ />;
347
+ ```
348
+
349
+ ```diff
350
+ MuiAvatarGroup: {
351
+ defaultProps: {
352
+ - componentsProps: {
353
+ - additionalAvatar: {color: "red"}
354
+ + slotProps: {
355
+ + surplus: {color: "red"}
356
+ },
357
+ },
358
+ },
359
+ ```
360
+
361
+ ```diff
362
+ MuiAvatarGroup: {
363
+ defaultProps: {
364
+ slotProps: {
365
+ - additionalAvatar: {color: "red"}
366
+ + surplus: {color: "red"}
367
+ },
368
+ },
369
+ },
370
+ ```
371
+
372
+ ```bash
373
+ npx @mui/codemod@next deprecations/avatar-group-props <path>
374
+ ```
375
+
328
376
  #### `avatar-props`
329
377
 
330
378
  ```diff
@@ -983,6 +1031,45 @@ npx @mui/codemod@next deprecations/form-control-label-props <path>
983
1031
 
984
1032
  ```
985
1033
 
1034
+ #### `list-item-props`
1035
+
1036
+ ```diff
1037
+ <ListItem
1038
+ - components={{ Root: CustomRoot }}
1039
+ + slots={{ root: CustomRoot }}
1040
+ - componentsProps={{ root: { testid: 'test-id' } }}
1041
+ + slotProps={{ root: { testid: 'test-id' } }}
1042
+ />
1043
+ ```
1044
+
1045
+ ```diff
1046
+ MuiListItem: {
1047
+ defaultProps: {
1048
+ - components: { Root: CustomRoot }
1049
+ + slots: { root: CustomRoot },
1050
+ - componentsProps: { root: { testid: 'test-id' }}
1051
+ + slotProps: { root: { testid: 'test-id' } },
1052
+ },
1053
+ },
1054
+ ```
1055
+
1056
+ ```bash
1057
+ npx @mui/codemod@next deprecations/list-item-props <path>
1058
+ ```
1059
+
1060
+ #### `grid-props`
1061
+
1062
+ ```diff
1063
+ <Grid
1064
+ - wrap="nowrap"
1065
+ + flexWrap="nowrap"
1066
+ />
1067
+ ```
1068
+
1069
+ ```bash
1070
+ npx @mui/codemod@next deprecations/grid-props <path>
1071
+ ```
1072
+
986
1073
  #### `pagination-item-classes`
987
1074
 
988
1075
  JS transforms:
@@ -1069,6 +1156,32 @@ npx @mui/codemod@next deprecations/pagination-item-classes <path>
1069
1156
  npx @mui/codemod@next deprecations/pagination-item-props <path>
1070
1157
  ```
1071
1158
 
1159
+ #### `popper-props`
1160
+
1161
+ ```diff
1162
+ <Popper
1163
+ - components={{ Root: CustomRoot }}
1164
+ + slots={{ root: CustomRoot }}
1165
+ - componentsProps={{ root: { testid: 'test-id' } }}
1166
+ + slotProps={{ root: { testid: 'test-id' } }}
1167
+ />
1168
+ ```
1169
+
1170
+ ```diff
1171
+ MuiPopper: {
1172
+ defaultProps: {
1173
+ - components: { Root: CustomRoot }
1174
+ + slots: { root: CustomRoot },
1175
+ - componentsProps: { root: { testid: 'test-id' }}
1176
+ + slotProps: { root: { testid: 'test-id' } },
1177
+ },
1178
+ },
1179
+ ```
1180
+
1181
+ ```bash
1182
+ npx @mui/codemod@next deprecations/popper-props <path>
1183
+ ```
1184
+
1072
1185
  #### `slider-props`
1073
1186
 
1074
1187
  ```diff
@@ -1095,22 +1208,48 @@ npx @mui/codemod@next deprecations/pagination-item-props <path>
1095
1208
  npx @mui/codemod@next deprecations/slider-props <path>
1096
1209
  ```
1097
1210
 
1098
- #### `toggle-button-group-classes`
1211
+ #### `tooltip-props`
1212
+
1213
+ ```diff
1214
+ <Tooltip
1215
+ - components={{ Arrow: CustomArrow }}
1216
+ + slots={{ arrow: CustomArrow }}
1217
+ - componentsProps={{ arrow: { testid: 'test-id' } }}
1218
+ + slotProps={{ arrow: { testid: 'test-id' } }}
1219
+ />
1220
+ ```
1221
+
1222
+ ```diff
1223
+ MuiTooltip: {
1224
+ defaultProps: {
1225
+ - components: { Arrow: CustomArrow }
1226
+ + slots: { arrow: CustomArrow },
1227
+ - componentsProps: { arrow: { testid: 'test-id' }}
1228
+ + slotProps: { arrow: { testid: 'test-id' } },
1229
+ },
1230
+ },
1231
+ ```
1232
+
1233
+ ```bash
1234
+ npx @mui/codemod@next deprecations/tooltip-props <path>
1235
+ ```
1236
+
1237
+ #### `step-connector-classes`
1099
1238
 
1100
1239
  JS transforms:
1101
1240
 
1102
1241
  ```diff
1103
- import { toggleButtonGroupClasses } from '@mui/material/ToggleButtonGroup';
1242
+ import { stepConnectorClasses } from '@mui/material/StepConnector';
1104
1243
 
1105
- MuiToggleButtonGroup: {
1244
+ MuiStepConnector: {
1106
1245
  styleOverrides: {
1107
1246
  root: {
1108
- - [`& .${toggleButtonGroupClasses.groupedHorizontal}`]: {
1109
- + [`&.${toggleButtonGroupClasses.horizontal} > .${toggleButtonGroupClasses.grouped}`]: {
1247
+ - [`& .${stepConnectorClasses.lineHorizontal}`]: {
1248
+ + [`&.${stepConnectorClasses.horizontal} > .${stepConnectorClasses.line}`]: {
1110
1249
  color: 'red',
1111
1250
  },
1112
- - [`& .${toggleButtonGroupClasses.groupedVertical}`]: {
1113
- + [`&.${toggleButtonGroupClasses.vertical} > .${toggleButtonGroupClasses.grouped}`]: {
1251
+ - [`& .${stepConnectorClasses.lineVertical}`]: {
1252
+ + [`&.${stepConnectorClasses.vertical} > .${stepConnectorClasses.line}`]: {
1114
1253
  color: 'red',
1115
1254
  },
1116
1255
  },
@@ -1118,20 +1257,6 @@ JS transforms:
1118
1257
  },
1119
1258
  ```
1120
1259
 
1121
- CSS transforms:
1122
-
1123
- ```diff
1124
- -.MuiToggleButtonGroup-root .MuiToggleButtonGroup-groupedHorizontal
1125
- +.MuiToggleButtonGroup-root.MuiToggleButtonGroup-horizontal > .MuiToggleButtonGroup-grouped
1126
- -.MuiToggleButtonGroup-root .MuiToggleButtonGroup-groupedVertical
1127
- +.MuiToggleButtonGroup-root.MuiToggleButtonGroup-vertical > .MuiToggleButtonGroup-grouped
1128
- />
1129
- ```
1130
-
1131
- ```bash
1132
- npx @mui/codemod@latest deprecations/toggle-button-group-classes <path>
1133
- ```
1134
-
1135
1260
  #### `step-label-props`
1136
1261
 
1137
1262
  ```diff
@@ -1160,25 +1285,47 @@ npx @mui/codemod@latest deprecations/toggle-button-group-classes <path>
1160
1285
 
1161
1286
  ```bash
1162
1287
  npx @mui/codemod@latest deprecations/step-label-props <path>
1288
+ ```
1163
1289
 
1290
+ #### `text-field-props`
1291
+
1292
+ ```diff
1293
+ <TextField
1294
+ - InputProps={CustomInputProps}
1295
+ - inputProps={CustomHtmlInputProps}
1296
+ - SelectProps={CustomSelectProps}
1297
+ - InputLabelProps={CustomInputLabelProps}
1298
+ - FormHelperTextProps={CustomFormHelperProps}
1299
+ + slotProps={{
1300
+ + input: CustomInputProps
1301
+ + htmlInput: CustomHtmlInputProps
1302
+ + select: CustomSelectProps
1303
+ + inputLabel: CustomInputLabelProps
1304
+ + formHelper: CustomFormHelperProps
1305
+ + }}
1306
+ />
1164
1307
  ```
1165
1308
 
1166
- #### `step-connector-classes`
1309
+ ```bash
1310
+ npx @mui/codemod@next deprecations/text-field-props <path>
1311
+ ```
1312
+
1313
+ #### `toggle-button-group-classes`
1167
1314
 
1168
1315
  JS transforms:
1169
1316
 
1170
1317
  ```diff
1171
- import { stepConnectorClasses } from '@mui/material/StepConnector';
1318
+ import { toggleButtonGroupClasses } from '@mui/material/ToggleButtonGroup';
1172
1319
 
1173
- MuiStepConnector: {
1320
+ MuiToggleButtonGroup: {
1174
1321
  styleOverrides: {
1175
1322
  root: {
1176
- - [`& .${stepConnectorClasses.lineHorizontal}`]: {
1177
- + [`&.${stepConnectorClasses.horizontal} > .${stepConnectorClasses.line}`]: {
1323
+ - [`& .${toggleButtonGroupClasses.groupedHorizontal}`]: {
1324
+ + [`&.${toggleButtonGroupClasses.horizontal} > .${toggleButtonGroupClasses.grouped}`]: {
1178
1325
  color: 'red',
1179
1326
  },
1180
- - [`& .${stepConnectorClasses.lineVertical}`]: {
1181
- + [`&.${stepConnectorClasses.vertical} > .${stepConnectorClasses.line}`]: {
1327
+ - [`& .${toggleButtonGroupClasses.groupedVertical}`]: {
1328
+ + [`&.${toggleButtonGroupClasses.vertical} > .${toggleButtonGroupClasses.grouped}`]: {
1182
1329
  color: 'red',
1183
1330
  },
1184
1331
  },
@@ -1188,6 +1335,20 @@ JS transforms:
1188
1335
 
1189
1336
  CSS transforms:
1190
1337
 
1338
+ ```diff
1339
+ -.MuiToggleButtonGroup-root .MuiToggleButtonGroup-groupedHorizontal
1340
+ +.MuiToggleButtonGroup-root.MuiToggleButtonGroup-horizontal > .MuiToggleButtonGroup-grouped
1341
+ -.MuiToggleButtonGroup-root .MuiToggleButtonGroup-groupedVertical
1342
+ +.MuiToggleButtonGroup-root.MuiToggleButtonGroup-vertical > .MuiToggleButtonGroup-grouped
1343
+ />
1344
+ ```
1345
+
1346
+ ```bash
1347
+ npx @mui/codemod@latest deprecations/toggle-button-group-classes <path>
1348
+ ```
1349
+
1350
+ CSS transforms:
1351
+
1191
1352
  ```diff
1192
1353
  - .MuiStepConnector-lineHorizontal
1193
1354
  +.MuiStepConnector-horizontal > .MuiStepConnector-line
@@ -1201,6 +1362,42 @@ npx @mui/codemod@next deprecations/step-connector-classes <path>
1201
1362
 
1202
1363
  ### v6.0.0
1203
1364
 
1365
+ #### `sx-prop`
1366
+
1367
+ ```bash
1368
+ npx @mui/codemod@next v6.0.0/sx-prop <path>
1369
+ ```
1370
+
1371
+ Update the usage of the `sx` prop to be compatible with `@pigment-css/react`.
1372
+
1373
+ ```diff
1374
+ <Box
1375
+ - sx={{
1376
+ - backgroundColor: (theme) =>
1377
+ - theme.palette.mode === 'light' ? theme.palette.grey[100] : theme.palette.grey[900],
1378
+ - }}
1379
+ + sx={theme => ({
1380
+ + backgroundColor: theme.palette.grey[900],
1381
+ + ...theme.applyStyles("light", {
1382
+ + backgroundColor: theme.palette.grey[100]
1383
+ + })
1384
+ + })}
1385
+ />
1386
+ ```
1387
+
1388
+ #### `system-props`
1389
+
1390
+ ```bash
1391
+ npx @mui/codemod@next v6.0.0/system-props <path>
1392
+ ```
1393
+
1394
+ Remove system props and add them to the `sx` prop.
1395
+
1396
+ ```diff
1397
+ - <Box ml="2px" py={1} color="primary.main" />
1398
+ + <Box sx={{ ml: "2px", py: 1, color: 'primary.main' }} />
1399
+ ```
1400
+
1204
1401
  #### `theme-v6`
1205
1402
 
1206
1403
  ```bash
@@ -1263,10 +1460,10 @@ Update the theme creation from `@mui/system@v5` to be compatible with `@pigment-
1263
1460
  })
1264
1461
  ```
1265
1462
 
1266
- #### `styled-v6`
1463
+ #### `styled`
1267
1464
 
1268
1465
  ```bash
1269
- npx @mui/codemod@next v6.0.0/styled-v6 <path>
1466
+ npx @mui/codemod@next v6.0.0/styled <path>
1270
1467
  ```
1271
1468
 
1272
1469
  Updates the usage of `styled` from `@mui/system@v5` to be compatible with `@pigment-css/react`.
@@ -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 _Accordion = _interopRequireDefault(require("@mui/material/Accordion"));
6
5
  var _material = require("@mui/material");
7
6
  var _jsxRuntime = require("react/jsx-runtime");
@@ -34,8 +33,12 @@ var _jsxRuntime = require("react/jsx-runtime");
34
33
  TransitionProps: {
35
34
  unmountOnExit: true
36
35
  },
37
- slots: (0, _extends2.default)({}, outerSlots),
38
- slotProps: (0, _extends2.default)({}, outerSlotProps)
36
+ slots: {
37
+ ...outerSlots
38
+ },
39
+ slotProps: {
40
+ ...outerSlotProps
41
+ }
39
42
  });
40
43
  /*#__PURE__*/(0, _jsxRuntime.jsx)(_Accordion.default, {
41
44
  TransitionComponent: ComponentTransition,
@@ -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 _Accordion = _interopRequireDefault(require("@mui/material/Accordion"));
6
5
  var _material = require("@mui/material");
7
6
  var _jsxRuntime = require("react/jsx-runtime");
@@ -38,14 +37,16 @@ var _jsxRuntime = require("react/jsx-runtime");
38
37
  }
39
38
  });
40
39
  /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Accordion, {
41
- slots: (0, _extends2.default)({}, outerSlots, {
40
+ slots: {
41
+ ...outerSlots,
42
42
  transition: CustomTransition
43
- }),
44
- slotProps: (0, _extends2.default)({}, outerSlotProps, {
43
+ },
44
+ slotProps: {
45
+ ...outerSlotProps,
45
46
  transition: {
46
47
  unmountOnExit: true
47
48
  }
48
- })
49
+ }
49
50
  });
50
51
  /*#__PURE__*/(0, _jsxRuntime.jsx)(_Accordion.default, {
51
52
  slots: {
@@ -54,11 +55,14 @@ var _jsxRuntime = require("react/jsx-runtime");
54
55
  });
55
56
  /*#__PURE__*/(0, _jsxRuntime.jsx)(_Accordion.default, {
56
57
  slotProps: {
57
- transition: (0, _extends2.default)({}, {
58
- unmountOnExit: true
59
- }, {
60
- id: 'test'
61
- })
58
+ transition: {
59
+ ...{
60
+ unmountOnExit: true
61
+ },
62
+ ...{
63
+ id: 'test'
64
+ }
65
+ }
62
66
  }
63
67
  });
64
68
  // should skip non MUI components
@@ -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
  fn({
6
4
  MuiAccordion: {
7
5
  defaultProps: {
@@ -29,11 +27,14 @@ fn({
29
27
  MuiAccordion: {
30
28
  defaultProps: {
31
29
  slotProps: {
32
- transition: (0, _extends2.default)({}, {
33
- unmountOnExit: true
34
- }, {
35
- id: 'test'
36
- })
30
+ transition: {
31
+ ...{
32
+ unmountOnExit: true
33
+ },
34
+ ...{
35
+ id: 'test'
36
+ }
37
+ }
37
38
  }
38
39
  }
39
40
  }
@@ -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 _Alert = _interopRequireDefault(require("@mui/material/Alert"));
6
5
  var _jsxRuntime = require("react/jsx-runtime");
7
6
  /*#__PURE__*/(0, _jsxRuntime.jsx)(_Alert.default, {
@@ -29,7 +28,10 @@ var _jsxRuntime = require("react/jsx-runtime");
29
28
  },
30
29
  slotProps: {
31
30
  closeIcon: slotsIconProps,
32
- closeButton: (0, _extends2.default)({}, componentsButtonProps, slotsButtonProps)
31
+ closeButton: {
32
+ ...componentsButtonProps,
33
+ ...slotsButtonProps
34
+ }
33
35
  }
34
36
  });
35
37
  /*#__PURE__*/(0, _jsxRuntime.jsx)(_Alert.default, {
@@ -38,7 +40,13 @@ var _jsxRuntime = require("react/jsx-runtime");
38
40
  closeButton: SlotsButton
39
41
  },
40
42
  slotProps: {
41
- closeButton: (0, _extends2.default)({}, componentsButtonProps, slotsButtonProps),
42
- closeIcon: (0, _extends2.default)({}, componentsIconProps, slotsIconProps)
43
+ closeButton: {
44
+ ...componentsButtonProps,
45
+ ...slotsButtonProps
46
+ },
47
+ closeIcon: {
48
+ ...componentsIconProps,
49
+ ...slotsIconProps
50
+ }
43
51
  }
44
52
  });
@@ -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
  fn({
6
4
  MuiAlert: {
7
5
  defaultProps: {
@@ -36,7 +34,10 @@ fn({
36
34
  closeIcon: SlotsIcon
37
35
  },
38
36
  slotProps: {
39
- closeButton: (0, _extends2.default)({}, componentsButtonProps, slotsButtonProps),
37
+ closeButton: {
38
+ ...componentsButtonProps,
39
+ ...slotsButtonProps
40
+ },
40
41
  closeIcon: slotsIconProps
41
42
  }
42
43
  }
@@ -50,8 +51,14 @@ fn({
50
51
  closeIcon: SlotsIcon
51
52
  },
52
53
  slotProps: {
53
- closeButton: (0, _extends2.default)({}, componentsButtonProps, slotsButtonProps),
54
- closeIcon: (0, _extends2.default)({}, componentsIconProps, slotsIconProps)
54
+ closeButton: {
55
+ ...componentsButtonProps,
56
+ ...slotsButtonProps
57
+ },
58
+ closeIcon: {
59
+ ...componentsIconProps,
60
+ ...slotsIconProps
61
+ }
55
62
  }
56
63
  }
57
64
  }
@@ -8,6 +8,7 @@ exports.default = deprecationsAll;
8
8
  var _accordionProps = _interopRequireDefault(require("../accordion-props"));
9
9
  var _autocompleteProps = _interopRequireDefault(require("../autocomplete-props"));
10
10
  var _formControlLabelProps = _interopRequireDefault(require("../form-control-label-props"));
11
+ var _avatarGroupProps = _interopRequireDefault(require("../avatar-group-props"));
11
12
  var _avatarProps = _interopRequireDefault(require("../avatar-props"));
12
13
  var _dividerProps = _interopRequireDefault(require("../divider-props"));
13
14
  var _accordionSummaryClasses = _interopRequireDefault(require("../accordion-summary-classes"));
@@ -21,7 +22,9 @@ var _stepLabelProps = _interopRequireDefault(require("../step-label-props"));
21
22
  var _backdropProps = _interopRequireDefault(require("../backdrop-props"));
22
23
  var _stepConnectorClasses = _interopRequireDefault(require("../step-connector-classes"));
23
24
  var _circularProgressClasses = _interopRequireDefault(require("../circular-progress-classes"));
25
+ var _gridProps = _interopRequireDefault(require("../grid-props"));
24
26
  var _speedDialProps = _interopRequireDefault(require("../speed-dial-props"));
27
+ var _textFieldProps = _interopRequireDefault(require("../text-field-props"));
25
28
  /**
26
29
  * @param {import('jscodeshift').FileInfo} file
27
30
  * @param {import('jscodeshift').API} api
@@ -30,6 +33,7 @@ function deprecationsAll(file, api, options) {
30
33
  file.source = (0, _accordionProps.default)(file, api, options);
31
34
  file.source = (0, _autocompleteProps.default)(file, api, options);
32
35
  file.source = (0, _formControlLabelProps.default)(file, api, options);
36
+ file.source = (0, _avatarGroupProps.default)(file, api, options);
33
37
  file.source = (0, _avatarProps.default)(file, api, options);
34
38
  file.source = (0, _dividerProps.default)(file, api, options);
35
39
  file.source = (0, _accordionSummaryClasses.default)(file, api, options);
@@ -44,5 +48,7 @@ function deprecationsAll(file, api, options) {
44
48
  file.source = (0, _stepConnectorClasses.default)(file, api, options);
45
49
  file.source = (0, _circularProgressClasses.default)(file, api, options);
46
50
  file.source = (0, _speedDialProps.default)(file, api, options);
51
+ file.source = (0, _textFieldProps.default)(file, api, options);
52
+ file.source = (0, _gridProps.default)(file, api, options);
47
53
  return file.source;
48
54
  }
@@ -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 _Autocomplete = _interopRequireDefault(require("@mui/material/Autocomplete"));
6
5
  var _material = require("@mui/material");
7
6
  var _jsxRuntime = require("react/jsx-runtime");
@@ -49,11 +48,14 @@ var _jsxRuntime = require("react/jsx-runtime");
49
48
  popper: {
50
49
  width: 14
51
50
  },
52
- popupIndicator: (0, _extends2.default)({}, {
53
- width: 16
54
- }, {
55
- width: 20
56
- })
51
+ popupIndicator: {
52
+ ...{
53
+ width: 16
54
+ },
55
+ ...{
56
+ width: 20
57
+ }
58
+ }
57
59
  },
58
60
  slots: {
59
61
  paper: CustomPaper,
@@ -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
  fn({
6
4
  MuiAutocomplete: {
7
5
  defaultProps: {
@@ -46,11 +44,14 @@ fn({
46
44
  popper: {
47
45
  width: 14
48
46
  },
49
- popupIndicator: (0, _extends2.default)({}, {
50
- width: 16
51
- }, {
52
- width: 20
53
- }),
47
+ popupIndicator: {
48
+ ...{
49
+ width: 16
50
+ },
51
+ ...{
52
+ width: 20
53
+ }
54
+ },
54
55
  listbox: {
55
56
  height: 12
56
57
  },
@@ -0,0 +1,87 @@
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 _assignObject = _interopRequireDefault(require("../../util/assignObject"));
9
+ var _findComponentJSX = _interopRequireDefault(require("../../util/findComponentJSX"));
10
+ var _replaceComponentsWithSlots = _interopRequireDefault(require("../utils/replaceComponentsWithSlots"));
11
+ /**
12
+ * @param {import('jscodeshift').FileInfo} file
13
+ * @param {import('jscodeshift').API} api
14
+ */
15
+ function transformer(file, api, options) {
16
+ const j = api.jscodeshift;
17
+ const root = j(file.source);
18
+ const printOptions = options.printOptions;
19
+ (0, _replaceComponentsWithSlots.default)(j, {
20
+ root,
21
+ componentName: 'AvatarGroup'
22
+ });
23
+
24
+ // replace `slotProps.additionalAvatar` with `slotProps.surplus` in JSX
25
+ (0, _findComponentJSX.default)(j, {
26
+ root,
27
+ componentName: 'AvatarGroup'
28
+ }, elementPath => {
29
+ const slotPropsIndex = elementPath.node.openingElement.attributes.findIndex(attr => attr.type === 'JSXAttribute' && attr.name.name === 'slotProps');
30
+ if (slotPropsIndex !== -1) {
31
+ const slotProps = elementPath.node.openingElement.attributes[slotPropsIndex].value.expression;
32
+ const additionalAvatarIndex = slotProps.properties.findIndex(prop => {
33
+ var _prop$key;
34
+ return (prop == null || (_prop$key = prop.key) == null ? void 0 : _prop$key.name) === 'additionalAvatar';
35
+ });
36
+ if (additionalAvatarIndex !== -1) {
37
+ const surplusIndex = slotProps.properties.findIndex(prop => {
38
+ var _prop$key2;
39
+ return (prop == null || (_prop$key2 = prop.key) == null ? void 0 : _prop$key2.name) === 'surplus';
40
+ });
41
+ const removedValue = slotProps.properties.splice(additionalAvatarIndex, 1)[0].value;
42
+ if (surplusIndex === -1) {
43
+ (0, _assignObject.default)(j, {
44
+ target: elementPath.node.openingElement.attributes[slotPropsIndex],
45
+ key: 'surplus',
46
+ expression: removedValue
47
+ });
48
+ } else {
49
+ const slotPropsSlotValue = slotProps.properties.splice(surplusIndex, 1)[0].value;
50
+ (0, _assignObject.default)(j, {
51
+ target: elementPath.node.openingElement.attributes[slotPropsIndex],
52
+ key: 'surplus',
53
+ expression: j.objectExpression([j.spreadElement(removedValue), j.spreadElement(slotPropsSlotValue)])
54
+ });
55
+ }
56
+ }
57
+ }
58
+ });
59
+
60
+ // replace `slotProps.additionalAvatar` with `slotProps.surplus` in theme
61
+ root.find(j.ObjectProperty, {
62
+ key: {
63
+ name: 'MuiAvatarGroup'
64
+ }
65
+ }).forEach(path => {
66
+ const defaultPropsIndex = path.value.value.properties.findIndex(key => key.key.name === 'defaultProps');
67
+ if (defaultPropsIndex !== -1) {
68
+ const defaultProps = path.value.value.properties[defaultPropsIndex];
69
+ const slotPropsIndex = defaultProps.value.properties.findIndex(prop => prop.key.name === 'slotProps');
70
+ if (slotPropsIndex !== -1) {
71
+ const slotProps = defaultProps.value.properties[slotPropsIndex];
72
+ const additionalAvatarIndex = slotProps.value.properties.findIndex(prop => prop.key.name === 'additionalAvatar');
73
+ if (additionalAvatarIndex !== -1) {
74
+ const removedValue = slotProps.value.properties.splice(additionalAvatarIndex, 1)[0].value;
75
+ const surplusIndex = slotProps.value.properties.findIndex(prop => prop.key.name === 'surplus');
76
+ if (surplusIndex === -1) {
77
+ slotProps.value.properties.push(j.objectProperty(j.identifier('surplus'), removedValue));
78
+ } else {
79
+ const slotPropsSlotValue = slotProps.value.properties.splice(surplusIndex, 1)[0].value;
80
+ slotProps.value.properties.push(j.objectProperty(j.identifier('surplus'), j.objectExpression([j.spreadElement(removedValue), j.spreadElement(slotPropsSlotValue)])));
81
+ }
82
+ }
83
+ }
84
+ }
85
+ });
86
+ return root.toSource(printOptions);
87
+ }