@mui/utils 9.5.0 → 10.0.0-alpha.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,88 +1,100 @@
1
1
  # [Versions](https://mui.com/material-ui/getting-started/versions/)
2
2
 
3
- ## 9.5.0
3
+ ## 10.0.0-alpha.0
4
4
 
5
- <!-- generated comparing v9.4.0..v9.x -->
5
+ <!-- generated comparing v9.4.0..master -->
6
6
 
7
7
  _Oct 9, 2026_
8
8
 
9
- A big thanks to the 28 contributors who made this release possible. Here are some highlights ✨:
9
+ A big thanks to the 30 contributors who made this release possible. Here are some highlights ✨:
10
10
 
11
- - ⚙️ Support [values other than raw options](https://mui.com/material-ui/react-autocomplete/#object-options-with-primitive-values) for Autocomplete via the `getOptionValue` prop.
11
+ - ⚙️ Support [values other than raw options](https://next.mui.com/material-ui/react-autocomplete/#object-options-with-primitive-values) for Autocomplete via the `getOptionValue` prop.
12
+ - ♿️ Extend the theme's [focus indicator](https://next.mui.com/material-ui/customization/focus-visible/) to `InputBase` and text fields with `disableUnderline` via `theme.focusVisible`.
12
13
 
13
- ### `@mui/material@9.5.0`
14
+ ### `@mui/material@10.0.0-alpha.0`
14
15
 
15
- - Add missing override interfaces for `slotProps` (#49345) @sai6855
16
+ #### Breaking Changes
17
+
18
+ - [autocomplete] Change the default popup Paper elevation from 1 to 8 (#49110) @namansancheti
19
+
20
+ #### Changes
21
+
22
+ - Add missing override interfaces for `slotProps` (#49343) @sai6855
16
23
  - Export private focus-visible utilities (#49139) @siriwatknp
17
- - Fix `onClose` types for Menu, Snackbar, and SwipeableDrawer (#49351) @Janpot
18
- - Fix slot handling in Autocomplete chips, TextField `inputLabel`, and NativeSelect `input` (#49354) @Janpot
19
- - Fix theme `defaultProps` and missing exports (#49342) @Janpot
20
- - Remove unnecessary `Omit` types (#49338) @sai6855
21
- - [autocomplete] Lazily derive the initial input value (#49192) @OskarEichler
24
+ - Fix `onClose` types for Menu, Snackbar, and SwipeableDrawer (#49340) @Janpot
25
+ - Fix slot handling in Autocomplete chips, TextField `inputLabel`, and NativeSelect `input` (#49336) @Janpot
26
+ - Fix theme `defaultProps` and missing exports (#49332) @Janpot
27
+ - Remove unnecessary `Omit` types (#49328) @sai6855
28
+ - [autocomplete] Lazily derive the initial input value (#49057) @OskarEichler
22
29
  - [autocomplete] Prevent crash when changing `groupBy` (#49150) @silviuaavram
23
- - [autocomplete] Stop filtering once the result limit is reached (#49312) @valkiara
24
- - [autocomplete] Support values other than raw options (#49313) @silviuaavram
25
- - [avatargroup] Improve TypeScript performance when using `slotProps` (#49213) (#49215) @sai6855
26
- - [bottomnavigationaction] Document the `selected` prop (#49190) (#49196) @sai6855
30
+ - [autocomplete] Stop filtering once the result limit is reached (#49295) @valkiara
31
+ - [autocomplete] Support values other than raw options (#49078) @silviuaavram
32
+ - [avatargroup] Improve TypeScript performance when using `slotProps` (#49213) @sai6855
33
+ - [bottomnavigationaction] Document the `selected` prop (#49190) @siriwatknp
27
34
  - [breadcrumbs] Build separators in one pass (#49058) @OskarEichler
28
35
  - [button] Fix loading-position style leaking to non-loading buttons (#49182) @siriwatknp
29
- - [button] Simplify `ExtendButton` type (#49366) @sai6855
36
+ - [button] Simplify `ExtendButton` type (#49364) @sai6855
30
37
  - [buttonbase] Fix LazyRipple retaining event objects when ripples are disabled (#49000) @dizhurnikita
31
38
  - [checkbox] Set the native indeterminate state on the input (#49053) @lazerg
32
- - [dialogcontent] Render the `theme.focusVisible` ring on the scrollable content (#49319) @siriwatknp
33
- - [inputbase] Fix `slotProps.input` event handlers and ref being ignored (#49341) @Janpot
34
- - [link] Remove unwanted `Omit` type (#49339) @sai6855
39
+ - [dialogcontent] Render the `theme.focusVisible` ring on the scrollable content (#49311) @siriwatknp
40
+ - [inputbase] Fix `slotProps.input` event handlers and ref being ignored (#49333) @Janpot
41
+ - [link] Remove unwanted `Omit` type (#49331) @sai6855
35
42
  - [link] Revert to `color-mix` when underline color is not accepted (#49077) @silviuaavram
36
- - [modal] Prevent `aria-hidden` from being applied to non-portal modals (#49195) @ZeeshanTamboli
43
+ - [modal] Prevent `aria-hidden` from being applied to non-portal modals (#49026) @ZeeshanTamboli
37
44
  - [select] Fix flaky opening mouseup timing (#49024) @michelengelen
38
- - [skeleton] Fix the background fallback with CSS theme variables (#49367) @aarongarciah
39
- - [slider] Fix `disableSwap` when a neighboring thumb is at 0 (#49246) @kwy404
40
- - [snackbar][speeddial] Remove unnecessary `Omit` in props definitions (#49272) @sai6855
41
- - [speeddial] Fix horizontal persistent tooltip placement (#49238) @Cunninger
45
+ - [skeleton] Fix the background fallback with CSS theme variables (#49322) @aarongarciah
46
+ - [slider] Fix `disableSwap` when a neighboring thumb is at 0 (#49234) @kwy404
47
+ - [snackbar][speeddial] Remove unnecessary `Omit` in props definitions (#49214) @sai6855
48
+ - [speeddial] Fix horizontal persistent tooltip placement (#49073) @Cunninger
42
49
  - [speeddial] Support action slot object refs (#49056) @OskarEichler
43
50
  - [table] Improve accessibility for the pagination buttons (#49112) @silviuaavram
44
- - [tablepaginationactions] Align common types with other components (#49348) @sai6855
45
- - [tabs] Derive mounted state from the indicator style instead of setting it in an effect (#49326) @ZeeshanTamboli
51
+ - [tablepaginationactions] Align common types with other components (#49347) @sai6855
52
+ - [tabs] Derive mounted state from the indicator style instead of setting it in an effect (#49324) @ZeeshanTamboli
46
53
  - [tabs] Fix selected tab not scrolling into view when scroll buttons appear in auto mode (#48489) @starboyvarun
47
54
  - [tabs] Respect `scroll-padding` when scrolling the selected tab into view (#49039) @crispinc-omnea
48
55
  - [textfield] Add theme CSS variable for autofill `box-shadow` (#47472) @ludij
49
- - [theme] Fix `theme.alpha()` for raw colors with CSS variables (#49320) @siriwatknp
50
- - [theme] Fix theming outliers in Paper, BreadcrumbCollapsed, TablePagination, and Tooltip (#49356) @Janpot
51
- - [theme] Keep CSS variable fallbacks in `theme.alpha()` (#49368) @aarongarciah
56
+ - [theme] Fix `theme.alpha()` for raw colors with CSS variables (#49273) @siriwatknp
57
+ - [theme] Fix theming outliers in Paper, BreadcrumbCollapsed, TablePagination, and Tooltip (#49335) @Janpot
58
+ - [theme] Keep CSS variable fallbacks in `theme.alpha()` (#49297) @aarongarciah
59
+ - [theme] Render the `theme.focusVisible` ring on inputs (#49152) @siriwatknp
52
60
 
53
- ### `@mui/icons-material@9.5.0`
61
+ ### `@mui/icons-material@10.0.0-alpha.0`
54
62
 
55
- - Center the WarningRounded icon within its `viewBox` (#49203) @itd-mb
63
+ - Center the WarningRounded icon within its `viewBox` (#49043) @itd-mb
56
64
 
57
- ### `@mui/system@9.5.0`
65
+ ### `@mui/system@10.0.0-alpha.0`
58
66
 
59
67
  - Remove duplicated `filterProps` mapping in `getThemeValue` (#48640) @sai6855
60
68
  - Resolve InitColorSchemeScript `%s` placeholder at build time (#49113) @Janpot
61
69
  - Serialize InitColorSchemeScript configuration values (#49091) @Janpot
62
70
 
63
- ### `@mui/utils@9.5.0`
71
+ ### `@mui/utils@10.0.0-alpha.0`
64
72
 
65
- - Document the deprecated `slotState` parameter and add `resolveComponentProps` tests (#49240) @usamabhatti1998
73
+ - Document the deprecated `slotState` parameter and add `resolveComponentProps` tests (#49137) @usamabhatti1998
66
74
  - Improve `mergeSlotProps` performance (#48002) @mj12albert
67
75
 
68
- ### `@mui/types@9.5.0`
76
+ ### `@mui/types@10.0.0-alpha.0`
69
77
 
70
- - Remove invalid `number` type from supported `OverridableStringUnion` type arguments (#49307) @sai6855
78
+ - Remove invalid `number` type from supported `OverridableStringUnion` type arguments (#49278) @sai6855
71
79
 
72
- ### `@mui/lab@9.0.0-beta.10`
80
+ ### `@mui/lab@10.0.0-alpha.0`
73
81
 
74
- - [masonry] Fix styles with CSS theme variables (#49330) @aarongarciah
82
+ - [masonry] Fix styles with CSS theme variables (#49294) @aarongarciah
75
83
  - [timelineitem] Keep the spacer selector at one class of specificity (#49028) @Janpot
76
84
 
77
- ### `@mui/codemod@9.5.0`
85
+ ### `@mui/codemod@10.0.0-alpha.0`
78
86
 
79
87
  - Upgrade required Node.js version in the `engines` field (#49070) @ZeeshanTamboli
80
- - [formcontrollabel] Stop migrating `ActionsComponent` and remove `inputRef` (#49358) @Janpot
88
+ - [formcontrollabel] Stop migrating `ActionsComponent` and remove `inputRef` (#49334) @Janpot
89
+
90
+ ### `@mui/material-nextjs@10.0.0-alpha.0`
91
+
92
+ - Escape the `</style>` tag in server-rendered style output (#49183) @Janpot
81
93
 
82
94
  ### Docs
83
95
 
84
- - Add the accessibility conformance report page (#49267) @michelengelen
85
- - Add v10 as the next version (#49293) @silviuaavram
96
+ - Add the accessibility conformance report page (#48926) @michelengelen
97
+ - Add the v10 migration guide (#49349) @silviuaavram
86
98
  - Allow reopening cookie preferences from a URL hash (#49124) @brijeshb42
87
99
  - Clarify how to restore icon `data-testid` attributes in the v7 migration guide (#49109) @alexfauquette
88
100
  - Fix @mui/lab version in v7.3.6 changelog (#49145) @mateuseap
@@ -90,53 +102,67 @@ A big thanks to the 28 contributors who made this release possible. Here are som
90
102
  - Fix the dead Popper.js documentation links (#49081) @lazerg
91
103
  - Fix the LLM generated docs paths (#49076) @silviuaavram
92
104
  - Improve accessibility for checkbox lists (#49111) @silviuaavram
93
- - Warn about untrusted values in the `sx` prop (#49212) @Janpot
105
+ - Warn about untrusted values in the `sx` prop (#49199) @Janpot
94
106
  - [autocomplete] Add removal and navigation ARIA descriptions to Chip examples (#49086) @silviuaavram
107
+ - [backdrop] Move Backdrop to Utils and clarify it is a low-level utility (#49072) @webernir
95
108
  - [drawer] Add accessible names to close buttons (#49161) @sai6855
96
- - [material-icons] Add `frame` synonym for the Portrait icon (#49211) @Janpot
97
- - [material-icons] Improve icon search performance (#49206) @oliviertassinari
109
+ - [material-icons] Add `frame` synonym for the Portrait icon (#49201) @Janpot
110
+ - [material-icons] Improve icon search performance (#44450) @oliviertassinari
98
111
  - [numberfield] Document the `format` prop for units and currency (#49160) @Denimworld12
99
- - [snackbar] Demonstrate Escape handling inside a dialog (#49352) @minwookshin
112
+ - [snackbar] Demonstrate Escape handling inside a dialog (#49306) @minwookshin
100
113
  - [system] Avoid `any` when spreading the `sx` prop (#49083) @LeusMaximus
101
114
 
102
115
  ### Core
103
116
 
104
117
  - [ci] Add Claude PR review via mui-public reusable workflow (#49037) @Janpot
118
+ - [ci] Add the Claude CI flake-fix caller (#49197) @Janpot
119
+ - [code-infra] Add the release skill (#48938) @brijeshb42
120
+ - [code-infra] Backport #target-branch-reference to docs `package.json` (#49372) @silviuaavram
121
+ - [code-infra] Backport #target-branch-references to master (#49194) @silviuaavram
122
+ - [code-infra] Bump @types/node to 22 and group it with Node.js in Renovate (#49189) @Janpot
105
123
  - [code-infra] Compare the nightly React runs with the stable Argos build (#49123) @LukasTy
106
124
  - [code-infra] Consume shared commands from code-infra orb (#49082) @brijeshb42
107
125
  - [code-infra] Convert @mui/lab to TypeScript (#49140) @Janpot
108
126
  - [code-infra] Convert @mui/material internal svg-icons to TypeScript (#49143) @Janpot
109
127
  - [code-infra] Convert remaining @mui/system .js+.d.ts pairs to TypeScript (part 2) (#48699) @Janpot
110
- - [code-infra] Fix `package.json` metadata (#49325) @Janpot
111
- - [code-infra] Include cherry-picks in the changelog (#49377) @brijeshb42
112
- - [code-infra] Migrate to Babel 8 (#49216) @brijeshb42
113
- - [code-infra] Pin the Argos baseline to v9.x (#49316) @Janpot
128
+ - [code-infra] Enable pnpm `autoDedupe` (#49242) @Janpot
129
+ - [code-infra] Fix Autocomplete JSDoc links after a stale merge (#49315) @silviuaavram
130
+ - [code-infra] Fix `package.json` metadata (#49243) @Janpot
131
+ - [code-infra] Include cherry-picks in the changelog (#49375) @brijeshb42
132
+ - [code-infra] Mark the Argos reference branch for release branch cuts (#49317) @Janpot
133
+ - [code-infra] Migrate to Babel 8 (#49162) @brijeshb42
114
134
  - [code-infra] Pin the only-allow version in the preinstall hook (#49114) @Janpot
135
+ - [code-infra] Prune stale `minimumReleaseAgeExclude` entries (#49178) @Janpot
136
+ - [code-infra] Remove the legacy mark-duplicate workflow (#49363) @brijeshb42
115
137
  - [code-infra] Run TypeScript 7 alongside the TS6 JS API (#49075) @brijeshb42
116
- - [code-infra] Ship documentation Markdown inside the @mui/material package (#49314) @Janpot
117
- - [code-infra] Show progress and rate limit retry time in `release:changelog` (#49379) @Janpot
118
- - [code-infra] Update #target-branch-reference for v9.x branch (#49191) @silviuaavram
119
- - [code-infra] Widen @babel/runtime range and stop emitting empty class fields (#49276) @brijeshb42
138
+ - [code-infra] Ship documentation Markdown inside the @mui/material package (#48722) @Janpot
139
+ - [code-infra] Show progress and rate limit retry time in `release:changelog` (#49376) @Janpot
140
+ - [code-infra] Update deprecated options in the Vitest test configuration (#49193) @ZeeshanTamboli
141
+ - [code-infra] Widen @babel/runtime range and stop emitting empty class fields (#49241) @brijeshb42
120
142
  - [core] Remove the leftover canary release script (#49163) @Janpot
121
143
  - [core] Replace @mui/internal-waterfall with es-toolkit (#49155) @Janpot
122
- - [core] Update release publish tags from `next` to `latest` (#49381) @mnajdova
123
- - [docs-infra] Generate the accessibility Known gaps table (#49355) @michelengelen
144
+ - [docs-infra] Derive accessibility report data from defaults and tests (#49271) @JCQuintas
145
+ - [docs-infra] Generate the accessibility Known gaps table (#49265) @michelengelen
124
146
  - [docs-infra] Harden the OG image edge function (#49116) @Janpot
147
+ - [docs-infra] Keep generated LLM docs on filtered runs (#49290) @Janpot
125
148
  - [docs-infra] Make core-docs agnostic of styled-components (#49138) @Janpot
126
149
  - [docs-infra] Migrate deploy-succeeded to event-triggered function (#49158) @brijeshb42
127
150
  - [docs-infra] Pin StackBlitz demo vite to v7 and plugin-react to v5 (#49151) @Janpot
128
151
  - [docs-infra] Rate-limit the documentation feedback endpoint (#49115) @Janpot
129
- - [docs-infra] Retire the docs service worker (#49202) @Janpot
130
- - [docs-infra] Update the deploy script to fetch from the v9.x branch (#49371) @mnajdova
152
+ - [docs-infra] Retire the docs service worker (#49188) @Janpot
153
+ - [docs-infra] Use JSON as the source of truth for the accessibility reports (#49270) @michelengelen
131
154
  - [docs-infra] Validate docs feedback content before posting to Slack (#49088) @Janpot
155
+ - [internal] Prepare master for the alpha release (#49284) @silviuaavram
132
156
  - [material] Convert colors to TypeScript (#49180) @Janpot
133
157
  - [material] Convert utils and six barrels to TypeScript (#49185) @Janpot
134
158
  - [test] Add a palette contrast contract for the accessibility reports (#49049) @michelengelen
135
159
  - [test] Add a visual regression fixture for the DocSearch modal (#49002) @LukasTy
136
- - [test] Automate WCAG 2.4.7 Focus Visible checks (#49268) @michelengelen
160
+ - [test] Automate WCAG 2.4.7 Focus Visible checks (#48945) @michelengelen
137
161
  - [test] Fix flaky DocSearch modal screenshots (#49122) @LukasTy
138
162
  - [test] Fix Vitest imports (#49184) @silviuaavram
139
- - [test] Load the regression fonts from npm instead of Google Fonts (#49357) @Janpot
163
+ - [test] Load the regression fonts from npm instead of Google Fonts (#49310) @Janpot
164
+ - [test] Make regression screenshot rasterization deterministic (#49208) @Janpot
165
+ - [test] Roll the component reports up into a library scorecard (#48925) @michelengelen
140
166
  - [test] Run module augmentation tests against built declarations (#49142) @LukasTy
141
167
  - [test][accordion] Add axe tests and WCAG conformance reports (#48924) @michelengelen
142
168
  - [test][avatar] Add axe tests and WCAG conformance report (#48917) @michelengelen
@@ -151,7 +177,7 @@ A big thanks to the 28 contributors who made this release possible. Here are som
151
177
  - [test][textfield] Add axe tests and WCAG conformance report (#48923) @michelengelen
152
178
  - [test][togglebutton] Add axe tests and WCAG conformance reports (#48921) @michelengelen
153
179
 
154
- All contributors of this release in alphabetical order: @aarongarciah, @alexfauquette, @brijeshb42, @crispinc-omnea, @Cunninger, @Denimworld12, @dizhurnikita, @itd-mb, @Janpot, @kwy404, @lazerg, @LeusMaximus, @ludij, @LukasTy, @mateuseap, @michelengelen, @minwookshin, @mj12albert, @mnajdova, @oliviertassinari, @OskarEichler, @sai6855, @silviuaavram, @siriwatknp, @starboyvarun, @usamabhatti1998, @valkiara, @ZeeshanTamboli
180
+ All contributors of this release in alphabetical order: @aarongarciah, @alexfauquette, @brijeshb42, @crispinc-omnea, @Cunninger, @Denimworld12, @dizhurnikita, @itd-mb, @Janpot, @JCQuintas, @kwy404, @lazerg, @LeusMaximus, @ludij, @LukasTy, @mateuseap, @michelengelen, @minwookshin, @mj12albert, @namansancheti, @oliviertassinari, @OskarEichler, @sai6855, @silviuaavram, @siriwatknp, @starboyvarun, @usamabhatti1998, @valkiara, @webernir, @ZeeshanTamboli
155
181
 
156
182
  ## 9.4.0
157
183
 
@@ -46,7 +46,7 @@ function elementTypeAcceptingRef(props, propName, componentName, location, propF
46
46
  }
47
47
  if (warningHint !== undefined) {
48
48
  // #host-reference
49
- return new Error(`Invalid ${location} \`${safePropName}\` supplied to \`${componentName}\`. ` + `Expected an element type that can hold a ref. ${warningHint} ` + 'For more information see https://mui.com/r/caveat-with-refs-guide');
49
+ return new Error(`Invalid ${location} \`${safePropName}\` supplied to \`${componentName}\`. ` + `Expected an element type that can hold a ref. ${warningHint} ` + 'For more information see https://next.mui.com/r/caveat-with-refs-guide');
50
50
  }
51
51
  return null;
52
52
  }
@@ -38,7 +38,7 @@ function elementTypeAcceptingRef(props, propName, componentName, location, propF
38
38
  }
39
39
  if (warningHint !== undefined) {
40
40
  // #host-reference
41
- return new Error(`Invalid ${location} \`${safePropName}\` supplied to \`${componentName}\`. ` + `Expected an element type that can hold a ref. ${warningHint} ` + 'For more information see https://mui.com/r/caveat-with-refs-guide');
41
+ return new Error(`Invalid ${location} \`${safePropName}\` supplied to \`${componentName}\`. ` + `Expected an element type that can hold a ref. ${warningHint} ` + 'For more information see https://next.mui.com/r/caveat-with-refs-guide');
42
42
  }
43
43
  return null;
44
44
  }
package/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/utils v9.5.0
2
+ * @mui/utils v10.0.0-alpha.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/utils v9.5.0
2
+ * @mui/utils v10.0.0-alpha.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,6 +1,6 @@
1
1
  {
2
2
  "name": "@mui/utils",
3
- "version": "9.5.0",
3
+ "version": "10.0.0-alpha.0",
4
4
  "author": "MUI Team",
5
5
  "description": "Utility functions for React components.",
6
6
  "license": "MIT",
@@ -25,7 +25,7 @@
25
25
  },
26
26
  "dependencies": {
27
27
  "@babel/runtime": "^7.29.7 || ^8.0.5",
28
- "@mui/types": "^9.5.0",
28
+ "@mui/types": "^10.0.0-alpha.0",
29
29
  "@types/prop-types": "^15.7.15",
30
30
  "clsx": "^2.1.1",
31
31
  "prop-types": "^15.8.1",