From 23414c5a8d019af7bfbc7a5a4ba546d6d2d55b30 Mon Sep 17 00:00:00 2001
From: Archer Leung <i@liangzhicheng.cc>
Date: Fri, 3 Jan 2025 22:52:48 +0800
Subject: [PATCH 01/19] feat(docs): Mark deprecated styles in linear progress
 API

---
 .../material-ui/api/linear-progress.json      | 27 ++++++++++++-------
 1 file changed, 18 insertions(+), 9 deletions(-)

diff --git a/docs/pages/material-ui/api/linear-progress.json b/docs/pages/material-ui/api/linear-progress.json
index f6118ba323228f..b17b113088b9e8 100644
--- a/docs/pages/material-ui/api/linear-progress.json
+++ b/docs/pages/material-ui/api/linear-progress.json
@@ -41,43 +41,50 @@
       "key": "bar1Buffer",
       "className": "MuiLinearProgress-bar1Buffer",
       "description": "Styles applied to the bar1 element if `variant=\"buffer\"`.",
-      "isGlobal": false
+      "isGlobal": false,
+      "isDeprecated": true
     },
     {
       "key": "bar1Determinate",
       "className": "MuiLinearProgress-bar1Determinate",
       "description": "Styles applied to the bar1 element if `variant=\"determinate\"`.",
-      "isGlobal": false
+      "isGlobal": false,
+      "isDeprecated": true
     },
     {
       "key": "bar1Indeterminate",
       "className": "MuiLinearProgress-bar1Indeterminate",
       "description": "Styles applied to the bar1 element if `variant=\"indeterminate or query\"`.",
-      "isGlobal": false
+      "isGlobal": false,
+      "isDeprecated": true
     },
     {
       "key": "bar2Buffer",
       "className": "MuiLinearProgress-bar2Buffer",
       "description": "Styles applied to the bar2 element if `variant=\"buffer\"`.",
-      "isGlobal": false
+      "isGlobal": false,
+      "isDeprecated": true
     },
     {
       "key": "bar2Indeterminate",
       "className": "MuiLinearProgress-bar2Indeterminate",
       "description": "Styles applied to the bar2 element if `variant=\"indeterminate or query\"`.",
-      "isGlobal": false
+      "isGlobal": false,
+      "isDeprecated": true
     },
     {
       "key": "barColorPrimary",
       "className": "MuiLinearProgress-barColorPrimary",
       "description": "Styles applied to the bar elements if `color=\"primary\"`; bar2 if `variant` not \"buffer\".",
-      "isGlobal": false
+      "isGlobal": false,
+      "isDeprecated": true
     },
     {
       "key": "barColorSecondary",
       "className": "MuiLinearProgress-barColorSecondary",
       "description": "Styles applied to the bar elements if `color=\"secondary\"`; bar2 if `variant` not \"buffer\".",
-      "isGlobal": false
+      "isGlobal": false,
+      "isDeprecated": true
     },
     {
       "key": "buffer",
@@ -107,13 +114,15 @@
       "key": "dashedColorPrimary",
       "className": "MuiLinearProgress-dashedColorPrimary",
       "description": "Styles applied to the additional bar element if `variant=\"buffer\"` and `color=\"primary\"`.",
-      "isGlobal": false
+      "isGlobal": false,
+      "isDeprecated": true
     },
     {
       "key": "dashedColorSecondary",
       "className": "MuiLinearProgress-dashedColorSecondary",
       "description": "Styles applied to the additional bar element if `variant=\"buffer\"` and `color=\"secondary\"`.",
-      "isGlobal": false
+      "isGlobal": false,
+      "isDeprecated": true
     },
     {
       "key": "determinate",

From 31aedefdda7f6fe95a06978c1f868317f0c35022 Mon Sep 17 00:00:00 2001
From: Archer Leung <i@liangzhicheng.cc>
Date: Fri, 3 Jan 2025 23:35:11 +0800
Subject: [PATCH 02/19] feat(docs): Update migration guide for LinearProgress
 deprecations

---
 .../migrating-from-deprecated-apis.md         | 64 +++++++++++++++++++
 1 file changed, 64 insertions(+)

diff --git a/docs/data/material/migration/migrating-from-deprecated-apis/migrating-from-deprecated-apis.md b/docs/data/material/migration/migrating-from-deprecated-apis/migrating-from-deprecated-apis.md
index 24c27c33051d02..f2a14fa6203138 100644
--- a/docs/data/material/migration/migrating-from-deprecated-apis/migrating-from-deprecated-apis.md
+++ b/docs/data/material/migration/migrating-from-deprecated-apis/migrating-from-deprecated-apis.md
@@ -1375,6 +1375,70 @@ Here's how to migrate:
  },
 ```
 
+## LinearProgress
+
+Use the [codemod](https://github.com/mui/material-ui/tree/HEAD/packages/mui-codemod#linear-progress-classes) below to migrate the code as described in the following sections:
+
+```bash
+npx @mui/codemod@latest deprecations/linear-progress-classes <path>
+```
+
+### Composed CSS classes
+
+The CSS classes that composed the `variant` and `color` prop values were deprecated.
+
+Here's how to migrate:
+
+```diff
+-.MuiLinearProgress-bar1Buffer
++.MuiLinearProgress-bar1.MuiLinearProgress-buffer
+-.MuiLinearProgress-bar1Determinate
++.MuiLinearProgress-bar1.MuiLinearProgress-determinate
+-.MuiLinearProgress-bar1Indeterminate
++.MuiLinearProgress-bar1.MuiLinearProgress-indeterminate
+-.MuiLinearProgress-bar2Buffer
++.MuiLinearProgress-bar2.MuiLinearProgress-buffer
+-.MuiLinearProgress-bar2Indeterminate
++.MuiLinearProgress-bar2.MuiLinearProgress-indeterminate
+-.MuiLinearProgress-barColorPrimary
++.MuiLinearProgress-bar.MuiLinearProgress-colorPrimary
+-.MuiLinearProgress-barColorSecondary
++.MuiLinearProgress-bar.MuiLinearProgress-colorSecondary
+-.MuiLinearProgress-dashedColorPrimary
++.MuiLinearProgress-dashed.MuiLinearProgress-colorPrimary
+-.MuiLinearProgress-dashedColorSecondary
++.MuiLinearProgress-dashed.MuiLinearProgress-colorSecondary
+```
+
+```diff
+ import { linearProgressClasses } from '@mui/material/LinearProgress';
+
+ MuiLinearProgress: {
+   styleOverrides: {
+     root: {
+-      [`&.${linearProgressClasses.bar1Buffer}`]: {},
++      [`&.${linearProgressClasses.bar1}.${linearProgressClasses.buffer}`]: {},
+-      [`&.${linearProgressClasses.bar1Determinate}`]: {},
++      [`&.${linearProgressClasses.bar1}.${linearProgressClasses.determinate}`]: {},
+-      [`&.${linearProgressClasses.bar1Indeterminate}`]: {},
++      [`&.${linearProgressClasses.bar1}.${linearProgressClasses.indeterminate}`]: {},
+-      [`&.${linearProgressClasses.bar2Buffer}`]: {},
++      [`&.${linearProgressClasses.bar2}.${linearProgressClasses.buffer}`]: {},
+-      [`&.${linearProgressClasses.bar2Indeterminate}`]: {},
++      [`&.${linearProgressClasses.bar2}.${linearProgressClasses.indeterminate}`]: {},
+-      [`&.${linearProgressClasses.barColorPrimary}`]: {},
++      [`&.${linearProgressClasses.bar}.${linearProgressClasses.colorPrimary}`]: {},
+-      [`&.${linearProgressClasses.barColorSecondary}`]: {},
++      [`&.${linearProgressClasses.bar}.${linearProgressClasses.colorSecondary}`]: {},
+-      [`&.${linearProgressClasses.dashedColorPrimary}`]: {},
++      [`&.${linearProgressClasses.dashed}.${linearProgressClasses.colorPrimary}`]: {},
+-      [`&.${linearProgressClasses.dashedColorSecondary}`]: {},
++      [`&.${linearProgressClasses.dashed}.${linearProgressClasses.colorSecondary}`]: {},
+     },
+   },
+ }
+```
+
 ## Modal
 
 Use the [codemod](https://github.com/mui/material-ui/tree/HEAD/packages/mui-codemod#modal-props) below to migrate the code as described in the following sections:

From 472bbfe60b054ca4106f946082332c6c69003298 Mon Sep 17 00:00:00 2001
From: Archer Leung <i@liangzhicheng.cc>
Date: Sat, 4 Jan 2025 08:07:40 +0800
Subject: [PATCH 03/19] feat(docs): Add deprecation information for
 LinearProgress styles

---
 .../linear-progress/linear-progress.json      | 27 ++++++++++++-------
 1 file changed, 18 insertions(+), 9 deletions(-)

diff --git a/docs/translations/api-docs/linear-progress/linear-progress.json b/docs/translations/api-docs/linear-progress/linear-progress.json
index 832be0ad1151f0..b21b5af1f0059b 100644
--- a/docs/translations/api-docs/linear-progress/linear-progress.json
+++ b/docs/translations/api-docs/linear-progress/linear-progress.json
@@ -24,37 +24,44 @@
     "bar1Buffer": {
       "description": "Styles applied to {{nodeName}} if {{conditions}}.",
       "nodeName": "the bar1 element",
-      "conditions": "<code>variant=\"buffer\"</code>"
+      "conditions": "<code>variant=\"buffer\"</code>",
+      "deprecationInfo": "Combine the <a href=\"/material-ui/api/linear-progress/#linear-progress-classes-bar1\">.MuiLinearProgress-bar1</a> and <a href=\"/material-ui/api/linear-progress/#linear-progress-classes-buffer\">.MuiLinearProgress-buffer</a> classes instead. <a href=\"/material-ui/migration/migrating-from-deprecated-apis/\">How to migrate</a>"
     },
     "bar1Determinate": {
       "description": "Styles applied to {{nodeName}} if {{conditions}}.",
       "nodeName": "the bar1 element",
-      "conditions": "<code>variant=\"determinate\"</code>"
+      "conditions": "<code>variant=\"determinate\"</code>",
+      "deprecationInfo": "Combine the <a href=\"/material-ui/api/linear-progress/#linear-progress-classes-bar1\">.MuiLinearProgress-bar1</a> and <a href=\"/material-ui/api/linear-progress/#linear-progress-classes-determinate\">.MuiLinearProgress-determinate</a> classes instead. <a href=\"/material-ui/migration/migrating-from-deprecated-apis/\">How to migrate</a>"
     },
     "bar1Indeterminate": {
       "description": "Styles applied to {{nodeName}} if {{conditions}}.",
       "nodeName": "the bar1 element",
-      "conditions": "<code>variant=\"indeterminate or query\"</code>"
+      "conditions": "<code>variant=\"indeterminate or query\"</code>",
+      "deprecationInfo": "Combine the <a href=\"/material-ui/api/linear-progress/#linear-progress-classes-bar1\">.MuiLinearProgress-bar1</a> and <a href=\"/material-ui/api/linear-progress/#linear-progress-classes-indeterminate\">.MuiLinearProgress-indeterminate</a> classes instead. <a href=\"/material-ui/migration/migrating-from-deprecated-apis/\">How to migrate</a>"
     },
     "bar2Buffer": {
       "description": "Styles applied to {{nodeName}} if {{conditions}}.",
       "nodeName": "the bar2 element",
-      "conditions": "<code>variant=\"buffer\"</code>"
+      "conditions": "<code>variant=\"buffer\"</code>",
+      "deprecationInfo": "Combine the <a href=\"/material-ui/api/linear-progress/#linear-progress-classes-bar2\">.MuiLinearProgress-bar2</a> and <a href=\"/material-ui/api/linear-progress/#linear-progress-classes-buffer\">.MuiLinearProgress-buffer</a> classes instead. <a href=\"/material-ui/migration/migrating-from-deprecated-apis/\">How to migrate</a>"
     },
     "bar2Indeterminate": {
       "description": "Styles applied to {{nodeName}} if {{conditions}}.",
       "nodeName": "the bar2 element",
-      "conditions": "<code>variant=\"indeterminate or query\"</code>"
+      "conditions": "<code>variant=\"indeterminate or query\"</code>",
+      "deprecationInfo": "Combine the <a href=\"/material-ui/api/linear-progress/#linear-progress-classes-bar2\">.MuiLinearProgress-bar2</a> and <a href=\"/material-ui/api/linear-progress/#linear-progress-classes-indeterminate\">.MuiLinearProgress-indeterminate</a> classes instead. <a href=\"/material-ui/migration/migrating-from-deprecated-apis/\">How to migrate</a>"
     },
     "barColorPrimary": {
       "description": "Styles applied to {{nodeName}} if {{conditions}}.",
       "nodeName": "the bar elements",
-      "conditions": "<code>color=\"primary\"</code>; bar2 if <code>variant</code> not &quot;buffer&quot;"
+      "conditions": "<code>color=\"primary\"</code>; bar2 if <code>variant</code> not &quot;buffer&quot;",
+      "deprecationInfo": "Combine the <a href=\"/material-ui/api/linear-progress/#linear-progress-classes-bar\">.MuiLinearProgress-bar</a> and <a href=\"/material-ui/api/linear-progress/#linear-progress-classes-colorPrimary\">.MuiLinearProgress-colorPrimary</a> classes instead. <a href=\"/material-ui/migration/migrating-from-deprecated-apis/\">How to migrate</a>"
     },
     "barColorSecondary": {
       "description": "Styles applied to {{nodeName}} if {{conditions}}.",
       "nodeName": "the bar elements",
-      "conditions": "<code>color=\"secondary\"</code>; bar2 if <code>variant</code> not &quot;buffer&quot;"
+      "conditions": "<code>color=\"secondary\"</code>; bar2 if <code>variant</code> not &quot;buffer&quot;",
+      "deprecationInfo": "Combine the <a href=\"/material-ui/api/linear-progress/#linear-progress-classes-bar\">.MuiLinearProgress-bar</a> and <a href=\"/material-ui/api/linear-progress/#linear-progress-classes-colorSecondary\">.MuiLinearProgress-colorSecondary</a> classes instead. <a href=\"/material-ui/migration/migrating-from-deprecated-apis/\">How to migrate</a>"
     },
     "buffer": {
       "description": "Styles applied to {{nodeName}} if {{conditions}}.",
@@ -79,12 +86,14 @@
     "dashedColorPrimary": {
       "description": "Styles applied to {{nodeName}} if {{conditions}}.",
       "nodeName": "the additional bar element",
-      "conditions": "<code>variant=\"buffer\"</code> and <code>color=\"primary\"</code>"
+      "conditions": "<code>variant=\"buffer\"</code> and <code>color=\"primary\"</code>",
+      "deprecationInfo": "Combine the <a href=\"/material-ui/api/linear-progress/#linear-progress-classes-dashed\">.MuiLinearProgress-dashed</a> and <a href=\"/material-ui/api/linear-progress/#linear-progress-classes-colorPrimary\">.MuiLinearProgress-colorPrimary</a> classes instead. <a href=\"/material-ui/migration/migrating-from-deprecated-apis/\">How to migrate</a>"
     },
     "dashedColorSecondary": {
       "description": "Styles applied to {{nodeName}} if {{conditions}}.",
       "nodeName": "the additional bar element",
-      "conditions": "<code>variant=\"buffer\"</code> and <code>color=\"secondary\"</code>"
+      "conditions": "<code>variant=\"buffer\"</code> and <code>color=\"secondary\"</code>",
+      "deprecationInfo": "Combine the <a href=\"/material-ui/api/linear-progress/#linear-progress-classes-dashed\">.MuiLinearProgress-dashed</a> and <a href=\"/material-ui/api/linear-progress/#linear-progress-classes-colorSecondary\">.MuiLinearProgress-colorSecondary</a> classes instead. <a href=\"/material-ui/migration/migrating-from-deprecated-apis/\">How to migrate</a>"
     },
     "determinate": {
       "description": "Styles applied to {{nodeName}} if {{conditions}}.",

From 5617d37d19bba01c26223014e4aa52d3881ce967 Mon Sep 17 00:00:00 2001
From: Archer Leung <i@liangzhicheng.cc>
Date: Sat, 4 Jan 2025 08:12:46 +0800
Subject: [PATCH 04/19] feat(docs): Update README with linear progress classes
 transformation details

---
 packages/mui-codemod/README.md | 237 ++++++++++++++++++++++++++-------
 1 file changed, 188 insertions(+), 49 deletions(-)

diff --git a/packages/mui-codemod/README.md b/packages/mui-codemod/README.md
index aa51cb7a8373c2..3030b8b5036995 100644
--- a/packages/mui-codemod/README.md
+++ b/packages/mui-codemod/README.md
@@ -1242,6 +1242,62 @@ npx @mui/codemod@latest deprecations/input-base-props <path>
 npx @mui/codemod@latest deprecations/input-props <path>
 ```
 
+#### `linear-progress-classes`
+
+JS transforms:
+
+```diff
+ import { linearProgressClasses } from '@mui/material/LinearProgress';
+
+ MuiLinearProgress: {
+   styleOverrides: {
+     root: {
+-      [`&.${linearProgressClasses.bar1Buffer}`]: {},
++      [`&.${linearProgressClasses.bar1}.${linearProgressClasses.buffer}`]: {},
+-      [`&.${linearProgressClasses.bar1Determinate}`]: {},
++      [`&.${linearProgressClasses.bar1}.${linearProgressClasses.determinate}`]: {},
+-      [`&.${linearProgressClasses.bar1Indeterminate}`]: {},
++      [`&.${linearProgressClasses.bar1}.${linearProgressClasses.indeterminate}`]: {},
+-      [`&.${linearProgressClasses.bar2Buffer}`]: {},
++      [`&.${linearProgressClasses.bar2}.${linearProgressClasses.buffer}`]: {},
+-      [`&.${linearProgressClasses.bar2Indeterminate}`]: {},
++      [`&.${linearProgressClasses.bar2}.${linearProgressClasses.indeterminate}`]: {},
+-      [`&.${linearProgressClasses.barColorPrimary}`]: {},
++      [`&.${linearProgressClasses.bar}.${linearProgressClasses.colorPrimary}`]: {},
+-      [`&.${linearProgressClasses.barColorSecondary}`]: {},
++      [`&.${linearProgressClasses.bar}.${linearProgressClasses.colorSecondary}`]: {},
+-      [`&.${linearProgressClasses.dashedColorPrimary}`]: {},
++      [`&.${linearProgressClasses.dashed}.${linearProgressClasses.colorPrimary}`]: {},
+-      [`&.${linearProgressClasses.dashedColorSecondary}`]: {},
++      [`&.${linearProgressClasses.dashed}.${linearProgressClasses.colorSecondary}`]: {},
+     },
+   },
+  }
+```
+
+CSS transforms:
+
+```diff
+-.MuiLinearProgress-bar1Buffer
++.MuiLinearProgress-bar1.MuiLinearProgress-buffer
+-.MuiLinearProgress-bar1Determinate
++.MuiLinearProgress-bar1.MuiLinearProgress-determinate
+-.MuiLinearProgress-bar1Indeterminate
++.MuiLinearProgress-bar1.MuiLinearProgress-indeterminate
+-.MuiLinearProgress-bar2Buffer
++.MuiLinearProgress-bar2.MuiLinearProgress-buffer
+-.MuiLinearProgress-bar2Indeterminate
++.MuiLinearProgress-bar2.MuiLinearProgress-indeterminate
+-.MuiLinearProgress-barColorPrimary
++.MuiLinearProgress-bar.MuiLinearProgress-colorPrimary
+-.MuiLinearProgress-barColorSecondary
++.MuiLinearProgress-bar.MuiLinearProgress-colorSecondary
+-.MuiLinearProgress-dashedColorPrimary
++.MuiLinearProgress-dashed.MuiLinearProgress-colorPrimary
+-.MuiLinearProgress-dashedColorSecondary
++.MuiLinearProgress-dashed.MuiLinearProgress-colorSecondary
+```
+
 #### `modal-props`
 
 ```diff
@@ -2212,55 +2268,138 @@ npx @mui/codemod@latest v5.0.0/preset-safe <path|folder>
 
 The list includes these transformers
 
-- [`adapter-v4`](#adapter-v4)
-- [`autocomplete-rename-closeicon`](#autocomplete-rename-closeicon)
-- [`autocomplete-rename-option`](#autocomplete-rename-option)
-- [`avatar-circle-circular`](#avatar-circle-circular)
-- [`badge-overlap-value`](#badge-overlap-value)
-- [`box-borderradius-values`](#box-borderradius-values)
-- [`box-rename-css`](#box-rename-css)
-- [`box-rename-gap`](#box-rename-gap)
-- [`button-color-prop`](#button-color-prop)
-- [`chip-variant-prop`](#chip-variant-prop)
-- [`circularprogress-variant`](#circularprogress-variant)
-- [`collapse-rename-collapsedheight`](#collapse-rename-collapsedheight)
-- [`core-styles-import`](#core-styles-import)
-- [`create-theme`](#create-theme)
-- [`dialog-props`](#dialog-props)
-- [`dialog-title-props`](#dialog-title-props)
-- [`emotion-prepend-cache`](#emotion-prepend-cache)
-- [`expansion-panel-component`](#expansion-panel-component)
-- [`fab-variant`](#fab-variant)
-- [`fade-rename-alpha`](#fade-rename-alpha)
-- [`grid-justify-justifycontent`](#grid-justify-justifycontent)
-- [`grid-list-component`](#grid-list-component)
-- [`icon-button-size`](#icon-button-size)
-- [`material-ui-styles`](#material-ui-styles)
-- [`material-ui-types`](#material-ui-types)
-- [`modal-props`](#modal-props)
-- [`moved-lab-modules`](#moved-lab-modules)
-- [`pagination-round-circular`](#pagination-round-circular)
-- [`optimal-imports`](#optimal-imports)
-- [`root-ref`](#root-ref)
-- [`skeleton-variant`](#skeleton-variant)
-- [`styled-engine-provider`](#styled-engine-provider)
-- [`table-props`](#table-props)
-- [`tabs-scroll-buttons`](#tabs-scroll-buttons)
-- [`textarea-minmax-rows`](#textarea-minmax-rows)
-- [`theme-augment`](#theme-augment)
-- [`theme-breakpoints`](#theme-breakpoints)
-- [`theme-breakpoints-width`](#theme-breakpoints-width)
-- [`theme-options`](#theme-options)
-- [`theme-palette-mode`](#theme-palette-mode)
-- [`theme-provider`](#theme-provider)
-- [`theme-spacing`](#theme-spacing)
-- [`theme-typography-round`](#theme-typography-round)
-- [`transitions`](#transitions)
-- [`use-autocomplete`](#use-autocomplete)
-- [`use-transitionprops`](#use-transitionprops)
-- [`with-mobile-dialog`](#with-mobile-dialog)
-- [`with-width`](#with-width)
-- [`mui-replace`](#mui-replace)
+- [@mui/codemod](#muicodemod)
+  - [Setup \& run](#setup--run)
+    - [jscodeshift options](#jscodeshift-options)
+    - [Recast Options](#recast-options)
+  - [Included scripts](#included-scripts)
+    - [Deprecations](#deprecations)
+      - [`all`](#all)
+      - [`accordion-props`](#accordion-props)
+      - [`accordion-summary-classes`](#accordion-summary-classes)
+      - [`alert-classes`](#alert-classes)
+      - [`alert-props`](#alert-props)
+      - [`autocomplete-props`](#autocomplete-props)
+      - [`avatar-group-props`](#avatar-group-props)
+      - [`avatar-props`](#avatar-props)
+      - [`backdrop-props`](#backdrop-props)
+      - [`badge-props`](#badge-props)
+      - [`button-classes`](#button-classes)
+      - [`button-group-classes`](#button-group-classes)
+      - [`chip-classes`](#chip-classes)
+      - [`circular-progress-classes`](#circular-progress-classes)
+      - [`divider-props`](#divider-props)
+      - [`filled-input-props`](#filled-input-props)
+      - [`form-control-label-props`](#form-control-label-props)
+      - [`list-item-props`](#list-item-props)
+      - [`list-item-text-props`](#list-item-text-props)
+      - [`image-list-item-bar-classes`](#image-list-item-bar-classes)
+      - [`input-base-props`](#input-base-props)
+      - [`input-props`](#input-props)
+      - [`linear-progress-classes`](#linear-progress-classes)
+      - [`modal-props`](#modal-props)
+      - [`pagination-item-classes`](#pagination-item-classes)
+      - [`pagination-item-props`](#pagination-item-props)
+      - [`popper-props`](#popper-props)
+      - [`outlined-input-props`](#outlined-input-props)
+      - [`select-classes`](#select-classes)
+      - [`slider-props`](#slider-props)
+      - [`tooltip-props`](#tooltip-props)
+      - [`step-connector-classes`](#step-connector-classes)
+      - [`step-content-props`](#step-content-props)
+      - [`step-label-props`](#step-label-props)
+      - [`text-field-props`](#text-field-props)
+      - [`toggle-button-group-classes`](#toggle-button-group-classes)
+      - [`tab-classes`](#tab-classes)
+      - [`table-sort-label-classes`](#table-sort-label-classes)
+      - [`typography-props`](#typography-props)
+    - [v6.0.0](#v600)
+      - [`sx-prop`](#sx-prop)
+      - [`system-props`](#system-props)
+      - [`theme-v6`](#theme-v6)
+      - [`styled`](#styled)
+      - [`grid-v2-props`](#grid-v2-props)
+    - [v5.0.0](#v500)
+      - [`base-use-named-exports`](#base-use-named-exports)
+      - [`base-remove-unstyled-suffix`](#base-remove-unstyled-suffix)
+      - [`base-remove-component-prop`](#base-remove-component-prop)
+      - [`rename-css-variables`](#rename-css-variables)
+      - [`base-hook-imports`](#base-hook-imports)
+      - [`joy-rename-classname-prefix`](#joy-rename-classname-prefix)
+      - [`joy-rename-row-prop`](#joy-rename-row-prop)
+      - [`joy-avatar-remove-imgProps`](#joy-avatar-remove-imgprops)
+      - [`joy-text-field-to-input`](#joy-text-field-to-input)
+      - [`joy-rename-components-to-slots`](#joy-rename-components-to-slots)
+      - [`date-pickers-moved-to-x`](#date-pickers-moved-to-x)
+      - [`tree-view-moved-to-x`](#tree-view-moved-to-x)
+      - [🚀 `preset-safe`](#-preset-safe)
+      - [`adapter-v4`](#adapter-v4)
+      - [`autocomplete-rename-closeicon`](#autocomplete-rename-closeicon)
+      - [`autocomplete-rename-option`](#autocomplete-rename-option)
+      - [`avatar-circle-circular`](#avatar-circle-circular)
+      - [`badge-overlap-value`](#badge-overlap-value)
+      - [`base-rename-components-to-slots`](#base-rename-components-to-slots)
+      - [`box-borderradius-values`](#box-borderradius-values)
+      - [`box-rename-css`](#box-rename-css)
+      - [`box-rename-gap`](#box-rename-gap)
+      - [`button-color-prop`](#button-color-prop)
+      - [`chip-variant-prop`](#chip-variant-prop)
+      - [`circularprogress-variant`](#circularprogress-variant)
+      - [`collapse-rename-collapsedheight`](#collapse-rename-collapsedheight)
+      - [`component-rename-prop`](#component-rename-prop)
+      - [`core-styles-import`](#core-styles-import)
+      - [`create-theme`](#create-theme)
+      - [`dialog-props`](#dialog-props)
+      - [`dialog-title-props`](#dialog-title-props)
+      - [`emotion-prepend-cache`](#emotion-prepend-cache)
+      - [`expansion-panel-component`](#expansion-panel-component)
+      - [`fab-variant`](#fab-variant)
+      - [`fade-rename-alpha`](#fade-rename-alpha)
+      - [`grid-justify-justifycontent`](#grid-justify-justifycontent)
+      - [`grid-list-component`](#grid-list-component)
+      - [`icon-button-size`](#icon-button-size)
+      - [`jss-to-styled`](#jss-to-styled)
+      - [`jss-to-tss-react`](#jss-to-tss-react)
+      - [`link-underline-hover`](#link-underline-hover)
+      - [`material-ui-styles`](#material-ui-styles)
+      - [`material-ui-types`](#material-ui-types)
+      - [`modal-props`](#modal-props-1)
+      - [`moved-lab-modules`](#moved-lab-modules)
+      - [`pagination-round-circular`](#pagination-round-circular)
+      - [`optimal-imports`](#optimal-imports)
+      - [`root-ref`](#root-ref)
+      - [`skeleton-variant`](#skeleton-variant)
+      - [`styled-engine-provider`](#styled-engine-provider)
+      - [`table-props`](#table-props)
+      - [`tabs-scroll-buttons`](#tabs-scroll-buttons)
+      - [`textarea-minmax-rows`](#textarea-minmax-rows)
+      - [`theme-augment`](#theme-augment)
+      - [`theme-breakpoints`](#theme-breakpoints)
+      - [`theme-breakpoints-width`](#theme-breakpoints-width)
+      - [`theme-options`](#theme-options)
+      - [`theme-palette-mode`](#theme-palette-mode)
+      - [`theme-provider`](#theme-provider)
+      - [`theme-spacing`](#theme-spacing)
+      - [`theme-typography-round`](#theme-typography-round)
+      - [`top-level-imports`](#top-level-imports)
+      - [`transitions`](#transitions)
+      - [`use-autocomplete`](#use-autocomplete)
+      - [`use-transitionprops`](#use-transitionprops)
+      - [`variant-prop`](#variant-prop)
+      - [`with-mobile-dialog`](#with-mobile-dialog)
+      - [`with-width`](#with-width)
+      - [`mui-replace`](#mui-replace)
+    - [v4.0.0](#v400)
+      - [`theme-spacing-api`](#theme-spacing-api)
+      - [`optimal-imports`](#optimal-imports-1)
+      - [`top-level-imports`](#top-level-imports-1)
+    - [v1.0.0](#v100)
+      - [`import-path`](#import-path)
+      - [`color-imports`](#color-imports)
+      - [`svg-icon-imports`](#svg-icon-imports)
+      - [`menu-item-primary-text`](#menu-item-primary-text)
+    - [v0.15.0](#v0150)
+      - [`import-path`](#import-path-1)
 
 #### `adapter-v4`
 

From f8eead7e7d3ef2d35acdab91f3ad7de9b04de203 Mon Sep 17 00:00:00 2001
From: Archer Leung <i@liangzhicheng.cc>
Date: Sat, 4 Jan 2025 08:14:10 +0800
Subject: [PATCH 05/19] feat(docs): Add usage example for linear progress
 classes deprecation codemod

---
 packages/mui-codemod/README.md | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/packages/mui-codemod/README.md b/packages/mui-codemod/README.md
index 3030b8b5036995..fe6dd99025f1a8 100644
--- a/packages/mui-codemod/README.md
+++ b/packages/mui-codemod/README.md
@@ -1298,6 +1298,10 @@ CSS transforms:
 +.MuiLinearProgress-dashed.MuiLinearProgress-colorSecondary
 ```
 
+```bash
+npx @mui/codemod@latest deprecations/linear-progress-classes <path>
+```
+
 #### `modal-props`
 
 ```diff

From 76d573ad3d07a1e557c78ce2e7b368fe48770905 Mon Sep 17 00:00:00 2001
From: Archer Leung <i@liangzhicheng.cc>
Date: Sat, 4 Jan 2025 10:19:02 +0800
Subject: [PATCH 06/19] feat(codemod): Add linear progress classes deprecation
 plugin and test cases

---
 .../linear-progress-classes/index.js          |   1 +
 .../linear-progress-classes.js                | 129 ++++++++++++++++++
 .../linear-progress-classes.test.js           |  79 +++++++++++
 .../linear-progress-classes/postcss-plugin.js |  61 +++++++++
 .../linear-progress-classes/postcss.config.js |   5 +
 .../test-cases/actual.css                     |  35 +++++
 .../test-cases/actual.js                      |  20 +++
 .../test-cases/expected.css                   |  35 +++++
 .../test-cases/expected.js                    |  20 +++
 9 files changed, 385 insertions(+)
 create mode 100644 packages/mui-codemod/src/deprecations/linear-progress-classes/index.js
 create mode 100644 packages/mui-codemod/src/deprecations/linear-progress-classes/linear-progress-classes.js
 create mode 100644 packages/mui-codemod/src/deprecations/linear-progress-classes/linear-progress-classes.test.js
 create mode 100644 packages/mui-codemod/src/deprecations/linear-progress-classes/postcss-plugin.js
 create mode 100644 packages/mui-codemod/src/deprecations/linear-progress-classes/postcss.config.js
 create mode 100644 packages/mui-codemod/src/deprecations/linear-progress-classes/test-cases/actual.css
 create mode 100644 packages/mui-codemod/src/deprecations/linear-progress-classes/test-cases/actual.js
 create mode 100644 packages/mui-codemod/src/deprecations/linear-progress-classes/test-cases/expected.css
 create mode 100644 packages/mui-codemod/src/deprecations/linear-progress-classes/test-cases/expected.js

diff --git a/packages/mui-codemod/src/deprecations/linear-progress-classes/index.js b/packages/mui-codemod/src/deprecations/linear-progress-classes/index.js
new file mode 100644
index 00000000000000..07c2d8f1caca3d
--- /dev/null
+++ b/packages/mui-codemod/src/deprecations/linear-progress-classes/index.js
@@ -0,0 +1 @@
+export { default } from './linear-progress-classes';
diff --git a/packages/mui-codemod/src/deprecations/linear-progress-classes/linear-progress-classes.js b/packages/mui-codemod/src/deprecations/linear-progress-classes/linear-progress-classes.js
new file mode 100644
index 00000000000000..dbe1241401791b
--- /dev/null
+++ b/packages/mui-codemod/src/deprecations/linear-progress-classes/linear-progress-classes.js
@@ -0,0 +1,129 @@
+import { classes } from './postcss-plugin';
+
+/**
+ * @param {import('jscodeshift').FileInfo} file
+ * @param {import('jscodeshift').API} api
+ */
+export default function transformer(file, api, options) {
+  const j = api.jscodeshift;
+  const root = j(file.source);
+
+  const printOptions = options.printOptions;
+  classes.forEach(({ deprecatedClass, replacementSelector }) => {
+    const replacementSelectorPrefix = '&';
+    root
+      .find(j.ImportDeclaration)
+      .filter((path) => path.node.source.value.match(/^@mui\/material\/LinearProgress$/))
+      .forEach((path) => {
+        path.node.specifiers.forEach((specifier) => {
+          if (
+            specifier.type === 'ImportSpecifier' &&
+            specifier.imported.name === 'linearProgressClasses'
+          ) {
+            const deprecatedAtomicClass = deprecatedClass.replace(
+              `${deprecatedClass.split('-')[0]}-`,
+              '',
+            );
+
+            root
+              .find(j.MemberExpression, {
+                object: { name: specifier.local.name },
+                property: { name: deprecatedAtomicClass },
+              })
+              .forEach((memberExpression) => {
+                const parent = memberExpression.parentPath.parentPath.value;
+                if (parent.type === j.TemplateLiteral.name) {
+                  const memberExpressionIndex = parent.expressions.findIndex(
+                    (expression) => expression === memberExpression.value,
+                  );
+                  const precedingTemplateElement = parent.quasis[memberExpressionIndex];
+                  const atomicClasses = replacementSelector
+                    .replaceAll('MuiLinearProgress-', '')
+                    .replaceAll(replacementSelectorPrefix, '')
+                    .replaceAll(' > ', '')
+                    .split('.')
+                    .filter(Boolean);
+
+                  if (
+                    precedingTemplateElement.value.raw.endsWith(
+                      deprecatedClass.startsWith(' ')
+                        ? `${replacementSelectorPrefix} .`
+                        : `${replacementSelectorPrefix}.`,
+                    )
+                  ) {
+                    const atomicClassesArgs = [
+                      memberExpressionIndex,
+                      1,
+                      ...atomicClasses.map((atomicClass) =>
+                        j.memberExpression(
+                          memberExpression.value.object,
+                          j.identifier(atomicClass),
+                        ),
+                      ),
+                    ];
+                    parent.expressions.splice(...atomicClassesArgs);
+
+                    if (replacementSelector.includes(' > ')) {
+                      const quasisArgs = [
+                        memberExpressionIndex,
+                        1,
+                        j.templateElement(
+                          {
+                            raw: precedingTemplateElement.value.raw.replace(' ', ''),
+                            cooked: precedingTemplateElement.value.cooked.replace(' ', ''),
+                          },
+                          false,
+                        ),
+                        j.templateElement({ raw: ' > .', cooked: ' > .' }, false),
+                      ];
+
+                      if (atomicClasses.length === 3) {
+                        quasisArgs.splice(
+                          3,
+                          0,
+                          j.templateElement({ raw: '.', cooked: '.' }, false),
+                        );
+                      }
+
+                      parent.quasis.splice(...quasisArgs);
+                    } else {
+                      parent.quasis.splice(
+                        memberExpressionIndex,
+                        1,
+                        j.templateElement(
+                          {
+                            raw: precedingTemplateElement.value.raw,
+                            cooked: precedingTemplateElement.value.cooked,
+                          },
+                          false,
+                        ),
+
+                        j.templateElement({ raw: '.', cooked: '.' }, false),
+                      );
+                    }
+                  }
+                }
+              });
+          }
+        });
+      });
+
+    const selectorRegex = new RegExp(`^${replacementSelectorPrefix}${deprecatedClass}`);
+    root
+      .find(
+        j.Literal,
+        (literal) => typeof literal.value === 'string' && literal.value.match(selectorRegex),
+      )
+      .forEach((path) => {
+        path.replace(
+          j.literal(
+            path.value.value.replace(
+              selectorRegex,
+              `${replacementSelectorPrefix}${replacementSelector}`,
+            ),
+          ),
+        );
+      });
+  });
+  return root.toSource(printOptions);
+}
diff --git a/packages/mui-codemod/src/deprecations/linear-progress-classes/linear-progress-classes.test.js b/packages/mui-codemod/src/deprecations/linear-progress-classes/linear-progress-classes.test.js
new file mode 100644
index 00000000000000..fbad32e703a40c
--- /dev/null
+++ b/packages/mui-codemod/src/deprecations/linear-progress-classes/linear-progress-classes.test.js
@@ -0,0 +1,79 @@
+import path from 'path';
+import { expect } from 'chai';
+import postcss from 'postcss';
+import { jscodeshift } from '../../../testUtils';
+import jsTransform from './linear-progress-classes';
+import { plugin as postcssPlugin } from './postcss-plugin';
+import readFile from '../../util/readFile';
+
+function read(fileName) {
+  return readFile(path.join(__dirname, fileName));
+}
+
+const postcssProcessor = postcss([postcssPlugin]);
+
+describe('@mui/codemod', () => {
+  describe('deprecations', () => {
+    describe('linear-progress-classes', () => {
+      describe('js-transform', () => {
+        it('transforms props as needed', () => {
+          const actual = jsTransform(
+            { source: read('./test-cases/actual.js') },
+            { jscodeshift },
+            { printOptions: { quote: 'single', trailingComma: true } },
+          );
+
+          const expected = read('./test-cases/expected.js');
+
+          expect(actual).to.equal(expected, 'The transformed version should be correct');
+        });
+
+        it('should be idempotent', () => {
+          const actual = jsTransform(
+            { source: read('./test-cases/expected.js') },
+            { jscodeshift },
+            {},
+          );
+
+          const expected = read('./test-cases/expected.js');
+          expect(actual).to.equal(expected, 'The transformed version should be correct');
+        });
+      });
+
+      describe('css-transform', () => {
+        it('transforms classes as needed', async () => {
+          const actual = await postcssProcessor.process(read('./test-cases/actual.css'), {
+            from: undefined,
+          });
+
+          const expected = read('./test-cases/expected.css');
+          expect(actual.css).to.equal(expected, 'The transformed version should be correct');
+        });
+
+        it('should be idempotent', async () => {
+          const actual = await postcssProcessor.process(read('./test-cases/expected.css'), {
+            from: undefined,
+          });
+
+          const expected = read('./test-cases/expected.css');
+          expect(actual.css).to.equal(expected, 'The transformed version should be correct');
+        });
+      });
+
+      describe('test-cases', () => {
+        it('should not be the same', () => {
+          const actualJS = read('./test-cases/actual.js');
+          const expectedJS = read('./test-cases/expected.js');
+          expect(actualJS).not.to.equal(expectedJS, 'The actual and expected should be different');
+
+          const actualCSS = read('./test-cases/actual.css');
+          const expectedCSS = read('./test-cases/expected.css');
+          expect(actualCSS).not.to.equal(
+            expectedCSS,
+            'The actual and expected should be different',
+          );
+        });
+      });
+    });
+  });
+});
diff --git a/packages/mui-codemod/src/deprecations/linear-progress-classes/postcss-plugin.js b/packages/mui-codemod/src/deprecations/linear-progress-classes/postcss-plugin.js
new file mode 100644
index 00000000000000..74f5c9f1f3e87c
--- /dev/null
+++ b/packages/mui-codemod/src/deprecations/linear-progress-classes/postcss-plugin.js
@@ -0,0 +1,61 @@
+const classes = [
+  {
+    deprecatedClass: ' .MuiLinearProgress-bar1Buffer',
+    replacementSelector: '.MuiLinearProgress-buffer > .MuiLinearProgress-bar1',
+  },
+  {
+    deprecatedClass: ' .MuiLinearProgress-bar1Determinate',
+    replacementSelector: '.MuiLinearProgress-determinate > .MuiLinearProgress-bar1',
+  },
+  {
+    deprecatedClass: ' .MuiLinearProgress-bar1Indeterminate',
+    replacementSelector: '.MuiLinearProgress-indeterminate > .MuiLinearProgress-bar1',
+  },
+  {
+    deprecatedClass: ' .MuiLinearProgress-bar2Buffer',
+    replacementSelector: '.MuiLinearProgress-buffer > .MuiLinearProgress-bar2',
+  },
+  {
+    deprecatedClass: ' .MuiLinearProgress-bar2Indeterminate',
+    replacementSelector: '.MuiLinearProgress-indeterminate > .MuiLinearProgress-bar2',
+  },
+  {
+    deprecatedClass: ' .MuiLinearProgress-barColorPrimary',
+    replacementSelector: '.MuiLinearProgress-colorPrimary > .MuiLinearProgress-bar',
+  },
+  {
+    deprecatedClass: ' .MuiLinearProgress-barColorSecondary',
+    replacementSelector: '.MuiLinearProgress-colorSecondary > .MuiLinearProgress-bar',
+  },
+  {
+    deprecatedClass: ' .MuiLinearProgress-dashedColorPrimary',
+    replacementSelector: '.MuiLinearProgress-colorPrimary > .MuiLinearProgress-dashed',
+  },
+  {
+    deprecatedClass: ' .MuiLinearProgress-dashedColorSecondary',
+    replacementSelector: '.MuiLinearProgress-colorSecondary > .MuiLinearProgress-dashed',
+  },
+];
+
+const plugin = () => {
+  return {
+    postcssPlugin: `Replace deperecated LinearProgress classes with new classes`,
+    Rule(rule) {
+      const { selector } = rule;
+
+      classes.forEach(({ deprecatedClass, replacementSelector }) => {
+        const selectorRegex = new RegExp(`${deprecatedClass}`);
+
+        if (selector.match(selectorRegex)) {
+          rule.selector = selector.replace(selectorRegex, replacementSelector);
+        }
+      });
+    },
+  };
+};
+plugin.postcss = true;
+
+module.exports = {
+  plugin,
+  classes,
+};
diff --git a/packages/mui-codemod/src/deprecations/linear-progress-classes/postcss.config.js b/packages/mui-codemod/src/deprecations/linear-progress-classes/postcss.config.js
new file mode 100644
index 00000000000000..23bebc1125be6e
--- /dev/null
+++ b/packages/mui-codemod/src/deprecations/linear-progress-classes/postcss.config.js
@@ -0,0 +1,5 @@
+const { plugin } = require('./postcss-plugin');
+
+module.exports = {
+  plugins: [plugin],
+};
diff --git a/packages/mui-codemod/src/deprecations/linear-progress-classes/test-cases/actual.css b/packages/mui-codemod/src/deprecations/linear-progress-classes/test-cases/actual.css
new file mode 100644
index 00000000000000..d48b26ef322745
--- /dev/null
+++ b/packages/mui-codemod/src/deprecations/linear-progress-classes/test-cases/actual.css
@@ -0,0 +1,35 @@
+.MuiLinearProgress-root .MuiLinearProgress-bar1Buffer {
+  color: red;
+}
+
+.MuiLinearProgress-root .MuiLinearProgress-bar1Determinate {
+  color: red;
+}
+
+.MuiLinearProgress-root .MuiLinearProgress-bar1Indeterminate {
+  color: red;
+}
+
+.MuiLinearProgress-root .MuiLinearProgress-bar2Buffer {
+  color: red;
+}
+
+.MuiLinearProgress-root .MuiLinearProgress-bar2Indeterminate {
+  color: red;
+}
+
+.MuiLinearProgress-root .MuiLinearProgress-barColorPrimary {
+  color: red;
+}
+
+.MuiLinearProgress-root .MuiLinearProgress-barColorSecondary {
+  color: red;
+}
+
+.MuiLinearProgress-root .MuiLinearProgress-dashedColorPrimary {
+  color: red;
+}
+
+.MuiLinearProgress-root .MuiLinearProgress-dashedColorSecondary {
+  color: red;
+}
diff --git a/packages/mui-codemod/src/deprecations/linear-progress-classes/test-cases/actual.js b/packages/mui-codemod/src/deprecations/linear-progress-classes/test-cases/actual.js
new file mode 100644
index 00000000000000..0952821bf7eb10
--- /dev/null
+++ b/packages/mui-codemod/src/deprecations/linear-progress-classes/test-cases/actual.js
@@ -0,0 +1,20 @@
+import { linearProgressClasses } from '@mui/material/LinearProgress';
+
+('& .MuiLinearProgress-bar1Buffer');
+('& .MuiLinearProgress-bar1Determinate');
+('& .MuiLinearProgress-bar1Indeterminate');
+('& .MuiLinearProgress-bar2Buffer');
+('& .MuiLinearProgress-bar2Indeterminate');
+('& .MuiLinearProgress-barColorPrimary');
+('& .MuiLinearProgress-barColorSecondary');
+('& .MuiLinearProgress-dashedColorPrimary');
+('& .MuiLinearProgress-dashedColorSecondary');
+`& .${linearProgressClasses.bar1Buffer}`;
+`& .${linearProgressClasses.bar1Determinate}`;
+`& .${linearProgressClasses.bar1Indeterminate}`;
+`& .${linearProgressClasses.bar2Buffer}`;
+`& .${linearProgressClasses.bar2Indeterminate}`;
+`& .${linearProgressClasses.barColorPrimary}`;
+`& .${linearProgressClasses.barColorSecondary}`;
+`& .${linearProgressClasses.dashedColorPrimary}`;
+`& .${linearProgressClasses.dashedColorSecondary}`;
diff --git a/packages/mui-codemod/src/deprecations/linear-progress-classes/test-cases/expected.css b/packages/mui-codemod/src/deprecations/linear-progress-classes/test-cases/expected.css
new file mode 100644
index 00000000000000..8bdd1f598da790
--- /dev/null
+++ b/packages/mui-codemod/src/deprecations/linear-progress-classes/test-cases/expected.css
@@ -0,0 +1,35 @@
+.MuiLinearProgress-root.MuiLinearProgress-buffer > .MuiLinearProgress-bar1 {
+  color: red;
+}
+
+.MuiLinearProgress-root.MuiLinearProgress-determinate > .MuiLinearProgress-bar1 {
+  color: red;
+}
+
+.MuiLinearProgress-root.MuiLinearProgress-indeterminate > .MuiLinearProgress-bar1 {
+  color: red;
+}
+
+.MuiLinearProgress-root.MuiLinearProgress-buffer > .MuiLinearProgress-bar2 {
+  color: red;
+}
+
+.MuiLinearProgress-root.MuiLinearProgress-indeterminate > .MuiLinearProgress-bar2 {
+  color: red;
+}
+
+.MuiLinearProgress-root.MuiLinearProgress-colorPrimary > .MuiLinearProgress-bar {
+  color: red;
+}
+
+.MuiLinearProgress-root.MuiLinearProgress-colorSecondary > .MuiLinearProgress-bar {
+  color: red;
+}
+
+.MuiLinearProgress-root.MuiLinearProgress-colorPrimary > .MuiLinearProgress-dashed {
+  color: red;
+}
+
+.MuiLinearProgress-root.MuiLinearProgress-colorSecondary > .MuiLinearProgress-dashed {
+  color: red;
+}
diff --git a/packages/mui-codemod/src/deprecations/linear-progress-classes/test-cases/expected.js b/packages/mui-codemod/src/deprecations/linear-progress-classes/test-cases/expected.js
new file mode 100644
index 00000000000000..38385104f60c9b
--- /dev/null
+++ b/packages/mui-codemod/src/deprecations/linear-progress-classes/test-cases/expected.js
@@ -0,0 +1,20 @@
+import { linearProgressClasses } from '@mui/material/LinearProgress';
+
+('&.MuiLinearProgress-buffer > .MuiLinearProgress-bar1');
+('&.MuiLinearProgress-determinate > .MuiLinearProgress-bar1');
+('&.MuiLinearProgress-indeterminate > .MuiLinearProgress-bar1');
+('&.MuiLinearProgress-buffer > .MuiLinearProgress-bar2');
+('&.MuiLinearProgress-indeterminate > .MuiLinearProgress-bar2');
+('&.MuiLinearProgress-colorPrimary > .MuiLinearProgress-bar');
+('&.MuiLinearProgress-colorSecondary > .MuiLinearProgress-bar');
+('&.MuiLinearProgress-colorPrimary > .MuiLinearProgress-dashed');
+('&.MuiLinearProgress-colorSecondary > .MuiLinearProgress-dashed');
+`&.${linearProgressClasses.buffer} > .${linearProgressClasses.bar1}`;
+`&.${linearProgressClasses.determinate} > .${linearProgressClasses.bar1}`;
+`&.${linearProgressClasses.indeterminate} > .${linearProgressClasses.bar1}`;
+`&.${linearProgressClasses.buffer} > .${linearProgressClasses.bar2}`;
+`&.${linearProgressClasses.indeterminate} > .${linearProgressClasses.bar2}`;
+`&.${linearProgressClasses.colorPrimary} > .${linearProgressClasses.bar}`;
+`&.${linearProgressClasses.colorSecondary} > .${linearProgressClasses.bar}`;
+`&.${linearProgressClasses.colorPrimary} > .${linearProgressClasses.dashed}`;
+`&.${linearProgressClasses.colorSecondary} > .${linearProgressClasses.dashed}`;

From 14af973510433119c0ca0ea7839ef2200fbe2a42 Mon Sep 17 00:00:00 2001
From: Archer Leung <i@liangzhicheng.cc>
Date: Sat, 4 Jan 2025 10:23:33 +0800
Subject: [PATCH 07/19] feat(codemod): Integrate linear progress classes
 transformation into deprecations

---
 packages/mui-codemod/src/deprecations/all/deprecations-all.js | 2 ++
 packages/mui-codemod/src/deprecations/all/postcss.config.js   | 4 ++++
 2 files changed, 6 insertions(+)

diff --git a/packages/mui-codemod/src/deprecations/all/deprecations-all.js b/packages/mui-codemod/src/deprecations/all/deprecations-all.js
index 08306a961d8891..80a7f5138b9a68 100644
--- a/packages/mui-codemod/src/deprecations/all/deprecations-all.js
+++ b/packages/mui-codemod/src/deprecations/all/deprecations-all.js
@@ -16,6 +16,7 @@ import transformImageListItemBarClasses from '../image-list-item-bar-classes';
 import transformInputBaseProps from '../input-base-props';
 import transformInputProps from '../input-props';
 import transformListItemTextProps from '../list-item-text-props';
+import transformLinearProgressClasses from '../linear-progress-classes';
 import transformModalProps from '../modal-props';
 import transformOutlinedInputProps from '../outlined-input-props';
 import transformPaginationItemClasses from '../pagination-item-classes';
@@ -54,6 +55,7 @@ export default function deprecationsAll(file, api, options) {
   file.source = transformInputBaseProps(file, api, options);
   file.source = transformInputProps(file, api, options);
   file.source = transformListItemTextProps(file, api, options);
+  file.source = transformLinearProgressClasses(file, api, options);
   file.source = transformModalProps(file, api, options);
   file.source = transformOutlinedInputProps(file, api, options);
   file.source = transformPaginationItemClasses(file, api, options);
diff --git a/packages/mui-codemod/src/deprecations/all/postcss.config.js b/packages/mui-codemod/src/deprecations/all/postcss.config.js
index 948f51a315bae8..2ec94017b76d05 100644
--- a/packages/mui-codemod/src/deprecations/all/postcss.config.js
+++ b/packages/mui-codemod/src/deprecations/all/postcss.config.js
@@ -15,6 +15,9 @@ const {
 const {
   plugin: circularProgressClassesPlugin,
 } = require('../circular-progress-classes/postcss-plugin');
+const {
+  plugin: linearProgressClassesPlugin,
+} = require('../linear-progress-classes/postcss-plugin');
 const { plugin: tabClassesPlugin } = require('../tab-classes/postcss-plugin');
 const {
   plugin: tableSortLabelClassesPlugin,
@@ -29,6 +32,7 @@ module.exports = {
     buttonGroupClassesPlugin,
     chipClassesPlugin,
     circularProgressClassesPlugin,
+    linearProgressClassesPlugin,
     paginationItemClassesPlugin,
     stepConnectorClassesPlugin,
     toggleButtonGroupClassesPlugin,

From 62dd7ee2a27e730380e8e8f8dd0792a6286787ab Mon Sep 17 00:00:00 2001
From: Archer Leung <i@liangzhicheng.cc>
Date: Sat, 4 Jan 2025 10:41:04 +0800
Subject: [PATCH 08/19] feat(docs): Update migration guide for LinearProgress
 class structure changes

---
 .../migrating-from-deprecated-apis.md         | 36 +++++++++----------
 1 file changed, 18 insertions(+), 18 deletions(-)

diff --git a/docs/data/material/migration/migrating-from-deprecated-apis/migrating-from-deprecated-apis.md b/docs/data/material/migration/migrating-from-deprecated-apis/migrating-from-deprecated-apis.md
index f2a14fa6203138..bc806137a91255 100644
--- a/docs/data/material/migration/migrating-from-deprecated-apis/migrating-from-deprecated-apis.md
+++ b/docs/data/material/migration/migrating-from-deprecated-apis/migrating-from-deprecated-apis.md
@@ -1391,23 +1391,23 @@ Here's how to migrate:
 
 ```diff
 -.MuiLinearProgress-bar1Buffer
-+.MuiLinearProgress-bar1.MuiLinearProgress-buffer
++.MuiLinearProgress-buffer > .MuiLinearProgress-bar1
 -.MuiLinearProgress-bar1Determinate
-+.MuiLinearProgress-bar1.MuiLinearProgress-determinate
++.MuiLinearProgress-determinate > .MuiLinearProgress-bar1
 -.MuiLinearProgress-bar1Indeterminate
-+.MuiLinearProgress-bar1.MuiLinearProgress-indeterminate
++.MuiLinearProgress-indeterminate > .MuiLinearProgress-bar1
 -.MuiLinearProgress-bar2Buffer
-+.MuiLinearProgress-bar2.MuiLinearProgress-buffer
++.MuiLinearProgress-buffer > .MuiLinearProgress-bar2
 -.MuiLinearProgress-bar2Indeterminate
-+.MuiLinearProgress-bar2.MuiLinearProgress-indeterminate
++.MuiLinearProgress-indeterminate > .MuiLinearProgress-bar2
 -.MuiLinearProgress-barColorPrimary
-+.MuiLinearProgress-bar.MuiLinearProgress-colorPrimary
++.MuiLinearProgress-colorPrimary > .MuiLinearProgress-bar
 -.MuiLinearProgress-barColorSecondary
-+.MuiLinearProgress-bar.MuiLinearProgress-colorSecondary
++.MuiLinearProgress-colorSecondary > .MuiLinearProgress-bar
 -.MuiLinearProgress-dashedColorPrimary
-+.MuiLinearProgress-dashed.MuiLinearProgress-colorPrimary
++.MuiLinearProgress-colorPrimary > .MuiLinearProgress-dashed
 -.MuiLinearProgress-dashedColorSecondary
-+.MuiLinearProgress-dashed.MuiLinearProgress-colorSecondary
++.MuiLinearProgress-colorSecondary > .MuiLinearProgress-dashed
 ```
 
 ```diff
@@ -1417,23 +1417,23 @@ Here's how to migrate:
    styleOverrides: {
      root: {
 -      [`&.${linearProgressClasses.bar1Buffer}`]: {},
-+      [`&.${linearProgressClasses.bar1}.${linearProgressClasses.buffer}`]: {},
++      [`&.${linearProgressClasses.buffer} > .${linearProgressClasses.bar1}`]: {},
 -      [`&.${linearProgressClasses.bar1Determinate}`]: {},
-+      [`&.${linearProgressClasses.bar1}.${linearProgressClasses.determinate}`]: {},
++      [`&.${linearProgressClasses.determinate} > .${linearProgressClasses.bar1}`]: {},
 -      [`&.${linearProgressClasses.bar1Indeterminate}`]: {},
-+      [`&.${linearProgressClasses.bar1}.${linearProgressClasses.indeterminate}`]: {},
++      [`&.${linearProgressClasses.indeterminate} > .${linearProgressClasses.bar1}`]: {},
 -      [`&.${linearProgressClasses.bar2Buffer}`]: {},
-+      [`&.${linearProgressClasses.bar2}.${linearProgressClasses.buffer}`]: {},
++      [`&.${linearProgressClasses.buffer} > .${linearProgressClasses.bar2}`]: {},
 -      [`&.${linearProgressClasses.bar2Indeterminate}`]: {},
-+      [`&.${linearProgressClasses.bar2}.${linearProgressClasses.indeterminate}`]: {},
++      [`&.${linearProgressClasses.indeterminate} > .${linearProgressClasses.bar2}`]: {},
 -      [`&.${linearProgressClasses.barColorPrimary}`]: {},
-+      [`&.${linearProgressClasses.bar}.${linearProgressClasses.colorPrimary}`]: {},
++      [`&.${linearProgressClasses.colorPrimary} > .${linearProgressClasses.bar}`]: {},
 -      [`&.${linearProgressClasses.barColorSecondary}`]: {},
-+      [`&.${linearProgressClasses.bar}.${linearProgressClasses.colorSecondary}`]: {},
++      [`&.${linearProgressClasses.colorSecondary} > .${linearProgressClasses.bar}`]: {},
 -      [`&.${linearProgressClasses.dashedColorPrimary}`]: {},
-+      [`&.${linearProgressClasses.dashed}.${linearProgressClasses.colorPrimary}`]: {},
++      [`&.${linearProgressClasses.colorPrimary} > .${linearProgressClasses.dashed}`]: {},
 -      [`&.${linearProgressClasses.dashedColorSecondary}`]: {},
-+      [`&.${linearProgressClasses.dashed}.${linearProgressClasses.colorSecondary}`]: {},
++      [`&.${linearProgressClasses.colorSecondary} > .${linearProgressClasses.dashed}`]: {},
      },
    },
  }

From 768b6c6b3b5da4aefd3e20c2fc8e82f20e77bedf Mon Sep 17 00:00:00 2001
From: Archer Leung <i@liangzhicheng.cc>
Date: Sat, 4 Jan 2025 10:44:56 +0800
Subject: [PATCH 09/19] feat(docs): Update README with new CSS class structure
 for LinearProgress component

---
 packages/mui-codemod/README.md | 36 +++++++++++++++++-----------------
 1 file changed, 18 insertions(+), 18 deletions(-)

diff --git a/packages/mui-codemod/README.md b/packages/mui-codemod/README.md
index fe6dd99025f1a8..88962f2d4b41c4 100644
--- a/packages/mui-codemod/README.md
+++ b/packages/mui-codemod/README.md
@@ -1253,23 +1253,23 @@ JS transforms:
    styleOverrides: {
      root: {
 -      [`&.${linearProgressClasses.bar1Buffer}`]: {},
-+      [`&.${linearProgressClasses.bar1}.${linearProgressClasses.buffer}`]: {},
++      [`&.${linearProgressClasses.buffer} > .${linearProgressClasses.bar1}`]: {},
 -      [`&.${linearProgressClasses.bar1Determinate}`]: {},
-+      [`&.${linearProgressClasses.bar1}.${linearProgressClasses.determinate}`]: {},
++      [`&.${linearProgressClasses.determinate} > .${linearProgressClasses.bar1}`]: {},
 -      [`&.${linearProgressClasses.bar1Indeterminate}`]: {},
-+      [`&.${linearProgressClasses.bar1}.${linearProgressClasses.indeterminate}`]: {},
++      [`&.${linearProgressClasses.indeterminate} > .${linearProgressClasses.bar1}`]: {},
 -      [`&.${linearProgressClasses.bar2Buffer}`]: {},
-+      [`&.${linearProgressClasses.bar2}.${linearProgressClasses.buffer}`]: {},
++      [`&.${linearProgressClasses.buffer} > .${linearProgressClasses.bar2}`]: {},
 -      [`&.${linearProgressClasses.bar2Indeterminate}`]: {},
-+      [`&.${linearProgressClasses.bar2}.${linearProgressClasses.indeterminate}`]: {},
++      [`&.${linearProgressClasses.indeterminate} > .${linearProgressClasses.bar2}`]: {},
 -      [`&.${linearProgressClasses.barColorPrimary}`]: {},
-+      [`&.${linearProgressClasses.bar}.${linearProgressClasses.colorPrimary}`]: {},
++      [`&.${linearProgressClasses.colorPrimary} > .${linearProgressClasses.bar}`]: {},
 -      [`&.${linearProgressClasses.barColorSecondary}`]: {},
-+      [`&.${linearProgressClasses.bar}.${linearProgressClasses.colorSecondary}`]: {},
++      [`&.${linearProgressClasses.colorSecondary} > .${linearProgressClasses.bar}`]: {},
 -      [`&.${linearProgressClasses.dashedColorPrimary}`]: {},
-+      [`&.${linearProgressClasses.dashed}.${linearProgressClasses.colorPrimary}`]: {},
++      [`&.${linearProgressClasses.colorPrimary} > .${linearProgressClasses.dashed}`]: {},
 -      [`&.${linearProgressClasses.dashedColorSecondary}`]: {},
-+      [`&.${linearProgressClasses.dashed}.${linearProgressClasses.colorSecondary}`]: {},
++      [`&.${linearProgressClasses.colorSecondary} > .${linearProgressClasses.dashed}`]: {},
      },
    },
   }
@@ -1279,23 +1279,23 @@ CSS transforms:
 
 ```diff
 -.MuiLinearProgress-bar1Buffer
-+.MuiLinearProgress-bar1.MuiLinearProgress-buffer
++.MuiLinearProgress-buffer > .MuiLinearProgress-bar1
 -.MuiLinearProgress-bar1Determinate
-+.MuiLinearProgress-bar1.MuiLinearProgress-determinate
++.MuiLinearProgress-determinate > .MuiLinearProgress-bar1
 -.MuiLinearProgress-bar1Indeterminate
-+.MuiLinearProgress-bar1.MuiLinearProgress-indeterminate
++.MuiLinearProgress-indeterminate > .MuiLinearProgress-bar1
 -.MuiLinearProgress-bar2Buffer
-+.MuiLinearProgress-bar2.MuiLinearProgress-buffer
++.MuiLinearProgress-buffer > .MuiLinearProgress-bar2
 -.MuiLinearProgress-bar2Indeterminate
-+.MuiLinearProgress-bar2.MuiLinearProgress-indeterminate
++.MuiLinearProgress-indeterminate > .MuiLinearProgress-bar2
 -.MuiLinearProgress-barColorPrimary
-+.MuiLinearProgress-bar.MuiLinearProgress-colorPrimary
++.MuiLinearProgress-colorPrimary > .MuiLinearProgress-bar
 -.MuiLinearProgress-barColorSecondary
-+.MuiLinearProgress-bar.MuiLinearProgress-colorSecondary
++.MuiLinearProgress-colorSecondary > .MuiLinearProgress-bar
 -.MuiLinearProgress-dashedColorPrimary
-+.MuiLinearProgress-dashed.MuiLinearProgress-colorPrimary
++.MuiLinearProgress-colorPrimary > .MuiLinearProgress-dashed
 -.MuiLinearProgress-dashedColorSecondary
-+.MuiLinearProgress-dashed.MuiLinearProgress-colorSecondary
++.MuiLinearProgress-colorSecondary > .MuiLinearProgress-dashed
 ```
 
 ```bash

From 16d33124d3138ae2749c7f485aaa1b429ec36b5b Mon Sep 17 00:00:00 2001
From: Archer Leung <i@liangzhicheng.cc>
Date: Sat, 4 Jan 2025 10:48:29 +0800
Subject: [PATCH 10/19] feat(types): Mark deprecated styles in
 LinearProgressClasses with migration instructions

---
 .../LinearProgress/linearProgressClasses.ts   | 36 ++++++++++++++-----
 1 file changed, 27 insertions(+), 9 deletions(-)

diff --git a/packages/mui-material/src/LinearProgress/linearProgressClasses.ts b/packages/mui-material/src/LinearProgress/linearProgressClasses.ts
index 37590edad59c67..ffa092fde07763 100644
--- a/packages/mui-material/src/LinearProgress/linearProgressClasses.ts
+++ b/packages/mui-material/src/LinearProgress/linearProgressClasses.ts
@@ -18,25 +18,43 @@ export interface LinearProgressClasses {
   query: string;
   /** Styles applied to the additional bar element if `variant="buffer"`. */
   dashed: string;
-  /** Styles applied to the additional bar element if `variant="buffer"` and `color="primary"`. */
+  /** Styles applied to the additional bar element if `variant="buffer"` and `color="primary"`.
+   * @deprecated Combine the [.MuiLinearProgress-dashed](/material-ui/api/linear-progress/#linear-progress-classes-dashed) and [.MuiChip-colorPrimary](/material-ui/api/linear-progress/#linear-progress-classes-colorPrimary) classes instead. [How to migrate](/material-ui/migration/migrating-from-deprecated-apis/)
+   */
   dashedColorPrimary: string;
-  /** Styles applied to the additional bar element if `variant="buffer"` and `color="secondary"`. */
+  /** Styles applied to the additional bar element if `variant="buffer"` and `color="secondary"`.
+   * @deprecated Combine the [.MuiLinearProgress-dashed](/material-ui/api/linear-progress/#linear-progress-classes-dashed) and [.MuiChip-colorSecondary](/material-ui/api/linear-progress/#linear-progress-classes-colorSecondary) classes instead. [How to migrate](/material-ui/migration/migrating-from-deprecated-apis/)
+   */
   dashedColorSecondary: string;
   /** Styles applied to the layered bar1 and bar2 elements. */
   bar: string;
-  /** Styles applied to the bar elements if `color="primary"`; bar2 if `variant` not "buffer". */
+  /** Styles applied to the bar elements if `color="primary"`; bar2 if `variant` not "buffer".
+   * @deprecated Use the [.MuiLinearProgress-bar](/material-ui/api/linear-progress/#linear-progress-classes-bar) and [.MuiLinearProgress-colorPrimary](/material-ui/api/linear-progress/#linear-progress-classes-colorPrimary) classes instead. [How to migrate](/material-ui/migration/migrating-from-deprecated-apis/)
+   */
   barColorPrimary: string;
-  /** Styles applied to the bar elements if `color="secondary"`; bar2 if `variant` not "buffer". */
+  /** Styles applied to the bar elements if `color="secondary"`; bar2 if `variant` not "buffer".
+   * @deprecated Use the [.MuiLinearProgress-bar](/material-ui/api/linear-progress/#linear-progress-classes-bar) and [.MuiLinearProgress-colorSecondary](/material-ui/api/linear-progress/#linear-progress-classes-colorSecondary) classes instead. [How to migrate](/material-ui/migration/migrating-from-deprecated-apis/)
+   */
   barColorSecondary: string;
-  /** Styles applied to the bar1 element if `variant="indeterminate or query"`. */
+  /** Styles applied to the bar1 element if `variant="indeterminate or query"`.
+   * @deprecated Use the [.MuiLinearProgress-bar1](/material-ui/api/linear-progress/#linear-progress-classes-bar1) and [.MuiLinearProgress-indeterminate](/material-ui/api/linear-progress/#linear-progress-classes-indeterminate) classes instead. [How to migrate](/material-ui/migration/migrating-from-deprecated-apis/)
+   */
   bar1Indeterminate: string;
-  /** Styles applied to the bar1 element if `variant="determinate"`. */
+  /** Styles applied to the bar1 element if `variant="determinate"`.
+   * @deprecated Use the [.MuiLinearProgress-bar1](/material-ui/api/linear-progress/#linear-progress-classes-bar1) and [.MuiLinearProgress-determinate](/material-ui/api/linear-progress/#linear-progress-classes-determinate) classes instead. [How to migrate](/material-ui/migration/migrating-from-deprecated-apis/)
+   */
   bar1Determinate: string;
-  /** Styles applied to the bar1 element if `variant="buffer"`. */
+  /** Styles applied to the bar1 element if `variant="buffer"`.
+   * @deprecated Use the [.MuiLinearProgress-bar1](/material-ui/api/linear-progress/#linear-progress-classes-bar1) and [.MuiLinearProgress-buffer](/material-ui/api/linear-progress/#linear-progress-classes-buffer) classes instead. [How to migrate](/material-ui/migration/migrating-from-deprecated-apis/)
+   */
   bar1Buffer: string;
-  /** Styles applied to the bar2 element if `variant="indeterminate or query"`. */
+  /** Styles applied to the bar2 element if `variant="indeterminate or query"`.
+   * @deprecated Use the [.MuiLinearProgress-bar2](/material-ui/api/linear-progress/#linear-progress-classes-bar2) and [.MuiLinearProgress-indeterminate](/material-ui/api/linear-progress/#linear-progress-classes-indeterminate) classes instead. [How to migrate](/material-ui/migration/migrating-from-deprecated-apis/)
+   */
   bar2Indeterminate: string;
-  /** Styles applied to the bar2 element if `variant="buffer"`. */
+  /** Styles applied to the bar2 element if `variant="buffer"`.
+   * @deprecated Use the [.MuiLinearProgress-bar2](/material-ui/api/linear-progress/#linear-progress-classes-bar2) and [.MuiLinearProgress-buffer](/material-ui/api/linear-progress/#linear-progress-classes-buffer) classes instead. [How to migrate](/material-ui/migration/migrating-from-deprecated-apis/)
+   */
   bar2Buffer: string;
 }
 

From 89f5929421e24a4781941204776020ea18f0c13a Mon Sep 17 00:00:00 2001
From: Archer Leung <i@liangzhicheng.cc>
Date: Sat, 4 Jan 2025 14:05:33 +0800
Subject: [PATCH 11/19] Revert "feat(docs): Update README with linear progress
 classes transformation details"

This reverts commit 5617d37d19bba01c26223014e4aa52d3881ce967.
---
 packages/mui-codemod/README.md | 181 +++++++++------------------------
 1 file changed, 49 insertions(+), 132 deletions(-)

diff --git a/packages/mui-codemod/README.md b/packages/mui-codemod/README.md
index 88962f2d4b41c4..d376805bb85e80 100644
--- a/packages/mui-codemod/README.md
+++ b/packages/mui-codemod/README.md
@@ -2272,138 +2272,55 @@ npx @mui/codemod@latest v5.0.0/preset-safe <path|folder>
 
 The list includes these transformers
 
-- [@mui/codemod](#muicodemod)
-  - [Setup \& run](#setup--run)
-    - [jscodeshift options](#jscodeshift-options)
-    - [Recast Options](#recast-options)
-  - [Included scripts](#included-scripts)
-    - [Deprecations](#deprecations)
-      - [`all`](#all)
-      - [`accordion-props`](#accordion-props)
-      - [`accordion-summary-classes`](#accordion-summary-classes)
-      - [`alert-classes`](#alert-classes)
-      - [`alert-props`](#alert-props)
-      - [`autocomplete-props`](#autocomplete-props)
-      - [`avatar-group-props`](#avatar-group-props)
-      - [`avatar-props`](#avatar-props)
-      - [`backdrop-props`](#backdrop-props)
-      - [`badge-props`](#badge-props)
-      - [`button-classes`](#button-classes)
-      - [`button-group-classes`](#button-group-classes)
-      - [`chip-classes`](#chip-classes)
-      - [`circular-progress-classes`](#circular-progress-classes)
-      - [`divider-props`](#divider-props)
-      - [`filled-input-props`](#filled-input-props)
-      - [`form-control-label-props`](#form-control-label-props)
-      - [`list-item-props`](#list-item-props)
-      - [`list-item-text-props`](#list-item-text-props)
-      - [`image-list-item-bar-classes`](#image-list-item-bar-classes)
-      - [`input-base-props`](#input-base-props)
-      - [`input-props`](#input-props)
-      - [`linear-progress-classes`](#linear-progress-classes)
-      - [`modal-props`](#modal-props)
-      - [`pagination-item-classes`](#pagination-item-classes)
-      - [`pagination-item-props`](#pagination-item-props)
-      - [`popper-props`](#popper-props)
-      - [`outlined-input-props`](#outlined-input-props)
-      - [`select-classes`](#select-classes)
-      - [`slider-props`](#slider-props)
-      - [`tooltip-props`](#tooltip-props)
-      - [`step-connector-classes`](#step-connector-classes)
-      - [`step-content-props`](#step-content-props)
-      - [`step-label-props`](#step-label-props)
-      - [`text-field-props`](#text-field-props)
-      - [`toggle-button-group-classes`](#toggle-button-group-classes)
-      - [`tab-classes`](#tab-classes)
-      - [`table-sort-label-classes`](#table-sort-label-classes)
-      - [`typography-props`](#typography-props)
-    - [v6.0.0](#v600)
-      - [`sx-prop`](#sx-prop)
-      - [`system-props`](#system-props)
-      - [`theme-v6`](#theme-v6)
-      - [`styled`](#styled)
-      - [`grid-v2-props`](#grid-v2-props)
-    - [v5.0.0](#v500)
-      - [`base-use-named-exports`](#base-use-named-exports)
-      - [`base-remove-unstyled-suffix`](#base-remove-unstyled-suffix)
-      - [`base-remove-component-prop`](#base-remove-component-prop)
-      - [`rename-css-variables`](#rename-css-variables)
-      - [`base-hook-imports`](#base-hook-imports)
-      - [`joy-rename-classname-prefix`](#joy-rename-classname-prefix)
-      - [`joy-rename-row-prop`](#joy-rename-row-prop)
-      - [`joy-avatar-remove-imgProps`](#joy-avatar-remove-imgprops)
-      - [`joy-text-field-to-input`](#joy-text-field-to-input)
-      - [`joy-rename-components-to-slots`](#joy-rename-components-to-slots)
-      - [`date-pickers-moved-to-x`](#date-pickers-moved-to-x)
-      - [`tree-view-moved-to-x`](#tree-view-moved-to-x)
-      - [🚀 `preset-safe`](#-preset-safe)
-      - [`adapter-v4`](#adapter-v4)
-      - [`autocomplete-rename-closeicon`](#autocomplete-rename-closeicon)
-      - [`autocomplete-rename-option`](#autocomplete-rename-option)
-      - [`avatar-circle-circular`](#avatar-circle-circular)
-      - [`badge-overlap-value`](#badge-overlap-value)
-      - [`base-rename-components-to-slots`](#base-rename-components-to-slots)
-      - [`box-borderradius-values`](#box-borderradius-values)
-      - [`box-rename-css`](#box-rename-css)
-      - [`box-rename-gap`](#box-rename-gap)
-      - [`button-color-prop`](#button-color-prop)
-      - [`chip-variant-prop`](#chip-variant-prop)
-      - [`circularprogress-variant`](#circularprogress-variant)
-      - [`collapse-rename-collapsedheight`](#collapse-rename-collapsedheight)
-      - [`component-rename-prop`](#component-rename-prop)
-      - [`core-styles-import`](#core-styles-import)
-      - [`create-theme`](#create-theme)
-      - [`dialog-props`](#dialog-props)
-      - [`dialog-title-props`](#dialog-title-props)
-      - [`emotion-prepend-cache`](#emotion-prepend-cache)
-      - [`expansion-panel-component`](#expansion-panel-component)
-      - [`fab-variant`](#fab-variant)
-      - [`fade-rename-alpha`](#fade-rename-alpha)
-      - [`grid-justify-justifycontent`](#grid-justify-justifycontent)
-      - [`grid-list-component`](#grid-list-component)
-      - [`icon-button-size`](#icon-button-size)
-      - [`jss-to-styled`](#jss-to-styled)
-      - [`jss-to-tss-react`](#jss-to-tss-react)
-      - [`link-underline-hover`](#link-underline-hover)
-      - [`material-ui-styles`](#material-ui-styles)
-      - [`material-ui-types`](#material-ui-types)
-      - [`modal-props`](#modal-props-1)
-      - [`moved-lab-modules`](#moved-lab-modules)
-      - [`pagination-round-circular`](#pagination-round-circular)
-      - [`optimal-imports`](#optimal-imports)
-      - [`root-ref`](#root-ref)
-      - [`skeleton-variant`](#skeleton-variant)
-      - [`styled-engine-provider`](#styled-engine-provider)
-      - [`table-props`](#table-props)
-      - [`tabs-scroll-buttons`](#tabs-scroll-buttons)
-      - [`textarea-minmax-rows`](#textarea-minmax-rows)
-      - [`theme-augment`](#theme-augment)
-      - [`theme-breakpoints`](#theme-breakpoints)
-      - [`theme-breakpoints-width`](#theme-breakpoints-width)
-      - [`theme-options`](#theme-options)
-      - [`theme-palette-mode`](#theme-palette-mode)
-      - [`theme-provider`](#theme-provider)
-      - [`theme-spacing`](#theme-spacing)
-      - [`theme-typography-round`](#theme-typography-round)
-      - [`top-level-imports`](#top-level-imports)
-      - [`transitions`](#transitions)
-      - [`use-autocomplete`](#use-autocomplete)
-      - [`use-transitionprops`](#use-transitionprops)
-      - [`variant-prop`](#variant-prop)
-      - [`with-mobile-dialog`](#with-mobile-dialog)
-      - [`with-width`](#with-width)
-      - [`mui-replace`](#mui-replace)
-    - [v4.0.0](#v400)
-      - [`theme-spacing-api`](#theme-spacing-api)
-      - [`optimal-imports`](#optimal-imports-1)
-      - [`top-level-imports`](#top-level-imports-1)
-    - [v1.0.0](#v100)
-      - [`import-path`](#import-path)
-      - [`color-imports`](#color-imports)
-      - [`svg-icon-imports`](#svg-icon-imports)
-      - [`menu-item-primary-text`](#menu-item-primary-text)
-    - [v0.15.0](#v0150)
-      - [`import-path`](#import-path-1)
+- [`adapter-v4`](#adapter-v4)
+- [`autocomplete-rename-closeicon`](#autocomplete-rename-closeicon)
+- [`autocomplete-rename-option`](#autocomplete-rename-option)
+- [`avatar-circle-circular`](#avatar-circle-circular)
+- [`badge-overlap-value`](#badge-overlap-value)
+- [`box-borderradius-values`](#box-borderradius-values)
+- [`box-rename-css`](#box-rename-css)
+- [`box-rename-gap`](#box-rename-gap)
+- [`button-color-prop`](#button-color-prop)
+- [`chip-variant-prop`](#chip-variant-prop)
+- [`circularprogress-variant`](#circularprogress-variant)
+- [`collapse-rename-collapsedheight`](#collapse-rename-collapsedheight)
+- [`core-styles-import`](#core-styles-import)
+- [`create-theme`](#create-theme)
+- [`dialog-props`](#dialog-props)
+- [`dialog-title-props`](#dialog-title-props)
+- [`emotion-prepend-cache`](#emotion-prepend-cache)
+- [`expansion-panel-component`](#expansion-panel-component)
+- [`fab-variant`](#fab-variant)
+- [`fade-rename-alpha`](#fade-rename-alpha)
+- [`grid-justify-justifycontent`](#grid-justify-justifycontent)
+- [`grid-list-component`](#grid-list-component)
+- [`icon-button-size`](#icon-button-size)
+- [`material-ui-styles`](#material-ui-styles)
+- [`material-ui-types`](#material-ui-types)
+- [`modal-props`](#modal-props)
+- [`moved-lab-modules`](#moved-lab-modules)
+- [`pagination-round-circular`](#pagination-round-circular)
+- [`optimal-imports`](#optimal-imports)
+- [`root-ref`](#root-ref)
+- [`skeleton-variant`](#skeleton-variant)
+- [`styled-engine-provider`](#styled-engine-provider)
+- [`table-props`](#table-props)
+- [`tabs-scroll-buttons`](#tabs-scroll-buttons)
+- [`textarea-minmax-rows`](#textarea-minmax-rows)
+- [`theme-augment`](#theme-augment)
+- [`theme-breakpoints`](#theme-breakpoints)
+- [`theme-breakpoints-width`](#theme-breakpoints-width)
+- [`theme-options`](#theme-options)
+- [`theme-palette-mode`](#theme-palette-mode)
+- [`theme-provider`](#theme-provider)
+- [`theme-spacing`](#theme-spacing)
+- [`theme-typography-round`](#theme-typography-round)
+- [`transitions`](#transitions)
+- [`use-autocomplete`](#use-autocomplete)
+- [`use-transitionprops`](#use-transitionprops)
+- [`with-mobile-dialog`](#with-mobile-dialog)
+- [`with-width`](#with-width)
+- [`mui-replace`](#mui-replace)
 
 #### `adapter-v4`
 

From 0fb18363ae24053dc57bd59bd85e2b1a9bb604d4 Mon Sep 17 00:00:00 2001
From: headiron <dempsterleung@gmail.com>
Date: Thu, 9 Jan 2025 00:03:59 +0800
Subject: [PATCH 12/19] Update
 packages/mui-codemod/src/deprecations/linear-progress-classes/postcss-plugin.js

Co-authored-by: Diego Andai <diego@mui.com>
Signed-off-by: headiron <dempsterleung@gmail.com>
---
 .../src/deprecations/linear-progress-classes/postcss-plugin.js  | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/packages/mui-codemod/src/deprecations/linear-progress-classes/postcss-plugin.js b/packages/mui-codemod/src/deprecations/linear-progress-classes/postcss-plugin.js
index 74f5c9f1f3e87c..e0e452efcc64ca 100644
--- a/packages/mui-codemod/src/deprecations/linear-progress-classes/postcss-plugin.js
+++ b/packages/mui-codemod/src/deprecations/linear-progress-classes/postcss-plugin.js
@@ -39,7 +39,7 @@ const classes = [
 
 const plugin = () => {
   return {
-    postcssPlugin: `Replace deperecated LinearProgress classes with new classes`,
+    postcssPlugin: `Replace deprecated LinearProgress classes with new classes`,
     Rule(rule) {
       const { selector } = rule;
 

From 5fadadef3715ef9eea1e4cfcc054a954d49e7307 Mon Sep 17 00:00:00 2001
From: Archer Leung <i@liangzhicheng.cc>
Date: Thu, 9 Jan 2025 11:22:26 +0800
Subject: [PATCH 13/19] [linear-progress] Add utility classes for bar1 and bar2
 elements

---
 docs/pages/material-ui/api/linear-progress.json      | 12 ++++++++++++
 .../api-docs/linear-progress/linear-progress.json    |  8 ++++++++
 .../src/LinearProgress/LinearProgress.js             |  4 ++++
 .../src/LinearProgress/LinearProgress.test.js        |  2 ++
 .../src/LinearProgress/linearProgressClasses.ts      |  6 ++++++
 5 files changed, 32 insertions(+)

diff --git a/docs/pages/material-ui/api/linear-progress.json b/docs/pages/material-ui/api/linear-progress.json
index b17b113088b9e8..4cac4d9f188db0 100644
--- a/docs/pages/material-ui/api/linear-progress.json
+++ b/docs/pages/material-ui/api/linear-progress.json
@@ -37,6 +37,18 @@
       "description": "Styles applied to the layered bar1 and bar2 elements.",
       "isGlobal": false
     },
+    {
+      "key": "bar1",
+      "className": "MuiLinearProgress-bar1",
+      "description": "Styles applied to the bar1 element.",
+      "isGlobal": false
+    },
+    {
+      "key": "bar2",
+      "className": "MuiLinearProgress-bar2",
+      "description": "Styles applied to the bar2 element.",
+      "isGlobal": false
+    },
     {
       "key": "bar1Buffer",
       "className": "MuiLinearProgress-bar1Buffer",
diff --git a/docs/translations/api-docs/linear-progress/linear-progress.json b/docs/translations/api-docs/linear-progress/linear-progress.json
index b21b5af1f0059b..7a9c5d749be4ea 100644
--- a/docs/translations/api-docs/linear-progress/linear-progress.json
+++ b/docs/translations/api-docs/linear-progress/linear-progress.json
@@ -21,6 +21,14 @@
       "description": "Styles applied to {{nodeName}}.",
       "nodeName": "the layered bar1 and bar2 elements"
     },
+    "bar1": {
+      "description": "Styles applied to {{nodeName}}.",
+      "nodeName": "the bar1 element"
+    },
+    "bar2": {
+      "description": "Styles applied to {{nodeName}}.",
+      "nodeName": "the bar2 element"
+    },
     "bar1Buffer": {
       "description": "Styles applied to {{nodeName}} if {{conditions}}.",
       "nodeName": "the bar1 element",
diff --git a/packages/mui-material/src/LinearProgress/LinearProgress.js b/packages/mui-material/src/LinearProgress/LinearProgress.js
index 9046d1e69dbe38..0e327bd11ed5c3 100644
--- a/packages/mui-material/src/LinearProgress/LinearProgress.js
+++ b/packages/mui-material/src/LinearProgress/LinearProgress.js
@@ -94,6 +94,7 @@ const useUtilityClasses = (ownerState) => {
     dashed: ['dashed', `dashedColor${capitalize(color)}`],
     bar1: [
       'bar',
+      'bar1',
       `barColor${capitalize(color)}`,
       (variant === 'indeterminate' || variant === 'query') && 'bar1Indeterminate',
       variant === 'determinate' && 'bar1Determinate',
@@ -101,6 +102,7 @@ const useUtilityClasses = (ownerState) => {
     ],
     bar2: [
       'bar',
+      'bar2',
       variant !== 'buffer' && `barColor${capitalize(color)}`,
       variant === 'buffer' && `color${capitalize(color)}`,
       (variant === 'indeterminate' || variant === 'query') && 'bar2Indeterminate',
@@ -231,6 +233,7 @@ const LinearProgressBar1 = styled('span', {
 
     return [
       styles.bar,
+      styles.bar1,
       styles[`barColor${capitalize(ownerState.color)}`],
       (ownerState.variant === 'indeterminate' || ownerState.variant === 'query') &&
         styles.bar1Indeterminate,
@@ -307,6 +310,7 @@ const LinearProgressBar2 = styled('span', {
 
     return [
       styles.bar,
+      styles.bar2,
       styles[`barColor${capitalize(ownerState.color)}`],
       (ownerState.variant === 'indeterminate' || ownerState.variant === 'query') &&
         styles.bar2Indeterminate,
diff --git a/packages/mui-material/src/LinearProgress/LinearProgress.test.js b/packages/mui-material/src/LinearProgress/LinearProgress.test.js
index 5a97ff6fc1b88e..647ac9549c971f 100644
--- a/packages/mui-material/src/LinearProgress/LinearProgress.test.js
+++ b/packages/mui-material/src/LinearProgress/LinearProgress.test.js
@@ -30,6 +30,8 @@ describe('<LinearProgress />', () => {
     expect(progressbar).to.have.class(classes.indeterminate);
     expect(progressbar.children[0]).to.have.class(classes.bar1Indeterminate);
     expect(progressbar.children[1]).to.have.class(classes.bar2Indeterminate);
+    expect(progressbar.children[0]).to.have.class(classes.bar1);
+    expect(progressbar.children[1]).to.have.class(classes.bar2);
   });
 
   it('should render for the primary color by default', () => {
diff --git a/packages/mui-material/src/LinearProgress/linearProgressClasses.ts b/packages/mui-material/src/LinearProgress/linearProgressClasses.ts
index ffa092fde07763..3966159da34cff 100644
--- a/packages/mui-material/src/LinearProgress/linearProgressClasses.ts
+++ b/packages/mui-material/src/LinearProgress/linearProgressClasses.ts
@@ -28,6 +28,10 @@ export interface LinearProgressClasses {
   dashedColorSecondary: string;
   /** Styles applied to the layered bar1 and bar2 elements. */
   bar: string;
+  /** Styles applied to the bar1 element. */
+  bar1: string;
+  /** Styles applied to the bar2 element. */
+  bar2: string;
   /** Styles applied to the bar elements if `color="primary"`; bar2 if `variant` not "buffer".
    * @deprecated Use the [.MuiLinearProgress-bar](/material-ui/api/linear-progress/#linear-progress-classes-bar) and [.MuiLinearProgress-colorPrimary](/material-ui/api/linear-progress/#linear-progress-classes-colorPrimary) classes instead. [How to migrate](/material-ui/migration/migrating-from-deprecated-apis/)
    */
@@ -76,6 +80,8 @@ const linearProgressClasses: LinearProgressClasses = generateUtilityClasses('Mui
   'dashedColorPrimary',
   'dashedColorSecondary',
   'bar',
+  'bar1',
+  'bar2',
   'barColorPrimary',
   'barColorSecondary',
   'bar1Indeterminate',

From 2abd38c9188ceabc4b2cac93015854b61fa29215 Mon Sep 17 00:00:00 2001
From: DiegoAndai <diego@mui.com>
Date: Thu, 9 Jan 2025 08:38:42 -0300
Subject: [PATCH 14/19] Trigger CI


From 27d216ec59ecfc77712e0d4c406c826ba68d99db Mon Sep 17 00:00:00 2001
From: Archer Leung <i@liangzhicheng.cc>
Date: Thu, 9 Jan 2025 19:53:09 +0800
Subject: [PATCH 15/19] [linear-progress] Reintroduce bar2 styles and update
 deprecation messages

---
 .../material-ui/api/linear-progress.json      | 12 ++++----
 .../linear-progress/linear-progress.json      | 28 ++++++++-----------
 2 files changed, 17 insertions(+), 23 deletions(-)

diff --git a/docs/pages/material-ui/api/linear-progress.json b/docs/pages/material-ui/api/linear-progress.json
index 4cac4d9f188db0..09371e65e408d3 100644
--- a/docs/pages/material-ui/api/linear-progress.json
+++ b/docs/pages/material-ui/api/linear-progress.json
@@ -43,12 +43,6 @@
       "description": "Styles applied to the bar1 element.",
       "isGlobal": false
     },
-    {
-      "key": "bar2",
-      "className": "MuiLinearProgress-bar2",
-      "description": "Styles applied to the bar2 element.",
-      "isGlobal": false
-    },
     {
       "key": "bar1Buffer",
       "className": "MuiLinearProgress-bar1Buffer",
@@ -70,6 +64,12 @@
       "isGlobal": false,
       "isDeprecated": true
     },
+    {
+      "key": "bar2",
+      "className": "MuiLinearProgress-bar2",
+      "description": "Styles applied to the bar2 element.",
+      "isGlobal": false
+    },
     {
       "key": "bar2Buffer",
       "className": "MuiLinearProgress-bar2Buffer",
diff --git a/docs/translations/api-docs/linear-progress/linear-progress.json b/docs/translations/api-docs/linear-progress/linear-progress.json
index 7a9c5d749be4ea..f5fa6822802b10 100644
--- a/docs/translations/api-docs/linear-progress/linear-progress.json
+++ b/docs/translations/api-docs/linear-progress/linear-progress.json
@@ -21,55 +21,49 @@
       "description": "Styles applied to {{nodeName}}.",
       "nodeName": "the layered bar1 and bar2 elements"
     },
-    "bar1": {
-      "description": "Styles applied to {{nodeName}}.",
-      "nodeName": "the bar1 element"
-    },
-    "bar2": {
-      "description": "Styles applied to {{nodeName}}.",
-      "nodeName": "the bar2 element"
-    },
+    "bar1": { "description": "Styles applied to {{nodeName}}.", "nodeName": "the bar1 element" },
     "bar1Buffer": {
       "description": "Styles applied to {{nodeName}} if {{conditions}}.",
       "nodeName": "the bar1 element",
       "conditions": "<code>variant=\"buffer\"</code>",
-      "deprecationInfo": "Combine the <a href=\"/material-ui/api/linear-progress/#linear-progress-classes-bar1\">.MuiLinearProgress-bar1</a> and <a href=\"/material-ui/api/linear-progress/#linear-progress-classes-buffer\">.MuiLinearProgress-buffer</a> classes instead. <a href=\"/material-ui/migration/migrating-from-deprecated-apis/\">How to migrate</a>"
+      "deprecationInfo": "Use the <a href=\"/material-ui/api/linear-progress/#linear-progress-classes-bar1\">.MuiLinearProgress-bar1</a> and <a href=\"/material-ui/api/linear-progress/#linear-progress-classes-buffer\">.MuiLinearProgress-buffer</a> classes instead. <a href=\"/material-ui/migration/migrating-from-deprecated-apis/\">How to migrate</a>"
     },
     "bar1Determinate": {
       "description": "Styles applied to {{nodeName}} if {{conditions}}.",
       "nodeName": "the bar1 element",
       "conditions": "<code>variant=\"determinate\"</code>",
-      "deprecationInfo": "Combine the <a href=\"/material-ui/api/linear-progress/#linear-progress-classes-bar1\">.MuiLinearProgress-bar1</a> and <a href=\"/material-ui/api/linear-progress/#linear-progress-classes-determinate\">.MuiLinearProgress-determinate</a> classes instead. <a href=\"/material-ui/migration/migrating-from-deprecated-apis/\">How to migrate</a>"
+      "deprecationInfo": "Use the <a href=\"/material-ui/api/linear-progress/#linear-progress-classes-bar1\">.MuiLinearProgress-bar1</a> and <a href=\"/material-ui/api/linear-progress/#linear-progress-classes-determinate\">.MuiLinearProgress-determinate</a> classes instead. <a href=\"/material-ui/migration/migrating-from-deprecated-apis/\">How to migrate</a>"
     },
     "bar1Indeterminate": {
       "description": "Styles applied to {{nodeName}} if {{conditions}}.",
       "nodeName": "the bar1 element",
       "conditions": "<code>variant=\"indeterminate or query\"</code>",
-      "deprecationInfo": "Combine the <a href=\"/material-ui/api/linear-progress/#linear-progress-classes-bar1\">.MuiLinearProgress-bar1</a> and <a href=\"/material-ui/api/linear-progress/#linear-progress-classes-indeterminate\">.MuiLinearProgress-indeterminate</a> classes instead. <a href=\"/material-ui/migration/migrating-from-deprecated-apis/\">How to migrate</a>"
+      "deprecationInfo": "Use the <a href=\"/material-ui/api/linear-progress/#linear-progress-classes-bar1\">.MuiLinearProgress-bar1</a> and <a href=\"/material-ui/api/linear-progress/#linear-progress-classes-indeterminate\">.MuiLinearProgress-indeterminate</a> classes instead. <a href=\"/material-ui/migration/migrating-from-deprecated-apis/\">How to migrate</a>"
     },
+    "bar2": { "description": "Styles applied to {{nodeName}}.", "nodeName": "the bar2 element" },
     "bar2Buffer": {
       "description": "Styles applied to {{nodeName}} if {{conditions}}.",
       "nodeName": "the bar2 element",
       "conditions": "<code>variant=\"buffer\"</code>",
-      "deprecationInfo": "Combine the <a href=\"/material-ui/api/linear-progress/#linear-progress-classes-bar2\">.MuiLinearProgress-bar2</a> and <a href=\"/material-ui/api/linear-progress/#linear-progress-classes-buffer\">.MuiLinearProgress-buffer</a> classes instead. <a href=\"/material-ui/migration/migrating-from-deprecated-apis/\">How to migrate</a>"
+      "deprecationInfo": "Use the <a href=\"/material-ui/api/linear-progress/#linear-progress-classes-bar2\">.MuiLinearProgress-bar2</a> and <a href=\"/material-ui/api/linear-progress/#linear-progress-classes-buffer\">.MuiLinearProgress-buffer</a> classes instead. <a href=\"/material-ui/migration/migrating-from-deprecated-apis/\">How to migrate</a>"
     },
     "bar2Indeterminate": {
       "description": "Styles applied to {{nodeName}} if {{conditions}}.",
       "nodeName": "the bar2 element",
       "conditions": "<code>variant=\"indeterminate or query\"</code>",
-      "deprecationInfo": "Combine the <a href=\"/material-ui/api/linear-progress/#linear-progress-classes-bar2\">.MuiLinearProgress-bar2</a> and <a href=\"/material-ui/api/linear-progress/#linear-progress-classes-indeterminate\">.MuiLinearProgress-indeterminate</a> classes instead. <a href=\"/material-ui/migration/migrating-from-deprecated-apis/\">How to migrate</a>"
+      "deprecationInfo": "Use the <a href=\"/material-ui/api/linear-progress/#linear-progress-classes-bar2\">.MuiLinearProgress-bar2</a> and <a href=\"/material-ui/api/linear-progress/#linear-progress-classes-indeterminate\">.MuiLinearProgress-indeterminate</a> classes instead. <a href=\"/material-ui/migration/migrating-from-deprecated-apis/\">How to migrate</a>"
     },
     "barColorPrimary": {
       "description": "Styles applied to {{nodeName}} if {{conditions}}.",
       "nodeName": "the bar elements",
       "conditions": "<code>color=\"primary\"</code>; bar2 if <code>variant</code> not &quot;buffer&quot;",
-      "deprecationInfo": "Combine the <a href=\"/material-ui/api/linear-progress/#linear-progress-classes-bar\">.MuiLinearProgress-bar</a> and <a href=\"/material-ui/api/linear-progress/#linear-progress-classes-colorPrimary\">.MuiLinearProgress-colorPrimary</a> classes instead. <a href=\"/material-ui/migration/migrating-from-deprecated-apis/\">How to migrate</a>"
+      "deprecationInfo": "Use the <a href=\"/material-ui/api/linear-progress/#linear-progress-classes-bar\">.MuiLinearProgress-bar</a> and <a href=\"/material-ui/api/linear-progress/#linear-progress-classes-colorPrimary\">.MuiLinearProgress-colorPrimary</a> classes instead. <a href=\"/material-ui/migration/migrating-from-deprecated-apis/\">How to migrate</a>"
     },
     "barColorSecondary": {
       "description": "Styles applied to {{nodeName}} if {{conditions}}.",
       "nodeName": "the bar elements",
       "conditions": "<code>color=\"secondary\"</code>; bar2 if <code>variant</code> not &quot;buffer&quot;",
-      "deprecationInfo": "Combine the <a href=\"/material-ui/api/linear-progress/#linear-progress-classes-bar\">.MuiLinearProgress-bar</a> and <a href=\"/material-ui/api/linear-progress/#linear-progress-classes-colorSecondary\">.MuiLinearProgress-colorSecondary</a> classes instead. <a href=\"/material-ui/migration/migrating-from-deprecated-apis/\">How to migrate</a>"
+      "deprecationInfo": "Use the <a href=\"/material-ui/api/linear-progress/#linear-progress-classes-bar\">.MuiLinearProgress-bar</a> and <a href=\"/material-ui/api/linear-progress/#linear-progress-classes-colorSecondary\">.MuiLinearProgress-colorSecondary</a> classes instead. <a href=\"/material-ui/migration/migrating-from-deprecated-apis/\">How to migrate</a>"
     },
     "buffer": {
       "description": "Styles applied to {{nodeName}} if {{conditions}}.",
@@ -95,13 +89,13 @@
       "description": "Styles applied to {{nodeName}} if {{conditions}}.",
       "nodeName": "the additional bar element",
       "conditions": "<code>variant=\"buffer\"</code> and <code>color=\"primary\"</code>",
-      "deprecationInfo": "Combine the <a href=\"/material-ui/api/linear-progress/#linear-progress-classes-dashed\">.MuiLinearProgress-dashed</a> and <a href=\"/material-ui/api/linear-progress/#linear-progress-classes-colorPrimary\">.MuiLinearProgress-colorPrimary</a> classes instead. <a href=\"/material-ui/migration/migrating-from-deprecated-apis/\">How to migrate</a>"
+      "deprecationInfo": "Combine the <a href=\"/material-ui/api/linear-progress/#linear-progress-classes-dashed\">.MuiLinearProgress-dashed</a> and <a href=\"/material-ui/api/linear-progress/#linear-progress-classes-colorPrimary\">.MuiChip-colorPrimary</a> classes instead. <a href=\"/material-ui/migration/migrating-from-deprecated-apis/\">How to migrate</a>"
     },
     "dashedColorSecondary": {
       "description": "Styles applied to {{nodeName}} if {{conditions}}.",
       "nodeName": "the additional bar element",
       "conditions": "<code>variant=\"buffer\"</code> and <code>color=\"secondary\"</code>",
-      "deprecationInfo": "Combine the <a href=\"/material-ui/api/linear-progress/#linear-progress-classes-dashed\">.MuiLinearProgress-dashed</a> and <a href=\"/material-ui/api/linear-progress/#linear-progress-classes-colorSecondary\">.MuiLinearProgress-colorSecondary</a> classes instead. <a href=\"/material-ui/migration/migrating-from-deprecated-apis/\">How to migrate</a>"
+      "deprecationInfo": "Combine the <a href=\"/material-ui/api/linear-progress/#linear-progress-classes-dashed\">.MuiLinearProgress-dashed</a> and <a href=\"/material-ui/api/linear-progress/#linear-progress-classes-colorSecondary\">.MuiChip-colorSecondary</a> classes instead. <a href=\"/material-ui/migration/migrating-from-deprecated-apis/\">How to migrate</a>"
     },
     "determinate": {
       "description": "Styles applied to {{nodeName}} if {{conditions}}.",

From 0af8bd0a711ef9db2fce16a66d54cef988e597c2 Mon Sep 17 00:00:00 2001
From: headiron <dempsterleung@gmail.com>
Date: Thu, 9 Jan 2025 19:58:30 +0800
Subject: [PATCH 16/19] Update
 packages/mui-material/src/LinearProgress/linearProgressClasses.ts

Co-authored-by: Diego Andai <diego@mui.com>
Signed-off-by: headiron <dempsterleung@gmail.com>
---
 .../mui-material/src/LinearProgress/linearProgressClasses.ts    | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/packages/mui-material/src/LinearProgress/linearProgressClasses.ts b/packages/mui-material/src/LinearProgress/linearProgressClasses.ts
index 3966159da34cff..7276ebbe4862bb 100644
--- a/packages/mui-material/src/LinearProgress/linearProgressClasses.ts
+++ b/packages/mui-material/src/LinearProgress/linearProgressClasses.ts
@@ -19,7 +19,7 @@ export interface LinearProgressClasses {
   /** Styles applied to the additional bar element if `variant="buffer"`. */
   dashed: string;
   /** Styles applied to the additional bar element if `variant="buffer"` and `color="primary"`.
-   * @deprecated Combine the [.MuiLinearProgress-dashed](/material-ui/api/linear-progress/#linear-progress-classes-dashed) and [.MuiChip-colorPrimary](/material-ui/api/linear-progress/#linear-progress-classes-colorPrimary) classes instead. [How to migrate](/material-ui/migration/migrating-from-deprecated-apis/)
+   * @deprecated Combine the [.MuiLinearProgress-dashed](/material-ui/api/linear-progress/#linear-progress-classes-dashed) and [.MuiLinearProgress-colorPrimary](/material-ui/api/linear-progress/#linear-progress-classes-colorPrimary) classes instead. [How to migrate](/material-ui/migration/migrating-from-deprecated-apis/)
    */
   dashedColorPrimary: string;
   /** Styles applied to the additional bar element if `variant="buffer"` and `color="secondary"`.

From a90bf890318d4c338b2d5869190031fd39ac5e9c Mon Sep 17 00:00:00 2001
From: headiron <dempsterleung@gmail.com>
Date: Thu, 9 Jan 2025 19:58:39 +0800
Subject: [PATCH 17/19] Update
 packages/mui-material/src/LinearProgress/linearProgressClasses.ts

Co-authored-by: Diego Andai <diego@mui.com>
Signed-off-by: headiron <dempsterleung@gmail.com>
---
 .../mui-material/src/LinearProgress/linearProgressClasses.ts    | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/packages/mui-material/src/LinearProgress/linearProgressClasses.ts b/packages/mui-material/src/LinearProgress/linearProgressClasses.ts
index 7276ebbe4862bb..48da9927f277ad 100644
--- a/packages/mui-material/src/LinearProgress/linearProgressClasses.ts
+++ b/packages/mui-material/src/LinearProgress/linearProgressClasses.ts
@@ -23,7 +23,7 @@ export interface LinearProgressClasses {
    */
   dashedColorPrimary: string;
   /** Styles applied to the additional bar element if `variant="buffer"` and `color="secondary"`.
-   * @deprecated Combine the [.MuiLinearProgress-dashed](/material-ui/api/linear-progress/#linear-progress-classes-dashed) and [.MuiChip-colorSecondary](/material-ui/api/linear-progress/#linear-progress-classes-colorSecondary) classes instead. [How to migrate](/material-ui/migration/migrating-from-deprecated-apis/)
+   * @deprecated Combine the [.MuiLinearProgress-dashed](/material-ui/api/linear-progress/#linear-progress-classes-dashed) and [.MuiLinearProgress-colorSecondary](/material-ui/api/linear-progress/#linear-progress-classes-colorSecondary) classes instead. [How to migrate](/material-ui/migration/migrating-from-deprecated-apis/)
    */
   dashedColorSecondary: string;
   /** Styles applied to the layered bar1 and bar2 elements. */

From a751ce6183f2d821628c692fd140d76cbdaf4601 Mon Sep 17 00:00:00 2001
From: Archer Leung <i@liangzhicheng.cc>
Date: Thu, 9 Jan 2025 20:12:23 +0800
Subject: [PATCH 18/19] fix deprecation messages in linear-progress
 documentation for clarity

---
 .../api-docs/linear-progress/linear-progress.json             | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/docs/translations/api-docs/linear-progress/linear-progress.json b/docs/translations/api-docs/linear-progress/linear-progress.json
index f5fa6822802b10..697fe047053067 100644
--- a/docs/translations/api-docs/linear-progress/linear-progress.json
+++ b/docs/translations/api-docs/linear-progress/linear-progress.json
@@ -89,13 +89,13 @@
       "description": "Styles applied to {{nodeName}} if {{conditions}}.",
       "nodeName": "the additional bar element",
       "conditions": "<code>variant=\"buffer\"</code> and <code>color=\"primary\"</code>",
-      "deprecationInfo": "Combine the <a href=\"/material-ui/api/linear-progress/#linear-progress-classes-dashed\">.MuiLinearProgress-dashed</a> and <a href=\"/material-ui/api/linear-progress/#linear-progress-classes-colorPrimary\">.MuiChip-colorPrimary</a> classes instead. <a href=\"/material-ui/migration/migrating-from-deprecated-apis/\">How to migrate</a>"
+      "deprecationInfo": "Combine the <a href=\"/material-ui/api/linear-progress/#linear-progress-classes-dashed\">.MuiLinearProgress-dashed</a> and <a href=\"/material-ui/api/linear-progress/#linear-progress-classes-colorPrimary\">.MuiLinearProgress-colorPrimary</a> classes instead. <a href=\"/material-ui/migration/migrating-from-deprecated-apis/\">How to migrate</a>"
     },
     "dashedColorSecondary": {
       "description": "Styles applied to {{nodeName}} if {{conditions}}.",
       "nodeName": "the additional bar element",
       "conditions": "<code>variant=\"buffer\"</code> and <code>color=\"secondary\"</code>",
-      "deprecationInfo": "Combine the <a href=\"/material-ui/api/linear-progress/#linear-progress-classes-dashed\">.MuiLinearProgress-dashed</a> and <a href=\"/material-ui/api/linear-progress/#linear-progress-classes-colorSecondary\">.MuiChip-colorSecondary</a> classes instead. <a href=\"/material-ui/migration/migrating-from-deprecated-apis/\">How to migrate</a>"
+      "deprecationInfo": "Combine the <a href=\"/material-ui/api/linear-progress/#linear-progress-classes-dashed\">.MuiLinearProgress-dashed</a> and <a href=\"/material-ui/api/linear-progress/#linear-progress-classes-colorSecondary\">.MuiLinearProgress-colorSecondary</a> classes instead. <a href=\"/material-ui/migration/migrating-from-deprecated-apis/\">How to migrate</a>"
     },
     "determinate": {
       "description": "Styles applied to {{nodeName}} if {{conditions}}.",

From 60fe1c31e229663e2f133099c5fac95601e70ee8 Mon Sep 17 00:00:00 2001
From: DiegoAndai <diego@mui.com>
Date: Thu, 9 Jan 2025 12:23:50 -0300
Subject: [PATCH 19/19] Trigger CI