@mui/system 9.0.0-beta.0 → 9.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,81 @@
1
1
  # [Versions](https://mui.com/versions/)
2
2
 
3
+ ## 9.0.0
4
+
5
+ <!-- generated comparing v9.0.0-beta.1..master -->
6
+
7
+ _Apr 7, 2026_
8
+
9
+ A big thanks to the 7 contributors who made this release possible.
10
+
11
+ 🥳 We're excited to announce the stable release of Material UI v9! This major release focus on accessibility improvements, sx prop performance, and cleanup of deprecated APIs.
12
+
13
+ For more details, check out the [upgrade guide](https://mui.com/material-ui/migration/upgrade-to-v9/).
14
+
15
+ ### `@mui/material@9.0.0`
16
+
17
+ - [slider] Use pointer events instead of mouse events (#48164) @mj12albert
18
+ - [switch] Add border to make it visible in high contrast mode (#48180) @silviuaavram
19
+ - [transitions] Performance improvements & misc fixes (#48151) @mj12albert
20
+ - Remove unnecessary overridesResolvers from styled components (#48204) @sai6855
21
+
22
+ ### Core
23
+
24
+ - [code-infra] Setup workflow to publish internal packages (#47952) @brijeshb42
25
+ - [core-docs] Add `x-scheduler` to `MuiProductId` type (#48185) @rita-codes
26
+ - [docs-infra] Add scheduler to product switcher (#48208) @rita-codes
27
+ - [internal] Prepare libraries for v9 stable release (#48206) @siriwatknp
28
+
29
+ All contributors of this release in alphabetical order: @brijeshb42, @mj12albert, @noraleonte, @rita-codes, @sai6855, @silviuaavram, @siriwatknp
30
+
31
+ ## 9.0.0-beta.1
32
+
33
+ <!-- generated comparing v9.0.0-beta.0..master -->
34
+
35
+ _Apr 2, 2026_
36
+
37
+ A big thanks to the 11 contributors who made this release possible.
38
+
39
+ ### `@mui/material@9.0.0-beta.1`
40
+
41
+ #### Breaking Changes
42
+
43
+ - [grid] Remove 'column' and 'column-reverse' options from `direction` prop (#47564) @sai6855
44
+ - [icons] Remove legacy `*Outline` icons (#48116) @mj12albert
45
+ - [list-item-icon] Use theme spacing instead of hardcoded minWidth (#46597) @adiitxa
46
+
47
+ #### Changes
48
+
49
+ - [all components] Fix `slotProps.transition` types (#48153) @mj12albert
50
+ - [alert][dialog] Accessibility improvements (#48113) @silviuaavram
51
+ - [autocomplete] Fix helper text focusing input when clicked (#48156) @mj12albert
52
+ - [button-base] Add `nativeButton` prop (#47989) @mj12albert
53
+ - [input] Fix high contrast cutoff on first character (#48150) @silviuaavram
54
+ - [menu] Fix empty roving focus container (#48114) @mj12albert
55
+ - [utils] Explicitly register roving tab items with parent (#48122) @mj12albert
56
+
57
+ ### Docs
58
+
59
+ - Fix HTML validation errors (#48107) @Janpot
60
+ - Fix duplicate IDs and HTML validation issues (#48095) @Janpot
61
+ - Fix the dark mode footer row shadow for the Data Grid on the advanced components page (#48149) @arminmeh
62
+ - Improve jsdom section (#48098) @oliviertassinari
63
+ - Update "Deprecated APIs removed" section to h2 in "Upgrade to v9" docs (#48115) @ZeeshanTamboli
64
+ - [docs][progress] Label all demo components (#48143) @mj12albert
65
+ - [docs-infra] Add x-scheduler to component API URL resolver (#48097) @rita-codes
66
+ - [docs-infra] Resolve some redirects (#48165) @Janpot
67
+ - [docs-infra] Update v9 Search Index (#48028) @dav-is
68
+
69
+ ### Core
70
+
71
+ - [code-infra] Discover exports for bundle size report (#48170) @Janpot
72
+ - [internal] Fix use of ellipsis (#48096) @oliviertassinari
73
+ - [test] Add screenshot test for Virtualized Table (#47947) @mnajdova
74
+ - [test] Remove `componentsProp` from `describeConformance` tests (#48142) @ZeeshanTamboli
75
+ - [theme] Do not create channel tokens for custom colors when `nativeColor` is used (#47765) @ZeeshanTamboli
76
+
77
+ All contributors of this release in alphabetical order: @adiitxa, @arminmeh, @dav-is, @Janpot, @mj12albert, @mnajdova, @oliviertassinari, @rita-codes, @sai6855, @silviuaavram, @ZeeshanTamboli
78
+
3
79
  ## 9.0.0-beta.0
4
80
 
5
81
  <!-- generated comparing v9.0.0-alpha.4..master -->
package/Grid/Grid.js CHANGED
@@ -45,11 +45,16 @@ process.env.NODE_ENV !== "production" ? Grid.propTypes /* remove-proptypes */ =
45
45
  */
46
46
  container: _propTypes.default.bool,
47
47
  /**
48
- * Defines the `flex-direction` style property.
49
- * It is applied for all screen sizes.
48
+ * Defines the `flex-direction` style property for the container.
49
+ *
50
+ * ⚠️ Only `row` and `row-reverse` are supported. `column` and `column-reverse` are not supported,
51
+ * because the Grid component is designed to subdivide layouts into **columns**, not rows.
52
+ *
53
+ * For vertical layouts, use `Stack` instead.
54
+ *
50
55
  * @default 'row'
51
56
  */
52
- direction: _propTypes.default /* @typescript-to-proptypes-ignore */.oneOfType([_propTypes.default.oneOf(['column-reverse', 'column', 'row-reverse', 'row']), _propTypes.default.arrayOf(_propTypes.default.oneOf(['column-reverse', 'column', 'row-reverse', 'row'])), _propTypes.default.object]),
57
+ direction: _propTypes.default /* @typescript-to-proptypes-ignore */.oneOfType([_propTypes.default.oneOf(['row-reverse', 'row']), _propTypes.default.arrayOf(_propTypes.default.oneOf(['row-reverse', 'row'])), _propTypes.default.object]),
53
58
  /**
54
59
  * Defines the offset value for the type `item` components.
55
60
  */
package/Grid/Grid.mjs CHANGED
@@ -39,11 +39,16 @@ process.env.NODE_ENV !== "production" ? Grid.propTypes /* remove-proptypes */ =
39
39
  */
40
40
  container: PropTypes.bool,
41
41
  /**
42
- * Defines the `flex-direction` style property.
43
- * It is applied for all screen sizes.
42
+ * Defines the `flex-direction` style property for the container.
43
+ *
44
+ * ⚠️ Only `row` and `row-reverse` are supported. `column` and `column-reverse` are not supported,
45
+ * because the Grid component is designed to subdivide layouts into **columns**, not rows.
46
+ *
47
+ * For vertical layouts, use `Stack` instead.
48
+ *
44
49
  * @default 'row'
45
50
  */
46
- direction: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['column-reverse', 'column', 'row-reverse', 'row']), PropTypes.arrayOf(PropTypes.oneOf(['column-reverse', 'column', 'row-reverse', 'row'])), PropTypes.object]),
51
+ direction: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['row-reverse', 'row']), PropTypes.arrayOf(PropTypes.oneOf(['row-reverse', 'row'])), PropTypes.object]),
47
52
  /**
48
53
  * Defines the offset value for the type `item` components.
49
54
  */
@@ -3,7 +3,7 @@ import { OverrideProps, PartiallyRequired } from '@mui/types';
3
3
  import { SxProps } from "../styleFunctionSx/index.mjs";
4
4
  import { Theme, Breakpoint } from "../createTheme/index.mjs";
5
5
  type ResponsiveStyleValue<T> = T | Array<T | null> | { [key in Breakpoint]?: T | null };
6
- export type GridDirection = 'row' | 'row-reverse' | 'column' | 'column-reverse';
6
+ export type GridDirection = 'row' | 'row-reverse';
7
7
  export type GridSpacing = number | string;
8
8
  export type GridWrap = 'nowrap' | 'wrap' | 'wrap-reverse';
9
9
  export type GridSize = 'auto' | 'grow' | number | false;
@@ -30,8 +30,13 @@ export interface GridBaseProps {
30
30
  */
31
31
  container?: boolean | undefined;
32
32
  /**
33
- * Defines the `flex-direction` style property.
34
- * It is applied for all screen sizes.
33
+ * Defines the `flex-direction` style property for the container.
34
+ *
35
+ * ⚠️ Only `row` and `row-reverse` are supported. `column` and `column-reverse` are not supported,
36
+ * because the Grid component is designed to subdivide layouts into **columns**, not rows.
37
+ *
38
+ * For vertical layouts, use `Stack` instead.
39
+ *
35
40
  * @default 'row'
36
41
  */
37
42
  direction?: ResponsiveStyleValue<GridDirection> | undefined;
@@ -3,7 +3,7 @@ import { OverrideProps, PartiallyRequired } from '@mui/types';
3
3
  import { SxProps } from "../styleFunctionSx/index.js";
4
4
  import { Theme, Breakpoint } from "../createTheme/index.js";
5
5
  type ResponsiveStyleValue<T> = T | Array<T | null> | { [key in Breakpoint]?: T | null };
6
- export type GridDirection = 'row' | 'row-reverse' | 'column' | 'column-reverse';
6
+ export type GridDirection = 'row' | 'row-reverse';
7
7
  export type GridSpacing = number | string;
8
8
  export type GridWrap = 'nowrap' | 'wrap' | 'wrap-reverse';
9
9
  export type GridSize = 'auto' | 'grow' | number | false;
@@ -30,8 +30,13 @@ export interface GridBaseProps {
30
30
  */
31
31
  container?: boolean | undefined;
32
32
  /**
33
- * Defines the `flex-direction` style property.
34
- * It is applied for all screen sizes.
33
+ * Defines the `flex-direction` style property for the container.
34
+ *
35
+ * ⚠️ Only `row` and `row-reverse` are supported. `column` and `column-reverse` are not supported,
36
+ * because the Grid component is designed to subdivide layouts into **columns**, not rows.
37
+ *
38
+ * For vertical layouts, use `Stack` instead.
39
+ *
35
40
  * @default 'row'
36
41
  */
37
42
  direction?: ResponsiveStyleValue<GridDirection> | undefined;
package/README.md CHANGED
@@ -9,11 +9,11 @@ Install the package in your project directory with:
9
9
  <!-- #npm-tag-reference -->
10
10
 
11
11
  ```bash
12
- npm install @mui/system@next @emotion/react @emotion/styled
12
+ npm install @mui/system @emotion/react @emotion/styled
13
13
  ```
14
14
 
15
15
  ## Documentation
16
16
 
17
17
  <!-- #host-reference -->
18
18
 
19
- Visit [https://next.mui.com/system/getting-started/](https://next.mui.com/system/getting-started/) to view the full documentation.
19
+ Visit [https://mui.com/system/getting-started/](https://mui.com/system/getting-started/) to view the full documentation.
@@ -26,13 +26,13 @@ export interface Breakpoints {
26
26
  /**
27
27
  * @param key - A breakpoint key (`xs`, `sm`, etc.) or a screen width number in px.
28
28
  * @returns A media query string ready to be used with most styling solutions, which matches screen widths greater than the screen size given by the breakpoint key (inclusive).
29
- * @see [API documentation](https://next.mui.com/material-ui/customization/breakpoints/#theme-breakpoints-up-key-media-query)
29
+ * @see [API documentation](https://mui.com/material-ui/customization/breakpoints/#theme-breakpoints-up-key-media-query)
30
30
  */
31
31
  up: (key: Breakpoint | number) => string;
32
32
  /**
33
33
  * @param key - A breakpoint key (`xs`, `sm`, etc.) or a screen width number in px.
34
34
  * @returns A media query string ready to be used with most styling solutions, which matches screen widths less than the screen size given by the breakpoint key (exclusive).
35
- * @see [API documentation](https://next.mui.com/material-ui/customization/breakpoints/#theme-breakpoints-down-key-media-query)
35
+ * @see [API documentation](https://mui.com/material-ui/customization/breakpoints/#theme-breakpoints-down-key-media-query)
36
36
  */
37
37
  down: (key: Breakpoint | number) => string;
38
38
  /**
@@ -40,14 +40,14 @@ export interface Breakpoints {
40
40
  * @param end - A breakpoint key (`xs`, `sm`, etc.) or a screen width number in px.
41
41
  * @returns A media query string ready to be used with most styling solutions, which matches screen widths greater than
42
42
  * the screen size given by the breakpoint key in the first argument (inclusive) and less than the screen size given by the breakpoint key in the second argument (exclusive).
43
- * @see [API documentation](https://next.mui.com/material-ui/customization/breakpoints/#theme-breakpoints-between-start-end-media-query)
43
+ * @see [API documentation](https://mui.com/material-ui/customization/breakpoints/#theme-breakpoints-between-start-end-media-query)
44
44
  */
45
45
  between: (start: Breakpoint | number, end: Breakpoint | number) => string;
46
46
  /**
47
47
  * @param key - A breakpoint key (`xs`, `sm`, etc.) or a screen width number in px.
48
48
  * @returns A media query string ready to be used with most styling solutions, which matches screen widths starting from
49
49
  * the screen size given by the breakpoint key (inclusive) and stopping at the screen size given by the next breakpoint key (exclusive).
50
- * @see [API documentation](https://next.mui.com/material-ui/customization/breakpoints/#theme-breakpoints-only-key-media-query)
50
+ * @see [API documentation](https://mui.com/material-ui/customization/breakpoints/#theme-breakpoints-only-key-media-query)
51
51
  */
52
52
  only: (key: Breakpoint) => string;
53
53
  /**
@@ -26,13 +26,13 @@ export interface Breakpoints {
26
26
  /**
27
27
  * @param key - A breakpoint key (`xs`, `sm`, etc.) or a screen width number in px.
28
28
  * @returns A media query string ready to be used with most styling solutions, which matches screen widths greater than the screen size given by the breakpoint key (inclusive).
29
- * @see [API documentation](https://next.mui.com/material-ui/customization/breakpoints/#theme-breakpoints-up-key-media-query)
29
+ * @see [API documentation](https://mui.com/material-ui/customization/breakpoints/#theme-breakpoints-up-key-media-query)
30
30
  */
31
31
  up: (key: Breakpoint | number) => string;
32
32
  /**
33
33
  * @param key - A breakpoint key (`xs`, `sm`, etc.) or a screen width number in px.
34
34
  * @returns A media query string ready to be used with most styling solutions, which matches screen widths less than the screen size given by the breakpoint key (exclusive).
35
- * @see [API documentation](https://next.mui.com/material-ui/customization/breakpoints/#theme-breakpoints-down-key-media-query)
35
+ * @see [API documentation](https://mui.com/material-ui/customization/breakpoints/#theme-breakpoints-down-key-media-query)
36
36
  */
37
37
  down: (key: Breakpoint | number) => string;
38
38
  /**
@@ -40,14 +40,14 @@ export interface Breakpoints {
40
40
  * @param end - A breakpoint key (`xs`, `sm`, etc.) or a screen width number in px.
41
41
  * @returns A media query string ready to be used with most styling solutions, which matches screen widths greater than
42
42
  * the screen size given by the breakpoint key in the first argument (inclusive) and less than the screen size given by the breakpoint key in the second argument (exclusive).
43
- * @see [API documentation](https://next.mui.com/material-ui/customization/breakpoints/#theme-breakpoints-between-start-end-media-query)
43
+ * @see [API documentation](https://mui.com/material-ui/customization/breakpoints/#theme-breakpoints-between-start-end-media-query)
44
44
  */
45
45
  between: (start: Breakpoint | number, end: Breakpoint | number) => string;
46
46
  /**
47
47
  * @param key - A breakpoint key (`xs`, `sm`, etc.) or a screen width number in px.
48
48
  * @returns A media query string ready to be used with most styling solutions, which matches screen widths starting from
49
49
  * the screen size given by the breakpoint key (inclusive) and stopping at the screen size given by the next breakpoint key (exclusive).
50
- * @see [API documentation](https://next.mui.com/material-ui/customization/breakpoints/#theme-breakpoints-only-key-media-query)
50
+ * @see [API documentation](https://mui.com/material-ui/customization/breakpoints/#theme-breakpoints-only-key-media-query)
51
51
  */
52
52
  only: (key: Breakpoint) => string;
53
53
  /**
package/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/system v9.0.0-beta.0
2
+ * @mui/system v9.0.0
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
package/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/system v9.0.0-beta.0
2
+ * @mui/system v9.0.0
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
package/package.json CHANGED
@@ -1,8 +1,9 @@
1
1
  {
2
2
  "name": "@mui/system",
3
- "version": "9.0.0-beta.0",
3
+ "version": "9.0.0",
4
4
  "author": "MUI Team",
5
5
  "description": "MUI System is a set of CSS utilities to help you build custom designs more efficiently. It makes it possible to rapidly lay out custom designs.",
6
+ "license": "MIT",
6
7
  "keywords": [
7
8
  "react",
8
9
  "react-component",
@@ -14,7 +15,6 @@
14
15
  "url": "git+https://github.com/mui/material-ui.git",
15
16
  "directory": "packages/mui-system"
16
17
  },
17
- "license": "MIT",
18
18
  "bugs": {
19
19
  "url": "https://github.com/mui/material-ui/issues"
20
20
  },
@@ -28,10 +28,10 @@
28
28
  "clsx": "^2.1.1",
29
29
  "csstype": "^3.2.3",
30
30
  "prop-types": "^15.8.1",
31
- "@mui/private-theming": "9.0.0-beta.0",
32
- "@mui/styled-engine": "9.0.0-beta.0",
33
- "@mui/types": "^9.0.0-beta.0",
34
- "@mui/utils": "9.0.0-beta.0"
31
+ "@mui/private-theming": "^9.0.0",
32
+ "@mui/styled-engine": "^9.0.0",
33
+ "@mui/utils": "^9.0.0",
34
+ "@mui/types": "^9.0.0"
35
35
  },
36
36
  "peerDependencies": {
37
37
  "@emotion/react": "^11.5.0",
package/version/index.js CHANGED
@@ -4,9 +4,9 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.version = exports.prerelease = exports.patch = exports.minor = exports.major = exports.default = void 0;
7
- const version = exports.version = "9.0.0-beta.0";
7
+ const version = exports.version = "9.0.0";
8
8
  const major = exports.major = Number("9");
9
9
  const minor = exports.minor = Number("0");
10
10
  const patch = exports.patch = Number("0");
11
- const prerelease = exports.prerelease = "beta.0";
11
+ const prerelease = exports.prerelease = undefined;
12
12
  var _default = exports.default = version;
package/version/index.mjs CHANGED
@@ -1,6 +1,6 @@
1
- export const version = "9.0.0-beta.0";
1
+ export const version = "9.0.0";
2
2
  export const major = Number("9");
3
3
  export const minor = Number("0");
4
4
  export const patch = Number("0");
5
- export const prerelease = "beta.0";
5
+ export const prerelease = undefined;
6
6
  export default version;