@mui/material 9.0.1 → 9.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (228) hide show
  1. package/Accordion/Accordion.d.mts +2 -2
  2. package/Accordion/Accordion.d.ts +2 -2
  3. package/Accordion/Accordion.js +3 -2
  4. package/Accordion/Accordion.mjs +3 -2
  5. package/AccordionSummary/AccordionSummary.js +27 -29
  6. package/AccordionSummary/AccordionSummary.mjs +27 -29
  7. package/Autocomplete/Autocomplete.d.mts +5 -1
  8. package/Autocomplete/Autocomplete.d.ts +5 -1
  9. package/Autocomplete/Autocomplete.js +13 -7
  10. package/Autocomplete/Autocomplete.mjs +13 -7
  11. package/Backdrop/Backdrop.d.mts +2 -2
  12. package/Backdrop/Backdrop.d.ts +2 -2
  13. package/Badge/Badge.js +28 -24
  14. package/Badge/Badge.mjs +28 -24
  15. package/BottomNavigationAction/BottomNavigationAction.js +6 -2
  16. package/BottomNavigationAction/BottomNavigationAction.mjs +6 -2
  17. package/Button/Button.js +11 -15
  18. package/Button/Button.mjs +11 -15
  19. package/ButtonBase/Ripple.js +21 -11
  20. package/ButtonBase/Ripple.mjs +21 -11
  21. package/ButtonBase/TouchRipple.js +252 -108
  22. package/ButtonBase/TouchRipple.mjs +253 -109
  23. package/CHANGELOG.md +122 -0
  24. package/CardActionArea/CardActionArea.js +2 -1
  25. package/CardActionArea/CardActionArea.mjs +2 -1
  26. package/Chip/Chip.js +2 -1
  27. package/Chip/Chip.mjs +2 -1
  28. package/CircularProgress/CircularProgress.js +85 -55
  29. package/CircularProgress/CircularProgress.mjs +84 -55
  30. package/Collapse/Collapse.d.mts +15 -3
  31. package/Collapse/Collapse.d.ts +15 -3
  32. package/Collapse/Collapse.js +44 -31
  33. package/Collapse/Collapse.mjs +43 -30
  34. package/Dialog/Dialog.d.mts +2 -2
  35. package/Dialog/Dialog.d.ts +2 -2
  36. package/Dialog/Dialog.js +2 -0
  37. package/Dialog/Dialog.mjs +2 -0
  38. package/Drawer/Drawer.d.mts +2 -2
  39. package/Drawer/Drawer.d.ts +2 -2
  40. package/Fab/Fab.js +2 -1
  41. package/Fab/Fab.mjs +2 -1
  42. package/Fade/Fade.d.mts +15 -2
  43. package/Fade/Fade.d.ts +15 -2
  44. package/Fade/Fade.js +46 -19
  45. package/Fade/Fade.mjs +45 -18
  46. package/FilledInput/FilledInput.js +4 -3
  47. package/FilledInput/FilledInput.mjs +4 -3
  48. package/Grow/Grow.d.mts +15 -2
  49. package/Grow/Grow.d.ts +15 -2
  50. package/Grow/Grow.js +45 -28
  51. package/Grow/Grow.mjs +44 -27
  52. package/IconButton/IconButton.js +2 -1
  53. package/IconButton/IconButton.mjs +2 -1
  54. package/InitColorSchemeScript/InitColorSchemeScript.d.mts +5 -5
  55. package/InitColorSchemeScript/InitColorSchemeScript.d.ts +5 -5
  56. package/Input/Input.js +3 -2
  57. package/Input/Input.mjs +3 -2
  58. package/InputBase/InputBase.js +2 -1
  59. package/InputBase/InputBase.mjs +2 -1
  60. package/InputLabel/InputLabel.js +2 -1
  61. package/InputLabel/InputLabel.mjs +2 -1
  62. package/LICENSE +1 -1
  63. package/LinearProgress/LinearProgress.js +187 -120
  64. package/LinearProgress/LinearProgress.mjs +186 -120
  65. package/ListItem/ListItem.js +2 -1
  66. package/ListItem/ListItem.mjs +2 -1
  67. package/ListItemButton/ListItemButton.js +2 -1
  68. package/ListItemButton/ListItemButton.mjs +2 -1
  69. package/Menu/Menu.d.mts +1 -1
  70. package/Menu/Menu.d.ts +1 -1
  71. package/MobileStepper/MobileStepper.js +2 -1
  72. package/MobileStepper/MobileStepper.mjs +2 -1
  73. package/OutlinedInput/NotchedOutline.js +4 -3
  74. package/OutlinedInput/NotchedOutline.mjs +4 -3
  75. package/PaginationItem/PaginationItem.js +2 -1
  76. package/PaginationItem/PaginationItem.mjs +2 -1
  77. package/Paper/Paper.js +2 -1
  78. package/Paper/Paper.mjs +2 -1
  79. package/Popover/Popover.d.mts +1 -1
  80. package/Popover/Popover.d.ts +1 -1
  81. package/README.md +3 -2
  82. package/Radio/RadioButtonIcon.js +3 -2
  83. package/Radio/RadioButtonIcon.mjs +3 -2
  84. package/Rating/Rating.js +2 -1
  85. package/Rating/Rating.mjs +2 -1
  86. package/Select/SelectInput.js +115 -25
  87. package/Select/SelectInput.mjs +115 -25
  88. package/Select/utils/SelectFocusSourceContext.d.mts +2 -2
  89. package/Select/utils/SelectFocusSourceContext.d.ts +2 -2
  90. package/Select/utils/closedTypeahead.js +73 -0
  91. package/Select/utils/closedTypeahead.mjs +63 -0
  92. package/Skeleton/Skeleton.js +22 -2
  93. package/Skeleton/Skeleton.mjs +22 -2
  94. package/Slide/Slide.d.mts +15 -2
  95. package/Slide/Slide.d.ts +15 -2
  96. package/Slide/Slide.js +53 -25
  97. package/Slide/Slide.mjs +52 -24
  98. package/Slider/Slider.js +4 -3
  99. package/Slider/Slider.mjs +4 -3
  100. package/Slider/SliderValueLabel.d.mts +2 -2
  101. package/Slider/SliderValueLabel.d.ts +2 -2
  102. package/Slider/useSlider.js +1 -1
  103. package/Slider/useSlider.mjs +1 -1
  104. package/Snackbar/Snackbar.d.mts +2 -2
  105. package/Snackbar/Snackbar.d.ts +2 -2
  106. package/SpeedDial/SpeedDial.d.mts +1 -1
  107. package/SpeedDial/SpeedDial.d.ts +1 -1
  108. package/SpeedDial/SpeedDial.js +6 -2
  109. package/SpeedDial/SpeedDial.mjs +6 -2
  110. package/SpeedDialAction/SpeedDialAction.js +11 -2
  111. package/SpeedDialAction/SpeedDialAction.mjs +12 -3
  112. package/SpeedDialIcon/SpeedDialIcon.js +40 -37
  113. package/SpeedDialIcon/SpeedDialIcon.mjs +40 -37
  114. package/Step/Step.js +47 -15
  115. package/Step/Step.mjs +47 -15
  116. package/Step/StepContext.d.mts +1 -1
  117. package/Step/StepContext.d.ts +1 -1
  118. package/StepButton/StepButton.js +9 -3
  119. package/StepButton/StepButton.mjs +9 -3
  120. package/StepConnector/StepConnector.js +10 -0
  121. package/StepConnector/StepConnector.mjs +10 -0
  122. package/StepContent/StepContent.d.mts +2 -2
  123. package/StepContent/StepContent.d.ts +2 -2
  124. package/StepContent/StepContent.js +26 -2
  125. package/StepContent/StepContent.mjs +26 -2
  126. package/StepIcon/StepIcon.js +2 -1
  127. package/StepIcon/StepIcon.mjs +2 -1
  128. package/StepLabel/StepLabel.js +52 -7
  129. package/StepLabel/StepLabel.mjs +52 -7
  130. package/Stepper/Stepper.d.mts +2 -0
  131. package/Stepper/Stepper.d.ts +2 -0
  132. package/Stepper/Stepper.js +18 -0
  133. package/Stepper/Stepper.mjs +18 -0
  134. package/Stepper/StepperContext.d.mts +1 -1
  135. package/Stepper/StepperContext.d.ts +1 -1
  136. package/SvgIcon/SvgIcon.js +2 -1
  137. package/SvgIcon/SvgIcon.mjs +2 -1
  138. package/SwipeableDrawer/SwipeableDrawer.js +14 -3
  139. package/SwipeableDrawer/SwipeableDrawer.mjs +14 -3
  140. package/Switch/Switch.js +3 -2
  141. package/Switch/Switch.mjs +3 -2
  142. package/TableSortLabel/TableSortLabel.js +2 -1
  143. package/TableSortLabel/TableSortLabel.mjs +2 -1
  144. package/Tabs/Tabs.js +14 -3
  145. package/Tabs/Tabs.mjs +14 -3
  146. package/Tooltip/Tooltip.d.mts +2 -2
  147. package/Tooltip/Tooltip.d.ts +2 -2
  148. package/Tooltip/Tooltip.js +3 -0
  149. package/Tooltip/Tooltip.mjs +3 -0
  150. package/Unstable_TrapFocus/FocusTrap.js +42 -8
  151. package/Unstable_TrapFocus/FocusTrap.mjs +42 -8
  152. package/Zoom/Zoom.d.mts +15 -2
  153. package/Zoom/Zoom.d.ts +15 -2
  154. package/Zoom/Zoom.js +43 -16
  155. package/Zoom/Zoom.mjs +42 -15
  156. package/index.js +1 -1
  157. package/index.mjs +1 -1
  158. package/internal/Transition.d.mts +34 -0
  159. package/internal/Transition.d.ts +34 -0
  160. package/internal/Transition.js +450 -0
  161. package/internal/Transition.mjs +442 -0
  162. package/internal/react-transition-group.d.mts +8 -0
  163. package/internal/react-transition-group.d.ts +8 -0
  164. package/package.json +7 -7
  165. package/styles/ThemeProviderWithVars.d.mts +7 -7
  166. package/styles/ThemeProviderWithVars.d.ts +7 -7
  167. package/styles/createGetSelector.d.mts +2 -2
  168. package/styles/createGetSelector.d.ts +2 -2
  169. package/styles/createMotion.d.mts +8 -0
  170. package/styles/createMotion.d.ts +8 -0
  171. package/styles/createMotion.js +13 -0
  172. package/styles/createMotion.mjs +7 -0
  173. package/styles/createThemeFoundation.d.mts +2 -0
  174. package/styles/createThemeFoundation.d.ts +2 -0
  175. package/styles/createThemeNoVars.d.mts +3 -0
  176. package/styles/createThemeNoVars.d.ts +3 -0
  177. package/styles/createThemeNoVars.js +5 -0
  178. package/styles/createThemeNoVars.mjs +5 -0
  179. package/styles/createTransitions.d.mts +6 -2
  180. package/styles/createTransitions.d.ts +6 -2
  181. package/styles/createTransitions.js +12 -4
  182. package/styles/createTransitions.mjs +12 -4
  183. package/styles/enhanceHighContrast.d.mts +70 -0
  184. package/styles/enhanceHighContrast.d.ts +70 -0
  185. package/styles/enhanceHighContrast.js +502 -0
  186. package/styles/enhanceHighContrast.mjs +495 -0
  187. package/styles/identifier.d.mts +1 -1
  188. package/styles/identifier.d.ts +1 -1
  189. package/styles/index.d.mts +2 -0
  190. package/styles/index.d.ts +2 -0
  191. package/styles/index.js +8 -0
  192. package/styles/index.mjs +1 -0
  193. package/styles/reducedMotion.d.mts +7 -0
  194. package/styles/reducedMotion.d.ts +7 -0
  195. package/styles/reducedMotion.js +21 -0
  196. package/styles/reducedMotion.mjs +14 -0
  197. package/styles/shouldSkipGeneratingVar.js +1 -1
  198. package/styles/shouldSkipGeneratingVar.mjs +1 -1
  199. package/styles/stringifyTheme.js +1 -0
  200. package/styles/stringifyTheme.mjs +1 -0
  201. package/transitions/index.d.mts +1 -1
  202. package/transitions/index.d.ts +1 -1
  203. package/transitions/index.js +0 -11
  204. package/transitions/index.mjs +1 -1
  205. package/transitions/transition.d.mts +1 -12
  206. package/transitions/transition.d.ts +1 -12
  207. package/transitions/types.d.mts +73 -0
  208. package/transitions/types.d.ts +73 -0
  209. package/transitions/useReducedMotion.d.mts +14 -0
  210. package/transitions/useReducedMotion.d.ts +14 -0
  211. package/transitions/useReducedMotion.js +117 -0
  212. package/transitions/useReducedMotion.mjs +110 -0
  213. package/transitions/utils.d.mts +34 -2
  214. package/transitions/utils.d.ts +34 -2
  215. package/transitions/utils.js +33 -4
  216. package/transitions/utils.mjs +31 -4
  217. package/useAutocomplete/useAutocomplete.d.mts +8 -1
  218. package/useAutocomplete/useAutocomplete.d.ts +8 -1
  219. package/useAutocomplete/useAutocomplete.js +66 -4
  220. package/useAutocomplete/useAutocomplete.mjs +66 -4
  221. package/utils/memoTheme.d.mts +1 -1
  222. package/utils/memoTheme.d.ts +1 -1
  223. package/utils/useSlot.d.mts +1 -1
  224. package/utils/useSlot.d.ts +1 -1
  225. package/version/index.js +2 -2
  226. package/version/index.mjs +2 -2
  227. /package/transitions/{transition.js → types.js} +0 -0
  228. /package/transitions/{transition.mjs → types.mjs} +0 -0
@@ -0,0 +1,502 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = enhanceHighContrast;
8
+ var _accordionSummaryClasses = _interopRequireDefault(require("../AccordionSummary/accordionSummaryClasses"));
9
+ var _autocompleteClasses = _interopRequireDefault(require("../Autocomplete/autocompleteClasses"));
10
+ var _checkboxClasses = _interopRequireDefault(require("../Checkbox/checkboxClasses"));
11
+ var _filledInputClasses = _interopRequireDefault(require("../FilledInput/filledInputClasses"));
12
+ var _formControlLabelClasses = _interopRequireDefault(require("../FormControlLabel/formControlLabelClasses"));
13
+ var _formHelperTextClasses = _interopRequireDefault(require("../FormHelperText/formHelperTextClasses"));
14
+ var _formLabelClasses = _interopRequireDefault(require("../FormLabel/formLabelClasses"));
15
+ var _inputClasses = _interopRequireDefault(require("../Input/inputClasses"));
16
+ var _listItemButtonClasses = _interopRequireDefault(require("../ListItemButton/listItemButtonClasses"));
17
+ var _menuItemClasses = _interopRequireDefault(require("../MenuItem/menuItemClasses"));
18
+ var _nativeSelectClasses = _interopRequireDefault(require("../NativeSelect/nativeSelectClasses"));
19
+ var _outlinedInputClasses = _interopRequireDefault(require("../OutlinedInput/outlinedInputClasses"));
20
+ var _radioClasses = _interopRequireDefault(require("../Radio/radioClasses"));
21
+ var _sliderClasses = _interopRequireDefault(require("../Slider/sliderClasses"));
22
+ var _toggleButtonClasses = _interopRequireDefault(require("../ToggleButton/toggleButtonClasses"));
23
+ // System color keywords used in forced-colors / high contrast mode.
24
+ const defaultHcTokens = {
25
+ disabled: 'GrayText',
26
+ error: 'ActiveText',
27
+ selectedBackground: 'SelectedItem',
28
+ selectedText: 'SelectedItemText',
29
+ activeBackground: 'Highlight',
30
+ activeText: 'HighlightText',
31
+ buttonBorder: 'ButtonBorder',
32
+ buttonText: 'ButtonText',
33
+ canvas: 'Canvas'
34
+ };
35
+ const HCM = '@media (forced-colors: active)';
36
+
37
+ /**
38
+ * Enhances a theme with styles for Windows High Contrast Mode (forced-colors).
39
+ *
40
+ * Accepts a fully-created theme, merges in HCM component overrides using arrays
41
+ * so that Emotion emits each entry as a separate CSS rule and the browser
42
+ * cascade (rather than JS object merging) resolves specificity.
43
+ *
44
+ * @param themeInput - The theme to enhance.
45
+ * @param tokens - Override any of the default system color tokens.
46
+ * @returns The enhanced theme (same type as the input).
47
+ *
48
+ * @example
49
+ * // Use defaults
50
+ * const theme = enhanceHighContrast(createTheme({ palette: { ... } }));
51
+ *
52
+ * @example
53
+ * // Override specific tokens
54
+ * const theme = enhanceHighContrast(createTheme(), { disabled: 'ButtonText' });
55
+ */
56
+ function enhanceHighContrast(themeInput, tokens) {
57
+ const hcTokens = {
58
+ disabled: tokens?.disabled ?? defaultHcTokens.disabled,
59
+ error: tokens?.error ?? defaultHcTokens.error,
60
+ selectedBackground: tokens?.selectedBackground ?? defaultHcTokens.selectedBackground,
61
+ selectedText: tokens?.selectedText ?? defaultHcTokens.selectedText,
62
+ activeBackground: tokens?.activeBackground ?? defaultHcTokens.activeBackground,
63
+ activeText: tokens?.activeText ?? defaultHcTokens.activeText,
64
+ buttonBorder: tokens?.buttonBorder ?? defaultHcTokens.buttonBorder,
65
+ buttonText: tokens?.buttonText ?? defaultHcTokens.buttonText,
66
+ canvas: tokens?.canvas ?? defaultHcTokens.canvas
67
+ };
68
+ const theme = {
69
+ ...themeInput
70
+ };
71
+ const c = theme.components;
72
+ theme.components = {
73
+ ...c,
74
+ MuiAccordionSummary: {
75
+ ...c?.MuiAccordionSummary,
76
+ styleOverrides: {
77
+ ...c?.MuiAccordionSummary?.styleOverrides,
78
+ root: [c?.MuiAccordionSummary?.styleOverrides?.root, {
79
+ [`&.${_accordionSummaryClasses.default.disabled}`]: {
80
+ [HCM]: {
81
+ opacity: 1
82
+ }
83
+ }
84
+ }]
85
+ }
86
+ },
87
+ MuiAutocomplete: {
88
+ ...c?.MuiAutocomplete,
89
+ styleOverrides: {
90
+ ...c?.MuiAutocomplete?.styleOverrides,
91
+ listbox: [c?.MuiAutocomplete?.styleOverrides?.listbox, {
92
+ [`& .${_autocompleteClasses.default.option}`]: {
93
+ '&[aria-disabled="true"]': {
94
+ [HCM]: {
95
+ color: hcTokens.disabled,
96
+ opacity: 1
97
+ }
98
+ },
99
+ [`&.${_autocompleteClasses.default.focused}, &.${_autocompleteClasses.default.focusVisible}`]: {
100
+ [HCM]: {
101
+ forcedColorAdjust: 'none',
102
+ color: hcTokens.activeText,
103
+ backgroundColor: hcTokens.activeBackground
104
+ }
105
+ },
106
+ '&[aria-selected="true"]': {
107
+ [HCM]: {
108
+ forcedColorAdjust: 'none',
109
+ color: hcTokens.selectedText,
110
+ backgroundColor: hcTokens.selectedBackground
111
+ },
112
+ [`&.${_autocompleteClasses.default.focused}`]: {
113
+ [HCM]: {
114
+ color: hcTokens.activeText,
115
+ backgroundColor: hcTokens.activeBackground
116
+ }
117
+ }
118
+ }
119
+ }
120
+ }]
121
+ }
122
+ },
123
+ MuiCheckbox: {
124
+ ...c?.MuiCheckbox,
125
+ styleOverrides: {
126
+ ...c?.MuiCheckbox?.styleOverrides,
127
+ root: [c?.MuiCheckbox?.styleOverrides?.root, {
128
+ [`&.${_checkboxClasses.default.disabled}`]: {
129
+ [HCM]: {
130
+ color: hcTokens.disabled
131
+ }
132
+ }
133
+ }]
134
+ }
135
+ },
136
+ MuiFilledInput: {
137
+ ...c?.MuiFilledInput,
138
+ styleOverrides: {
139
+ ...c?.MuiFilledInput?.styleOverrides,
140
+ root: [c?.MuiFilledInput?.styleOverrides?.root, {
141
+ [`&.${_filledInputClasses.default.error}`]: {
142
+ '&::before, &::after': {
143
+ [HCM]: {
144
+ borderBottomColor: hcTokens.error
145
+ }
146
+ }
147
+ },
148
+ [`&.${_filledInputClasses.default.disabled}:before`]: {
149
+ [HCM]: {
150
+ borderBottomStyle: 'solid',
151
+ borderBottomColor: hcTokens.disabled
152
+ }
153
+ },
154
+ [`&.${_filledInputClasses.default.disabled}`]: {
155
+ [HCM]: {
156
+ color: hcTokens.disabled
157
+ }
158
+ }
159
+ }]
160
+ }
161
+ },
162
+ MuiFormControlLabel: {
163
+ ...c?.MuiFormControlLabel,
164
+ styleOverrides: {
165
+ ...c?.MuiFormControlLabel?.styleOverrides,
166
+ root: [c?.MuiFormControlLabel?.styleOverrides?.root, {
167
+ [`& .${_formControlLabelClasses.default.label}.${_formControlLabelClasses.default.disabled}`]: {
168
+ [HCM]: {
169
+ color: hcTokens.disabled
170
+ }
171
+ }
172
+ }]
173
+ }
174
+ },
175
+ MuiFormHelperText: {
176
+ ...c?.MuiFormHelperText,
177
+ styleOverrides: {
178
+ ...c?.MuiFormHelperText?.styleOverrides,
179
+ root: [c?.MuiFormHelperText?.styleOverrides?.root, {
180
+ [`&.${_formHelperTextClasses.default.error}`]: {
181
+ [HCM]: {
182
+ color: hcTokens.error
183
+ }
184
+ },
185
+ [`&.${_formHelperTextClasses.default.disabled}`]: {
186
+ [HCM]: {
187
+ color: hcTokens.disabled
188
+ }
189
+ }
190
+ }]
191
+ }
192
+ },
193
+ MuiFormLabel: {
194
+ ...c?.MuiFormLabel,
195
+ styleOverrides: {
196
+ ...c?.MuiFormLabel?.styleOverrides,
197
+ root: [c?.MuiFormLabel?.styleOverrides?.root, {
198
+ [`&.${_formLabelClasses.default.error}`]: {
199
+ [HCM]: {
200
+ color: hcTokens.error
201
+ }
202
+ },
203
+ [`&.${_formLabelClasses.default.disabled}`]: {
204
+ [HCM]: {
205
+ color: hcTokens.disabled
206
+ }
207
+ }
208
+ }]
209
+ }
210
+ },
211
+ MuiInput: {
212
+ ...c?.MuiInput,
213
+ styleOverrides: {
214
+ ...c?.MuiInput?.styleOverrides,
215
+ root: [c?.MuiInput?.styleOverrides?.root, {
216
+ [`&.${_inputClasses.default.error}`]: {
217
+ '&::before, &::after': {
218
+ [HCM]: {
219
+ borderBottomColor: hcTokens.error
220
+ }
221
+ }
222
+ },
223
+ [`&.${_inputClasses.default.disabled}:before`]: {
224
+ [HCM]: {
225
+ borderBottomStyle: 'solid',
226
+ borderBottomColor: hcTokens.disabled
227
+ }
228
+ },
229
+ [`&.${_inputClasses.default.disabled}`]: {
230
+ [HCM]: {
231
+ color: hcTokens.disabled
232
+ }
233
+ }
234
+ }]
235
+ }
236
+ },
237
+ MuiLinearProgress: {
238
+ ...c?.MuiLinearProgress,
239
+ styleOverrides: {
240
+ ...c?.MuiLinearProgress?.styleOverrides,
241
+ root: [c?.MuiLinearProgress?.styleOverrides?.root, {
242
+ [HCM]: {
243
+ forcedColorAdjust: 'none',
244
+ outline: `1px solid ${hcTokens.buttonBorder}`,
245
+ backgroundColor: hcTokens.canvas
246
+ }
247
+ }],
248
+ bar: [c?.MuiLinearProgress?.styleOverrides?.bar, {
249
+ [HCM]: {
250
+ backgroundColor: hcTokens.buttonText
251
+ }
252
+ }],
253
+ bar2: [c?.MuiLinearProgress?.styleOverrides?.bar2, {
254
+ variants: [{
255
+ props: {
256
+ variant: 'buffer'
257
+ },
258
+ style: {
259
+ [HCM]: {
260
+ backgroundColor: hcTokens.disabled
261
+ }
262
+ }
263
+ }]
264
+ }]
265
+ }
266
+ },
267
+ MuiInputBase: {
268
+ ...c?.MuiInputBase,
269
+ styleOverrides: {
270
+ ...c?.MuiInputBase?.styleOverrides,
271
+ input: [c?.MuiInputBase?.styleOverrides?.input, {
272
+ [HCM]: {
273
+ '&::placeholder': {
274
+ opacity: 1
275
+ }
276
+ }
277
+ }]
278
+ }
279
+ },
280
+ MuiMenuItem: {
281
+ ...c?.MuiMenuItem,
282
+ styleOverrides: {
283
+ ...c?.MuiMenuItem?.styleOverrides,
284
+ root: [c?.MuiMenuItem?.styleOverrides?.root, {
285
+ [`&.${_menuItemClasses.default.disabled}`]: {
286
+ [HCM]: {
287
+ color: hcTokens.disabled,
288
+ opacity: 1
289
+ }
290
+ },
291
+ [`&.${_menuItemClasses.default.focusVisible}, &:hover`]: {
292
+ [HCM]: {
293
+ forcedColorAdjust: 'none',
294
+ color: hcTokens.activeText,
295
+ backgroundColor: hcTokens.activeBackground,
296
+ outline: 'none'
297
+ }
298
+ },
299
+ [`&.${_menuItemClasses.default.selected}`]: {
300
+ [HCM]: {
301
+ forcedColorAdjust: 'none',
302
+ color: hcTokens.selectedText,
303
+ backgroundColor: hcTokens.selectedBackground
304
+ }
305
+ },
306
+ [`&.${_menuItemClasses.default.selected}.${_menuItemClasses.default.focusVisible}, &.${_menuItemClasses.default.selected}:hover`]: {
307
+ [HCM]: {
308
+ color: hcTokens.activeText,
309
+ backgroundColor: hcTokens.activeBackground
310
+ }
311
+ }
312
+ }]
313
+ }
314
+ },
315
+ MuiListItemIcon: {
316
+ ...c?.MuiListItemIcon,
317
+ styleOverrides: {
318
+ ...c?.MuiListItemIcon?.styleOverrides,
319
+ root: [c?.MuiListItemIcon?.styleOverrides?.root, {
320
+ [HCM]: {
321
+ color: 'inherit'
322
+ }
323
+ }]
324
+ }
325
+ },
326
+ MuiListItemButton: {
327
+ ...c?.MuiListItemButton,
328
+ styleOverrides: {
329
+ ...c?.MuiListItemButton?.styleOverrides,
330
+ root: [c?.MuiListItemButton?.styleOverrides?.root, {
331
+ [`&.${_listItemButtonClasses.default.focusVisible}, &:hover`]: {
332
+ [HCM]: {
333
+ forcedColorAdjust: 'none',
334
+ color: hcTokens.activeText,
335
+ backgroundColor: hcTokens.activeBackground
336
+ }
337
+ },
338
+ [`&.${_listItemButtonClasses.default.selected}`]: {
339
+ [HCM]: {
340
+ forcedColorAdjust: 'none',
341
+ color: hcTokens.selectedText,
342
+ backgroundColor: hcTokens.selectedBackground
343
+ }
344
+ },
345
+ [`&.${_listItemButtonClasses.default.selected}.${_listItemButtonClasses.default.focusVisible}, &.${_listItemButtonClasses.default.selected}:hover`]: {
346
+ [HCM]: {
347
+ color: hcTokens.activeText,
348
+ backgroundColor: hcTokens.activeBackground
349
+ }
350
+ }
351
+ }]
352
+ }
353
+ },
354
+ MuiNativeSelect: {
355
+ ...c?.MuiNativeSelect,
356
+ styleOverrides: {
357
+ ...c?.MuiNativeSelect?.styleOverrides,
358
+ icon: [c?.MuiNativeSelect?.styleOverrides?.icon, {
359
+ [`&.${_nativeSelectClasses.default.disabled}`]: {
360
+ [HCM]: {
361
+ color: hcTokens.disabled
362
+ }
363
+ }
364
+ }]
365
+ }
366
+ },
367
+ MuiOutlinedInput: {
368
+ ...c?.MuiOutlinedInput,
369
+ styleOverrides: {
370
+ ...c?.MuiOutlinedInput?.styleOverrides,
371
+ root: [c?.MuiOutlinedInput?.styleOverrides?.root, {
372
+ [`&.${_outlinedInputClasses.default.error} .${_outlinedInputClasses.default.notchedOutline}`]: {
373
+ [HCM]: {
374
+ borderColor: hcTokens.error
375
+ }
376
+ },
377
+ [`&.${_outlinedInputClasses.default.disabled} .${_outlinedInputClasses.default.notchedOutline}`]: {
378
+ [HCM]: {
379
+ borderColor: hcTokens.disabled
380
+ }
381
+ },
382
+ [`&.${_outlinedInputClasses.default.disabled}`]: {
383
+ [HCM]: {
384
+ color: hcTokens.disabled
385
+ }
386
+ }
387
+ }]
388
+ }
389
+ },
390
+ MuiRadio: {
391
+ ...c?.MuiRadio,
392
+ styleOverrides: {
393
+ ...c?.MuiRadio?.styleOverrides,
394
+ root: [c?.MuiRadio?.styleOverrides?.root, {
395
+ [`&.${_radioClasses.default.disabled}`]: {
396
+ [HCM]: {
397
+ color: hcTokens.disabled
398
+ }
399
+ }
400
+ }]
401
+ }
402
+ },
403
+ MuiSlider: {
404
+ ...c?.MuiSlider,
405
+ styleOverrides: {
406
+ ...c?.MuiSlider?.styleOverrides,
407
+ // track doesn't receive the disabled class — use ownerState
408
+ track: [c?.MuiSlider?.styleOverrides?.track, ({
409
+ ownerState
410
+ }) => ({
411
+ ...(ownerState.disabled && {
412
+ [HCM]: {
413
+ borderColor: hcTokens.disabled
414
+ }
415
+ })
416
+ })],
417
+ // thumb receives the disabled class directly
418
+ thumb: [c?.MuiSlider?.styleOverrides?.thumb, {
419
+ [`&.${_sliderClasses.default.disabled}`]: {
420
+ [HCM]: {
421
+ borderColor: hcTokens.disabled
422
+ }
423
+ }
424
+ }]
425
+ }
426
+ },
427
+ MuiSwitch: {
428
+ ...c?.MuiSwitch,
429
+ styleOverrides: {
430
+ ...c?.MuiSwitch?.styleOverrides,
431
+ // track and thumb don't receive the disabled class — use ownerState
432
+ track: [c?.MuiSwitch?.styleOverrides?.track, ({
433
+ ownerState
434
+ }) => ({
435
+ ...(ownerState.disabled && {
436
+ [HCM]: {
437
+ borderColor: hcTokens.disabled
438
+ }
439
+ })
440
+ })],
441
+ thumb: [c?.MuiSwitch?.styleOverrides?.thumb, ({
442
+ ownerState
443
+ }) => ({
444
+ ...(ownerState.disabled && {
445
+ [HCM]: {
446
+ borderColor: hcTokens.disabled
447
+ }
448
+ })
449
+ })]
450
+ }
451
+ },
452
+ MuiButtonBase: {
453
+ ...c?.MuiButtonBase,
454
+ styleOverrides: {
455
+ ...c?.MuiButtonBase?.styleOverrides,
456
+ root: [c?.MuiButtonBase?.styleOverrides?.root, {
457
+ // Restore the focus outline in HCM since the ripple is not visible.
458
+ // Also handle components where the focusable element is a hidden inner input (Checkbox, Radio, Switch).
459
+ [HCM]: {
460
+ '&:focus-visible, &:focus-within:has(input:focus-visible)': {
461
+ outline: `5px auto ${hcTokens.activeBackground}`
462
+ }
463
+ }
464
+ }]
465
+ }
466
+ },
467
+ MuiTooltip: {
468
+ ...c?.MuiTooltip,
469
+ styleOverrides: {
470
+ ...c?.MuiTooltip?.styleOverrides,
471
+ tooltip: [c?.MuiTooltip?.styleOverrides?.tooltip, {
472
+ [HCM]: {
473
+ border: `1px solid ${hcTokens.buttonText}`
474
+ }
475
+ }]
476
+ }
477
+ },
478
+ MuiToggleButton: {
479
+ ...c?.MuiToggleButton,
480
+ styleOverrides: {
481
+ ...c?.MuiToggleButton?.styleOverrides,
482
+ root: [c?.MuiToggleButton?.styleOverrides?.root, {
483
+ [`&.${_toggleButtonClasses.default.selected}`]: {
484
+ [HCM]: {
485
+ forcedColorAdjust: 'none',
486
+ color: hcTokens.activeText,
487
+ backgroundColor: hcTokens.activeBackground,
488
+ borderColor: hcTokens.activeBackground
489
+ },
490
+ '&:hover': {
491
+ [HCM]: {
492
+ backgroundColor: hcTokens.activeBackground,
493
+ borderColor: hcTokens.buttonBorder
494
+ }
495
+ }
496
+ }
497
+ }]
498
+ }
499
+ }
500
+ };
501
+ return theme;
502
+ }