@mui/codemod 6.0.0-alpha.8 → 6.0.0-beta.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 (126) hide show
  1. package/README.md +609 -180
  2. package/codemod.js +0 -2
  3. package/node/deprecations/all/deprecations-all.js +34 -22
  4. package/node/deprecations/all/postcss.config.js +7 -1
  5. package/node/deprecations/autocomplete-props/autocomplete-props.js +0 -32
  6. package/node/deprecations/autocomplete-props/test-cases/actual.js +13 -35
  7. package/node/deprecations/autocomplete-props/test-cases/expected.js +13 -41
  8. package/node/deprecations/autocomplete-props/test-cases/theme.actual.js +0 -18
  9. package/node/deprecations/autocomplete-props/test-cases/theme.expected.js +0 -22
  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/backdrop-props/backdrop-props.js +3 -5
  17. package/node/deprecations/backdrop-props/test-cases/actual.js +30 -14
  18. package/node/deprecations/backdrop-props/test-cases/expected.js +23 -13
  19. package/node/deprecations/backdrop-props/test-cases/theme.actual.js +32 -6
  20. package/node/deprecations/backdrop-props/test-cases/theme.expected.js +27 -5
  21. package/node/deprecations/filled-input-props/filled-input-props.js +22 -0
  22. package/node/deprecations/filled-input-props/index.js +13 -0
  23. package/node/deprecations/filled-input-props/test-cases/actual.js +60 -0
  24. package/node/deprecations/filled-input-props/test-cases/expected.js +52 -0
  25. package/node/deprecations/filled-input-props/test-cases/theme.actual.js +73 -0
  26. package/node/deprecations/filled-input-props/test-cases/theme.expected.js +65 -0
  27. package/node/deprecations/grid-props/grid-props.js +51 -0
  28. package/node/deprecations/grid-props/index.js +13 -0
  29. package/node/deprecations/grid-props/test-cases/actual.js +25 -0
  30. package/node/deprecations/grid-props/test-cases/expected.js +23 -0
  31. package/node/deprecations/grid-props/test-cases/theme.actual.js +24 -0
  32. package/node/deprecations/grid-props/test-cases/theme.expected.js +23 -0
  33. package/node/deprecations/input-base-props/index.js +13 -0
  34. package/node/deprecations/input-base-props/input-base-props.js +22 -0
  35. package/node/deprecations/input-base-props/test-cases/actual.js +60 -0
  36. package/node/deprecations/input-base-props/test-cases/expected.js +52 -0
  37. package/node/deprecations/input-base-props/test-cases/theme.actual.js +73 -0
  38. package/node/deprecations/input-base-props/test-cases/theme.expected.js +65 -0
  39. package/node/deprecations/input-props/index.js +13 -0
  40. package/node/deprecations/input-props/input-props.js +22 -0
  41. package/node/deprecations/input-props/test-cases/actual.js +60 -0
  42. package/node/deprecations/input-props/test-cases/expected.js +52 -0
  43. package/node/deprecations/input-props/test-cases/theme.actual.js +73 -0
  44. package/node/deprecations/input-props/test-cases/theme.expected.js +65 -0
  45. package/node/deprecations/list-item-props/index.js +13 -0
  46. package/node/deprecations/list-item-props/list-item-props.js +22 -0
  47. package/node/deprecations/list-item-props/test-cases/actual.js +43 -0
  48. package/node/deprecations/list-item-props/test-cases/expected.js +40 -0
  49. package/node/deprecations/list-item-props/test-cases/theme.actual.js +56 -0
  50. package/node/deprecations/list-item-props/test-cases/theme.expected.js +53 -0
  51. package/node/deprecations/modal-props/index.js +13 -0
  52. package/node/deprecations/modal-props/modal-props.js +22 -0
  53. package/node/deprecations/modal-props/test-cases/actual.js +43 -0
  54. package/node/deprecations/modal-props/test-cases/expected.js +40 -0
  55. package/node/deprecations/modal-props/test-cases/theme.actual.js +56 -0
  56. package/node/deprecations/modal-props/test-cases/theme.expected.js +53 -0
  57. package/node/deprecations/outlined-input-props/index.js +13 -0
  58. package/node/deprecations/outlined-input-props/outlined-input-props.js +22 -0
  59. package/node/deprecations/outlined-input-props/test-cases/actual.js +60 -0
  60. package/node/deprecations/outlined-input-props/test-cases/expected.js +52 -0
  61. package/node/deprecations/outlined-input-props/test-cases/theme.actual.js +73 -0
  62. package/node/deprecations/outlined-input-props/test-cases/theme.expected.js +65 -0
  63. package/node/deprecations/popper-props/index.js +13 -0
  64. package/node/deprecations/popper-props/popper-props.js +22 -0
  65. package/node/deprecations/popper-props/test-cases/actual.js +27 -0
  66. package/node/deprecations/popper-props/test-cases/expected.js +24 -0
  67. package/node/deprecations/popper-props/test-cases/theme.actual.js +32 -0
  68. package/node/deprecations/popper-props/test-cases/theme.expected.js +29 -0
  69. package/node/deprecations/step-label-props/step-label-props.js +0 -14
  70. package/node/deprecations/step-label-props/test-cases/actual.js +0 -23
  71. package/node/deprecations/step-label-props/test-cases/expected.js +0 -27
  72. package/node/deprecations/step-label-props/test-cases/theme.actual.js +0 -22
  73. package/node/deprecations/step-label-props/test-cases/theme.expected.js +0 -28
  74. package/node/deprecations/tab-classes/index.js +13 -0
  75. package/node/deprecations/tab-classes/postcss-plugin.js +30 -0
  76. package/node/deprecations/tab-classes/postcss.config.js +8 -0
  77. package/node/deprecations/tab-classes/tab-classes.js +53 -0
  78. package/node/deprecations/tab-classes/test-cases/actual.js +5 -0
  79. package/node/deprecations/tab-classes/test-cases/expected.js +5 -0
  80. package/node/deprecations/table-sort-label-classes/index.js +13 -0
  81. package/node/deprecations/table-sort-label-classes/postcss-plugin.js +33 -0
  82. package/node/deprecations/table-sort-label-classes/postcss.config.js +8 -0
  83. package/node/deprecations/table-sort-label-classes/table-sort-label-classes.js +77 -0
  84. package/node/deprecations/table-sort-label-classes/test-cases/actual.js +7 -0
  85. package/node/deprecations/table-sort-label-classes/test-cases/expected.js +7 -0
  86. package/node/deprecations/tooltip-props/index.js +13 -0
  87. package/node/deprecations/tooltip-props/test-cases/actual.js +92 -0
  88. package/node/deprecations/tooltip-props/test-cases/expected.js +84 -0
  89. package/node/deprecations/tooltip-props/test-cases/theme.actual.js +73 -0
  90. package/node/deprecations/tooltip-props/test-cases/theme.expected.js +65 -0
  91. package/node/deprecations/tooltip-props/tooltip-props.js +22 -0
  92. package/node/util/migrateToVariants.js +244 -138
  93. package/node/v5.0.0/theme-spacing.test/large-actual.js +1 -1
  94. package/node/v5.0.0/theme-spacing.test/large-expected.js +1 -1
  95. package/node/v6.0.0/grid-v2-props/grid-v2-props.js +149 -0
  96. package/node/v6.0.0/grid-v2-props/index.js +13 -0
  97. package/node/v6.0.0/grid-v2-props/test-cases/actual.js +85 -0
  98. package/node/v6.0.0/grid-v2-props/test-cases/custom-breakpoints.actual.js +18 -0
  99. package/node/v6.0.0/grid-v2-props/test-cases/custom-breakpoints.expected.js +22 -0
  100. package/node/v6.0.0/grid-v2-props/test-cases/expected.js +97 -0
  101. package/node/v6.0.0/styled/test-cases/ConditionalStyled.expected.js +9 -22
  102. package/node/v6.0.0/styled/test-cases/DynamicPropsStyled.actual.js +39 -0
  103. package/node/v6.0.0/styled/test-cases/DynamicPropsStyled.expected.js +65 -0
  104. package/node/v6.0.0/styled/test-cases/LogicalStyled.actual.js +31 -1
  105. package/node/v6.0.0/styled/test-cases/LogicalStyled.expected.js +39 -1
  106. package/node/v6.0.0/styled/test-cases/NestedSpread.expected.js +11 -13
  107. package/node/v6.0.0/sx-prop/index.js +13 -0
  108. package/node/v6.0.0/sx-prop/sx-v6.js +405 -0
  109. package/node/v6.0.0/sx-prop/test-cases/basic-sx.actual.js +36 -0
  110. package/node/v6.0.0/sx-prop/test-cases/basic-sx.expected.js +46 -0
  111. package/node/v6.0.0/sx-prop/test-cases/sx-css-vars.actual.js +55 -0
  112. package/node/v6.0.0/sx-prop/test-cases/sx-css-vars.expected.js +88 -0
  113. package/node/v6.0.0/sx-prop/test-cases/sx-dynamic.actual.js +107 -0
  114. package/node/v6.0.0/sx-prop/test-cases/sx-dynamic.expected.js +120 -0
  115. package/node/v6.0.0/sx-prop/test-cases/sx-dynamic2.actual.js +49 -0
  116. package/node/v6.0.0/sx-prop/test-cases/sx-dynamic2.expected.js +64 -0
  117. package/node/v6.0.0/sx-prop/test-cases/sx-line-break.actual.js +69 -0
  118. package/node/v6.0.0/sx-prop/test-cases/sx-line-break.expected.js +69 -0
  119. package/node/v6.0.0/sx-prop/test-cases/sx-value-callback.actual.js +102 -0
  120. package/node/v6.0.0/sx-prop/test-cases/sx-value-callback.expected.js +111 -0
  121. package/node/v6.0.0/system-props/index.js +13 -0
  122. package/node/v6.0.0/system-props/removeSystemProps.js +242 -0
  123. package/node/v6.0.0/system-props/test-cases/system-props.actual.js +79 -0
  124. package/node/v6.0.0/system-props/test-cases/system-props.expected.js +92 -0
  125. package/node/v6.0.0/theme-v6/theme-v6.js +2 -2
  126. package/package.json +7 -7
package/README.md CHANGED
@@ -106,7 +106,7 @@ JS transforms:
106
106
  - [`& .${accordionSummaryClasses.contentGutters}`]: {
107
107
  + [`&.${accordionSummaryClasses.gutters} .${accordionSummaryClasses.content}`]: {
108
108
  color: 'red',
109
- },
109
+ },
110
110
  },
111
111
  },
112
112
  },
@@ -119,7 +119,7 @@ JS transforms:
119
119
  - '& .MuiAccordionSummary-contentGutters': {
120
120
  + '&.MuiAccordionSummary-gutters .MuiAccordionSummary-content': {
121
121
  color: 'red',
122
- },
122
+ },
123
123
  },
124
124
  },
125
125
  },
@@ -130,7 +130,6 @@ CSS transforms:
130
130
  ```diff
131
131
  -.MuiAccordionSummary-root .MuiAccordionSummary-contentGutters
132
132
  +.MuiAccordionSummary-root.MuiAccordionSummary-gutters .MuiAccordionSummary-content
133
- />
134
133
  ```
135
134
 
136
135
  ```bash
@@ -150,51 +149,51 @@ JS transforms:
150
149
  - [`&.${alertClasses.standardSuccess}`]: {
151
150
  + [`&.${alertClasses.standard}.${alertClasses.colorSuccess}`]: {
152
151
  color: 'red',
153
- },
152
+ },
154
153
  - [`&.${alertClasses.standardInfo}`]: {
155
154
  + [`&.${alertClasses.standard}.${alertClasses.colorInfo}`]: {
156
155
  color: 'red',
157
- },
156
+ },
158
157
  - [`&.${alertClasses.standardWarning}`]: {
159
158
  + [`&.${alertClasses.standard}.${alertClasses.colorWarning}`]: {
160
159
  color: 'red',
161
- },
160
+ },
162
161
  - [`&.${alertClasses.standardError}`]: {
163
162
  + [`&.${alertClasses.standard}.${alertClasses.colorError}`]: {
164
163
  color: 'red',
165
- },
164
+ },
166
165
  - [`&.${alertClasses.outlinedSuccess}`]: {
167
166
  + [`&.${alertClasses.outlined}.${alertClasses.colorSuccess}`]: {
168
167
  color: 'red',
169
- },
168
+ },
170
169
  - [`&.${alertClasses.outlinedInfo}`]: {
171
170
  + [`&.${alertClasses.outlined}.${alertClasses.colorInfo}`]: {
172
171
  color: 'red',
173
- },
172
+ },
174
173
  - [`&.${alertClasses.outlinedWarning}`]: {
175
174
  + [`&.${alertClasses.outlined}.${alertClasses.colorWarning}`]: {
176
175
  color: 'red',
177
- },
176
+ },
178
177
  - [`&.${alertClasses.outlinedError}`]: {
179
178
  + [`&.${alertClasses.outlined}.${alertClasses.colorError}`]: {
180
179
  color: 'red',
181
- },
180
+ },
182
181
  - [`&.${alertClasses.filledSuccess}`]: {
183
182
  + [`&.${alertClasses.filled}.${alertClasses.colorSuccess}`]: {
184
183
  color: 'red',
185
- },
184
+ },
186
185
  - [`&.${alertClasses.filledInfo}`]: {
187
186
  + [`&.${alertClasses.filled}.${alertClasses.colorInfo}`]: {
188
187
  color: 'red',
189
- },
188
+ },
190
189
  - [`&.${alertClasses.filledWarning}`]: {
191
190
  + [`&.${alertClasses.filled}.${alertClasses.colorWarning}`]: {
192
191
  color: 'red',
193
- },
192
+ },
194
193
  - [`&.${alertClasses.filledError}`]: {
195
194
  + [`&.${alertClasses.filled}.${alertClasses.colorError}`]: {
196
195
  color: 'red',
197
- },
196
+ },
198
197
  },
199
198
  },
200
199
  },
@@ -238,8 +237,8 @@ npx @mui/codemod@next deprecations/alert-classes <path>
238
237
  ```diff
239
238
  <Alert
240
239
  - components={{ CloseButton: CustomButton }}
241
- + slots={{ closeButton: CustomButton }}
242
240
  - componentsProps={{ closeButton: { testid: 'test-id' } }}
241
+ + slots={{ closeButton: CustomButton }}
243
242
  + slotProps={{ closeButton: { testid: 'test-id' } }}
244
243
  />
245
244
  ```
@@ -248,10 +247,10 @@ npx @mui/codemod@next deprecations/alert-classes <path>
248
247
  MuiAlert: {
249
248
  defaultProps: {
250
249
  - components: { CloseButton: CustomButton }
251
- + slots: { closeButton: CustomButton },
252
250
  - componentsProps: { closeButton: { testid: 'test-id' }}
251
+ + slots: { closeButton: CustomButton },
253
252
  + slotProps: { closeButton: { testid: 'test-id' } },
254
- },
253
+ },
255
254
  },
256
255
  ```
257
256
 
@@ -325,6 +324,54 @@ npx @mui/codemod@next deprecations/alert-props <path>
325
324
  npx @mui/codemod@next deprecations/autocomplete-props <path>
326
325
  ```
327
326
 
327
+ #### `avatar-group-props`
328
+
329
+ ```diff
330
+ <AvatarGroup
331
+ - componentsProps={{
332
+ - additionalAvatar: { color: 'red' },
333
+ + slotProps={{
334
+ + surplus: { color: 'red' },
335
+ }}
336
+ />
337
+ ```
338
+
339
+ ```diff
340
+ <AvatarGroup
341
+ slotProps={{
342
+ - additionalAvatar: { color: 'red' },
343
+ + surplus: { color: 'red' },
344
+ }}
345
+ />
346
+ ```
347
+
348
+ ```diff
349
+ MuiAvatarGroup: {
350
+ defaultProps: {
351
+ - componentsProps: {
352
+ - additionalAvatar: { color: 'red' },
353
+ + slotProps: {
354
+ + surplus: { color: 'red' },
355
+ },
356
+ },
357
+ },
358
+ ```
359
+
360
+ ```diff
361
+ MuiAvatarGroup: {
362
+ defaultProps: {
363
+ slotProps: {
364
+ - additionalAvatar: { color: 'red' },
365
+ + surplus: { color: 'red' },
366
+ },
367
+ },
368
+ },
369
+ ```
370
+
371
+ ```bash
372
+ npx @mui/codemod@next deprecations/avatar-group-props <path>
373
+ ```
374
+
328
375
  #### `avatar-props`
329
376
 
330
377
  ```diff
@@ -336,17 +383,37 @@ npx @mui/codemod@next deprecations/autocomplete-props <path>
336
383
  + img: {
337
384
  + onError: () => {},
338
385
  + onLoad: () => {},
339
- + }
386
+ + },
340
387
  }}
341
- />;
388
+ />
342
389
  ```
343
390
 
344
391
  #### `backdrop-props`
345
392
 
346
393
  ```diff
347
394
  <Backdrop
348
- - TransitionComponent={CustomTransition}
349
- + slots={{ transition: CustomTransition }}
395
+ - components={{ Root: CustomRoot }}
396
+ - componentsProps={{ root: { testid: 'test-id' } }}
397
+ + slots={{ root: CustomRoot }}
398
+ + slotProps={{ root: { testid: 'test-id' } }}
399
+ />
400
+ ```
401
+
402
+ ```diff
403
+ MuiBackdrop: {
404
+ defaultProps: {
405
+ - components: { Root: CustomRoot }
406
+ - componentsProps: { root: { testid: 'root-id' } }
407
+ + slots: { root: CustomRoot },
408
+ + slotProps: { root: { testid: 'root-id' } },
409
+ },
410
+ },
411
+ ```
412
+
413
+ ```diff
414
+ <Backdrop
415
+ - TransitionComponent={CustomTransition}
416
+ + slots={{ transition: CustomTransition }}
350
417
  />
351
418
  ```
352
419
 
@@ -359,8 +426,8 @@ npx @mui/codemod@next deprecations/backdrop-props <path>
359
426
  ```diff
360
427
  <Badge
361
428
  - components={{ Root: CustomRoot }}
362
- + slots={{ root: CustomRoot }}
363
429
  - componentsProps={{ root: { testid: 'test-id' } }}
430
+ + slots={{ root: CustomRoot }}
364
431
  + slotProps={{ root: { testid: 'test-id' } }}
365
432
  />
366
433
  ```
@@ -369,8 +436,8 @@ npx @mui/codemod@next deprecations/backdrop-props <path>
369
436
  MuiBadge: {
370
437
  defaultProps: {
371
438
  - components: { Root: CustomRoot }
372
- + slots: { root: CustomRoot },
373
439
  - componentsProps: { root: { testid: 'test-id' }}
440
+ + slots: { root: CustomRoot },
374
441
  + slotProps: { root: { testid: 'test-id' } },
375
442
  },
376
443
  },
@@ -393,135 +460,135 @@ JS transforms:
393
460
  - [`&.${buttonClasses.textInherit}`]: {
394
461
  + [`&.${buttonClasses.text}.${buttonClasses.colorInherit}`]: {
395
462
  color: 'red',
396
- },
463
+ },
397
464
  - [`&.${buttonClasses.textPrimary}`]: {
398
465
  + [`&.${buttonClasses.text}.${buttonClasses.colorPrimary}`]: {
399
466
  color: 'red',
400
- },
467
+ },
401
468
  - [`&.${buttonClasses.textSecondary}`]: {
402
469
  + [`&.${buttonClasses.text}.${buttonClasses.colorSecondary}`]: {
403
470
  color: 'red',
404
- },
471
+ },
405
472
  - [`&.${buttonClasses.textSuccess}`]: {
406
473
  + [`&.${buttonClasses.text}.${buttonClasses.colorSuccess}`]: {
407
474
  color: 'red',
408
- },
475
+ },
409
476
  - [`&.${buttonClasses.textError}`]: {
410
477
  + [`&.${buttonClasses.text}.${buttonClasses.colorError}`]: {
411
478
  color: 'red',
412
- },
479
+ },
413
480
  - [`&.${buttonClasses.textInfo}`]: {
414
481
  + [`&.${buttonClasses.text}.${buttonClasses.colorInfo}`]: {
415
482
  color: 'red',
416
- },
483
+ },
417
484
  - [`&.${buttonClasses.textWarning}`]: {
418
485
  + [`&.${buttonClasses.text}.${buttonClasses.colorWarning}`]: {
419
486
  color: 'red',
420
- },
487
+ },
421
488
  - [`&.${buttonClasses.outlinedInherit}`]: {
422
489
  + [`&.${buttonClasses.outlined}.${buttonClasses.colorInherit}`]: {
423
490
  color: 'red',
424
- },
491
+ },
425
492
  - [`&.${buttonClasses.outlinedPrimary}`]: {
426
493
  + [`&.${buttonClasses.outlined}.${buttonClasses.colorPrimary}`]: {
427
494
  color: 'red',
428
- },
495
+ },
429
496
  - [`&.${buttonClasses.outlinedSecondary}`]: {
430
497
  + [`&.${buttonClasses.outlined}.${buttonClasses.colorSecondary}`]: {
431
498
  color: 'red',
432
- },
499
+ },
433
500
  - [`&.${buttonClasses.outlinedSuccess}`]: {
434
501
  + [`&.${buttonClasses.outlined}.${buttonClasses.colorSuccess}`]: {
435
502
  color: 'red',
436
- },
503
+ },
437
504
  - [`&.${buttonClasses.outlinedError}`]: {
438
505
  + [`&.${buttonClasses.outlined}.${buttonClasses.colorError}`]: {
439
506
  color: 'red',
440
- },
507
+ },
441
508
  - [`&.${buttonClasses.outlinedInfo}`]: {
442
509
  + [`&.${buttonClasses.outlined}.${buttonClasses.colorInfo}`]: {
443
510
  color: 'red',
444
- },
511
+ },
445
512
  - [`&.${buttonClasses.outlinedWarning}`]: {
446
513
  + [`&.${buttonClasses.outlined}.${buttonClasses.colorWarning}`]: {
447
514
  color: 'red',
448
- },
515
+ },
449
516
  - [`&.${buttonClasses.containedInherit}`]: {
450
517
  + [`&.${buttonClasses.contained}.${buttonClasses.colorInherit}`]: {
451
518
  color: 'red',
452
- },
519
+ },
453
520
  - [`&.${buttonClasses.containedPrimary}`]: {
454
521
  + [`&.${buttonClasses.contained}.${buttonClasses.colorPrimary}`]: {
455
522
  color: 'red',
456
- },
523
+ },
457
524
  - [`&.${buttonClasses.containedSecondary}`]: {
458
525
  + [`&.${buttonClasses.contained}.${buttonClasses.colorSecondary}`]: {
459
526
  color: 'red',
460
- },
527
+ },
461
528
  - [`&.${buttonClasses.containedSuccess}`]: {
462
529
  + [`&.${buttonClasses.contained}.${buttonClasses.colorSuccess}`]: {
463
530
  color: 'red',
464
- },
531
+ },
465
532
  - [`&.${buttonClasses.containedError}`]: {
466
533
  + [`&.${buttonClasses.contained}.${buttonClasses.colorError}`]: {
467
534
  color: 'red',
468
- },
535
+ },
469
536
  - [`&.${buttonClasses.containedInfo}`]: {
470
537
  + [`&.${buttonClasses.contained}.${buttonClasses.colorInfo}`]: {
471
538
  color: 'red',
472
- },
539
+ },
473
540
  - [`&.${buttonClasses.containedWarning}`]: {
474
541
  + [`&.${buttonClasses.contained}.${buttonClasses.colorWarning}`]: {
475
542
  color: 'red',
476
- },
543
+ },
477
544
  - [`&.${buttonClasses.containedSizeSmall}`]: {
478
545
  + [`&.${buttonClasses.contained}.${buttonClasses.sizeSmall}`]: {
479
546
  color: 'red',
480
- },
547
+ },
481
548
  - [`&.${buttonClasses.containedSizeMedium}`]: {
482
549
  + [`&.${buttonClasses.contained}.${buttonClasses.sizeMedium}`]: {
483
550
  color: 'red',
484
- },
551
+ },
485
552
  - [`&.${buttonClasses.containedSizeLarge}`]: {
486
553
  + [`&.${buttonClasses.contained}.${buttonClasses.sizeLarge}`]: {
487
554
  color: 'red',
488
- },
555
+ },
489
556
  - [`&.${buttonClasses.textSizeSmall}`]: {
490
557
  + [`&.${buttonClasses.text}.${buttonClasses.sizeSmall}`]: {
491
558
  color: 'red',
492
- },
559
+ },
493
560
  - [`&.${buttonClasses.textSizeMedium}`]: {
494
561
  + [`&.${buttonClasses.text}.${buttonClasses.sizeMedium}`]: {
495
562
  color: 'red',
496
- },
563
+ },
497
564
  - [`&.${buttonClasses.textSizeLarge}`]: {
498
565
  + [`&.${buttonClasses.text}.${buttonClasses.sizeLarge}`]: {
499
566
  color: 'red',
500
- },
567
+ },
501
568
  - [`&.${buttonClasses.outlinedSizeSmall}`]: {
502
569
  + [`&.${buttonClasses.outlined}.${buttonClasses.sizeSmall}`]: {
503
570
  color: 'red',
504
- },
571
+ },
505
572
  - [`&.${buttonClasses.outlinedSizeMedium}`]: {
506
573
  + [`&.${buttonClasses.outlined}.${buttonClasses.sizeMedium}`]: {
507
574
  color: 'red',
508
- },
575
+ },
509
576
  - [`&.${buttonClasses.outlinedSizeLarge}`]: {
510
577
  + [`&.${buttonClasses.outlined}.${buttonClasses.sizeLarge}`]: {
511
578
  color: 'red',
512
- },
579
+ },
513
580
  - [`& .${buttonClasses.iconSizeSmall}`]: {
514
581
  + [`&.${buttonClasses.sizeSmall} > .${buttonClasses.icon}`]: {
515
582
  color: 'red',
516
- },
583
+ },
517
584
  - [`& .${buttonClasses.iconSizeMedium}`]: {
518
585
  + [`&.${buttonClasses.sizeMedium} > .${buttonClasses.icon}`]: {
519
586
  color: 'red',
520
- },
587
+ },
521
588
  - [`& .${buttonClasses.iconSizeLarge}`]: {
522
589
  + [`&.${buttonClasses.sizeLarge} > .${buttonClasses.icon}`]: {
523
590
  color: 'red',
524
- },
591
+ },
525
592
  },
526
593
  },
527
594
  },
@@ -596,7 +663,6 @@ CSS transforms:
596
663
  +.MuiButton-root.MuiButton-sizeMedium > .MuiButton-icon
597
664
  -.MuiButton-root .MuiButton-iconSizeLarge
598
665
  +.MuiButton-root.MuiButton-sizeLarge > .MuiButton-icon
599
- />
600
666
  ```
601
667
 
602
668
  ```bash
@@ -616,71 +682,71 @@ JS transforms:
616
682
  - [`& .${buttonGroupClasses.groupedHorizontal}`]: {
617
683
  + [`&.${buttonGroupClasses.horizontal} > .${buttonGroupClasses.grouped}`]: {
618
684
  color: 'red',
619
- },
685
+ },
620
686
  - [`& .${buttonGroupClasses.groupedVertical}`]: {
621
687
  + [`&.${buttonGroupClasses.vertical} > .${buttonGroupClasses.grouped}`]: {
622
688
  color: 'red',
623
- },
689
+ },
624
690
  - [`& .${buttonGroupClasses.groupedText}`]: {
625
691
  + [`&.${buttonGroupClasses.text} > .${buttonGroupClasses.grouped}`]: {
626
692
  color: 'red',
627
- },
693
+ },
628
694
  - [`& .${buttonGroupClasses.groupedTextHorizontal}`]: {
629
695
  + [`&.${buttonGroupClasses.text}.${buttonGroupClasses.horizontal} > .${buttonGroupClasses.grouped}`]: {
630
696
  color: 'red',
631
- },
697
+ },
632
698
  - [`& .${buttonGroupClasses.groupedTextVertical}`]: {
633
699
  + [`&.${buttonGroupClasses.text}.${buttonGroupClasses.vertical} > .${buttonGroupClasses.grouped}`]: {
634
700
  color: 'red',
635
- },
701
+ },
636
702
  - [`& .${buttonGroupClasses.groupedTextPrimary}`]: {
637
703
  + [`&.${buttonGroupClasses.text}.${buttonGroupClasses.colorPrimary} > .${buttonGroupClasses.grouped}`]: {
638
704
  color: 'red',
639
- },
705
+ },
640
706
  - [`& .${buttonGroupClasses.groupedTextSecondary}`]: {
641
707
  + [`&.${buttonGroupClasses.text}.${buttonGroupClasses.colorSecondary} > .${buttonGroupClasses.grouped}`]: {
642
708
  color: 'red',
643
- },
709
+ },
644
710
  - [`& .${buttonGroupClasses.groupedOutlined}`]: {
645
711
  + [`&.${buttonGroupClasses.outlined} > .${buttonGroupClasses.grouped}`]: {
646
712
  color: 'red',
647
- },
713
+ },
648
714
  - [`& .${buttonGroupClasses.groupedOutlinedHorizontal}`]: {
649
715
  + [`&.${buttonGroupClasses.outlined}.${buttonGroupClasses.horizontal} > .${buttonGroupClasses.grouped}`]: {
650
716
  color: 'red',
651
- },
717
+ },
652
718
  - [`& .${buttonGroupClasses.groupedOutlinedVertical}`]: {
653
719
  + [`&.${buttonGroupClasses.outlined}.${buttonGroupClasses.vertical} > .${buttonGroupClasses.grouped}`]: {
654
720
  color: 'red',
655
- },
721
+ },
656
722
  - [`& .${buttonGroupClasses.groupedOutlinedPrimary}`]: {
657
723
  + [`&.${buttonGroupClasses.outlined}.${buttonGroupClasses.colorPrimary} > .${buttonGroupClasses.grouped}`]: {
658
724
  color: 'red',
659
- },
725
+ },
660
726
  - [`& .${buttonGroupClasses.groupedOutlinedSecondary}`]: {
661
727
  + [`&.${buttonGroupClasses.outlined}.${buttonGroupClasses.colorSecondary} > .${buttonGroupClasses.grouped}`]: {
662
728
  color: 'red',
663
- },
729
+ },
664
730
  - [`& .${buttonGroupClasses.groupedContained}`]: {
665
731
  + [`&.${buttonGroupClasses.contained} > .${buttonGroupClasses.grouped}`]: {
666
732
  color: 'red',
667
- },
733
+ },
668
734
  - [`& .${buttonGroupClasses.groupedContainedHorizontal}`]: {
669
735
  + [`&.${buttonGroupClasses.contained}.${buttonGroupClasses.horizontal} > .${buttonGroupClasses.grouped}`]: {
670
736
  color: 'red',
671
- },
737
+ },
672
738
  - [`& .${buttonGroupClasses.groupedContainedVertical}`]: {
673
739
  + [`&.${buttonGroupClasses.contained}.${buttonGroupClasses.vertical} > .${buttonGroupClasses.grouped}`]: {
674
740
  color: 'red',
675
- },
741
+ },
676
742
  - [`& .${buttonGroupClasses.groupedContainedPrimary}`]: {
677
743
  + [`&.${buttonGroupClasses.contained}.${buttonGroupClasses.colorPrimary} > .${buttonGroupClasses.grouped}`]: {
678
744
  color: 'red',
679
- },
745
+ },
680
746
  - [`& .${buttonGroupClasses.groupedContainedSecondary}`]: {
681
747
  + [`&.${buttonGroupClasses.contained}.${buttonGroupClasses.colorSecondary} > .${buttonGroupClasses.grouped}`]: {
682
748
  color: 'red',
683
- },
749
+ },
684
750
  },
685
751
  },
686
752
  },
@@ -743,107 +809,107 @@ JS transforms:
743
809
  - [`&.${chipClasses.clickableColorPrimary}`]: {
744
810
  + [`&.${chipClasses.clickable}.${chipClasses.colorPrimary}`]: {
745
811
  color: 'red',
746
- },
812
+ },
747
813
  - [`&.${chipClasses.clickableColorSecondary}`]: {
748
814
  + [`&.${chipClasses.clickable}.${chipClasses.colorSecondary}`]: {
749
815
  color: 'red',
750
- },
816
+ },
751
817
  - [`&.${chipClasses.deletableColorPrimary}`]: {
752
818
  + [`&.${chipClasses.deletable}.${chipClasses.colorPrimary}`]: {
753
819
  color: 'red',
754
- },
820
+ },
755
821
  - [`&.${chipClasses.deletableColorSecondary}`]: {
756
822
  + [`&.${chipClasses.deletable}.${chipClasses.colorSecondary}`]: {
757
823
  color: 'red',
758
- },
824
+ },
759
825
  - [`&.${chipClasses.outlinedPrimary}`]: {
760
826
  + [`&.${chipClasses.outlined}.${chipClasses.colorPrimary}`]: {
761
827
  color: 'red',
762
- },
828
+ },
763
829
  - [`&.${chipClasses.outlinedSecondary}`]: {
764
830
  + [`&.${chipClasses.outlined}.${chipClasses.colorSecondary}`]: {
765
831
  color: 'red',
766
- },
832
+ },
767
833
  - [`&.${chipClasses.filledPrimary}`]: {
768
834
  + [`&.${chipClasses.filled}.${chipClasses.colorPrimary}`]: {
769
835
  color: 'red',
770
- },
836
+ },
771
837
  - [`&.${chipClasses.filledSecondary}`]: {
772
838
  + [`&.${chipClasses.filled}.${chipClasses.colorSecondary}`]: {
773
839
  color: 'red',
774
- },
840
+ },
775
841
  - [`& .${chipClasses.avatarSmall}`]: {
776
842
  + [`&.${chipClasses.sizeSmall} > .${chipClasses.avatar}`]: {
777
843
  color: 'red',
778
- },
844
+ },
779
845
  - [`& .${chipClasses.avatarMedium}`]: {
780
846
  + [`&.${chipClasses.sizeMedium} > .${chipClasses.avatar}`]: {
781
847
  color: 'red',
782
- },
848
+ },
783
849
  - [`& .${chipClasses.avatarColorPrimary}`]: {
784
850
  + [`&.${chipClasses.colorPrimary} > .${chipClasses.avatar}`]: {
785
851
  color: 'red',
786
- },
852
+ },
787
853
  - [`& .${chipClasses.avatarColorSecondary}`]: {
788
854
  + [`&.${chipClasses.colorSecondary} > .${chipClasses.avatar}`]: {
789
855
  color: 'red',
790
- },
856
+ },
791
857
  - [`& .${chipClasses.iconSmall}`]: {
792
858
  + [`&.${chipClasses.sizeSmall} > .${chipClasses.icon}`]: {
793
859
  color: 'red',
794
- },
860
+ },
795
861
  - [`& .${chipClasses.iconMedium}`]: {
796
862
  + [`&.${chipClasses.sizeMedium} > .${chipClasses.icon}`]: {
797
863
  color: 'red',
798
- },
864
+ },
799
865
  - [`& .${chipClasses.iconColorPrimary}`]: {
800
866
  + [`&.${chipClasses.colorPrimary} > .${chipClasses.icon}`]: {
801
867
  color: 'red',
802
- },
868
+ },
803
869
  - [`& .${chipClasses.iconColorSecondary}`]: {
804
870
  + [`&.${chipClasses.colorSecondary} > .${chipClasses.icon}`]: {
805
871
  color: 'red',
806
- },
872
+ },
807
873
  - [`& .${chipClasses.labelSmall}`]: {
808
874
  + [`&.${chipClasses.sizeSmall} > .${chipClasses.label}`]: {
809
875
  color: 'red',
810
- },
876
+ },
811
877
  - [`& .${chipClasses.labelMedium}`]: {
812
878
  + [`&.${chipClasses.sizeMedium} > .${chipClasses.label}`]: {
813
879
  color: 'red',
814
- },
880
+ },
815
881
  - [`& .${chipClasses.deleteIconSmall}`]: {
816
882
  + [`&.${chipClasses.sizeSmall} > .${chipClasses.deleteIcon}`]: {
817
883
  color: 'red',
818
- },
884
+ },
819
885
  - [`& .${chipClasses.deleteIconMedium}`]: {
820
886
  + [`&.${chipClasses.sizeMedium} > .${chipClasses.deleteIcon}`]: {
821
887
  color: 'red',
822
- },
888
+ },
823
889
  - [`& .${chipClasses.deleteIconColorPrimary}`]: {
824
890
  + [`&.${chipClasses.colorPrimary} > .${chipClasses.deleteIcon}`]: {
825
891
  color: 'red',
826
- },
892
+ },
827
893
  - [`& .${chipClasses.deleteIconColorSecondary}`]: {
828
894
  + [`&.${chipClasses.colorSecondary} > .${chipClasses.deleteIcon}`]: {
829
895
  color: 'red',
830
- },
896
+ },
831
897
  - [`& .${chipClasses.deleteIconOutlinedColorPrimary}`]: {
832
898
  + [`&.${chipClasses.outlined}.${chipClasses.colorPrimary} > .${chipClasses.deleteIcon}`]: {
833
899
  color: 'red',
834
- },
900
+ },
835
901
  - [`& .${chipClasses.deleteIconOutlinedColorSecondary}`]: {
836
902
  + [`&.${chipClasses.outlined}.${chipClasses.colorSecondary} > .${chipClasses.deleteIcon}`]: {
837
903
  color: 'red',
838
- },
904
+ },
839
905
  - [`& .${chipClasses.deleteIconFilledColorPrimary}`]: {
840
906
  + [`&.${chipClasses.filled}.${chipClasses.colorPrimary} > .${chipClasses.deleteIcon}`]: {
841
907
  color: 'red',
842
- },
908
+ },
843
909
  - [`& .${chipClasses.deleteIconFilledColorSecondary}`]: {
844
910
  + [`&.${chipClasses.filled}.${chipClasses.colorSecondary} > .${chipClasses.deleteIcon}`]: {
845
911
  color: 'red',
846
- },
912
+ },
847
913
  },
848
914
  },
849
915
  },
@@ -924,11 +990,11 @@ JS transforms:
924
990
  - [`& .${circularProgressClasses.circleDeterminate}`]: {
925
991
  + [`&.${circularProgressClasses.determinate} > .${circularProgressClasses.circle}`]: {
926
992
  color: 'red',
927
- },
993
+ },
928
994
  - [`& .${circularProgressClasses.circleIndeterminate}`]: {
929
995
  + [`&.${circularProgressClasses.indeterminate} > .${circularProgressClasses.circle}`]: {
930
996
  color: 'red',
931
- },
997
+ },
932
998
  },
933
999
  },
934
1000
  },
@@ -937,9 +1003,12 @@ JS transforms:
937
1003
  CSS transforms:
938
1004
 
939
1005
  ```diff
940
- - .MuiCircularProgress-circleDeterminate
1006
+ -.MuiCircularProgress-circleDeterminate
941
1007
  +.MuiCircularProgress-determinate > .MuiCircularProgress-circle
942
- - .MuiCircularProgress-circleIndeterminate
1008
+ ```
1009
+
1010
+ ```diff
1011
+ -.MuiCircularProgress-circleIndeterminate
943
1012
  +.MuiCircularProgress-indeterminate > .MuiCircularProgress-circle
944
1013
  ```
945
1014
 
@@ -952,7 +1021,7 @@ npx @mui/codemod@next deprecations/circular-progress-classes <path>
952
1021
  ```diff
953
1022
  <Divider
954
1023
  - light
955
- + sx={{opacity: "0.6"}}
1024
+ + sx={{ opacity: 0.6 }}
956
1025
  />
957
1026
  ```
958
1027
 
@@ -960,6 +1029,32 @@ npx @mui/codemod@next deprecations/circular-progress-classes <path>
960
1029
  npx @mui/codemod@next deprecations/divider-props <path>
961
1030
  ```
962
1031
 
1032
+ #### `filled-input-props`
1033
+
1034
+ ```diff
1035
+ <FilledInput
1036
+ - components={{ Input: CustomInput, Root: CustomRoot }}
1037
+ - componentsProps={{ input: { id: 'test-input-id' }, root: { id: 'test-root-id' } }}
1038
+ + slots={{ input: CustomInput, root: CustomRoot }}
1039
+ + slotProps={{ input: { id: 'test-input-id' }, root: { id: 'test-root-id' } }}
1040
+ />
1041
+ ```
1042
+
1043
+ ```diff
1044
+ MuiFilledInput: {
1045
+ defaultProps: {
1046
+ - components: { Input: CustomInput, Root: CustomRoot }
1047
+ - componentsProps: { input: { id: 'test-input-id' }, root: { id: 'test-root-id' } }
1048
+ + slots: { input: CustomInput, root: CustomRoot },
1049
+ + slotProps: { input: { id: 'test-input-id' }, root: { id: 'test-root-id' } },
1050
+ },
1051
+ },
1052
+ ```
1053
+
1054
+ ```bash
1055
+ npx @mui/codemod@next deprecations/filled-input-props <path>
1056
+ ```
1057
+
963
1058
  #### `form-control-label-props`
964
1059
 
965
1060
  ```diff
@@ -972,9 +1067,9 @@ npx @mui/codemod@next deprecations/divider-props <path>
972
1067
  ```diff
973
1068
  MuiFormControlLabel: {
974
1069
  defaultProps: {
975
- - componentsProps={{ typography: typographyProps }}
976
- + slotProps={{ typography: typographyProps }}
977
- },
1070
+ - componentsProps={{ typography: typographyProps }}
1071
+ + slotProps={{ typography: typographyProps }}
1072
+ },
978
1073
  },
979
1074
  ```
980
1075
 
@@ -983,6 +1078,123 @@ npx @mui/codemod@next deprecations/form-control-label-props <path>
983
1078
 
984
1079
  ```
985
1080
 
1081
+ #### `list-item-props`
1082
+
1083
+ ```diff
1084
+ <ListItem
1085
+ - components={{ Root: CustomRoot }}
1086
+ - componentsProps={{ root: { testid: 'test-id' } }}
1087
+ + slots={{ root: CustomRoot }}
1088
+ + slotProps={{ root: { testid: 'test-id' } }}
1089
+ />
1090
+ ```
1091
+
1092
+ ```diff
1093
+ MuiListItem: {
1094
+ defaultProps: {
1095
+ - components: { Root: CustomRoot }
1096
+ - componentsProps: { root: { testid: 'test-id' }}
1097
+ + slots: { root: CustomRoot },
1098
+ + slotProps: { root: { testid: 'test-id' } },
1099
+ },
1100
+ },
1101
+ ```
1102
+
1103
+ ```bash
1104
+ npx @mui/codemod@next deprecations/list-item-props <path>
1105
+ ```
1106
+
1107
+ #### `grid-props`
1108
+
1109
+ ```diff
1110
+ <Grid
1111
+ - wrap="nowrap"
1112
+ + flexWrap="nowrap"
1113
+ />
1114
+ ```
1115
+
1116
+ ```bash
1117
+ npx @mui/codemod@next deprecations/grid-props <path>
1118
+ ```
1119
+
1120
+ #### `input-base-props`
1121
+
1122
+ ```diff
1123
+ <InputBase
1124
+ - components={{ Input: CustomInput, Root: CustomRoot }}
1125
+ - componentsProps={{ input: { id: 'test-input-id' }, root: { id: 'test-root-id' } }}
1126
+ + slots={{ input: CustomInput, root: CustomRoot }}
1127
+ + slotProps={{ input: { id: 'test-input-id' }, root: { id: 'test-root-id' } }}
1128
+ />
1129
+ ```
1130
+
1131
+ ```diff
1132
+ MuiInputBase: {
1133
+ defaultProps: {
1134
+ - components: { Input: CustomInput, Root: CustomRoot }
1135
+ - componentsProps: { input: { id: 'test-input-id' }, root: { id: 'test-root-id' } }
1136
+ + slots: { input: CustomInput, root: CustomRoot },
1137
+ + slotProps: { input: { id: 'test-input-id' }, root: { id: 'test-root-id' } },
1138
+ },
1139
+ },
1140
+ ```
1141
+
1142
+ ```bash
1143
+ npx @mui/codemod@next deprecations/input-base-props <path>
1144
+ ```
1145
+
1146
+ #### `input-props`
1147
+
1148
+ ```diff
1149
+ <Input
1150
+ - components={{ Input: CustomInput, Root: CustomRoot }}
1151
+ - componentsProps={{ input: { id: 'test-input-id' }, root: { id: 'test-root-id' } }}
1152
+ + slots={{ input: CustomInput, root: CustomRoot }}
1153
+ + slotProps={{ input: { id: 'test-input-id' }, root: { id: 'test-root-id' } }}
1154
+ />
1155
+ ```
1156
+
1157
+ ```diff
1158
+ MuiInput: {
1159
+ defaultProps: {
1160
+ - components: { Input: CustomInput, Root: CustomRoot }
1161
+ - componentsProps: { input: { id: 'test-input-id' }, root: { id: 'test-root-id' } }
1162
+ + slots: { input: CustomInput, root: CustomRoot },
1163
+ + slotProps: { input: { id: 'test-input-id' }, root: { id: 'test-root-id' } },
1164
+ },
1165
+ },
1166
+ ```
1167
+
1168
+ ```bash
1169
+ npx @mui/codemod@next deprecations/input-props <path>
1170
+ ```
1171
+
1172
+ #### `modal-props`
1173
+
1174
+ ```diff
1175
+ <Modal
1176
+ - components={{ Root: CustomRoot, Backdrop: CustomBackdrop }}
1177
+ - componentsProps={{ root: { testid: 'root-id' }, backdrop: { testid: 'backdrop-id' } }}
1178
+ + slots={{ root: CustomRoot, backdrop: CustomBackdrop }}
1179
+ + slotProps={{ root: { testid: 'root-id' }, backdrop: { testid: 'backdrop-id' } }}
1180
+ />
1181
+ ```
1182
+
1183
+ ```diff
1184
+ MuiModal: {
1185
+ defaultProps: {
1186
+ - components: { Root: CustomRoot, Backdrop: CustomBackdrop }
1187
+ - componentsProps: { root: { testid: 'root-id' }, backdrop: { testid: 'backdrop-id' }}
1188
+ + slots: { root: CustomRoot, backdrop: CustomBackdrop },
1189
+ + slotProps: { root: { testid: 'root-id' }, backdrop: { testid: 'backdrop-id' } },
1190
+ },
1191
+ },
1192
+ ```
1193
+
1194
+ ```bash
1195
+ npx @mui/codemod@next deprecations/modal-props <path>
1196
+ ```
1197
+
986
1198
  #### `pagination-item-classes`
987
1199
 
988
1200
  JS transforms:
@@ -996,35 +1208,35 @@ JS transforms:
996
1208
  - [`&.${paginationItemClasses.textPrimary}`]: {
997
1209
  + [`&.${paginationItemClasses.text}.${paginationItemClasses.colorPrimary}`]: {
998
1210
  color: 'red',
999
- },
1211
+ },
1000
1212
  - [`&.${paginationItemClasses.textSecondary}`]: {
1001
1213
  + [`&.${paginationItemClasses.text}.${paginationItemClasses.colorSecondary}`]: {
1002
1214
  color: 'red',
1003
- },
1215
+ },
1004
1216
  - [`&.${paginationItemClasses.outlinedPrimary}`]: {
1005
1217
  + [`&.${paginationItemClasses.outlined}.${paginationItemClasses.colorPrimary}`]: {
1006
1218
  color: 'red',
1007
- },
1219
+ },
1008
1220
  - [`&.${paginationItemClasses.outlinedSecondary}`]: {
1009
1221
  + [`&.${paginationItemClasses.outlined}.${paginationItemClasses.colorSecondary}`]: {
1010
1222
  color: 'red',
1011
- },
1223
+ },
1012
1224
  - '&.MuiPaginationItem-textPrimary': {
1013
1225
  + '&.MuiPaginationItem-text.MuiPaginationItem-colorPrimary': {
1014
1226
  color: 'red',
1015
- },
1227
+ },
1016
1228
  - '&.MuiPaginationItem-textSecondary': {
1017
1229
  + '&.MuiPaginationItem-text.MuiPaginationItem-colorSecondary': {
1018
1230
  color: 'red',
1019
- },
1231
+ },
1020
1232
  - '&.MuiPaginationItem-outlinedPrimary': {
1021
1233
  + '&.MuiPaginationItem-outlined.MuiPaginationItem-colorPrimary': {
1022
1234
  color: 'red',
1023
- },
1235
+ },
1024
1236
  - '&.MuiPaginationItem-outlinedSecondary': {
1025
1237
  + '&.MuiPaginationItem-outlined.MuiPaginationItem-colorSecondary': {
1026
1238
  color: 'red',
1027
- },
1239
+ },
1028
1240
  },
1029
1241
  },
1030
1242
  },
@@ -1069,13 +1281,65 @@ npx @mui/codemod@next deprecations/pagination-item-classes <path>
1069
1281
  npx @mui/codemod@next deprecations/pagination-item-props <path>
1070
1282
  ```
1071
1283
 
1284
+ #### `popper-props`
1285
+
1286
+ ```diff
1287
+ <Popper
1288
+ - components={{ Root: CustomRoot }}
1289
+ - componentsProps={{ root: { testid: 'test-id' } }}
1290
+ + slots={{ root: CustomRoot }}
1291
+ + slotProps={{ root: { testid: 'test-id' } }}
1292
+ />
1293
+ ```
1294
+
1295
+ ```diff
1296
+ MuiPopper: {
1297
+ defaultProps: {
1298
+ - components: { Root: CustomRoot }
1299
+ - componentsProps: { root: { testid: 'test-id' }}
1300
+ + slots: { root: CustomRoot },
1301
+ + slotProps: { root: { testid: 'test-id' } },
1302
+ },
1303
+ },
1304
+ ```
1305
+
1306
+ ```bash
1307
+ npx @mui/codemod@next deprecations/popper-props <path>
1308
+ ```
1309
+
1310
+ #### `outlined-input-props`
1311
+
1312
+ ```diff
1313
+ <OutlinedInput
1314
+ - components={{ Input: CustomInput, Root: CustomRoot }}
1315
+ - componentsProps={{ input: { id: 'test-input-id' }, root: { id: 'test-root-id' } }}
1316
+ + slots={{ input: CustomInput, root: CustomRoot }}
1317
+ + slotProps={{ input: { id: 'test-input-id' }, root: { id: 'test-root-id' } }}
1318
+ />
1319
+ ```
1320
+
1321
+ ```diff
1322
+ MuiOutlinedInput: {
1323
+ defaultProps: {
1324
+ - components: { Input: CustomInput, Root: CustomRoot }
1325
+ - componentsProps: { input: { id: 'test-input-id' }, root: { id: 'test-root-id' } }
1326
+ + slots: { input: CustomInput, root: CustomRoot },
1327
+ + slotProps: { input: { id: 'test-input-id' }, root: { id: 'test-root-id' } },
1328
+ },
1329
+ },
1330
+ ```
1331
+
1332
+ ```bash
1333
+ npx @mui/codemod@next deprecations/outlined-input-props <path>
1334
+ ```
1335
+
1072
1336
  #### `slider-props`
1073
1337
 
1074
1338
  ```diff
1075
1339
  <Slider
1076
1340
  - components={{ Track: CustomTrack }}
1077
- + slots={{ track: CustomTrack }}
1078
1341
  - componentsProps={{ track: { testid: 'test-id' } }}
1342
+ + slots={{ track: CustomTrack }}
1079
1343
  + slotProps={{ track: { testid: 'test-id' } }}
1080
1344
  />
1081
1345
  ```
@@ -1084,8 +1348,8 @@ npx @mui/codemod@next deprecations/pagination-item-props <path>
1084
1348
  MuiSlider: {
1085
1349
  defaultProps: {
1086
1350
  - components: { Track: CustomTrack }
1087
- + slots: { track: CustomTrack },
1088
1351
  - componentsProps: { track: { testid: 'test-id' }}
1352
+ + slots: { track: CustomTrack },
1089
1353
  + slotProps: { track: { testid: 'test-id' } },
1090
1354
  },
1091
1355
  },
@@ -1095,66 +1359,55 @@ npx @mui/codemod@next deprecations/pagination-item-props <path>
1095
1359
  npx @mui/codemod@next deprecations/slider-props <path>
1096
1360
  ```
1097
1361
 
1098
- #### `text-field-props`
1362
+ #### `tooltip-props`
1099
1363
 
1100
1364
  ```diff
1101
- <TextField
1102
- - InputProps={CustomInputProps}
1103
- - inputProps={CustomHtmlInputProps}
1104
- - SelectProps={CustomSelectProps}
1105
- - InputLabelProps={CustomInputLabelProps}
1106
- - FormHelperTextProps={CustomFormHelperProps}
1107
- + slotProps={{
1108
- + input: CustomInputProps
1109
- + htmlInput: CustomHtmlInputProps
1110
- + select: CustomSelectProps
1111
- + inputLabel: CustomInputLabelProps
1112
- + formHelper: CustomFormHelperProps
1113
- + }}
1365
+ <Tooltip
1366
+ - components={{ Arrow: CustomArrow }}
1367
+ - componentsProps={{ arrow: { testid: 'test-id' } }}
1368
+ + slots={{ arrow: CustomArrow }}
1369
+ + slotProps={{ arrow: { testid: 'test-id' } }}
1114
1370
  />
1115
1371
  ```
1116
1372
 
1373
+ ```diff
1374
+ MuiTooltip: {
1375
+ defaultProps: {
1376
+ - components: { Arrow: CustomArrow }
1377
+ + slots: { arrow: CustomArrow },
1378
+ - componentsProps: { arrow: { testid: 'test-id' }}
1379
+ + slotProps: { arrow: { testid: 'test-id' } },
1380
+ },
1381
+ },
1382
+ ```
1383
+
1117
1384
  ```bash
1118
- npx @mui/codemod@next deprecations/text-field-props <path>
1385
+ npx @mui/codemod@next deprecations/tooltip-props <path>
1119
1386
  ```
1120
1387
 
1121
- #### `toggle-button-group-classes`
1388
+ #### `step-connector-classes`
1122
1389
 
1123
1390
  JS transforms:
1124
1391
 
1125
1392
  ```diff
1126
- import { toggleButtonGroupClasses } from '@mui/material/ToggleButtonGroup';
1393
+ import { stepConnectorClasses } from '@mui/material/StepConnector';
1127
1394
 
1128
- MuiToggleButtonGroup: {
1395
+ MuiStepConnector: {
1129
1396
  styleOverrides: {
1130
1397
  root: {
1131
- - [`& .${toggleButtonGroupClasses.groupedHorizontal}`]: {
1132
- + [`&.${toggleButtonGroupClasses.horizontal} > .${toggleButtonGroupClasses.grouped}`]: {
1398
+ - [`& .${stepConnectorClasses.lineHorizontal}`]: {
1399
+ + [`&.${stepConnectorClasses.horizontal} > .${stepConnectorClasses.line}`]: {
1133
1400
  color: 'red',
1134
- },
1135
- - [`& .${toggleButtonGroupClasses.groupedVertical}`]: {
1136
- + [`&.${toggleButtonGroupClasses.vertical} > .${toggleButtonGroupClasses.grouped}`]: {
1401
+ },
1402
+ - [`& .${stepConnectorClasses.lineVertical}`]: {
1403
+ + [`&.${stepConnectorClasses.vertical} > .${stepConnectorClasses.line}`]: {
1137
1404
  color: 'red',
1138
- },
1405
+ },
1139
1406
  },
1140
1407
  },
1141
1408
  },
1142
1409
  ```
1143
1410
 
1144
- CSS transforms:
1145
-
1146
- ```diff
1147
- -.MuiToggleButtonGroup-root .MuiToggleButtonGroup-groupedHorizontal
1148
- +.MuiToggleButtonGroup-root.MuiToggleButtonGroup-horizontal > .MuiToggleButtonGroup-grouped
1149
- -.MuiToggleButtonGroup-root .MuiToggleButtonGroup-groupedVertical
1150
- +.MuiToggleButtonGroup-root.MuiToggleButtonGroup-vertical > .MuiToggleButtonGroup-grouped
1151
- />
1152
- ```
1153
-
1154
- ```bash
1155
- npx @mui/codemod@latest deprecations/toggle-button-group-classes <path>
1156
- ```
1157
-
1158
1411
  #### `step-label-props`
1159
1412
 
1160
1413
  ```diff
@@ -1183,27 +1436,49 @@ npx @mui/codemod@latest deprecations/toggle-button-group-classes <path>
1183
1436
 
1184
1437
  ```bash
1185
1438
  npx @mui/codemod@latest deprecations/step-label-props <path>
1439
+ ```
1440
+
1441
+ #### `text-field-props`
1186
1442
 
1443
+ ```diff
1444
+ <TextField
1445
+ - InputProps={CustomInputProps}
1446
+ - inputProps={CustomHtmlInputProps}
1447
+ - SelectProps={CustomSelectProps}
1448
+ - InputLabelProps={CustomInputLabelProps}
1449
+ - FormHelperTextProps={CustomFormHelperProps}
1450
+ + slotProps={{
1451
+ + input: CustomInputProps,
1452
+ + htmlInput: CustomHtmlInputProps,
1453
+ + select: CustomSelectProps,
1454
+ + inputLabel: CustomInputLabelProps,
1455
+ + formHelper: CustomFormHelperProps,
1456
+ + }}
1457
+ />
1187
1458
  ```
1188
1459
 
1189
- #### `step-connector-classes`
1460
+ ```bash
1461
+ npx @mui/codemod@next deprecations/text-field-props <path>
1462
+ ```
1463
+
1464
+ #### `toggle-button-group-classes`
1190
1465
 
1191
1466
  JS transforms:
1192
1467
 
1193
1468
  ```diff
1194
- import { stepConnectorClasses } from '@mui/material/StepConnector';
1469
+ import { toggleButtonGroupClasses } from '@mui/material/ToggleButtonGroup';
1195
1470
 
1196
- MuiStepConnector: {
1471
+ MuiToggleButtonGroup: {
1197
1472
  styleOverrides: {
1198
1473
  root: {
1199
- - [`& .${stepConnectorClasses.lineHorizontal}`]: {
1200
- + [`&.${stepConnectorClasses.horizontal} > .${stepConnectorClasses.line}`]: {
1474
+ - [`& .${toggleButtonGroupClasses.groupedHorizontal}`]: {
1475
+ + [`&.${toggleButtonGroupClasses.horizontal} > .${toggleButtonGroupClasses.grouped}`]: {
1201
1476
  color: 'red',
1202
- },
1203
- - [`& .${stepConnectorClasses.lineVertical}`]: {
1204
- + [`&.${stepConnectorClasses.vertical} > .${stepConnectorClasses.line}`]: {
1477
+ },
1478
+ - [`& .${toggleButtonGroupClasses.groupedVertical}`]: {
1479
+ + [`&.${toggleButtonGroupClasses.vertical} > .${toggleButtonGroupClasses.grouped}`]: {
1205
1480
  color: 'red',
1206
- },
1481
+ },
1207
1482
  },
1208
1483
  },
1209
1484
  },
@@ -1212,9 +1487,28 @@ JS transforms:
1212
1487
  CSS transforms:
1213
1488
 
1214
1489
  ```diff
1215
- - .MuiStepConnector-lineHorizontal
1490
+ -.MuiToggleButtonGroup-root .MuiToggleButtonGroup-groupedHorizontal
1491
+ +.MuiToggleButtonGroup-root.MuiToggleButtonGroup-horizontal > .MuiToggleButtonGroup-grouped
1492
+ ```
1493
+
1494
+ ```diff
1495
+ -.MuiToggleButtonGroup-root .MuiToggleButtonGroup-groupedVertical
1496
+ +.MuiToggleButtonGroup-root.MuiToggleButtonGroup-vertical > .MuiToggleButtonGroup-grouped
1497
+ ```
1498
+
1499
+ ```bash
1500
+ npx @mui/codemod@latest deprecations/toggle-button-group-classes <path>
1501
+ ```
1502
+
1503
+ CSS transforms:
1504
+
1505
+ ```diff
1506
+ -.MuiStepConnector-lineHorizontal
1216
1507
  +.MuiStepConnector-horizontal > .MuiStepConnector-line
1217
- - .MuiStepConnector-lineVertical
1508
+ ```
1509
+
1510
+ ```diff
1511
+ -.MuiStepConnector-lineVertical
1218
1512
  +.MuiStepConnector-vertical > .MuiStepConnector-line
1219
1513
  ```
1220
1514
 
@@ -1222,8 +1516,113 @@ CSS transforms:
1222
1516
  npx @mui/codemod@next deprecations/step-connector-classes <path>
1223
1517
  ```
1224
1518
 
1519
+ #### `tab-classes`
1520
+
1521
+ JS transforms:
1522
+
1523
+ ```diff
1524
+ import { tabClasses } from '@mui/material/Tab';
1525
+
1526
+ MuiTab: {
1527
+ styleOverrides: {
1528
+ root: {
1529
+ - [`& .${tabClasses.iconWrapper}`]: {
1530
+ + [`& .${tabClasses.icon}`]: {
1531
+ color: 'red',
1532
+ },
1533
+ },
1534
+ },
1535
+ },
1536
+ ```
1537
+
1538
+ CSS transforms:
1539
+
1540
+ ```diff
1541
+ -.MuiTab-iconWrapper
1542
+ +.MuiTab-icon
1543
+ ```
1544
+
1545
+ ```bash
1546
+ npx @mui/codemod@next deprecations/tab-classes <path>
1547
+ ```
1548
+
1549
+ #### `table-sort-label-classes`
1550
+
1551
+ JS transforms:
1552
+
1553
+ ```diff
1554
+ import { tableSortLabelClasses } from '@mui/material/TableSortLabel';
1555
+
1556
+ MuiTableSortLabel: {
1557
+ styleOverrides: {
1558
+ root: {
1559
+ - [`& .${tableSortLabelClasses.iconDirectionDesc}`]: {
1560
+ + [`&.${tableSortLabelClasses.directionDesc} > .${tableSortLabelClasses.icon}`]: {
1561
+ color: 'red',
1562
+ },
1563
+ - [`& .${tableSortLabelClasses.iconDirectionAsc}`]: {
1564
+ + [`&.${tableSortLabelClasses.directionAsc} > .${tableSortLabelClasses.icon}`]: {
1565
+ color: 'red',
1566
+ },
1567
+ },
1568
+ },
1569
+ },
1570
+ ```
1571
+
1572
+ CSS transforms:
1573
+
1574
+ ```diff
1575
+ -.MuiTableSortLabel-iconDirectionDesc
1576
+ +.MuiTableSortLabel-directionDesc > .MuiTableSortLabel-icon
1577
+ ```
1578
+
1579
+ ```diff
1580
+ -.MuiTableSortLabel-iconDirectionAsc
1581
+ +.MuiTableSortLabel-directionAsc > .MuiTableSortLabel-icon
1582
+ ```
1583
+
1584
+ ```bash
1585
+ npx @mui/codemod@next deprecations/table-sort-label-classes <path>
1586
+ ```
1587
+
1225
1588
  ### v6.0.0
1226
1589
 
1590
+ #### `sx-prop`
1591
+
1592
+ ```bash
1593
+ npx @mui/codemod@next v6.0.0/sx-prop <path>
1594
+ ```
1595
+
1596
+ Update the usage of the `sx` prop to be compatible with `@pigment-css/react`.
1597
+
1598
+ ```diff
1599
+ <Box
1600
+ - sx={{
1601
+ - backgroundColor: (theme) =>
1602
+ - theme.palette.mode === 'light' ? theme.palette.grey[100] : theme.palette.grey[900],
1603
+ - }}
1604
+ + sx={theme => ({
1605
+ + backgroundColor: theme.palette.grey[900],
1606
+ + ...theme.applyStyles("light", {
1607
+ + backgroundColor: theme.palette.grey[100]
1608
+ + })
1609
+ + })}
1610
+ />
1611
+ ```
1612
+
1613
+ #### `system-props`
1614
+
1615
+ ```bash
1616
+ npx @mui/codemod@next v6.0.0/system-props <path>
1617
+ ```
1618
+
1619
+ Remove system props and add them to the `sx` prop.
1620
+
1621
+ ```diff
1622
+ -<Box ml="2px" py={1} color="primary.main" />
1623
+ +<Box sx={{ ml: '2px', py: 1, color: 'primary.main' }} />
1624
+ ```
1625
+
1227
1626
  #### `theme-v6`
1228
1627
 
1229
1628
  ```bash
@@ -1240,14 +1639,14 @@ Update the theme creation from `@mui/system@v5` to be compatible with `@pigment-
1240
1639
  createTheme({
1241
1640
  components: {
1242
1641
  MuiButton: {
1243
- - variants: [
1244
- - {
1245
- - props: { color: 'primary' },
1246
- - style: {
1247
- - color: 'red',
1248
- - },
1249
- - },
1250
- - ],
1642
+ - variants: [
1643
+ - {
1644
+ - props: { color: 'primary' },
1645
+ - style: {
1646
+ - color: 'red',
1647
+ - },
1648
+ - },
1649
+ - ],
1251
1650
  styleOverrides: {
1252
1651
  - root: ({ theme, ownerState }) => ({
1253
1652
  + root: ({ theme }) => ({
@@ -1286,10 +1685,10 @@ Update the theme creation from `@mui/system@v5` to be compatible with `@pigment-
1286
1685
  })
1287
1686
  ```
1288
1687
 
1289
- #### `styled-v6`
1688
+ #### `styled`
1290
1689
 
1291
1690
  ```bash
1292
- npx @mui/codemod@next v6.0.0/styled-v6 <path>
1691
+ npx @mui/codemod@next v6.0.0/styled <path>
1293
1692
  ```
1294
1693
 
1295
1694
  Updates the usage of `styled` from `@mui/system@v5` to be compatible with `@pigment-css/react`.
@@ -1360,6 +1759,36 @@ However, it has some **limitations**:
1360
1759
  }));
1361
1760
  ```
1362
1761
 
1762
+ #### `grid-v2-props`
1763
+
1764
+ ```bash
1765
+ npx @mui/codemod@next v6.0.0/grid-v2-props <path>
1766
+ ```
1767
+
1768
+ Updates the usage of the `Unstable_Grid` (Grid v2) component to have the same API as the `PigmentGrid`.
1769
+
1770
+ ```diff
1771
+ <Grid
1772
+ - xs={12}
1773
+ - sm={6}
1774
+ - xsOffset={2}
1775
+ - smOffset={3}
1776
+ + size={{ xs: 12, sm: 6 }}
1777
+ + offset={{ xs: 2, sm: 3 }}
1778
+ />
1779
+ ```
1780
+
1781
+ You can provide the theme breakpoints via options, for example, `--jscodeshift='--muiBreakpoints=mobile,desktop'`, to use your custom breakpoints in the transformation.
1782
+
1783
+ ```bash
1784
+ npx @mui/codemod@next v6.0.0/grid-v2-props <path> --jscodeshift='--muiBreakpoints=mobile,desktop'
1785
+ ```
1786
+
1787
+ ```diff
1788
+ - <Grid mobile={12} mobileOffset={2} desktop={6} desktopOffset={4} >
1789
+ + <Grid size={{ mobile: 12, desktop: 6 }} offset={{ mobile: 2, desktop: 4 }} >
1790
+ ```
1791
+
1363
1792
  ### v5.0.0
1364
1793
 
1365
1794
  #### `base-use-named-exports`
@@ -1459,7 +1888,7 @@ Transforms `row` prop to `orientation` prop across `Card`, `List` and `RadioGrou
1459
1888
  ```diff
1460
1889
  <Card
1461
1890
  - row
1462
- + orientation={"horizontal"}
1891
+ + orientation="horizontal"
1463
1892
  />;
1464
1893
  ```
1465
1894
 
@@ -1487,7 +1916,7 @@ npx @mui/codemod@next v5.0.0/joy-avatar-remove-imgProps <path>
1487
1916
 
1488
1917
  #### `joy-text-field-to-input`
1489
1918
 
1490
- Replace `<TextField>` with composition of `Input`
1919
+ Replace `<TextField>` with a composition of input components:
1491
1920
 
1492
1921
  This change only affects Joy UI components.
1493
1922