@mui/material 7.3.5 → 7.3.6
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/Accordion/Accordion.d.ts +56 -55
- package/AppBar/AppBar.d.ts +13 -2
- package/AppBar/AppBar.js +12 -1
- package/Button/Button.d.ts +1 -0
- package/ButtonBase/ButtonBase.js +8 -1
- package/ButtonBase/TouchRipple.js +1 -1
- package/CHANGELOG.md +87 -0
- package/Chip/Chip.js +1 -1
- package/CssBaseline/CssBaseline.d.ts +1 -1
- package/CssBaseline/CssBaseline.js +1 -1
- package/FormControl/FormControl.d.ts +1 -0
- package/FormHelperText/FormHelperText.d.ts +1 -0
- package/FormLabel/FormLabel.d.ts +1 -0
- package/IconButton/IconButton.d.ts +1 -0
- package/InputLabel/InputLabel.d.ts +1 -0
- package/ListItem/ListItem.d.ts +5 -0
- package/ListItem/ListItem.js +19 -4
- package/MenuList/MenuList.js +2 -1
- package/OutlinedInput/OutlinedInput.d.ts +1 -0
- package/ScopedCssBaseline/ScopedCssBaseline.d.ts +1 -1
- package/ScopedCssBaseline/ScopedCssBaseline.js +1 -1
- package/Select/SelectInput.d.ts +2 -0
- package/Select/SelectInput.js +6 -0
- package/Slider/Slider.d.ts +1 -1
- package/Slider/useSlider.types.d.ts +1 -1
- package/Snackbar/Snackbar.js +1 -3
- package/Tabs/Tabs.js +3 -2
- package/TextField/TextField.d.ts +10 -5
- package/Unstable_TrapFocus/FocusTrap.js +13 -8
- package/esm/Accordion/Accordion.d.ts +56 -55
- package/esm/AppBar/AppBar.d.ts +13 -2
- package/esm/AppBar/AppBar.js +12 -1
- package/esm/Button/Button.d.ts +1 -0
- package/esm/ButtonBase/ButtonBase.js +8 -1
- package/esm/ButtonBase/TouchRipple.js +1 -1
- package/esm/Chip/Chip.js +1 -1
- package/esm/CssBaseline/CssBaseline.d.ts +1 -1
- package/esm/CssBaseline/CssBaseline.js +1 -1
- package/esm/FormControl/FormControl.d.ts +1 -0
- package/esm/FormHelperText/FormHelperText.d.ts +1 -0
- package/esm/FormLabel/FormLabel.d.ts +1 -0
- package/esm/IconButton/IconButton.d.ts +1 -0
- package/esm/InputLabel/InputLabel.d.ts +1 -0
- package/esm/ListItem/ListItem.d.ts +5 -0
- package/esm/ListItem/ListItem.js +19 -4
- package/esm/MenuList/MenuList.js +2 -1
- package/esm/OutlinedInput/OutlinedInput.d.ts +1 -0
- package/esm/ScopedCssBaseline/ScopedCssBaseline.d.ts +1 -1
- package/esm/ScopedCssBaseline/ScopedCssBaseline.js +1 -1
- package/esm/Select/SelectInput.d.ts +2 -0
- package/esm/Select/SelectInput.js +6 -0
- package/esm/Slider/Slider.d.ts +1 -1
- package/esm/Slider/useSlider.types.d.ts +1 -1
- package/esm/Snackbar/Snackbar.js +1 -3
- package/esm/Tabs/Tabs.js +3 -2
- package/esm/TextField/TextField.d.ts +10 -5
- package/esm/Unstable_TrapFocus/FocusTrap.js +13 -8
- package/esm/index.js +1 -1
- package/esm/styles/createThemeNoVars.d.ts +4 -3
- package/esm/styles/createThemeWithVars.d.ts +2 -2
- package/esm/useAutocomplete/useAutocomplete.js +15 -2
- package/esm/utils/getActiveElement.d.ts +2 -0
- package/esm/utils/getActiveElement.js +2 -0
- package/esm/version/index.js +2 -2
- package/index.js +1 -1
- package/package.json +6 -6
- package/styles/createThemeNoVars.d.ts +4 -3
- package/styles/createThemeWithVars.d.ts +2 -2
- package/useAutocomplete/useAutocomplete.js +15 -2
- package/utils/getActiveElement.d.ts +2 -0
- package/utils/getActiveElement.js +9 -0
- package/version/index.js +2 -2
package/Accordion/Accordion.d.ts
CHANGED
|
@@ -55,62 +55,63 @@ export type AccordionSlotsAndSlotProps = CreateSlotsAndSlotProps<AccordionSlots,
|
|
|
55
55
|
*/
|
|
56
56
|
region: SlotProps<'div', AccordionRegionSlotPropsOverrides, AccordionOwnerState>;
|
|
57
57
|
}>;
|
|
58
|
+
export interface AccordionOwnProps {
|
|
59
|
+
/**
|
|
60
|
+
* The content of the component.
|
|
61
|
+
*/
|
|
62
|
+
children: NonNullable<React.ReactNode>;
|
|
63
|
+
/**
|
|
64
|
+
* Override or extend the styles applied to the component.
|
|
65
|
+
*/
|
|
66
|
+
classes?: Partial<AccordionClasses>;
|
|
67
|
+
/**
|
|
68
|
+
* If `true`, expands the accordion by default.
|
|
69
|
+
* @default false
|
|
70
|
+
*/
|
|
71
|
+
defaultExpanded?: boolean;
|
|
72
|
+
/**
|
|
73
|
+
* If `true`, the component is disabled.
|
|
74
|
+
* @default false
|
|
75
|
+
*/
|
|
76
|
+
disabled?: boolean;
|
|
77
|
+
/**
|
|
78
|
+
* If `true`, it removes the margin between two expanded accordion items and the increase of height.
|
|
79
|
+
* @default false
|
|
80
|
+
*/
|
|
81
|
+
disableGutters?: boolean;
|
|
82
|
+
/**
|
|
83
|
+
* If `true`, expands the accordion, otherwise collapse it.
|
|
84
|
+
* Setting this prop enables control over the accordion.
|
|
85
|
+
*/
|
|
86
|
+
expanded?: boolean;
|
|
87
|
+
/**
|
|
88
|
+
* Callback fired when the expand/collapse state is changed.
|
|
89
|
+
*
|
|
90
|
+
* @param {React.SyntheticEvent} event The event source of the callback. **Warning**: This is a generic event not a change event.
|
|
91
|
+
* @param {boolean} expanded The `expanded` state of the accordion.
|
|
92
|
+
*/
|
|
93
|
+
onChange?: (event: React.SyntheticEvent, expanded: boolean) => void;
|
|
94
|
+
/**
|
|
95
|
+
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
96
|
+
*/
|
|
97
|
+
sx?: SxProps<Theme>;
|
|
98
|
+
/**
|
|
99
|
+
* The component used for the transition.
|
|
100
|
+
* [Follow this guide](https://mui.com/material-ui/transitions/#transitioncomponent-prop) to learn more about the requirements for this component.
|
|
101
|
+
* @deprecated Use `slots.transition` instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
|
|
102
|
+
*/
|
|
103
|
+
TransitionComponent?: React.JSXElementConstructor<TransitionProps & {
|
|
104
|
+
children?: React.ReactElement<unknown, any>;
|
|
105
|
+
}>;
|
|
106
|
+
/**
|
|
107
|
+
* Props applied to the transition element.
|
|
108
|
+
* By default, the element is based on this [`Transition`](https://reactcommunity.org/react-transition-group/transition/) component.
|
|
109
|
+
* @deprecated Use `slotProps.transition` instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
|
|
110
|
+
*/
|
|
111
|
+
TransitionProps?: TransitionProps;
|
|
112
|
+
}
|
|
58
113
|
export type AccordionTypeMap<AdditionalProps = {}, RootComponent extends React.ElementType = 'div'> = ExtendPaperTypeMap<{
|
|
59
|
-
props: AdditionalProps &
|
|
60
|
-
/**
|
|
61
|
-
* The content of the component.
|
|
62
|
-
*/
|
|
63
|
-
children: NonNullable<React.ReactNode>;
|
|
64
|
-
/**
|
|
65
|
-
* Override or extend the styles applied to the component.
|
|
66
|
-
*/
|
|
67
|
-
classes?: Partial<AccordionClasses>;
|
|
68
|
-
/**
|
|
69
|
-
* If `true`, expands the accordion by default.
|
|
70
|
-
* @default false
|
|
71
|
-
*/
|
|
72
|
-
defaultExpanded?: boolean;
|
|
73
|
-
/**
|
|
74
|
-
* If `true`, the component is disabled.
|
|
75
|
-
* @default false
|
|
76
|
-
*/
|
|
77
|
-
disabled?: boolean;
|
|
78
|
-
/**
|
|
79
|
-
* If `true`, it removes the margin between two expanded accordion items and the increase of height.
|
|
80
|
-
* @default false
|
|
81
|
-
*/
|
|
82
|
-
disableGutters?: boolean;
|
|
83
|
-
/**
|
|
84
|
-
* If `true`, expands the accordion, otherwise collapse it.
|
|
85
|
-
* Setting this prop enables control over the accordion.
|
|
86
|
-
*/
|
|
87
|
-
expanded?: boolean;
|
|
88
|
-
/**
|
|
89
|
-
* Callback fired when the expand/collapse state is changed.
|
|
90
|
-
*
|
|
91
|
-
* @param {React.SyntheticEvent} event The event source of the callback. **Warning**: This is a generic event not a change event.
|
|
92
|
-
* @param {boolean} expanded The `expanded` state of the accordion.
|
|
93
|
-
*/
|
|
94
|
-
onChange?: (event: React.SyntheticEvent, expanded: boolean) => void;
|
|
95
|
-
/**
|
|
96
|
-
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
97
|
-
*/
|
|
98
|
-
sx?: SxProps<Theme>;
|
|
99
|
-
/**
|
|
100
|
-
* The component used for the transition.
|
|
101
|
-
* [Follow this guide](https://mui.com/material-ui/transitions/#transitioncomponent-prop) to learn more about the requirements for this component.
|
|
102
|
-
* @deprecated Use `slots.transition` instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
|
|
103
|
-
*/
|
|
104
|
-
TransitionComponent?: React.JSXElementConstructor<TransitionProps & {
|
|
105
|
-
children?: React.ReactElement<unknown, any>;
|
|
106
|
-
}>;
|
|
107
|
-
/**
|
|
108
|
-
* Props applied to the transition element.
|
|
109
|
-
* By default, the element is based on this [`Transition`](https://reactcommunity.org/react-transition-group/transition/) component.
|
|
110
|
-
* @deprecated Use `slotProps.transition` instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
|
|
111
|
-
*/
|
|
112
|
-
TransitionProps?: TransitionProps;
|
|
113
|
-
} & AccordionSlotsAndSlotProps;
|
|
114
|
+
props: AdditionalProps & AccordionOwnProps & AccordionSlotsAndSlotProps;
|
|
114
115
|
defaultComponent: RootComponent;
|
|
115
116
|
}, 'onChange' | 'classes'>;
|
|
116
117
|
|
package/AppBar/AppBar.d.ts
CHANGED
|
@@ -18,6 +18,12 @@ export interface AppBarOwnProps {
|
|
|
18
18
|
* @default 'primary'
|
|
19
19
|
*/
|
|
20
20
|
color?: OverridableStringUnion<PropTypes.Color | 'transparent' | 'error' | 'info' | 'success' | 'warning', AppBarPropsColorOverrides>;
|
|
21
|
+
/**
|
|
22
|
+
* Shadow depth, corresponds to `dp` in the spec.
|
|
23
|
+
* It accepts values between 0 and 24 inclusive.
|
|
24
|
+
* @default 4
|
|
25
|
+
*/
|
|
26
|
+
elevation?: number;
|
|
21
27
|
/**
|
|
22
28
|
* If true, the `color` prop is applied in dark mode.
|
|
23
29
|
* @default false
|
|
@@ -25,11 +31,16 @@ export interface AppBarOwnProps {
|
|
|
25
31
|
enableColorOnDark?: boolean;
|
|
26
32
|
/**
|
|
27
33
|
* The positioning type. The behavior of the different options is described
|
|
28
|
-
* [in the MDN web docs](https://developer.mozilla.org/en-US/docs/Web/CSS/position).
|
|
34
|
+
* [in the MDN web docs](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/position).
|
|
29
35
|
* Note: `sticky` is not universally supported and will fall back to `static` when unavailable.
|
|
30
36
|
* @default 'fixed'
|
|
31
37
|
*/
|
|
32
38
|
position?: 'fixed' | 'absolute' | 'sticky' | 'static' | 'relative';
|
|
39
|
+
/**
|
|
40
|
+
* If `false`, rounded corners are enabled.
|
|
41
|
+
* @default true
|
|
42
|
+
*/
|
|
43
|
+
square?: boolean;
|
|
33
44
|
/**
|
|
34
45
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
35
46
|
*/
|
|
@@ -38,7 +49,7 @@ export interface AppBarOwnProps {
|
|
|
38
49
|
export type AppBarTypeMap<AdditionalProps = {}, RootComponent extends React.ElementType = 'header'> = ExtendPaperTypeMap<{
|
|
39
50
|
props: AdditionalProps & AppBarOwnProps;
|
|
40
51
|
defaultComponent: RootComponent;
|
|
41
|
-
}, 'position' | 'color' | 'classes'>;
|
|
52
|
+
}, 'position' | 'color' | 'classes' | 'elevation' | 'square'>;
|
|
42
53
|
|
|
43
54
|
/**
|
|
44
55
|
*
|
package/AppBar/AppBar.js
CHANGED
|
@@ -214,6 +214,12 @@ process.env.NODE_ENV !== "production" ? AppBar.propTypes /* remove-proptypes */
|
|
|
214
214
|
* @default 'primary'
|
|
215
215
|
*/
|
|
216
216
|
color: _propTypes.default /* @typescript-to-proptypes-ignore */.oneOfType([_propTypes.default.oneOf(['default', 'inherit', 'primary', 'secondary', 'transparent', 'error', 'info', 'success', 'warning']), _propTypes.default.string]),
|
|
217
|
+
/**
|
|
218
|
+
* Shadow depth, corresponds to `dp` in the spec.
|
|
219
|
+
* It accepts values between 0 and 24 inclusive.
|
|
220
|
+
* @default 4
|
|
221
|
+
*/
|
|
222
|
+
elevation: _propTypes.default.number,
|
|
217
223
|
/**
|
|
218
224
|
* If true, the `color` prop is applied in dark mode.
|
|
219
225
|
* @default false
|
|
@@ -221,11 +227,16 @@ process.env.NODE_ENV !== "production" ? AppBar.propTypes /* remove-proptypes */
|
|
|
221
227
|
enableColorOnDark: _propTypes.default.bool,
|
|
222
228
|
/**
|
|
223
229
|
* The positioning type. The behavior of the different options is described
|
|
224
|
-
* [in the MDN web docs](https://developer.mozilla.org/en-US/docs/Web/CSS/position).
|
|
230
|
+
* [in the MDN web docs](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/position).
|
|
225
231
|
* Note: `sticky` is not universally supported and will fall back to `static` when unavailable.
|
|
226
232
|
* @default 'fixed'
|
|
227
233
|
*/
|
|
228
234
|
position: _propTypes.default.oneOf(['absolute', 'fixed', 'relative', 'static', 'sticky']),
|
|
235
|
+
/**
|
|
236
|
+
* If `false`, rounded corners are enabled.
|
|
237
|
+
* @default true
|
|
238
|
+
*/
|
|
239
|
+
square: _propTypes.default.bool,
|
|
229
240
|
/**
|
|
230
241
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
231
242
|
*/
|
package/Button/Button.d.ts
CHANGED
|
@@ -117,6 +117,7 @@ export type ExtendButton<TypeMap extends OverridableTypeMap> = ((props: {
|
|
|
117
117
|
*
|
|
118
118
|
* - [Button Group](https://mui.com/material-ui/react-button-group/)
|
|
119
119
|
* - [Button](https://mui.com/material-ui/react-button/)
|
|
120
|
+
* - [Number Field](https://mui.com/material-ui/react-number-field/)
|
|
120
121
|
*
|
|
121
122
|
* API:
|
|
122
123
|
*
|
package/ButtonBase/ButtonBase.js
CHANGED
|
@@ -229,7 +229,10 @@ const ButtonBase = /*#__PURE__*/React.forwardRef(function ButtonBase(inProps, re
|
|
|
229
229
|
}
|
|
230
230
|
const buttonProps = {};
|
|
231
231
|
if (ComponentProp === 'button') {
|
|
232
|
-
|
|
232
|
+
const hasFormAttributes = !!other.formAction;
|
|
233
|
+
// ButtonBase was defaulting to type="button" when no type prop was provided, which prevented form submission and broke formAction functionality.
|
|
234
|
+
// The fix checks for form-related attributes and skips the default type to allow the browser's natural submit behavior (type="submit").
|
|
235
|
+
buttonProps.type = type === undefined && !hasFormAttributes ? 'button' : type;
|
|
233
236
|
buttonProps.disabled = disabled;
|
|
234
237
|
} else {
|
|
235
238
|
if (!other.href && !other.to) {
|
|
@@ -357,6 +360,10 @@ process.env.NODE_ENV !== "production" ? ButtonBase.propTypes /* remove-proptypes
|
|
|
357
360
|
* if needed.
|
|
358
361
|
*/
|
|
359
362
|
focusVisibleClassName: _propTypes.default.string,
|
|
363
|
+
/**
|
|
364
|
+
* @ignore
|
|
365
|
+
*/
|
|
366
|
+
formAction: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.string]),
|
|
360
367
|
/**
|
|
361
368
|
* @ignore
|
|
362
369
|
*/
|
|
@@ -235,7 +235,7 @@ const TouchRipple = /*#__PURE__*/React.forwardRef(function TouchRipple(inProps,
|
|
|
235
235
|
rippleSize = Math.sqrt(sizeX ** 2 + sizeY ** 2);
|
|
236
236
|
}
|
|
237
237
|
|
|
238
|
-
//
|
|
238
|
+
// Touch devices
|
|
239
239
|
if (event?.touches) {
|
|
240
240
|
// check that this isn't another touchstart due to multitouch
|
|
241
241
|
// otherwise we will only clear a single timer when unmounting while two
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,92 @@
|
|
|
1
1
|
# [Versions](https://mui.com/versions/)
|
|
2
2
|
|
|
3
|
+
## 7.3.6
|
|
4
|
+
|
|
5
|
+
<!-- generated comparing v7.3.5..master -->
|
|
6
|
+
|
|
7
|
+
_Dec 3, 2025_
|
|
8
|
+
|
|
9
|
+
A big thanks to the 22 contributors who made this release possible.
|
|
10
|
+
|
|
11
|
+
### @mui/material@7.3.6
|
|
12
|
+
|
|
13
|
+
- [Accordion] Move properties to the AccordionOwnProps interface (#47348) @Aleksan4e3
|
|
14
|
+
- [Autocomplete] Remove unnecessary `filterSelectedOptions` dependency from `syncHighlightedIndex` useCallback (#47378) @ZeeshanTamboli
|
|
15
|
+
- [Autocomplete] Fix input caret not showing when focusing after chip navigation (#47249) @vrachuri28
|
|
16
|
+
- [Autocomplete] Fix ArrowLeft crash when value is not set with single-value rendering (#47214) @rithik56
|
|
17
|
+
- [Button] Fix running formAction when passed (#47185) @sai6855
|
|
18
|
+
- [Chip] Remove leftover closing parenthesis in CSS class key (#47345) @ZeeshanTamboli
|
|
19
|
+
- [ListItem] Add `secondaryAction` slot to `ListItem` (#47399) @sai6855
|
|
20
|
+
- [NumberField] Fix scroll behavior (#47397) @oliviertassinari
|
|
21
|
+
- [Select] Fix keyboard navigation while rendering in shadow DOM (#47380) @xBlizZer
|
|
22
|
+
- [Select] Fix cannot pass certain event handlers (#47366) @ZeeshanTamboli
|
|
23
|
+
- [Slider] Accept readonly array for `marks` prop (#47370) @pcorpet
|
|
24
|
+
- [Snackbar] Avoid unnecessary `ownerState` spread into `useSnackbar` (#47373) @ZeeshanTamboli
|
|
25
|
+
- [TextField] Allow custom props in slot props via TS module augmentation (#47367) @kumarvishwajeettrivedi
|
|
26
|
+
- [Tabs] Fix Arrow key navigation failing when component is rendered in shadow DOM (#47178) @sai6855
|
|
27
|
+
- Fix typings for theme `applyStyles` with custom color schemes (#47242) @akankshahu
|
|
28
|
+
|
|
29
|
+
### @mui/system@7.3.6
|
|
30
|
+
|
|
31
|
+
- Fix unwanted attribute on DOM from InitColorSchemeScript `class` attribute (#47200) @siriwatknp
|
|
32
|
+
|
|
33
|
+
### @mui/lab@7.3.6
|
|
34
|
+
|
|
35
|
+
- [Masonry] Fix layout flicker and single column issue (#43903) @Fanzzzd
|
|
36
|
+
|
|
37
|
+
### Docs
|
|
38
|
+
|
|
39
|
+
- Fix default theme viewer styling (#47400) @sai6855
|
|
40
|
+
- Remove repetitive words (#47384) @rifeplight
|
|
41
|
+
- Fix link to Portal API docs (#47383) @ZeeshanTamboli
|
|
42
|
+
- Remove mentions of MUI Base from Material UI docs (#47324) @mapache-salvaje
|
|
43
|
+
- Update CSP guidance (#47342) @rossdakin
|
|
44
|
+
- Fix pathname collision in LLMs docs generator (#47209) @siriwatknp
|
|
45
|
+
- Resolve redirected urls to their final location (#47193) @Janpot
|
|
46
|
+
- Document correct default values for `elevation` and `square` props (#47261) @Ad1tya-007
|
|
47
|
+
- Fix display of colors in dark mode in palette customization page (#47403) @sai6855
|
|
48
|
+
- Add Number Field component page (#47165) @siriwatknp
|
|
49
|
+
- Fix mcp schema change (#47171) @sai6855
|
|
50
|
+
|
|
51
|
+
### Core
|
|
52
|
+
|
|
53
|
+
- [code-infra] Add types for markdown loader (#47075) @Janpot
|
|
54
|
+
- [code-infra] Build test utils with code-infra pipeline (#47405) @Janpot
|
|
55
|
+
- [code-infra] Vitest test migration (#44325) @JCQuintas
|
|
56
|
+
- [code-infra] Revive docs bundle analyzer (#47401) @Janpot
|
|
57
|
+
- [code-infra] Update tests from vitest PR (#47344) @Janpot
|
|
58
|
+
- [code-infra] Use util from code-infra to fetch changelogs (#47350) @brijeshb42
|
|
59
|
+
- [code-infra] Enable production sourcemaps (#47352) @Janpot
|
|
60
|
+
- [code-infra] Use code-infra orb utils in circle ci (#47179) @brijeshb42
|
|
61
|
+
- [code-infra] Use `next/font` for local fonts (#47351) @Janpot
|
|
62
|
+
- [code-infra] New broken links checker (#47113) @Janpot
|
|
63
|
+
- [code-infra] Remove profiler (#47258) @Janpot
|
|
64
|
+
- [code-infra] Api doc optimizations (#47188) @Janpot
|
|
65
|
+
- [code-infra] Increase type check parallelism (#47192) @Janpot
|
|
66
|
+
- [code-infra] Remove deprecated baseUrl (#47210) @Janpot
|
|
67
|
+
- [code-infra] Disable next.js cache (#47233) @Janpot
|
|
68
|
+
- [code-infra] release:build for bundle checker (#47207) @Janpot
|
|
69
|
+
- [code-infra] Parallelize module augmentation tests (#47208) @Janpot
|
|
70
|
+
- [code-infra] Fix next.js parallelism at 2 for macos runner (#47201) @Janpot
|
|
71
|
+
- [code-infra] Fix bash escape (#46969) @oliviertassinari
|
|
72
|
+
- [code-infra] Utilise eslint cache in CI (#47194) @Janpot
|
|
73
|
+
- [code-infra] Enable Next.js build cache to improve CI performance (#47176) @Copilot
|
|
74
|
+
- [code-infra] Remove `apps` folder (#47183) @Janpot
|
|
75
|
+
- [code-infra] Migrate everything to getStaticProps (#47152) @Janpot
|
|
76
|
+
- [docs-infra] Migrate to `next/font` (#47347) @Janpot
|
|
77
|
+
- [docs-infra] Add some `ComponentLinkHeader` bottom margin (#47328) @Janpot
|
|
78
|
+
- [docs-infra] Exclude a few pages from llms-txt (#47111) @Janpot
|
|
79
|
+
- [examples] Add missing .gitignore to NextJS App Router example (#47251) @shamblonaut
|
|
80
|
+
- [examples] Migrate Next.js `next.config.js` to `next.config.mjs` (#44040) @albarv340
|
|
81
|
+
- [internal] Remove leftover testing-library libraries from `mui-material` package (#47392) @ZeeshanTamboli
|
|
82
|
+
- [internal] Remove unnecessary `clean-css` package from docs (#47314) @ZeeshanTamboli
|
|
83
|
+
- [internal] Fix typo `buidApiDocs` -> `buildApiDocs` (#47235) @Ad1tya-007
|
|
84
|
+
- [internal] Remove unused `@vitest/browser` and `@vitest/coverage-v8` (#47189) @ZeeshanTamboli
|
|
85
|
+
- [test] Update e2e test app (#47252) @Ad1tya-007
|
|
86
|
+
- [test] Fix flaky Virtualize Autocomplete regression test (#47199) @ZeeshanTamboli
|
|
87
|
+
|
|
88
|
+
All contributors of this release in alphabetical order: @Ad1tya-007, @akankshahu, @albarv340, @Aleksan4e3, @brijeshb42, @Copilot, @Fanzzzd, @Janpot, @JCQuintas, @kumarvishwajeettrivedi, @mapache-salvaje, @oliviertassinari, @pcorpet, @rifeplight, @rithik56, @rossdakin, @sai6855, @shamblonaut, @siriwatknp, @vrachuri28, @xBlizZer, @ZeeshanTamboli
|
|
89
|
+
|
|
3
90
|
## 7.3.5
|
|
4
91
|
|
|
5
92
|
<!-- generated comparing v7.3.4..master -->
|
package/Chip/Chip.js
CHANGED
|
@@ -78,7 +78,7 @@ const ChipRoot = (0, _zeroStyled.styled)('div', {
|
|
|
78
78
|
[`& .${_chipClasses.default.deleteIcon}`]: styles[`deleteIconColor${(0, _capitalize.default)(color)}`]
|
|
79
79
|
}, {
|
|
80
80
|
[`& .${_chipClasses.default.deleteIcon}`]: styles[`deleteIcon${(0, _capitalize.default)(variant)}Color${(0, _capitalize.default)(color)}`]
|
|
81
|
-
}, styles.root, styles[`size${(0, _capitalize.default)(size)}`], styles[`color${(0, _capitalize.default)(color)}`], clickable && styles.clickable, clickable && color !== 'default' && styles[`clickableColor${(0, _capitalize.default)(color)}
|
|
81
|
+
}, styles.root, styles[`size${(0, _capitalize.default)(size)}`], styles[`color${(0, _capitalize.default)(color)}`], clickable && styles.clickable, clickable && color !== 'default' && styles[`clickableColor${(0, _capitalize.default)(color)}`], onDelete && styles.deletable, onDelete && color !== 'default' && styles[`deletableColor${(0, _capitalize.default)(color)}`], styles[variant], styles[`${variant}${(0, _capitalize.default)(color)}`]];
|
|
82
82
|
}
|
|
83
83
|
})((0, _memoTheme.default)(({
|
|
84
84
|
theme
|
|
@@ -7,7 +7,7 @@ export interface CssBaselineProps extends StyledComponentProps<never> {
|
|
|
7
7
|
children?: React.ReactNode;
|
|
8
8
|
/**
|
|
9
9
|
* Enable `color-scheme` CSS property to use `theme.palette.mode`.
|
|
10
|
-
* For more details, check out https://developer.mozilla.org/en-US/docs/Web/CSS/color-scheme
|
|
10
|
+
* For more details, check out https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/color-scheme
|
|
11
11
|
* For browser support, check out https://caniuse.com/?search=color-scheme
|
|
12
12
|
* @default false
|
|
13
13
|
*/
|
|
@@ -161,7 +161,7 @@ process.env.NODE_ENV !== "production" ? CssBaseline.propTypes /* remove-proptype
|
|
|
161
161
|
children: _propTypes.default.node,
|
|
162
162
|
/**
|
|
163
163
|
* Enable `color-scheme` CSS property to use `theme.palette.mode`.
|
|
164
|
-
* For more details, check out https://developer.mozilla.org/en-US/docs/Web/CSS/color-scheme
|
|
164
|
+
* For more details, check out https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/color-scheme
|
|
165
165
|
* For browser support, check out https://caniuse.com/?search=color-scheme
|
|
166
166
|
* @default false
|
|
167
167
|
*/
|
|
@@ -105,6 +105,7 @@ export interface FormControlTypeMap<AdditionalProps = {}, RootComponent extends
|
|
|
105
105
|
* Demos:
|
|
106
106
|
*
|
|
107
107
|
* - [Checkbox](https://mui.com/material-ui/react-checkbox/)
|
|
108
|
+
* - [Number Field](https://mui.com/material-ui/react-number-field/)
|
|
108
109
|
* - [Radio Group](https://mui.com/material-ui/react-radio-button/)
|
|
109
110
|
* - [Switch](https://mui.com/material-ui/react-switch/)
|
|
110
111
|
* - [Text Field](https://mui.com/material-ui/react-text-field/)
|
package/FormLabel/FormLabel.d.ts
CHANGED
|
@@ -60,6 +60,7 @@ export interface FormLabelTypeMap<AdditionalProps = {}, RootComponent extends Re
|
|
|
60
60
|
* Demos:
|
|
61
61
|
*
|
|
62
62
|
* - [Checkbox](https://mui.com/material-ui/react-checkbox/)
|
|
63
|
+
* - [Number Field](https://mui.com/material-ui/react-number-field/)
|
|
63
64
|
* - [Radio Group](https://mui.com/material-ui/react-radio-button/)
|
|
64
65
|
* - [Switch](https://mui.com/material-ui/react-switch/)
|
|
65
66
|
*
|
package/ListItem/ListItem.d.ts
CHANGED
|
@@ -3,7 +3,9 @@ import { SxProps } from '@mui/system';
|
|
|
3
3
|
import { Theme } from "../styles/index.js";
|
|
4
4
|
import { OverridableComponent, OverrideProps } from "../OverridableComponent/index.js";
|
|
5
5
|
import { ListItemClasses } from "./listItemClasses.js";
|
|
6
|
+
import { SlotProps } from "../utils/types.js";
|
|
6
7
|
export interface ListItemComponentsPropsOverrides {}
|
|
8
|
+
export interface ListItemSecondaryActionSlotPropsOverrides {}
|
|
7
9
|
|
|
8
10
|
/**
|
|
9
11
|
* This type is kept for compatibility. Use `ListItemOwnProps` instead.
|
|
@@ -65,6 +67,7 @@ export interface ListItemBaseProps {
|
|
|
65
67
|
*/
|
|
66
68
|
sx?: SxProps<Theme>;
|
|
67
69
|
}
|
|
70
|
+
export interface ListItemOwnerState extends Omit<ListItemProps, 'slots' | 'slotProps'> {}
|
|
68
71
|
export interface ListItemOwnProps extends ListItemBaseProps {
|
|
69
72
|
/**
|
|
70
73
|
* The components used for each slot inside.
|
|
@@ -93,6 +96,7 @@ export interface ListItemOwnProps extends ListItemBaseProps {
|
|
|
93
96
|
*/
|
|
94
97
|
slotProps?: {
|
|
95
98
|
root?: React.HTMLAttributes<HTMLDivElement> & ListItemComponentsPropsOverrides;
|
|
99
|
+
secondaryAction?: SlotProps<React.ElementType<React.HTMLAttributes<HTMLDivElement>>, ListItemSecondaryActionSlotPropsOverrides, ListItemOwnerState>;
|
|
96
100
|
};
|
|
97
101
|
/**
|
|
98
102
|
* The components used for each slot inside.
|
|
@@ -101,6 +105,7 @@ export interface ListItemOwnProps extends ListItemBaseProps {
|
|
|
101
105
|
*/
|
|
102
106
|
slots?: {
|
|
103
107
|
root?: React.ElementType;
|
|
108
|
+
secondaryAction?: React.ElementType;
|
|
104
109
|
};
|
|
105
110
|
}
|
|
106
111
|
export interface ListItemTypeMap<AdditionalProps, RootComponent extends React.ElementType> {
|
package/ListItem/ListItem.js
CHANGED
|
@@ -19,6 +19,7 @@ var _memoTheme = _interopRequireDefault(require("../utils/memoTheme"));
|
|
|
19
19
|
var _DefaultPropsProvider = require("../DefaultPropsProvider");
|
|
20
20
|
var _isMuiElement = _interopRequireDefault(require("../utils/isMuiElement"));
|
|
21
21
|
var _useForkRef = _interopRequireDefault(require("../utils/useForkRef"));
|
|
22
|
+
var _useSlot = _interopRequireDefault(require("../utils/useSlot"));
|
|
22
23
|
var _ListContext = _interopRequireDefault(require("../List/ListContext"));
|
|
23
24
|
var _listItemClasses = require("./listItemClasses");
|
|
24
25
|
var _ListItemButton = require("../ListItemButton");
|
|
@@ -43,7 +44,8 @@ const useUtilityClasses = ownerState => {
|
|
|
43
44
|
} = ownerState;
|
|
44
45
|
const slots = {
|
|
45
46
|
root: ['root', dense && 'dense', !disableGutters && 'gutters', !disablePadding && 'padding', divider && 'divider', alignItems === 'flex-start' && 'alignItemsFlexStart', hasSecondaryAction && 'secondaryAction'],
|
|
46
|
-
container: ['container']
|
|
47
|
+
container: ['container'],
|
|
48
|
+
secondaryAction: ['secondaryAction']
|
|
47
49
|
};
|
|
48
50
|
return (0, _composeClasses.default)(slots, _listItemClasses.getListItemUtilityClass, classes);
|
|
49
51
|
};
|
|
@@ -205,6 +207,16 @@ const ListItem = /*#__PURE__*/React.forwardRef(function ListItem(inProps, ref) {
|
|
|
205
207
|
};
|
|
206
208
|
const classes = useUtilityClasses(ownerState);
|
|
207
209
|
const handleRef = (0, _useForkRef.default)(listItemRef, ref);
|
|
210
|
+
const externalForwardedProps = {
|
|
211
|
+
slots,
|
|
212
|
+
slotProps
|
|
213
|
+
};
|
|
214
|
+
const [SecondaryActionSlot, secondaryActionSlotProps] = (0, _useSlot.default)('secondaryAction', {
|
|
215
|
+
elementType: _ListItemSecondaryAction.default,
|
|
216
|
+
externalForwardedProps,
|
|
217
|
+
ownerState,
|
|
218
|
+
className: classes.secondaryAction
|
|
219
|
+
});
|
|
208
220
|
const Root = slots.root || components.Root || ListItemRoot;
|
|
209
221
|
const rootProps = slotProps.root || componentsProps.root || {};
|
|
210
222
|
const componentProps = {
|
|
@@ -262,7 +274,8 @@ const ListItem = /*#__PURE__*/React.forwardRef(function ListItem(inProps, ref) {
|
|
|
262
274
|
}
|
|
263
275
|
}),
|
|
264
276
|
...componentProps,
|
|
265
|
-
children: [children, secondaryAction && /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
277
|
+
children: [children, secondaryAction && /*#__PURE__*/(0, _jsxRuntime.jsx)(SecondaryActionSlot, {
|
|
278
|
+
...secondaryActionSlotProps,
|
|
266
279
|
children: secondaryAction
|
|
267
280
|
})]
|
|
268
281
|
})
|
|
@@ -377,7 +390,8 @@ process.env.NODE_ENV !== "production" ? ListItem.propTypes /* remove-proptypes *
|
|
|
377
390
|
* @default {}
|
|
378
391
|
*/
|
|
379
392
|
slotProps: _propTypes.default.shape({
|
|
380
|
-
root: _propTypes.default.object
|
|
393
|
+
root: _propTypes.default.object,
|
|
394
|
+
secondaryAction: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object])
|
|
381
395
|
}),
|
|
382
396
|
/**
|
|
383
397
|
* The components used for each slot inside.
|
|
@@ -385,7 +399,8 @@ process.env.NODE_ENV !== "production" ? ListItem.propTypes /* remove-proptypes *
|
|
|
385
399
|
* @default {}
|
|
386
400
|
*/
|
|
387
401
|
slots: _propTypes.default.shape({
|
|
388
|
-
root: _propTypes.default.elementType
|
|
402
|
+
root: _propTypes.default.elementType,
|
|
403
|
+
secondaryAction: _propTypes.default.elementType
|
|
389
404
|
}),
|
|
390
405
|
/**
|
|
391
406
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
package/MenuList/MenuList.js
CHANGED
|
@@ -12,6 +12,7 @@ var _reactIs = require("react-is");
|
|
|
12
12
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
13
13
|
var _ownerDocument = _interopRequireDefault(require("../utils/ownerDocument"));
|
|
14
14
|
var _List = _interopRequireDefault(require("../List"));
|
|
15
|
+
var _getActiveElement = _interopRequireDefault(require("../utils/getActiveElement"));
|
|
15
16
|
var _getScrollbarSize = _interopRequireDefault(require("../utils/getScrollbarSize"));
|
|
16
17
|
var _useForkRef = _interopRequireDefault(require("../utils/useForkRef"));
|
|
17
18
|
var _useEnhancedEffect = _interopRequireDefault(require("../utils/useEnhancedEffect"));
|
|
@@ -143,7 +144,7 @@ const MenuList = /*#__PURE__*/React.forwardRef(function MenuList(props, ref) {
|
|
|
143
144
|
* or document.body or document.documentElement. Only the first case will
|
|
144
145
|
* trigger this specific handler.
|
|
145
146
|
*/
|
|
146
|
-
const currentFocus = (0, _ownerDocument.default)(list)
|
|
147
|
+
const currentFocus = (0, _getActiveElement.default)((0, _ownerDocument.default)(list));
|
|
147
148
|
if (key === 'ArrowDown') {
|
|
148
149
|
// Prevent scroll of the page
|
|
149
150
|
event.preventDefault();
|
|
@@ -14,7 +14,7 @@ export interface ScopedCssBaselineOwnProps {
|
|
|
14
14
|
classes?: Partial<ScopedCssBaselineClasses>;
|
|
15
15
|
/**
|
|
16
16
|
* Enable `color-scheme` CSS property to use `theme.palette.mode`.
|
|
17
|
-
* For more details, check out https://developer.mozilla.org/en-US/docs/Web/CSS/color-scheme
|
|
17
|
+
* For more details, check out https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/color-scheme
|
|
18
18
|
* For browser support, check out https://caniuse.com/?search=color-scheme
|
|
19
19
|
*/
|
|
20
20
|
enableColorScheme?: boolean;
|
|
@@ -114,7 +114,7 @@ process.env.NODE_ENV !== "production" ? ScopedCssBaseline.propTypes /* remove-pr
|
|
|
114
114
|
component: _propTypes.default.elementType,
|
|
115
115
|
/**
|
|
116
116
|
* Enable `color-scheme` CSS property to use `theme.palette.mode`.
|
|
117
|
-
* For more details, check out https://developer.mozilla.org/en-US/docs/Web/CSS/color-scheme
|
|
117
|
+
* For more details, check out https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/color-scheme
|
|
118
118
|
* For browser support, check out https://caniuse.com/?search=color-scheme
|
|
119
119
|
*/
|
|
120
120
|
enableColorScheme: _propTypes.default.bool,
|
package/Select/SelectInput.d.ts
CHANGED
|
@@ -41,6 +41,8 @@ export interface SelectInputProps<Value = unknown> {
|
|
|
41
41
|
onChange?: (event: SelectChangeEvent<Value>, child: React.ReactNode) => void;
|
|
42
42
|
onClose?: (event: React.SyntheticEvent) => void;
|
|
43
43
|
onFocus?: React.FocusEventHandler<any>;
|
|
44
|
+
onKeyDown?: React.KeyboardEventHandler;
|
|
45
|
+
onMouseDown?: React.MouseEventHandler;
|
|
44
46
|
onOpen?: (event: React.SyntheticEvent) => void;
|
|
45
47
|
open?: boolean;
|
|
46
48
|
readOnly?: boolean;
|
package/Select/SelectInput.js
CHANGED
|
@@ -135,6 +135,10 @@ const SelectInput = /*#__PURE__*/React.forwardRef(function SelectInput(props, re
|
|
|
135
135
|
onChange,
|
|
136
136
|
onClose,
|
|
137
137
|
onFocus,
|
|
138
|
+
// eslint-disable-next-line react/prop-types
|
|
139
|
+
onKeyDown,
|
|
140
|
+
// eslint-disable-next-line react/prop-types
|
|
141
|
+
onMouseDown,
|
|
138
142
|
onOpen,
|
|
139
143
|
open: openProp,
|
|
140
144
|
readOnly,
|
|
@@ -229,6 +233,7 @@ const SelectInput = /*#__PURE__*/React.forwardRef(function SelectInput(props, re
|
|
|
229
233
|
}
|
|
230
234
|
};
|
|
231
235
|
const handleMouseDown = event => {
|
|
236
|
+
onMouseDown?.(event);
|
|
232
237
|
// Ignore everything but left-click
|
|
233
238
|
if (event.button !== 0) {
|
|
234
239
|
return;
|
|
@@ -308,6 +313,7 @@ const SelectInput = /*#__PURE__*/React.forwardRef(function SelectInput(props, re
|
|
|
308
313
|
event.preventDefault();
|
|
309
314
|
update(true, event);
|
|
310
315
|
}
|
|
316
|
+
onKeyDown?.(event);
|
|
311
317
|
}
|
|
312
318
|
};
|
|
313
319
|
const open = displayNode !== null && openState;
|
package/Slider/Slider.d.ts
CHANGED
|
@@ -113,7 +113,7 @@ export interface SliderOwnProps<Value extends number | number[]> {
|
|
|
113
113
|
* If an array, it should contain objects with `value` and an optional `label` keys.
|
|
114
114
|
* @default false
|
|
115
115
|
*/
|
|
116
|
-
marks?: boolean | Mark[];
|
|
116
|
+
marks?: boolean | readonly Mark[];
|
|
117
117
|
/**
|
|
118
118
|
* The maximum allowed value of the slider.
|
|
119
119
|
* Should not be equal to min.
|
|
@@ -198,7 +198,7 @@ export interface UseSliderReturnValue {
|
|
|
198
198
|
/**
|
|
199
199
|
* The marks of the slider. Marks indicate predetermined values to which the user can move the slider.
|
|
200
200
|
*/
|
|
201
|
-
marks: Mark[];
|
|
201
|
+
marks: readonly Mark[];
|
|
202
202
|
/**
|
|
203
203
|
* The thumb index for the current value when in hover state.
|
|
204
204
|
*/
|
package/Snackbar/Snackbar.js
CHANGED
|
@@ -164,9 +164,7 @@ const Snackbar = /*#__PURE__*/React.forwardRef(function Snackbar(inProps, ref) {
|
|
|
164
164
|
const {
|
|
165
165
|
getRootProps,
|
|
166
166
|
onClickAway
|
|
167
|
-
} = (0, _useSnackbar.default)(
|
|
168
|
-
...ownerState
|
|
169
|
-
});
|
|
167
|
+
} = (0, _useSnackbar.default)(ownerState);
|
|
170
168
|
const [exited, setExited] = React.useState(true);
|
|
171
169
|
const handleExited = node => {
|
|
172
170
|
setExited(true);
|
package/Tabs/Tabs.js
CHANGED
|
@@ -26,6 +26,7 @@ var _useEventCallback = _interopRequireDefault(require("../utils/useEventCallbac
|
|
|
26
26
|
var _tabsClasses = _interopRequireWildcard(require("./tabsClasses"));
|
|
27
27
|
var _ownerDocument = _interopRequireDefault(require("../utils/ownerDocument"));
|
|
28
28
|
var _ownerWindow = _interopRequireDefault(require("../utils/ownerWindow"));
|
|
29
|
+
var _getActiveElement = _interopRequireDefault(require("../utils/getActiveElement"));
|
|
29
30
|
var _useSlot = _interopRequireDefault(require("../utils/useSlot"));
|
|
30
31
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
31
32
|
const nextItem = (list, item) => {
|
|
@@ -704,11 +705,11 @@ const Tabs = /*#__PURE__*/React.forwardRef(function Tabs(inProps, ref) {
|
|
|
704
705
|
return;
|
|
705
706
|
}
|
|
706
707
|
const list = tabListRef.current;
|
|
707
|
-
const currentFocus = (0, _ownerDocument.default)(list)
|
|
708
|
+
const currentFocus = (0, _getActiveElement.default)((0, _ownerDocument.default)(list));
|
|
708
709
|
// Keyboard navigation assumes that [role="tab"] are siblings
|
|
709
710
|
// though we might warn in the future about nested, interactive elements
|
|
710
711
|
// as a a11y violation
|
|
711
|
-
const role = currentFocus
|
|
712
|
+
const role = currentFocus?.getAttribute('role');
|
|
712
713
|
if (role !== 'tab') {
|
|
713
714
|
return;
|
|
714
715
|
}
|