@mui/material 7.3.7 → 7.3.8
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/Alert/Alert.js +1 -1
- package/AppBar/AppBar.js +1 -1
- package/Autocomplete/Autocomplete.d.ts +1 -1
- package/Autocomplete/Autocomplete.js +1 -1
- package/Badge/Badge.js +23 -104
- package/CHANGELOG.md +62 -0
- package/Chip/Chip.js +1 -3
- package/Collapse/Collapse.js +3 -3
- package/Drawer/Drawer.js +1 -1
- package/GridLegacy/GridLegacy.js +1 -1
- package/Popover/Popover.js +2 -2
- package/Popper/BasePopper.js +2 -2
- package/Slide/Slide.js +1 -1
- package/Tabs/Tabs.d.ts +2 -1
- package/Tabs/Tabs.js +1 -1
- package/esm/Alert/Alert.js +1 -1
- package/esm/AppBar/AppBar.js +1 -1
- package/esm/Autocomplete/Autocomplete.d.ts +1 -1
- package/esm/Autocomplete/Autocomplete.js +1 -1
- package/esm/Badge/Badge.js +23 -104
- package/esm/Chip/Chip.js +1 -3
- package/esm/Collapse/Collapse.js +3 -3
- package/esm/Drawer/Drawer.js +1 -1
- package/esm/GridLegacy/GridLegacy.js +1 -1
- package/esm/Popover/Popover.js +2 -2
- package/esm/Popper/BasePopper.js +2 -2
- package/esm/Slide/Slide.js +1 -1
- package/esm/Tabs/Tabs.d.ts +2 -1
- package/esm/Tabs/Tabs.js +1 -1
- package/esm/index.js +1 -1
- package/esm/internal/SwitchBase.js +0 -1
- package/esm/useAutocomplete/useAutocomplete.d.ts +1 -1
- package/esm/useAutocomplete/useAutocomplete.js +3 -2
- package/esm/version/index.js +2 -2
- package/index.js +1 -1
- package/internal/SwitchBase.js +0 -1
- package/package.json +7 -7
- package/useAutocomplete/useAutocomplete.d.ts +1 -1
- package/useAutocomplete/useAutocomplete.js +3 -2
- package/version/index.js +2 -2
package/Alert/Alert.js
CHANGED
|
@@ -237,7 +237,7 @@ const Alert = /*#__PURE__*/React.forwardRef(function Alert(inProps, ref) {
|
|
|
237
237
|
...rootSlotProps,
|
|
238
238
|
children: [icon !== false ? /*#__PURE__*/(0, _jsxRuntime.jsx)(IconSlot, {
|
|
239
239
|
...iconSlotProps,
|
|
240
|
-
children: icon || iconMapping[severity]
|
|
240
|
+
children: icon || iconMapping[severity] || defaultIconMapping[severity]
|
|
241
241
|
}) : null, /*#__PURE__*/(0, _jsxRuntime.jsx)(MessageSlot, {
|
|
242
242
|
...messageSlotProps,
|
|
243
243
|
children: children
|
package/AppBar/AppBar.js
CHANGED
|
@@ -33,7 +33,7 @@ const useUtilityClasses = ownerState => {
|
|
|
33
33
|
|
|
34
34
|
// var2 is the fallback.
|
|
35
35
|
// Ex. var1: 'var(--a)', var2: 'var(--b)'; return: 'var(--a, var(--b))'
|
|
36
|
-
const joinVars = (var1, var2) => var1 ? `${var1
|
|
36
|
+
const joinVars = (var1, var2) => var1 ? `${var1.replace(')', '')}, ${var2})` : var2;
|
|
37
37
|
const AppBarRoot = (0, _zeroStyled.styled)(_Paper.default, {
|
|
38
38
|
name: 'MuiAppBar',
|
|
39
39
|
slot: 'Root',
|
|
@@ -283,7 +283,7 @@ export interface AutocompleteProps<Value, Multiple extends boolean | undefined,
|
|
|
283
283
|
* @returns {ReactNode}
|
|
284
284
|
*/
|
|
285
285
|
renderOption?: (props: React.HTMLAttributes<HTMLLIElement> & {
|
|
286
|
-
key:
|
|
286
|
+
key: React.Key;
|
|
287
287
|
}, option: Value, state: AutocompleteRenderOptionState, ownerState: AutocompleteOwnerState<Value, Multiple, DisableClearable, FreeSolo, ChipComponent>) => React.ReactNode;
|
|
288
288
|
/**
|
|
289
289
|
* Render the selected value when doing multiple selections.
|
|
@@ -669,7 +669,7 @@ const Autocomplete = /*#__PURE__*/React.forwardRef(function Autocomplete(inProps
|
|
|
669
669
|
children: renderInput({
|
|
670
670
|
id,
|
|
671
671
|
disabled,
|
|
672
|
-
fullWidth: true,
|
|
672
|
+
fullWidth: props.fullWidth ?? true,
|
|
673
673
|
size: size === 'small' ? 'small' : undefined,
|
|
674
674
|
InputLabelProps: getInputLabelProps(),
|
|
675
675
|
InputProps: {
|
package/Badge/Badge.js
CHANGED
|
@@ -100,110 +100,6 @@ const BadgeBadge = (0, _zeroStyled.styled)('span', {
|
|
|
100
100
|
minWidth: RADIUS_DOT * 2,
|
|
101
101
|
padding: 0
|
|
102
102
|
}
|
|
103
|
-
}, {
|
|
104
|
-
props: ({
|
|
105
|
-
ownerState
|
|
106
|
-
}) => ownerState.anchorOrigin.vertical === 'top' && ownerState.anchorOrigin.horizontal === 'right' && ownerState.overlap === 'rectangular',
|
|
107
|
-
style: {
|
|
108
|
-
top: 0,
|
|
109
|
-
right: 0,
|
|
110
|
-
transform: 'scale(1) translate(50%, -50%)',
|
|
111
|
-
transformOrigin: '100% 0%',
|
|
112
|
-
[`&.${_badgeClasses.default.invisible}`]: {
|
|
113
|
-
transform: 'scale(0) translate(50%, -50%)'
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
}, {
|
|
117
|
-
props: ({
|
|
118
|
-
ownerState
|
|
119
|
-
}) => ownerState.anchorOrigin.vertical === 'bottom' && ownerState.anchorOrigin.horizontal === 'right' && ownerState.overlap === 'rectangular',
|
|
120
|
-
style: {
|
|
121
|
-
bottom: 0,
|
|
122
|
-
right: 0,
|
|
123
|
-
transform: 'scale(1) translate(50%, 50%)',
|
|
124
|
-
transformOrigin: '100% 100%',
|
|
125
|
-
[`&.${_badgeClasses.default.invisible}`]: {
|
|
126
|
-
transform: 'scale(0) translate(50%, 50%)'
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
}, {
|
|
130
|
-
props: ({
|
|
131
|
-
ownerState
|
|
132
|
-
}) => ownerState.anchorOrigin.vertical === 'top' && ownerState.anchorOrigin.horizontal === 'left' && ownerState.overlap === 'rectangular',
|
|
133
|
-
style: {
|
|
134
|
-
top: 0,
|
|
135
|
-
left: 0,
|
|
136
|
-
transform: 'scale(1) translate(-50%, -50%)',
|
|
137
|
-
transformOrigin: '0% 0%',
|
|
138
|
-
[`&.${_badgeClasses.default.invisible}`]: {
|
|
139
|
-
transform: 'scale(0) translate(-50%, -50%)'
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
}, {
|
|
143
|
-
props: ({
|
|
144
|
-
ownerState
|
|
145
|
-
}) => ownerState.anchorOrigin.vertical === 'bottom' && ownerState.anchorOrigin.horizontal === 'left' && ownerState.overlap === 'rectangular',
|
|
146
|
-
style: {
|
|
147
|
-
bottom: 0,
|
|
148
|
-
left: 0,
|
|
149
|
-
transform: 'scale(1) translate(-50%, 50%)',
|
|
150
|
-
transformOrigin: '0% 100%',
|
|
151
|
-
[`&.${_badgeClasses.default.invisible}`]: {
|
|
152
|
-
transform: 'scale(0) translate(-50%, 50%)'
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
}, {
|
|
156
|
-
props: ({
|
|
157
|
-
ownerState
|
|
158
|
-
}) => ownerState.anchorOrigin.vertical === 'top' && ownerState.anchorOrigin.horizontal === 'right' && ownerState.overlap === 'circular',
|
|
159
|
-
style: {
|
|
160
|
-
top: '14%',
|
|
161
|
-
right: '14%',
|
|
162
|
-
transform: 'scale(1) translate(50%, -50%)',
|
|
163
|
-
transformOrigin: '100% 0%',
|
|
164
|
-
[`&.${_badgeClasses.default.invisible}`]: {
|
|
165
|
-
transform: 'scale(0) translate(50%, -50%)'
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
}, {
|
|
169
|
-
props: ({
|
|
170
|
-
ownerState
|
|
171
|
-
}) => ownerState.anchorOrigin.vertical === 'bottom' && ownerState.anchorOrigin.horizontal === 'right' && ownerState.overlap === 'circular',
|
|
172
|
-
style: {
|
|
173
|
-
bottom: '14%',
|
|
174
|
-
right: '14%',
|
|
175
|
-
transform: 'scale(1) translate(50%, 50%)',
|
|
176
|
-
transformOrigin: '100% 100%',
|
|
177
|
-
[`&.${_badgeClasses.default.invisible}`]: {
|
|
178
|
-
transform: 'scale(0) translate(50%, 50%)'
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
}, {
|
|
182
|
-
props: ({
|
|
183
|
-
ownerState
|
|
184
|
-
}) => ownerState.anchorOrigin.vertical === 'top' && ownerState.anchorOrigin.horizontal === 'left' && ownerState.overlap === 'circular',
|
|
185
|
-
style: {
|
|
186
|
-
top: '14%',
|
|
187
|
-
left: '14%',
|
|
188
|
-
transform: 'scale(1) translate(-50%, -50%)',
|
|
189
|
-
transformOrigin: '0% 0%',
|
|
190
|
-
[`&.${_badgeClasses.default.invisible}`]: {
|
|
191
|
-
transform: 'scale(0) translate(-50%, -50%)'
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
}, {
|
|
195
|
-
props: ({
|
|
196
|
-
ownerState
|
|
197
|
-
}) => ownerState.anchorOrigin.vertical === 'bottom' && ownerState.anchorOrigin.horizontal === 'left' && ownerState.overlap === 'circular',
|
|
198
|
-
style: {
|
|
199
|
-
bottom: '14%',
|
|
200
|
-
left: '14%',
|
|
201
|
-
transform: 'scale(1) translate(-50%, 50%)',
|
|
202
|
-
transformOrigin: '0% 100%',
|
|
203
|
-
[`&.${_badgeClasses.default.invisible}`]: {
|
|
204
|
-
transform: 'scale(0) translate(-50%, 50%)'
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
103
|
}, {
|
|
208
104
|
props: {
|
|
209
105
|
invisible: true
|
|
@@ -214,6 +110,29 @@ const BadgeBadge = (0, _zeroStyled.styled)('span', {
|
|
|
214
110
|
duration: theme.transitions.duration.leavingScreen
|
|
215
111
|
})
|
|
216
112
|
}
|
|
113
|
+
}, {
|
|
114
|
+
style: ({
|
|
115
|
+
ownerState
|
|
116
|
+
}) => {
|
|
117
|
+
const {
|
|
118
|
+
vertical,
|
|
119
|
+
horizontal
|
|
120
|
+
} = ownerState.anchorOrigin;
|
|
121
|
+
const offset = ownerState.overlap === 'circular' ? '14%' : 0;
|
|
122
|
+
return {
|
|
123
|
+
'--Badge-translateX': horizontal === 'right' ? '50%' : '-50%',
|
|
124
|
+
'--Badge-translateY': vertical === 'top' ? '-50%' : '50%',
|
|
125
|
+
top: vertical === 'top' ? offset : 'initial',
|
|
126
|
+
bottom: vertical === 'bottom' ? offset : 'initial',
|
|
127
|
+
right: horizontal === 'right' ? offset : 'initial',
|
|
128
|
+
left: horizontal === 'left' ? offset : 'initial',
|
|
129
|
+
transform: 'scale(1) translate(var(--Badge-translateX), var(--Badge-translateY))',
|
|
130
|
+
transformOrigin: `${horizontal === 'right' ? '100%' : '0%'} ${vertical === 'top' ? '0%' : '100%'}`,
|
|
131
|
+
[`&.${_badgeClasses.default.invisible}`]: {
|
|
132
|
+
transform: 'scale(0) translate(var(--Badge-translateX), var(--Badge-translateY))'
|
|
133
|
+
}
|
|
134
|
+
};
|
|
135
|
+
}
|
|
217
136
|
}]
|
|
218
137
|
})));
|
|
219
138
|
function getAnchorOrigin(anchorOrigin) {
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,67 @@
|
|
|
1
1
|
# [Versions](https://mui.com/versions/)
|
|
2
2
|
|
|
3
|
+
## 7.3.8
|
|
4
|
+
|
|
5
|
+
<!-- generated comparing v7.3.7..master -->
|
|
6
|
+
|
|
7
|
+
_Feb 12, 2026_
|
|
8
|
+
|
|
9
|
+
A big thanks to the 15 contributors who made this release possible. Here are some highlights ✨:
|
|
10
|
+
|
|
11
|
+
### `@mui/material@7.3.8`
|
|
12
|
+
|
|
13
|
+
- [alert] Revert removing default icon mapping fallback (#47629) @ZeeshanTamboli
|
|
14
|
+
- [app-bar] Fix optional chaining in joinVars function (#47739) @sai6855
|
|
15
|
+
- [autocomplete] Fix scroll position resetting on reopen with `disableCloseOnSelect` (#47248) @ZeeshanTamboli
|
|
16
|
+
- [autocomplete] Pass fullWidth prop to input, with default as true (#47663) @silviuaavram
|
|
17
|
+
- [badge] Refactor variant styles generation (#47742) @sai6855
|
|
18
|
+
- [chip] Remove unnecessary `onDelete` check (#47753) @ZeeshanTamboli
|
|
19
|
+
- [switch][checkbox][radio] Remove `aria-disabled` from root span (#46318) @KirankumarAmbati
|
|
20
|
+
- [collapse] Remove unnecessary string concatenation (#47745) @sai6855
|
|
21
|
+
- [drawer] `persistent` and `permanent` variant Drawers should not override the styles via theme using `modal` class (#47581) @ZeeshanTamboli
|
|
22
|
+
- [tabs] Add ability to extend Tabs variant (#47590) @aditya1906
|
|
23
|
+
- [useAutocomplete] Add aria-multiselectable to listbox props when multiple is true (#47632) @silviuaavram
|
|
24
|
+
- [useAutocomplete] Use `React.Key` instead of `any` for `key` prop (#47619) @sonixx02
|
|
25
|
+
|
|
26
|
+
#### Core
|
|
27
|
+
|
|
28
|
+
- Revert "[docs-infra] Add Cookie Banner and Analytics Provider (#47445)" (868d23e) @dav-is
|
|
29
|
+
- Revert "[docs-infra] Update Cookie Consent Dialog styling and content (#47718)" (ae29d03) @dav-is
|
|
30
|
+
- [api-docs-builder] Validate slots prop and Slots interface export consistency (#47623) @Janpot
|
|
31
|
+
- [code-infra] Remove `window.muiDocConfig` (#47737) @Janpot
|
|
32
|
+
- [code-infra] Fix flaky Select test on Webkit (#47728) @Janpot
|
|
33
|
+
- [code-infra] Remove usage of NODE_ENV=test (#47692) @Janpot
|
|
34
|
+
- [code-infra] Prepare eslint rule rename (#47702) @Janpot
|
|
35
|
+
- [code-infra] Next.js 15.5.11 (security update) (#47697) @Janpot
|
|
36
|
+
- [code-infra] Fix Tooltip tests flakyness (#47669) @Janpot
|
|
37
|
+
- [code-infra] Improve instructions for error messages (#47668) @Janpot
|
|
38
|
+
- [code-infra] Add initial agent instructions (#47655) @Janpot
|
|
39
|
+
- [code-infra] Update broken links checker (#47633) @Janpot
|
|
40
|
+
- [code-infra] Improve Tooltip leaveDelay test (#47624) @Janpot
|
|
41
|
+
- [code-infra] Fix internal broken links (#47607) @Janpot
|
|
42
|
+
- [docs-infra] Resolve a few 301s in our docs (#47746) @Janpot
|
|
43
|
+
- [docs-infra] Update Cookie Consent Dialog styling and content (#47718) @dav-is
|
|
44
|
+
- [docs-infra] Add Cookie Banner and Analytics Provider (#47445) @dav-is
|
|
45
|
+
- [docs-infra] Make sure /customers page has a h1 (#47615) @Janpot
|
|
46
|
+
- [docs-infra] Fix privacy link (#47614) @Janpot
|
|
47
|
+
- [docs-infra] Resolve a few 301s (#47579) @Janpot
|
|
48
|
+
- [internal] Remove unused sponsor files (#47741) @oliviertassinari
|
|
49
|
+
- [markdown] Fix some broken hash links (#47609) @Janpot
|
|
50
|
+
- [test] Cleanup Table tests TODOs (#47656) @Ocheretovich
|
|
51
|
+
|
|
52
|
+
### Docs
|
|
53
|
+
|
|
54
|
+
- [website] unclickable banner in the pricing page (#47634) @aemartos
|
|
55
|
+
- [blog] Company Update: What we've been working on (and why) (#47626) @alelthomas
|
|
56
|
+
- [docs] Remove outdated notifications (#47743) @bernardobelchior
|
|
57
|
+
- [docs] Make Demo component product-agnostic (#47635) @Janpot
|
|
58
|
+
- [docs] Copyedit the Number Field doc (#47469) @mapache-salvaje
|
|
59
|
+
- [docs] Fix Roboto font not loading in iframe demos (#47660) @Janpot
|
|
60
|
+
- [docs] Replace Checkbox with Icons in Combobox examples (#47654) @silviuaavram
|
|
61
|
+
- [docs] Fix punctuation in TypeScript guide description (#47617) @nodirbekprogrammer
|
|
62
|
+
|
|
63
|
+
All contributors of this release in alphabetical order: @aditya1906, @aemartos, @alelthomas, @bernardobelchior, @dav-is, @Janpot, @KirankumarAmbati, @mapache-salvaje, @nodirbekprogrammer, @Ocheretovich, @oliviertassinari, @sai6855, @silviuaavram, @sonixx02, @ZeeshanTamboli
|
|
64
|
+
|
|
3
65
|
## 7.3.7
|
|
4
66
|
|
|
5
67
|
<!-- generated comparing v7.3.6..master -->
|
package/Chip/Chip.js
CHANGED
|
@@ -388,9 +388,7 @@ const Chip = /*#__PURE__*/React.forwardRef(function Chip(inProps, ref) {
|
|
|
388
388
|
const handleDeleteIconClick = event => {
|
|
389
389
|
// Stop the event from bubbling up to the `Chip`
|
|
390
390
|
event.stopPropagation();
|
|
391
|
-
|
|
392
|
-
onDelete(event);
|
|
393
|
-
}
|
|
391
|
+
onDelete(event);
|
|
394
392
|
};
|
|
395
393
|
const handleKeyDown = event => {
|
|
396
394
|
// Ignore events from children of `Chip`.
|
package/Collapse/Collapse.js
CHANGED
|
@@ -29,11 +29,11 @@ const useUtilityClasses = ownerState => {
|
|
|
29
29
|
classes
|
|
30
30
|
} = ownerState;
|
|
31
31
|
const slots = {
|
|
32
|
-
root: ['root',
|
|
32
|
+
root: ['root', orientation],
|
|
33
33
|
entered: ['entered'],
|
|
34
34
|
hidden: ['hidden'],
|
|
35
|
-
wrapper: ['wrapper',
|
|
36
|
-
wrapperInner: ['wrapperInner',
|
|
35
|
+
wrapper: ['wrapper', orientation],
|
|
36
|
+
wrapperInner: ['wrapperInner', orientation]
|
|
37
37
|
};
|
|
38
38
|
return (0, _composeClasses.default)(slots, _collapseClasses.getCollapseUtilityClass, classes);
|
|
39
39
|
};
|
package/Drawer/Drawer.js
CHANGED
|
@@ -31,7 +31,7 @@ const overridesResolver = (props, styles) => {
|
|
|
31
31
|
const {
|
|
32
32
|
ownerState
|
|
33
33
|
} = props;
|
|
34
|
-
return [styles.root, (ownerState.variant === 'permanent' || ownerState.variant === 'persistent') && styles.docked, styles.modal];
|
|
34
|
+
return [styles.root, (ownerState.variant === 'permanent' || ownerState.variant === 'persistent') && styles.docked, ownerState.variant === 'temporary' && styles.modal];
|
|
35
35
|
};
|
|
36
36
|
const useUtilityClasses = ownerState => {
|
|
37
37
|
const {
|
package/GridLegacy/GridLegacy.js
CHANGED
|
@@ -38,7 +38,7 @@ var _gridLegacyClasses = _interopRequireWildcard(require("./gridLegacyClasses"))
|
|
|
38
38
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
39
39
|
let warnedOnce = false;
|
|
40
40
|
function warnAboutDeprecatedGridLegacy() {
|
|
41
|
-
if (!warnedOnce && process.env.NODE_ENV
|
|
41
|
+
if (!warnedOnce && process.env.NODE_ENV !== 'production') {
|
|
42
42
|
warnedOnce = true;
|
|
43
43
|
console.warn('MUI: The GridLegacy component is deprecated. See https://mui.com/material-ui/migration/upgrade-to-grid-v2/ for migration instructions.\n');
|
|
44
44
|
}
|
package/Popover/Popover.js
CHANGED
|
@@ -157,7 +157,7 @@ const Popover = /*#__PURE__*/React.forwardRef(function Popover(inProps, ref) {
|
|
|
157
157
|
const anchorRect = anchorElement.getBoundingClientRect();
|
|
158
158
|
if (process.env.NODE_ENV !== 'production') {
|
|
159
159
|
const box = anchorElement.getBoundingClientRect();
|
|
160
|
-
if (
|
|
160
|
+
if (!globalThis.MUI_TEST_ENV && box.top === 0 && box.left === 0 && box.right === 0 && box.bottom === 0) {
|
|
161
161
|
console.warn(['MUI: The `anchorEl` prop provided to the component is invalid.', 'The anchor element should be part of the document layout.', "Make sure the element is present in the document or that it's not display none."].join('\n'));
|
|
162
162
|
}
|
|
163
163
|
}
|
|
@@ -408,7 +408,7 @@ process.env.NODE_ENV !== "production" ? Popover.propTypes /* remove-proptypes */
|
|
|
408
408
|
const resolvedAnchorEl = resolveAnchorEl(props.anchorEl);
|
|
409
409
|
if (resolvedAnchorEl && resolvedAnchorEl.nodeType === 1) {
|
|
410
410
|
const box = resolvedAnchorEl.getBoundingClientRect();
|
|
411
|
-
if (process.env.NODE_ENV !== '
|
|
411
|
+
if (process.env.NODE_ENV !== 'production' && !globalThis.MUI_TEST_ENV && box.top === 0 && box.left === 0 && box.right === 0 && box.bottom === 0) {
|
|
412
412
|
return new Error(['MUI: The `anchorEl` prop provided to the component is invalid.', 'The anchor element should be part of the document layout.', "Make sure the element is present in the document or that it's not display none."].join('\n'));
|
|
413
413
|
}
|
|
414
414
|
} else {
|
package/Popper/BasePopper.js
CHANGED
|
@@ -112,7 +112,7 @@ const PopperTooltip = /*#__PURE__*/React.forwardRef(function PopperTooltip(props
|
|
|
112
112
|
if (process.env.NODE_ENV !== 'production') {
|
|
113
113
|
if (resolvedAnchorElement && isHTMLElement(resolvedAnchorElement) && resolvedAnchorElement.nodeType === 1) {
|
|
114
114
|
const box = resolvedAnchorElement.getBoundingClientRect();
|
|
115
|
-
if (
|
|
115
|
+
if (!globalThis.MUI_TEST_ENV && box.top === 0 && box.left === 0 && box.right === 0 && box.bottom === 0) {
|
|
116
116
|
console.warn(['MUI: The `anchorEl` prop provided to the component is invalid.', 'The anchor element should be part of the document layout.', "Make sure the element is present in the document or that it's not display none."].join('\n'));
|
|
117
117
|
}
|
|
118
118
|
}
|
|
@@ -274,7 +274,7 @@ process.env.NODE_ENV !== "production" ? Popper.propTypes /* remove-proptypes */
|
|
|
274
274
|
const resolvedAnchorEl = resolveAnchorEl(props.anchorEl);
|
|
275
275
|
if (resolvedAnchorEl && isHTMLElement(resolvedAnchorEl) && resolvedAnchorEl.nodeType === 1) {
|
|
276
276
|
const box = resolvedAnchorEl.getBoundingClientRect();
|
|
277
|
-
if (process.env.NODE_ENV !== '
|
|
277
|
+
if (process.env.NODE_ENV !== 'production' && !globalThis.MUI_TEST_ENV && box.top === 0 && box.left === 0 && box.right === 0 && box.bottom === 0) {
|
|
278
278
|
return new Error(['MUI: The `anchorEl` prop provided to the component is invalid.', 'The anchor element should be part of the document layout.', "Make sure the element is present in the document or that it's not display none."].join('\n'));
|
|
279
279
|
}
|
|
280
280
|
} else if (!resolvedAnchorEl || typeof resolvedAnchorEl.getBoundingClientRect !== 'function' || isVirtualElement(resolvedAnchorEl) && resolvedAnchorEl.contextElement != null && resolvedAnchorEl.contextElement.nodeType !== 1) {
|
package/Slide/Slide.js
CHANGED
|
@@ -270,7 +270,7 @@ process.env.NODE_ENV !== "production" ? Slide.propTypes /* remove-proptypes */ =
|
|
|
270
270
|
const resolvedContainer = resolveContainer(props.container);
|
|
271
271
|
if (resolvedContainer && resolvedContainer.nodeType === 1) {
|
|
272
272
|
const box = resolvedContainer.getBoundingClientRect();
|
|
273
|
-
if (process.env.NODE_ENV !== '
|
|
273
|
+
if (process.env.NODE_ENV !== 'production' && !globalThis.MUI_TEST_ENV && box.top === 0 && box.left === 0 && box.right === 0 && box.bottom === 0) {
|
|
274
274
|
return new Error(['MUI: The `container` prop provided to the component is invalid.', 'The anchor element should be part of the document layout.', "Make sure the element is present in the document or that it's not display none."].join('\n'));
|
|
275
275
|
}
|
|
276
276
|
} else if (!resolvedContainer || typeof resolvedContainer.getBoundingClientRect !== 'function' || resolvedContainer.contextElement != null && resolvedContainer.contextElement.nodeType !== 1) {
|
package/Tabs/Tabs.d.ts
CHANGED
|
@@ -8,6 +8,7 @@ import { OverridableComponent, OverrideProps } from "../OverridableComponent/ind
|
|
|
8
8
|
import { TabsClasses } from "./tabsClasses.js";
|
|
9
9
|
import SvgIcon from "../SvgIcon/index.js";
|
|
10
10
|
export interface TabsPropsIndicatorColorOverrides {}
|
|
11
|
+
export interface TabsPropsVariantOverrides {}
|
|
11
12
|
export interface TabsRootSlotPropsOverrides {}
|
|
12
13
|
export interface TabsScrollerSlotPropsOverrides {}
|
|
13
14
|
export interface TabsListSlotPropsOverrides {}
|
|
@@ -234,7 +235,7 @@ export interface TabsOwnProps extends TabsSlotsAndSlotProps {
|
|
|
234
235
|
* - `standard` will render the default state.
|
|
235
236
|
* @default 'standard'
|
|
236
237
|
*/
|
|
237
|
-
variant?: 'standard' | 'scrollable' | 'fullWidth'
|
|
238
|
+
variant?: OverridableStringUnion<'standard' | 'scrollable' | 'fullWidth', TabsPropsVariantOverrides>;
|
|
238
239
|
/**
|
|
239
240
|
* If `true`, the scrollbar is visible. It can be useful when displaying
|
|
240
241
|
* a long vertical list of tabs.
|
package/Tabs/Tabs.js
CHANGED
|
@@ -385,7 +385,7 @@ const Tabs = /*#__PURE__*/React.forwardRef(function Tabs(inProps, ref) {
|
|
|
385
385
|
}
|
|
386
386
|
tabMeta = tab ? tab.getBoundingClientRect() : null;
|
|
387
387
|
if (process.env.NODE_ENV !== 'production') {
|
|
388
|
-
if (
|
|
388
|
+
if (!globalThis.MUI_TEST_ENV && !warnedOnceTabPresent && tabMeta && tabMeta.width === 0 && tabMeta.height === 0 &&
|
|
389
389
|
// if the whole Tabs component is hidden, don't warn
|
|
390
390
|
tabsMeta.clientWidth !== 0) {
|
|
391
391
|
tabsMeta = null;
|
package/esm/Alert/Alert.js
CHANGED
|
@@ -230,7 +230,7 @@ const Alert = /*#__PURE__*/React.forwardRef(function Alert(inProps, ref) {
|
|
|
230
230
|
...rootSlotProps,
|
|
231
231
|
children: [icon !== false ? /*#__PURE__*/_jsx(IconSlot, {
|
|
232
232
|
...iconSlotProps,
|
|
233
|
-
children: icon || iconMapping[severity]
|
|
233
|
+
children: icon || iconMapping[severity] || defaultIconMapping[severity]
|
|
234
234
|
}) : null, /*#__PURE__*/_jsx(MessageSlot, {
|
|
235
235
|
...messageSlotProps,
|
|
236
236
|
children: children
|
package/esm/AppBar/AppBar.js
CHANGED
|
@@ -26,7 +26,7 @@ const useUtilityClasses = ownerState => {
|
|
|
26
26
|
|
|
27
27
|
// var2 is the fallback.
|
|
28
28
|
// Ex. var1: 'var(--a)', var2: 'var(--b)'; return: 'var(--a, var(--b))'
|
|
29
|
-
const joinVars = (var1, var2) => var1 ? `${var1
|
|
29
|
+
const joinVars = (var1, var2) => var1 ? `${var1.replace(')', '')}, ${var2})` : var2;
|
|
30
30
|
const AppBarRoot = styled(Paper, {
|
|
31
31
|
name: 'MuiAppBar',
|
|
32
32
|
slot: 'Root',
|
|
@@ -283,7 +283,7 @@ export interface AutocompleteProps<Value, Multiple extends boolean | undefined,
|
|
|
283
283
|
* @returns {ReactNode}
|
|
284
284
|
*/
|
|
285
285
|
renderOption?: (props: React.HTMLAttributes<HTMLLIElement> & {
|
|
286
|
-
key:
|
|
286
|
+
key: React.Key;
|
|
287
287
|
}, option: Value, state: AutocompleteRenderOptionState, ownerState: AutocompleteOwnerState<Value, Multiple, DisableClearable, FreeSolo, ChipComponent>) => React.ReactNode;
|
|
288
288
|
/**
|
|
289
289
|
* Render the selected value when doing multiple selections.
|
|
@@ -657,7 +657,7 @@ const Autocomplete = /*#__PURE__*/React.forwardRef(function Autocomplete(inProps
|
|
|
657
657
|
children: renderInput({
|
|
658
658
|
id,
|
|
659
659
|
disabled,
|
|
660
|
-
fullWidth: true,
|
|
660
|
+
fullWidth: props.fullWidth ?? true,
|
|
661
661
|
size: size === 'small' ? 'small' : undefined,
|
|
662
662
|
InputLabelProps: getInputLabelProps(),
|
|
663
663
|
InputProps: {
|
package/esm/Badge/Badge.js
CHANGED
|
@@ -93,110 +93,6 @@ const BadgeBadge = styled('span', {
|
|
|
93
93
|
minWidth: RADIUS_DOT * 2,
|
|
94
94
|
padding: 0
|
|
95
95
|
}
|
|
96
|
-
}, {
|
|
97
|
-
props: ({
|
|
98
|
-
ownerState
|
|
99
|
-
}) => ownerState.anchorOrigin.vertical === 'top' && ownerState.anchorOrigin.horizontal === 'right' && ownerState.overlap === 'rectangular',
|
|
100
|
-
style: {
|
|
101
|
-
top: 0,
|
|
102
|
-
right: 0,
|
|
103
|
-
transform: 'scale(1) translate(50%, -50%)',
|
|
104
|
-
transformOrigin: '100% 0%',
|
|
105
|
-
[`&.${badgeClasses.invisible}`]: {
|
|
106
|
-
transform: 'scale(0) translate(50%, -50%)'
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
}, {
|
|
110
|
-
props: ({
|
|
111
|
-
ownerState
|
|
112
|
-
}) => ownerState.anchorOrigin.vertical === 'bottom' && ownerState.anchorOrigin.horizontal === 'right' && ownerState.overlap === 'rectangular',
|
|
113
|
-
style: {
|
|
114
|
-
bottom: 0,
|
|
115
|
-
right: 0,
|
|
116
|
-
transform: 'scale(1) translate(50%, 50%)',
|
|
117
|
-
transformOrigin: '100% 100%',
|
|
118
|
-
[`&.${badgeClasses.invisible}`]: {
|
|
119
|
-
transform: 'scale(0) translate(50%, 50%)'
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
}, {
|
|
123
|
-
props: ({
|
|
124
|
-
ownerState
|
|
125
|
-
}) => ownerState.anchorOrigin.vertical === 'top' && ownerState.anchorOrigin.horizontal === 'left' && ownerState.overlap === 'rectangular',
|
|
126
|
-
style: {
|
|
127
|
-
top: 0,
|
|
128
|
-
left: 0,
|
|
129
|
-
transform: 'scale(1) translate(-50%, -50%)',
|
|
130
|
-
transformOrigin: '0% 0%',
|
|
131
|
-
[`&.${badgeClasses.invisible}`]: {
|
|
132
|
-
transform: 'scale(0) translate(-50%, -50%)'
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
}, {
|
|
136
|
-
props: ({
|
|
137
|
-
ownerState
|
|
138
|
-
}) => ownerState.anchorOrigin.vertical === 'bottom' && ownerState.anchorOrigin.horizontal === 'left' && ownerState.overlap === 'rectangular',
|
|
139
|
-
style: {
|
|
140
|
-
bottom: 0,
|
|
141
|
-
left: 0,
|
|
142
|
-
transform: 'scale(1) translate(-50%, 50%)',
|
|
143
|
-
transformOrigin: '0% 100%',
|
|
144
|
-
[`&.${badgeClasses.invisible}`]: {
|
|
145
|
-
transform: 'scale(0) translate(-50%, 50%)'
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
}, {
|
|
149
|
-
props: ({
|
|
150
|
-
ownerState
|
|
151
|
-
}) => ownerState.anchorOrigin.vertical === 'top' && ownerState.anchorOrigin.horizontal === 'right' && ownerState.overlap === 'circular',
|
|
152
|
-
style: {
|
|
153
|
-
top: '14%',
|
|
154
|
-
right: '14%',
|
|
155
|
-
transform: 'scale(1) translate(50%, -50%)',
|
|
156
|
-
transformOrigin: '100% 0%',
|
|
157
|
-
[`&.${badgeClasses.invisible}`]: {
|
|
158
|
-
transform: 'scale(0) translate(50%, -50%)'
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
}, {
|
|
162
|
-
props: ({
|
|
163
|
-
ownerState
|
|
164
|
-
}) => ownerState.anchorOrigin.vertical === 'bottom' && ownerState.anchorOrigin.horizontal === 'right' && ownerState.overlap === 'circular',
|
|
165
|
-
style: {
|
|
166
|
-
bottom: '14%',
|
|
167
|
-
right: '14%',
|
|
168
|
-
transform: 'scale(1) translate(50%, 50%)',
|
|
169
|
-
transformOrigin: '100% 100%',
|
|
170
|
-
[`&.${badgeClasses.invisible}`]: {
|
|
171
|
-
transform: 'scale(0) translate(50%, 50%)'
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
}, {
|
|
175
|
-
props: ({
|
|
176
|
-
ownerState
|
|
177
|
-
}) => ownerState.anchorOrigin.vertical === 'top' && ownerState.anchorOrigin.horizontal === 'left' && ownerState.overlap === 'circular',
|
|
178
|
-
style: {
|
|
179
|
-
top: '14%',
|
|
180
|
-
left: '14%',
|
|
181
|
-
transform: 'scale(1) translate(-50%, -50%)',
|
|
182
|
-
transformOrigin: '0% 0%',
|
|
183
|
-
[`&.${badgeClasses.invisible}`]: {
|
|
184
|
-
transform: 'scale(0) translate(-50%, -50%)'
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
}, {
|
|
188
|
-
props: ({
|
|
189
|
-
ownerState
|
|
190
|
-
}) => ownerState.anchorOrigin.vertical === 'bottom' && ownerState.anchorOrigin.horizontal === 'left' && ownerState.overlap === 'circular',
|
|
191
|
-
style: {
|
|
192
|
-
bottom: '14%',
|
|
193
|
-
left: '14%',
|
|
194
|
-
transform: 'scale(1) translate(-50%, 50%)',
|
|
195
|
-
transformOrigin: '0% 100%',
|
|
196
|
-
[`&.${badgeClasses.invisible}`]: {
|
|
197
|
-
transform: 'scale(0) translate(-50%, 50%)'
|
|
198
|
-
}
|
|
199
|
-
}
|
|
200
96
|
}, {
|
|
201
97
|
props: {
|
|
202
98
|
invisible: true
|
|
@@ -207,6 +103,29 @@ const BadgeBadge = styled('span', {
|
|
|
207
103
|
duration: theme.transitions.duration.leavingScreen
|
|
208
104
|
})
|
|
209
105
|
}
|
|
106
|
+
}, {
|
|
107
|
+
style: ({
|
|
108
|
+
ownerState
|
|
109
|
+
}) => {
|
|
110
|
+
const {
|
|
111
|
+
vertical,
|
|
112
|
+
horizontal
|
|
113
|
+
} = ownerState.anchorOrigin;
|
|
114
|
+
const offset = ownerState.overlap === 'circular' ? '14%' : 0;
|
|
115
|
+
return {
|
|
116
|
+
'--Badge-translateX': horizontal === 'right' ? '50%' : '-50%',
|
|
117
|
+
'--Badge-translateY': vertical === 'top' ? '-50%' : '50%',
|
|
118
|
+
top: vertical === 'top' ? offset : 'initial',
|
|
119
|
+
bottom: vertical === 'bottom' ? offset : 'initial',
|
|
120
|
+
right: horizontal === 'right' ? offset : 'initial',
|
|
121
|
+
left: horizontal === 'left' ? offset : 'initial',
|
|
122
|
+
transform: 'scale(1) translate(var(--Badge-translateX), var(--Badge-translateY))',
|
|
123
|
+
transformOrigin: `${horizontal === 'right' ? '100%' : '0%'} ${vertical === 'top' ? '0%' : '100%'}`,
|
|
124
|
+
[`&.${badgeClasses.invisible}`]: {
|
|
125
|
+
transform: 'scale(0) translate(var(--Badge-translateX), var(--Badge-translateY))'
|
|
126
|
+
}
|
|
127
|
+
};
|
|
128
|
+
}
|
|
210
129
|
}]
|
|
211
130
|
})));
|
|
212
131
|
function getAnchorOrigin(anchorOrigin) {
|
package/esm/Chip/Chip.js
CHANGED
|
@@ -381,9 +381,7 @@ const Chip = /*#__PURE__*/React.forwardRef(function Chip(inProps, ref) {
|
|
|
381
381
|
const handleDeleteIconClick = event => {
|
|
382
382
|
// Stop the event from bubbling up to the `Chip`
|
|
383
383
|
event.stopPropagation();
|
|
384
|
-
|
|
385
|
-
onDelete(event);
|
|
386
|
-
}
|
|
384
|
+
onDelete(event);
|
|
387
385
|
};
|
|
388
386
|
const handleKeyDown = event => {
|
|
389
387
|
// Ignore events from children of `Chip`.
|
package/esm/Collapse/Collapse.js
CHANGED
|
@@ -22,11 +22,11 @@ const useUtilityClasses = ownerState => {
|
|
|
22
22
|
classes
|
|
23
23
|
} = ownerState;
|
|
24
24
|
const slots = {
|
|
25
|
-
root: ['root',
|
|
25
|
+
root: ['root', orientation],
|
|
26
26
|
entered: ['entered'],
|
|
27
27
|
hidden: ['hidden'],
|
|
28
|
-
wrapper: ['wrapper',
|
|
29
|
-
wrapperInner: ['wrapperInner',
|
|
28
|
+
wrapper: ['wrapper', orientation],
|
|
29
|
+
wrapperInner: ['wrapperInner', orientation]
|
|
30
30
|
};
|
|
31
31
|
return composeClasses(slots, getCollapseUtilityClass, classes);
|
|
32
32
|
};
|
package/esm/Drawer/Drawer.js
CHANGED
|
@@ -22,7 +22,7 @@ const overridesResolver = (props, styles) => {
|
|
|
22
22
|
const {
|
|
23
23
|
ownerState
|
|
24
24
|
} = props;
|
|
25
|
-
return [styles.root, (ownerState.variant === 'permanent' || ownerState.variant === 'persistent') && styles.docked, styles.modal];
|
|
25
|
+
return [styles.root, (ownerState.variant === 'permanent' || ownerState.variant === 'persistent') && styles.docked, ownerState.variant === 'temporary' && styles.modal];
|
|
26
26
|
};
|
|
27
27
|
const useUtilityClasses = ownerState => {
|
|
28
28
|
const {
|
|
@@ -25,7 +25,7 @@ import gridLegacyClasses, { getGridLegacyUtilityClass } from "./gridLegacyClasse
|
|
|
25
25
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
26
26
|
let warnedOnce = false;
|
|
27
27
|
function warnAboutDeprecatedGridLegacy() {
|
|
28
|
-
if (!warnedOnce && process.env.NODE_ENV
|
|
28
|
+
if (!warnedOnce && process.env.NODE_ENV !== 'production') {
|
|
29
29
|
warnedOnce = true;
|
|
30
30
|
console.warn('MUI: The GridLegacy component is deprecated. See https://mui.com/material-ui/migration/upgrade-to-grid-v2/ for migration instructions.\n');
|
|
31
31
|
}
|
package/esm/Popover/Popover.js
CHANGED
|
@@ -148,7 +148,7 @@ const Popover = /*#__PURE__*/React.forwardRef(function Popover(inProps, ref) {
|
|
|
148
148
|
const anchorRect = anchorElement.getBoundingClientRect();
|
|
149
149
|
if (process.env.NODE_ENV !== 'production') {
|
|
150
150
|
const box = anchorElement.getBoundingClientRect();
|
|
151
|
-
if (
|
|
151
|
+
if (!globalThis.MUI_TEST_ENV && box.top === 0 && box.left === 0 && box.right === 0 && box.bottom === 0) {
|
|
152
152
|
console.warn(['MUI: The `anchorEl` prop provided to the component is invalid.', 'The anchor element should be part of the document layout.', "Make sure the element is present in the document or that it's not display none."].join('\n'));
|
|
153
153
|
}
|
|
154
154
|
}
|
|
@@ -399,7 +399,7 @@ process.env.NODE_ENV !== "production" ? Popover.propTypes /* remove-proptypes */
|
|
|
399
399
|
const resolvedAnchorEl = resolveAnchorEl(props.anchorEl);
|
|
400
400
|
if (resolvedAnchorEl && resolvedAnchorEl.nodeType === 1) {
|
|
401
401
|
const box = resolvedAnchorEl.getBoundingClientRect();
|
|
402
|
-
if (process.env.NODE_ENV !== '
|
|
402
|
+
if (process.env.NODE_ENV !== 'production' && !globalThis.MUI_TEST_ENV && box.top === 0 && box.left === 0 && box.right === 0 && box.bottom === 0) {
|
|
403
403
|
return new Error(['MUI: The `anchorEl` prop provided to the component is invalid.', 'The anchor element should be part of the document layout.', "Make sure the element is present in the document or that it's not display none."].join('\n'));
|
|
404
404
|
}
|
|
405
405
|
} else {
|
package/esm/Popper/BasePopper.js
CHANGED
|
@@ -105,7 +105,7 @@ const PopperTooltip = /*#__PURE__*/React.forwardRef(function PopperTooltip(props
|
|
|
105
105
|
if (process.env.NODE_ENV !== 'production') {
|
|
106
106
|
if (resolvedAnchorElement && isHTMLElement(resolvedAnchorElement) && resolvedAnchorElement.nodeType === 1) {
|
|
107
107
|
const box = resolvedAnchorElement.getBoundingClientRect();
|
|
108
|
-
if (
|
|
108
|
+
if (!globalThis.MUI_TEST_ENV && box.top === 0 && box.left === 0 && box.right === 0 && box.bottom === 0) {
|
|
109
109
|
console.warn(['MUI: The `anchorEl` prop provided to the component is invalid.', 'The anchor element should be part of the document layout.', "Make sure the element is present in the document or that it's not display none."].join('\n'));
|
|
110
110
|
}
|
|
111
111
|
}
|
|
@@ -267,7 +267,7 @@ process.env.NODE_ENV !== "production" ? Popper.propTypes /* remove-proptypes */
|
|
|
267
267
|
const resolvedAnchorEl = resolveAnchorEl(props.anchorEl);
|
|
268
268
|
if (resolvedAnchorEl && isHTMLElement(resolvedAnchorEl) && resolvedAnchorEl.nodeType === 1) {
|
|
269
269
|
const box = resolvedAnchorEl.getBoundingClientRect();
|
|
270
|
-
if (process.env.NODE_ENV !== '
|
|
270
|
+
if (process.env.NODE_ENV !== 'production' && !globalThis.MUI_TEST_ENV && box.top === 0 && box.left === 0 && box.right === 0 && box.bottom === 0) {
|
|
271
271
|
return new Error(['MUI: The `anchorEl` prop provided to the component is invalid.', 'The anchor element should be part of the document layout.', "Make sure the element is present in the document or that it's not display none."].join('\n'));
|
|
272
272
|
}
|
|
273
273
|
} else if (!resolvedAnchorEl || typeof resolvedAnchorEl.getBoundingClientRect !== 'function' || isVirtualElement(resolvedAnchorEl) && resolvedAnchorEl.contextElement != null && resolvedAnchorEl.contextElement.nodeType !== 1) {
|
package/esm/Slide/Slide.js
CHANGED
|
@@ -263,7 +263,7 @@ process.env.NODE_ENV !== "production" ? Slide.propTypes /* remove-proptypes */ =
|
|
|
263
263
|
const resolvedContainer = resolveContainer(props.container);
|
|
264
264
|
if (resolvedContainer && resolvedContainer.nodeType === 1) {
|
|
265
265
|
const box = resolvedContainer.getBoundingClientRect();
|
|
266
|
-
if (process.env.NODE_ENV !== '
|
|
266
|
+
if (process.env.NODE_ENV !== 'production' && !globalThis.MUI_TEST_ENV && box.top === 0 && box.left === 0 && box.right === 0 && box.bottom === 0) {
|
|
267
267
|
return new Error(['MUI: The `container` prop provided to the component is invalid.', 'The anchor element should be part of the document layout.', "Make sure the element is present in the document or that it's not display none."].join('\n'));
|
|
268
268
|
}
|
|
269
269
|
} else if (!resolvedContainer || typeof resolvedContainer.getBoundingClientRect !== 'function' || resolvedContainer.contextElement != null && resolvedContainer.contextElement.nodeType !== 1) {
|
package/esm/Tabs/Tabs.d.ts
CHANGED
|
@@ -8,6 +8,7 @@ import { OverridableComponent, OverrideProps } from "../OverridableComponent/ind
|
|
|
8
8
|
import { TabsClasses } from "./tabsClasses.js";
|
|
9
9
|
import SvgIcon from "../SvgIcon/index.js";
|
|
10
10
|
export interface TabsPropsIndicatorColorOverrides {}
|
|
11
|
+
export interface TabsPropsVariantOverrides {}
|
|
11
12
|
export interface TabsRootSlotPropsOverrides {}
|
|
12
13
|
export interface TabsScrollerSlotPropsOverrides {}
|
|
13
14
|
export interface TabsListSlotPropsOverrides {}
|
|
@@ -234,7 +235,7 @@ export interface TabsOwnProps extends TabsSlotsAndSlotProps {
|
|
|
234
235
|
* - `standard` will render the default state.
|
|
235
236
|
* @default 'standard'
|
|
236
237
|
*/
|
|
237
|
-
variant?: 'standard' | 'scrollable' | 'fullWidth'
|
|
238
|
+
variant?: OverridableStringUnion<'standard' | 'scrollable' | 'fullWidth', TabsPropsVariantOverrides>;
|
|
238
239
|
/**
|
|
239
240
|
* If `true`, the scrollbar is visible. It can be useful when displaying
|
|
240
241
|
* a long vertical list of tabs.
|
package/esm/Tabs/Tabs.js
CHANGED
|
@@ -378,7 +378,7 @@ const Tabs = /*#__PURE__*/React.forwardRef(function Tabs(inProps, ref) {
|
|
|
378
378
|
}
|
|
379
379
|
tabMeta = tab ? tab.getBoundingClientRect() : null;
|
|
380
380
|
if (process.env.NODE_ENV !== 'production') {
|
|
381
|
-
if (
|
|
381
|
+
if (!globalThis.MUI_TEST_ENV && !warnedOnceTabPresent && tabMeta && tabMeta.width === 0 && tabMeta.height === 0 &&
|
|
382
382
|
// if the whole Tabs component is hidden, don't warn
|
|
383
383
|
tabsMeta.clientWidth !== 0) {
|
|
384
384
|
tabsMeta = null;
|
package/esm/index.js
CHANGED
|
@@ -362,7 +362,7 @@ export interface UseAutocompleteReturnValue<Value, Multiple extends boolean | un
|
|
|
362
362
|
* @returns props that should be spread on the li element
|
|
363
363
|
*/
|
|
364
364
|
getOptionProps: (renderedOption: UseAutocompleteRenderedOption<Value>) => React.HTMLAttributes<HTMLLIElement> & {
|
|
365
|
-
key:
|
|
365
|
+
key: React.Key;
|
|
366
366
|
};
|
|
367
367
|
/**
|
|
368
368
|
* Id for the Autocomplete.
|
|
@@ -486,10 +486,10 @@ function useAutocomplete(props) {
|
|
|
486
486
|
}, [componentName]);
|
|
487
487
|
}
|
|
488
488
|
React.useEffect(() => {
|
|
489
|
-
if (filteredOptionsChanged || popupOpen) {
|
|
489
|
+
if (filteredOptionsChanged || popupOpen && !disableCloseOnSelect) {
|
|
490
490
|
syncHighlightedIndex();
|
|
491
491
|
}
|
|
492
|
-
}, [syncHighlightedIndex, filteredOptionsChanged, popupOpen]);
|
|
492
|
+
}, [syncHighlightedIndex, filteredOptionsChanged, popupOpen, disableCloseOnSelect]);
|
|
493
493
|
const handleOpen = event => {
|
|
494
494
|
if (open) {
|
|
495
495
|
return;
|
|
@@ -1043,6 +1043,7 @@ function useAutocomplete(props) {
|
|
|
1043
1043
|
role: 'listbox',
|
|
1044
1044
|
id: `${id}-listbox`,
|
|
1045
1045
|
'aria-labelledby': `${id}-label`,
|
|
1046
|
+
'aria-multiselectable': multiple || undefined,
|
|
1046
1047
|
ref: handleListboxRef,
|
|
1047
1048
|
onMouseDown: event => {
|
|
1048
1049
|
// Prevent blur
|
package/esm/version/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export const version = "7.3.
|
|
1
|
+
export const version = "7.3.8";
|
|
2
2
|
export const major = Number("7");
|
|
3
3
|
export const minor = Number("3");
|
|
4
|
-
export const patch = Number("
|
|
4
|
+
export const patch = Number("8");
|
|
5
5
|
export const prerelease = undefined;
|
|
6
6
|
export default version;
|
package/index.js
CHANGED
package/internal/SwitchBase.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mui/material",
|
|
3
|
-
"version": "7.3.
|
|
3
|
+
"version": "7.3.8",
|
|
4
4
|
"author": "MUI Team",
|
|
5
5
|
"description": "Material UI is an open-source React component library that implements Google's Material Design. It's comprehensive and can be used in production out of the box.",
|
|
6
6
|
"keywords": [
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"url": "https://opencollective.com/mui-org"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@babel/runtime": "^7.28.
|
|
28
|
+
"@babel/runtime": "^7.28.6",
|
|
29
29
|
"@popperjs/core": "^2.11.8",
|
|
30
30
|
"@types/react-transition-group": "^4.4.12",
|
|
31
31
|
"clsx": "^2.1.1",
|
|
@@ -33,10 +33,10 @@
|
|
|
33
33
|
"prop-types": "^15.8.1",
|
|
34
34
|
"react-is": "^19.2.3",
|
|
35
35
|
"react-transition-group": "^4.4.5",
|
|
36
|
-
"@mui/core-downloads-tracker": "^7.3.
|
|
37
|
-
"@mui/system": "^7.3.
|
|
38
|
-
"@mui/
|
|
39
|
-
"@mui/
|
|
36
|
+
"@mui/core-downloads-tracker": "^7.3.8",
|
|
37
|
+
"@mui/system": "^7.3.8",
|
|
38
|
+
"@mui/types": "^7.4.11",
|
|
39
|
+
"@mui/utils": "^7.3.8"
|
|
40
40
|
},
|
|
41
41
|
"peerDependencies": {
|
|
42
42
|
"@emotion/react": "^11.5.0",
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
"@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0",
|
|
45
45
|
"react": "^17.0.0 || ^18.0.0 || ^19.0.0",
|
|
46
46
|
"react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0",
|
|
47
|
-
"@mui/material-pigment-css": "^7.3.
|
|
47
|
+
"@mui/material-pigment-css": "^7.3.8"
|
|
48
48
|
},
|
|
49
49
|
"peerDependenciesMeta": {
|
|
50
50
|
"@types/react": {
|
|
@@ -362,7 +362,7 @@ export interface UseAutocompleteReturnValue<Value, Multiple extends boolean | un
|
|
|
362
362
|
* @returns props that should be spread on the li element
|
|
363
363
|
*/
|
|
364
364
|
getOptionProps: (renderedOption: UseAutocompleteRenderedOption<Value>) => React.HTMLAttributes<HTMLLIElement> & {
|
|
365
|
-
key:
|
|
365
|
+
key: React.Key;
|
|
366
366
|
};
|
|
367
367
|
/**
|
|
368
368
|
* Id for the Autocomplete.
|
|
@@ -494,10 +494,10 @@ function useAutocomplete(props) {
|
|
|
494
494
|
}, [componentName]);
|
|
495
495
|
}
|
|
496
496
|
React.useEffect(() => {
|
|
497
|
-
if (filteredOptionsChanged || popupOpen) {
|
|
497
|
+
if (filteredOptionsChanged || popupOpen && !disableCloseOnSelect) {
|
|
498
498
|
syncHighlightedIndex();
|
|
499
499
|
}
|
|
500
|
-
}, [syncHighlightedIndex, filteredOptionsChanged, popupOpen]);
|
|
500
|
+
}, [syncHighlightedIndex, filteredOptionsChanged, popupOpen, disableCloseOnSelect]);
|
|
501
501
|
const handleOpen = event => {
|
|
502
502
|
if (open) {
|
|
503
503
|
return;
|
|
@@ -1051,6 +1051,7 @@ function useAutocomplete(props) {
|
|
|
1051
1051
|
role: 'listbox',
|
|
1052
1052
|
id: `${id}-listbox`,
|
|
1053
1053
|
'aria-labelledby': `${id}-label`,
|
|
1054
|
+
'aria-multiselectable': multiple || undefined,
|
|
1054
1055
|
ref: handleListboxRef,
|
|
1055
1056
|
onMouseDown: event => {
|
|
1056
1057
|
// Prevent blur
|
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 = "7.3.
|
|
7
|
+
const version = exports.version = "7.3.8";
|
|
8
8
|
const major = exports.major = Number("7");
|
|
9
9
|
const minor = exports.minor = Number("3");
|
|
10
|
-
const patch = exports.patch = Number("
|
|
10
|
+
const patch = exports.patch = Number("8");
|
|
11
11
|
const prerelease = exports.prerelease = undefined;
|
|
12
12
|
var _default = exports.default = version;
|