@mui/material 9.0.0-alpha.4 → 9.0.0-beta.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.
- package/Accordion/Accordion.d.mts +1 -1
- package/Accordion/Accordion.d.ts +1 -1
- package/AccordionSummary/AccordionSummary.js +1 -0
- package/AccordionSummary/AccordionSummary.mjs +1 -0
- package/Backdrop/Backdrop.d.mts +1 -1
- package/Backdrop/Backdrop.d.ts +1 -1
- package/BottomNavigationAction/BottomNavigationAction.js +1 -0
- package/BottomNavigationAction/BottomNavigationAction.mjs +1 -0
- package/Breadcrumbs/BreadcrumbCollapsed.js +5 -1
- package/Breadcrumbs/BreadcrumbCollapsed.mjs +5 -1
- package/Button/Button.js +1 -0
- package/Button/Button.mjs +1 -0
- package/ButtonBase/ButtonBase.d.mts +5 -0
- package/ButtonBase/ButtonBase.d.ts +5 -0
- package/ButtonBase/ButtonBase.js +84 -85
- package/ButtonBase/ButtonBase.mjs +84 -85
- package/ButtonBase/useButtonBase.d.mts +91 -0
- package/ButtonBase/useButtonBase.d.ts +91 -0
- package/ButtonBase/useButtonBase.js +174 -0
- package/ButtonBase/useButtonBase.mjs +167 -0
- package/ButtonGroup/ButtonGroup.js +1 -9
- package/ButtonGroup/ButtonGroup.mjs +1 -9
- package/ButtonGroup/buttonGroupClasses.d.mts +0 -68
- package/ButtonGroup/buttonGroupClasses.d.ts +0 -68
- package/ButtonGroup/buttonGroupClasses.js +1 -1
- package/ButtonGroup/buttonGroupClasses.mjs +1 -1
- package/CHANGELOG.md +119 -4
- package/CardActionArea/CardActionArea.js +1 -0
- package/CardActionArea/CardActionArea.mjs +1 -0
- package/CardHeader/CardHeader.d.mts +13 -21
- package/CardHeader/CardHeader.d.ts +13 -21
- package/CardHeader/CardHeader.js +3 -21
- package/CardHeader/CardHeader.mjs +3 -21
- package/Checkbox/Checkbox.js +1 -7
- package/Checkbox/Checkbox.mjs +1 -7
- package/Chip/Chip.d.mts +7 -0
- package/Chip/Chip.d.ts +7 -0
- package/Chip/Chip.js +66 -55
- package/Chip/Chip.mjs +66 -55
- package/Chip/chipClasses.d.mts +0 -104
- package/Chip/chipClasses.d.ts +0 -104
- package/Chip/chipClasses.js +1 -1
- package/Chip/chipClasses.mjs +1 -1
- package/Dialog/Dialog.d.mts +8 -22
- package/Dialog/Dialog.d.ts +8 -22
- package/Dialog/Dialog.js +43 -72
- package/Dialog/Dialog.mjs +43 -72
- package/Dialog/dialogClasses.d.mts +0 -8
- package/Dialog/dialogClasses.d.ts +0 -8
- package/Dialog/dialogClasses.js +1 -1
- package/Dialog/dialogClasses.mjs +1 -1
- package/Divider/Divider.js +2 -10
- package/Divider/Divider.mjs +2 -10
- package/Divider/dividerClasses.d.mts +0 -4
- package/Divider/dividerClasses.d.ts +0 -4
- package/Divider/dividerClasses.js +1 -1
- package/Divider/dividerClasses.mjs +1 -1
- package/Drawer/Drawer.d.mts +1 -13
- package/Drawer/Drawer.d.ts +1 -13
- package/Drawer/Drawer.js +6 -40
- package/Drawer/Drawer.mjs +6 -40
- package/Drawer/drawerClasses.d.mts +0 -32
- package/Drawer/drawerClasses.d.ts +0 -32
- package/Drawer/drawerClasses.js +1 -1
- package/Drawer/drawerClasses.mjs +1 -1
- package/Fab/Fab.js +1 -0
- package/Fab/Fab.mjs +1 -0
- package/FilledInput/FilledInput.js +4 -33
- package/FilledInput/FilledInput.mjs +4 -33
- package/Grid/Grid.d.mts +8 -3
- package/Grid/Grid.d.ts +8 -3
- package/Grid/Grid.js +8 -3
- package/Grid/Grid.mjs +8 -3
- package/Grid/gridClasses.js +1 -1
- package/Grid/gridClasses.mjs +1 -1
- package/IconButton/IconButton.js +1 -0
- package/IconButton/IconButton.mjs +1 -0
- package/ImageListItemBar/ImageListItemBar.js +4 -17
- package/ImageListItemBar/ImageListItemBar.mjs +4 -17
- package/ImageListItemBar/imageListItemBarClasses.d.mts +0 -16
- package/ImageListItemBar/imageListItemBarClasses.d.ts +0 -16
- package/ImageListItemBar/imageListItemBarClasses.js +1 -1
- package/ImageListItemBar/imageListItemBarClasses.mjs +1 -1
- package/Input/Input.js +4 -33
- package/Input/Input.mjs +4 -33
- package/Input/inputClasses.d.mts +0 -16
- package/Input/inputClasses.d.ts +0 -16
- package/InputAdornment/inputAdornmentClasses.d.mts +2 -2
- package/InputAdornment/inputAdornmentClasses.d.ts +2 -2
- package/InputBase/InputBase.d.mts +0 -27
- package/InputBase/InputBase.d.ts +0 -27
- package/InputBase/InputBase.js +6 -35
- package/InputBase/InputBase.mjs +6 -35
- package/InputBase/inputBaseClasses.d.mts +0 -20
- package/InputBase/inputBaseClasses.d.ts +0 -20
- package/InputBase/inputBaseClasses.js +1 -1
- package/InputBase/inputBaseClasses.mjs +1 -1
- package/InputLabel/InputLabel.js +1 -1
- package/InputLabel/InputLabel.mjs +1 -1
- package/LinearProgress/LinearProgress.js +6 -18
- package/LinearProgress/LinearProgress.mjs +6 -18
- package/LinearProgress/linearProgressClasses.d.mts +0 -36
- package/LinearProgress/linearProgressClasses.d.ts +0 -36
- package/LinearProgress/linearProgressClasses.js +1 -1
- package/LinearProgress/linearProgressClasses.mjs +1 -1
- package/Link/Link.d.mts +1 -1
- package/Link/Link.d.ts +1 -1
- package/ListItem/ListItem.d.mts +2 -36
- package/ListItem/ListItem.d.ts +2 -36
- package/ListItem/ListItem.js +27 -152
- package/ListItem/ListItem.mjs +27 -152
- package/ListItem/listItemClasses.d.mts +2 -4
- package/ListItem/listItemClasses.d.ts +2 -4
- package/ListItem/listItemClasses.js +1 -1
- package/ListItem/listItemClasses.mjs +1 -1
- package/ListItemButton/ListItemButton.d.mts +1 -2
- package/ListItemButton/ListItemButton.d.ts +1 -2
- package/ListItemButton/ListItemButton.js +2 -2
- package/ListItemButton/ListItemButton.mjs +2 -2
- package/ListItemIcon/ListItemIcon.js +1 -1
- package/ListItemIcon/ListItemIcon.mjs +1 -1
- package/ListItemSecondaryAction/ListItemSecondaryAction.d.mts +10 -6
- package/ListItemSecondaryAction/ListItemSecondaryAction.d.ts +10 -6
- package/ListItemSecondaryAction/ListItemSecondaryAction.js +7 -2
- package/ListItemSecondaryAction/ListItemSecondaryAction.mjs +7 -2
- package/ListItemText/ListItemText.d.mts +12 -20
- package/ListItemText/ListItemText.d.ts +12 -20
- package/ListItemText/ListItemText.js +2 -20
- package/ListItemText/ListItemText.mjs +2 -20
- package/ListSubheader/ListSubheader.js +0 -3
- package/ListSubheader/ListSubheader.mjs +0 -3
- package/Menu/Menu.d.mts +1 -1
- package/Menu/Menu.d.ts +1 -1
- package/Menu/Menu.js +15 -32
- package/Menu/Menu.mjs +15 -32
- package/MenuItem/MenuItem.js +36 -26
- package/MenuItem/MenuItem.mjs +34 -26
- package/MenuList/MenuList.js +136 -101
- package/MenuList/MenuList.mjs +135 -100
- package/MenuList/MenuListContext.d.mts +11 -0
- package/MenuList/MenuListContext.d.ts +11 -0
- package/MenuList/MenuListContext.js +25 -0
- package/MenuList/MenuListContext.mjs +19 -0
- package/Modal/Modal.d.mts +1 -41
- package/Modal/Modal.d.ts +1 -41
- package/Modal/Modal.js +5 -58
- package/Modal/Modal.mjs +5 -58
- package/OutlinedInput/OutlinedInput.js +2 -14
- package/OutlinedInput/OutlinedInput.mjs +2 -14
- package/OutlinedInput/outlinedInputClasses.d.mts +0 -16
- package/OutlinedInput/outlinedInputClasses.d.ts +0 -16
- package/PaginationItem/PaginationItem.d.mts +5 -15
- package/PaginationItem/PaginationItem.d.ts +5 -15
- package/PaginationItem/PaginationItem.js +9 -24
- package/PaginationItem/PaginationItem.mjs +9 -24
- package/PaginationItem/paginationItemClasses.d.mts +0 -16
- package/PaginationItem/paginationItemClasses.d.ts +0 -16
- package/PaginationItem/paginationItemClasses.js +1 -1
- package/PaginationItem/paginationItemClasses.mjs +1 -1
- package/PigmentGrid/PigmentGrid.d.mts +1 -1
- package/PigmentGrid/PigmentGrid.d.ts +1 -1
- package/PigmentGrid/PigmentGrid.js +1 -1
- package/PigmentGrid/PigmentGrid.mjs +1 -1
- package/Popover/Popover.d.mts +1 -1
- package/Popover/Popover.d.ts +1 -1
- package/Popover/Popover.js +19 -7
- package/Popover/Popover.mjs +18 -6
- package/Radio/Radio.js +1 -13
- package/Radio/Radio.mjs +1 -13
- package/Rating/Rating.d.mts +0 -9
- package/Rating/Rating.d.ts +0 -9
- package/Rating/Rating.js +1 -17
- package/Rating/Rating.mjs +1 -17
- package/Select/SelectInput.js +2 -3
- package/Select/SelectInput.mjs +2 -3
- package/Select/selectClasses.d.mts +0 -12
- package/Select/selectClasses.d.ts +0 -12
- package/Select/selectClasses.js +1 -1
- package/Select/selectClasses.mjs +1 -1
- package/Slider/Slider.d.mts +0 -5
- package/Slider/Slider.d.ts +0 -5
- package/Slider/Slider.js +2 -8
- package/Slider/Slider.mjs +2 -8
- package/Slider/sliderClasses.d.mts +0 -28
- package/Slider/sliderClasses.d.ts +0 -28
- package/Slider/sliderClasses.js +1 -1
- package/Slider/sliderClasses.mjs +1 -1
- package/Snackbar/Snackbar.d.mts +1 -1
- package/Snackbar/Snackbar.d.ts +1 -1
- package/SpeedDial/SpeedDial.d.mts +1 -1
- package/SpeedDial/SpeedDial.d.ts +1 -1
- package/Stack/Stack.d.mts +2 -2
- package/Stack/Stack.d.ts +2 -2
- package/StepButton/StepButton.js +44 -14
- package/StepButton/StepButton.mjs +44 -14
- package/StepConnector/StepConnector.js +2 -8
- package/StepConnector/StepConnector.mjs +2 -8
- package/StepConnector/stepConnectorClasses.d.mts +0 -8
- package/StepConnector/stepConnectorClasses.d.ts +0 -8
- package/StepConnector/stepConnectorClasses.js +1 -1
- package/StepConnector/stepConnectorClasses.mjs +1 -1
- package/StepContent/StepContent.d.mts +2 -17
- package/StepContent/StepContent.d.ts +2 -17
- package/StepContent/StepContent.js +3 -22
- package/StepContent/StepContent.mjs +3 -22
- package/StepLabel/StepLabel.d.mts +0 -22
- package/StepLabel/StepLabel.d.ts +0 -22
- package/StepLabel/StepLabel.js +2 -31
- package/StepLabel/StepLabel.mjs +2 -31
- package/Stepper/Stepper.js +54 -22
- package/Stepper/Stepper.mjs +54 -22
- package/Stepper/StepperContext.d.mts +0 -5
- package/Stepper/StepperContext.d.ts +0 -5
- package/Stepper/StepperContext.js +1 -2
- package/Stepper/StepperContext.mjs +0 -1
- package/SvgIcon/createSvgIcon.d.mts +2 -0
- package/SvgIcon/createSvgIcon.d.ts +2 -0
- package/SvgIcon/createSvgIcon.js +31 -0
- package/SvgIcon/createSvgIcon.mjs +26 -0
- package/SvgIcon/index.d.mts +1 -0
- package/SvgIcon/index.d.ts +1 -0
- package/SvgIcon/index.js +8 -0
- package/SvgIcon/index.mjs +1 -0
- package/SwipeableDrawer/SwipeableDrawer.d.mts +0 -5
- package/SwipeableDrawer/SwipeableDrawer.d.ts +0 -5
- package/SwipeableDrawer/SwipeableDrawer.js +6 -37
- package/SwipeableDrawer/SwipeableDrawer.mjs +6 -37
- package/Switch/Switch.js +0 -11
- package/Switch/Switch.mjs +0 -11
- package/Tab/Tab.js +18 -4
- package/Tab/Tab.mjs +18 -4
- package/Tab/tabClasses.d.mts +0 -4
- package/Tab/tabClasses.d.ts +0 -4
- package/Tab/tabClasses.js +1 -1
- package/Tab/tabClasses.mjs +1 -1
- package/TabScrollButton/TabScrollButton.d.mts +1 -1
- package/TabScrollButton/TabScrollButton.d.ts +1 -1
- package/TabScrollButton/TabScrollButton.js +6 -2
- package/TabScrollButton/TabScrollButton.mjs +6 -2
- package/TablePagination/TablePagination.d.mts +0 -24
- package/TablePagination/TablePagination.d.ts +0 -24
- package/TablePagination/TablePagination.js +1 -29
- package/TablePagination/TablePagination.mjs +1 -29
- package/TablePaginationActions/TablePaginationActions.d.mts +0 -10
- package/TablePaginationActions/TablePaginationActions.d.ts +0 -10
- package/TablePaginationActions/TablePaginationActions.js +2 -14
- package/TablePaginationActions/TablePaginationActions.mjs +2 -14
- package/TableSortLabel/TableSortLabel.js +6 -8
- package/TableSortLabel/TableSortLabel.mjs +6 -8
- package/TableSortLabel/tableSortLabelClasses.d.mts +0 -8
- package/TableSortLabel/tableSortLabelClasses.d.ts +0 -8
- package/TableSortLabel/tableSortLabelClasses.js +1 -1
- package/TableSortLabel/tableSortLabelClasses.mjs +1 -1
- package/Tabs/Tabs.js +33 -24
- package/Tabs/Tabs.mjs +32 -23
- package/Tabs/tabsClasses.d.mts +0 -6
- package/Tabs/tabsClasses.d.ts +0 -6
- package/Tabs/tabsClasses.js +1 -1
- package/Tabs/tabsClasses.mjs +1 -1
- package/ToggleButton/ToggleButton.js +1 -0
- package/ToggleButton/ToggleButton.mjs +1 -0
- package/ToggleButtonGroup/ToggleButtonGroup.js +1 -4
- package/ToggleButtonGroup/ToggleButtonGroup.mjs +1 -4
- package/ToggleButtonGroup/toggleButtonGroupClasses.d.mts +0 -8
- package/ToggleButtonGroup/toggleButtonGroupClasses.d.ts +0 -8
- package/ToggleButtonGroup/toggleButtonGroupClasses.js +1 -1
- package/ToggleButtonGroup/toggleButtonGroupClasses.mjs +1 -1
- package/Tooltip/Tooltip.d.mts +1 -1
- package/Tooltip/Tooltip.d.ts +1 -1
- package/Typography/Typography.d.mts +3 -3
- package/Typography/Typography.d.ts +3 -3
- package/Typography/Typography.js +2 -24
- package/Typography/Typography.mjs +3 -25
- package/index.js +1 -1
- package/index.mjs +1 -1
- package/internal/SwitchBase.d.mts +2 -12
- package/internal/SwitchBase.d.ts +2 -12
- package/internal/SwitchBase.js +6 -17
- package/internal/SwitchBase.mjs +6 -17
- package/locale/psAF.js +1 -1
- package/locale/psAF.mjs +1 -1
- package/package.json +7 -7
- package/styles/createThemeWithVars.js +10 -9
- package/styles/createThemeWithVars.mjs +10 -9
- package/styles/stringifyTheme.js +1 -1
- package/styles/stringifyTheme.mjs +1 -1
- package/useAutocomplete/useAutocomplete.js +8 -0
- package/useAutocomplete/useAutocomplete.mjs +8 -0
- package/utils/createSvgIcon.d.mts +4 -2
- package/utils/createSvgIcon.d.ts +4 -2
- package/utils/createSvgIcon.js +6 -24
- package/utils/createSvgIcon.mjs +2 -24
- package/utils/focusWithVisible.js +24 -0
- package/utils/focusWithVisible.mjs +19 -0
- package/utils/index.d.mts +0 -1
- package/utils/index.d.ts +0 -1
- package/utils/index.js +0 -7
- package/utils/index.mjs +0 -1
- package/utils/useFocusableWhenDisabled.d.mts +30 -0
- package/utils/useFocusableWhenDisabled.d.ts +30 -0
- package/utils/useFocusableWhenDisabled.js +47 -0
- package/utils/useFocusableWhenDisabled.mjs +41 -0
- package/utils/useRovingTabIndex.d.mts +1 -2
- package/utils/useRovingTabIndex.d.ts +1 -2
- package/utils/useRovingTabIndex.js +25 -4
- package/utils/useRovingTabIndex.mjs +1 -2
- package/version/index.js +2 -2
- package/version/index.mjs +2 -2
package/internal/SwitchBase.mjs
CHANGED
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
import * as React from 'react';
|
|
4
4
|
import PropTypes from 'prop-types';
|
|
5
|
-
import refType from '@mui/utils/refType';
|
|
6
5
|
import composeClasses from '@mui/utils/composeClasses';
|
|
7
6
|
import capitalize from "../utils/capitalize.mjs";
|
|
8
7
|
import rootShouldForwardProp from "../styles/rootShouldForwardProp.mjs";
|
|
@@ -95,8 +94,6 @@ const SwitchBase = /*#__PURE__*/React.forwardRef(function SwitchBase(props, ref)
|
|
|
95
94
|
edge = false,
|
|
96
95
|
icon,
|
|
97
96
|
id,
|
|
98
|
-
inputProps,
|
|
99
|
-
inputRef,
|
|
100
97
|
name,
|
|
101
98
|
onBlur,
|
|
102
99
|
onChange,
|
|
@@ -110,6 +107,10 @@ const SwitchBase = /*#__PURE__*/React.forwardRef(function SwitchBase(props, ref)
|
|
|
110
107
|
slotProps = {},
|
|
111
108
|
...other
|
|
112
109
|
} = props;
|
|
110
|
+
const {
|
|
111
|
+
nativeButton,
|
|
112
|
+
...buttonBaseProps
|
|
113
|
+
} = other;
|
|
113
114
|
const [checked, setCheckedState] = useControlled({
|
|
114
115
|
controlled: checkedProp,
|
|
115
116
|
default: Boolean(defaultChecked),
|
|
@@ -162,10 +163,7 @@ const SwitchBase = /*#__PURE__*/React.forwardRef(function SwitchBase(props, ref)
|
|
|
162
163
|
const classes = useUtilityClasses(ownerState);
|
|
163
164
|
const externalForwardedProps = {
|
|
164
165
|
slots,
|
|
165
|
-
slotProps
|
|
166
|
-
input: inputProps,
|
|
167
|
-
...slotProps
|
|
168
|
-
}
|
|
166
|
+
slotProps
|
|
169
167
|
};
|
|
170
168
|
const [RootSlot, rootSlotProps] = useSlot('root', {
|
|
171
169
|
ref,
|
|
@@ -175,7 +173,7 @@ const SwitchBase = /*#__PURE__*/React.forwardRef(function SwitchBase(props, ref)
|
|
|
175
173
|
externalForwardedProps: {
|
|
176
174
|
...externalForwardedProps,
|
|
177
175
|
component: 'span',
|
|
178
|
-
...
|
|
176
|
+
...buttonBaseProps
|
|
179
177
|
},
|
|
180
178
|
getSlotProps: handlers => ({
|
|
181
179
|
...handlers,
|
|
@@ -197,7 +195,6 @@ const SwitchBase = /*#__PURE__*/React.forwardRef(function SwitchBase(props, ref)
|
|
|
197
195
|
}
|
|
198
196
|
});
|
|
199
197
|
const [InputSlot, inputSlotProps] = useSlot('input', {
|
|
200
|
-
ref: inputRef,
|
|
201
198
|
elementType: SwitchBaseInput,
|
|
202
199
|
className: classes.input,
|
|
203
200
|
externalForwardedProps,
|
|
@@ -285,14 +282,6 @@ process.env.NODE_ENV !== "production" ? SwitchBase.propTypes = {
|
|
|
285
282
|
* The id of the `input` element.
|
|
286
283
|
*/
|
|
287
284
|
id: PropTypes.string,
|
|
288
|
-
/**
|
|
289
|
-
* [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input#attributes) applied to the `input` element.
|
|
290
|
-
*/
|
|
291
|
-
inputProps: PropTypes.object,
|
|
292
|
-
/**
|
|
293
|
-
* Pass a ref to the `input` element.
|
|
294
|
-
*/
|
|
295
|
-
inputRef: refType,
|
|
296
285
|
/*
|
|
297
286
|
* @ignore
|
|
298
287
|
*/
|
package/locale/psAF.js
CHANGED
package/locale/psAF.mjs
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mui/material",
|
|
3
|
-
"version": "9.0.0-
|
|
3
|
+
"version": "9.0.0-beta.1",
|
|
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
|
+
"@babel/runtime": "^7.29.2",
|
|
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.4",
|
|
35
35
|
"react-transition-group": "^4.4.5",
|
|
36
|
-
"@mui/
|
|
37
|
-
"@mui/
|
|
38
|
-
"@mui/
|
|
39
|
-
"@mui/
|
|
36
|
+
"@mui/system": "9.0.0-beta.1",
|
|
37
|
+
"@mui/utils": "9.0.0-beta.1",
|
|
38
|
+
"@mui/types": "^9.0.0-beta.0",
|
|
39
|
+
"@mui/core-downloads-tracker": "^9.0.0-beta.1"
|
|
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": "9.0.0-
|
|
47
|
+
"@mui/material-pigment-css": "9.0.0-beta.1"
|
|
48
48
|
},
|
|
49
49
|
"peerDependenciesMeta": {
|
|
50
50
|
"@types/react": {
|
|
@@ -339,21 +339,21 @@ function createThemeWithVars(options = {}, ...args) {
|
|
|
339
339
|
setColor(palette.TableCell, 'border', colorMix(_colorManipulator.private_safeDarken, (0, _colorManipulator.private_safeAlpha)(nativeColor ? getCssVar('palette-divider') : palette.divider, 1), 0.68));
|
|
340
340
|
setColor(palette.Tooltip, 'bg', colorMix(_colorManipulator.private_safeAlpha, nativeColor ? getCssVar('palette-grey-700') : palette.grey[700], 0.92));
|
|
341
341
|
}
|
|
342
|
+
if (!nativeColor) {
|
|
343
|
+
setColorChannel(palette.background, 'default');
|
|
342
344
|
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
setColorChannel(palette.common, 'onBackground');
|
|
350
|
-
setColorChannel(palette, 'divider');
|
|
345
|
+
// added for consistency with the `background.default` token
|
|
346
|
+
setColorChannel(palette.background, 'paper');
|
|
347
|
+
setColorChannel(palette.common, 'background');
|
|
348
|
+
setColorChannel(palette.common, 'onBackground');
|
|
349
|
+
setColorChannel(palette, 'divider');
|
|
350
|
+
}
|
|
351
351
|
Object.keys(palette).forEach(color => {
|
|
352
352
|
const colors = palette[color];
|
|
353
353
|
|
|
354
354
|
// The default palettes (primary, secondary, error, info, success, and warning) errors are handled by the above `createTheme(...)`.
|
|
355
355
|
|
|
356
|
-
if (color !== 'tonalOffset' && colors && typeof colors === 'object') {
|
|
356
|
+
if (color !== 'tonalOffset' && !nativeColor && colors && typeof colors === 'object') {
|
|
357
357
|
// Silent the error for custom palettes.
|
|
358
358
|
if (colors.main) {
|
|
359
359
|
setColor(palette[color], 'mainChannel', (0, _colorManipulator.private_safeColorChannel)(toRgb(colors.main)));
|
|
@@ -419,6 +419,7 @@ function createThemeWithVars(options = {}, ...args) {
|
|
|
419
419
|
theme: this
|
|
420
420
|
});
|
|
421
421
|
};
|
|
422
|
+
theme.internal_cache = {};
|
|
422
423
|
theme.toRuntimeSource = _stringifyTheme.stringifyTheme; // for Pigment CSS integration
|
|
423
424
|
|
|
424
425
|
return theme;
|
|
@@ -329,21 +329,21 @@ export default function createThemeWithVars(options = {}, ...args) {
|
|
|
329
329
|
setColor(palette.TableCell, 'border', colorMix(safeDarken, safeAlpha(nativeColor ? getCssVar('palette-divider') : palette.divider, 1), 0.68));
|
|
330
330
|
setColor(palette.Tooltip, 'bg', colorMix(safeAlpha, nativeColor ? getCssVar('palette-grey-700') : palette.grey[700], 0.92));
|
|
331
331
|
}
|
|
332
|
+
if (!nativeColor) {
|
|
333
|
+
setColorChannel(palette.background, 'default');
|
|
332
334
|
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
setColorChannel(palette.common, 'onBackground');
|
|
340
|
-
setColorChannel(palette, 'divider');
|
|
335
|
+
// added for consistency with the `background.default` token
|
|
336
|
+
setColorChannel(palette.background, 'paper');
|
|
337
|
+
setColorChannel(palette.common, 'background');
|
|
338
|
+
setColorChannel(palette.common, 'onBackground');
|
|
339
|
+
setColorChannel(palette, 'divider');
|
|
340
|
+
}
|
|
341
341
|
Object.keys(palette).forEach(color => {
|
|
342
342
|
const colors = palette[color];
|
|
343
343
|
|
|
344
344
|
// The default palettes (primary, secondary, error, info, success, and warning) errors are handled by the above `createTheme(...)`.
|
|
345
345
|
|
|
346
|
-
if (color !== 'tonalOffset' && colors && typeof colors === 'object') {
|
|
346
|
+
if (color !== 'tonalOffset' && !nativeColor && colors && typeof colors === 'object') {
|
|
347
347
|
// Silent the error for custom palettes.
|
|
348
348
|
if (colors.main) {
|
|
349
349
|
setColor(palette[color], 'mainChannel', safeColorChannel(toRgb(colors.main)));
|
|
@@ -409,6 +409,7 @@ export default function createThemeWithVars(options = {}, ...args) {
|
|
|
409
409
|
theme: this
|
|
410
410
|
});
|
|
411
411
|
};
|
|
412
|
+
theme.internal_cache = {};
|
|
412
413
|
theme.toRuntimeSource = stringifyTheme; // for Pigment CSS integration
|
|
413
414
|
|
|
414
415
|
return theme;
|
package/styles/stringifyTheme.js
CHANGED
|
@@ -39,7 +39,7 @@ function stringifyTheme(baseTheme = {}) {
|
|
|
39
39
|
// eslint-disable-next-line no-plusplus
|
|
40
40
|
for (let index = 0; index < array.length; index++) {
|
|
41
41
|
const [key, value] = array[index];
|
|
42
|
-
if (!isSerializable(value) || key.startsWith('unstable_')) {
|
|
42
|
+
if (!isSerializable(value) || key.startsWith('unstable_') || key.startsWith('internal_')) {
|
|
43
43
|
delete object[key];
|
|
44
44
|
} else if ((0, _deepmerge.isPlainObject)(value)) {
|
|
45
45
|
object[key] = {
|
|
@@ -32,7 +32,7 @@ export function stringifyTheme(baseTheme = {}) {
|
|
|
32
32
|
// eslint-disable-next-line no-plusplus
|
|
33
33
|
for (let index = 0; index < array.length; index++) {
|
|
34
34
|
const [key, value] = array[index];
|
|
35
|
-
if (!isSerializable(value) || key.startsWith('unstable_')) {
|
|
35
|
+
if (!isSerializable(value) || key.startsWith('unstable_') || key.startsWith('internal_')) {
|
|
36
36
|
delete object[key];
|
|
37
37
|
} else if (isPlainObject(value)) {
|
|
38
38
|
object[key] = {
|
|
@@ -965,6 +965,10 @@ function useAutocomplete(props) {
|
|
|
965
965
|
if (!event.currentTarget.contains(event.target)) {
|
|
966
966
|
return;
|
|
967
967
|
}
|
|
968
|
+
// Don't interfere with interactions outside the input area (e.g. helper text)
|
|
969
|
+
if (anchorEl && !anchorEl.contains(event.target)) {
|
|
970
|
+
return;
|
|
971
|
+
}
|
|
968
972
|
if (event.target.getAttribute('id') !== id) {
|
|
969
973
|
event.preventDefault();
|
|
970
974
|
}
|
|
@@ -976,6 +980,10 @@ function useAutocomplete(props) {
|
|
|
976
980
|
if (!event.currentTarget.contains(event.target)) {
|
|
977
981
|
return;
|
|
978
982
|
}
|
|
983
|
+
// Don't interfere with interactions outside the input area (e.g. helper text)
|
|
984
|
+
if (anchorEl && !anchorEl.contains(event.target)) {
|
|
985
|
+
return;
|
|
986
|
+
}
|
|
979
987
|
inputRef.current.focus();
|
|
980
988
|
if (selectOnFocus && firstFocus.current && inputRef.current.selectionEnd - inputRef.current.selectionStart === 0) {
|
|
981
989
|
inputRef.current.select();
|
|
@@ -957,6 +957,10 @@ function useAutocomplete(props) {
|
|
|
957
957
|
if (!event.currentTarget.contains(event.target)) {
|
|
958
958
|
return;
|
|
959
959
|
}
|
|
960
|
+
// Don't interfere with interactions outside the input area (e.g. helper text)
|
|
961
|
+
if (anchorEl && !anchorEl.contains(event.target)) {
|
|
962
|
+
return;
|
|
963
|
+
}
|
|
960
964
|
if (event.target.getAttribute('id') !== id) {
|
|
961
965
|
event.preventDefault();
|
|
962
966
|
}
|
|
@@ -968,6 +972,10 @@ function useAutocomplete(props) {
|
|
|
968
972
|
if (!event.currentTarget.contains(event.target)) {
|
|
969
973
|
return;
|
|
970
974
|
}
|
|
975
|
+
// Don't interfere with interactions outside the input area (e.g. helper text)
|
|
976
|
+
if (anchorEl && !anchorEl.contains(event.target)) {
|
|
977
|
+
return;
|
|
978
|
+
}
|
|
971
979
|
inputRef.current.focus();
|
|
972
980
|
if (selectOnFocus && firstFocus.current && inputRef.current.selectionEnd - inputRef.current.selectionStart === 0) {
|
|
973
981
|
inputRef.current.select();
|
|
@@ -1,2 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
/**
|
|
2
|
+
* @deprecated Import `createSvgIcon` from `@mui/material/SvgIcon` instead.
|
|
3
|
+
*/
|
|
4
|
+
export { default } from "../SvgIcon/createSvgIcon.mjs";
|
package/utils/createSvgIcon.d.ts
CHANGED
|
@@ -1,2 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
/**
|
|
2
|
+
* @deprecated Import `createSvgIcon` from `@mui/material/SvgIcon` instead.
|
|
3
|
+
*/
|
|
4
|
+
export { default } from "../SvgIcon/createSvgIcon.js";
|
package/utils/createSvgIcon.js
CHANGED
|
@@ -1,31 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
'use client';
|
|
3
2
|
|
|
4
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
5
|
-
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
6
4
|
Object.defineProperty(exports, "__esModule", {
|
|
7
5
|
value: true
|
|
8
6
|
});
|
|
9
|
-
exports
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* Private module reserved for @mui packages.
|
|
15
|
-
*/function createSvgIcon(path, displayName) {
|
|
16
|
-
function Component(props, ref) {
|
|
17
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_SvgIcon.default, {
|
|
18
|
-
"data-testid": process.env.NODE_ENV !== 'production' ? `${displayName}Icon` : undefined,
|
|
19
|
-
ref: ref,
|
|
20
|
-
...props,
|
|
21
|
-
children: path
|
|
22
|
-
});
|
|
7
|
+
Object.defineProperty(exports, "default", {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: function () {
|
|
10
|
+
return _createSvgIcon.default;
|
|
23
11
|
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
// React prior to 16.14 ignores `displayName` on the wrapper.
|
|
27
|
-
Component.displayName = `${displayName}Icon`;
|
|
28
|
-
}
|
|
29
|
-
Component.muiName = _SvgIcon.default.muiName;
|
|
30
|
-
return /*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(Component));
|
|
31
|
-
}
|
|
12
|
+
});
|
|
13
|
+
var _createSvgIcon = _interopRequireDefault(require("../SvgIcon/createSvgIcon"));
|
package/utils/createSvgIcon.mjs
CHANGED
|
@@ -1,26 +1,4 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
|
|
3
|
-
import * as React from 'react';
|
|
4
|
-
import SvgIcon from "../SvgIcon/index.mjs";
|
|
5
|
-
|
|
6
1
|
/**
|
|
7
|
-
*
|
|
2
|
+
* @deprecated Import `createSvgIcon` from `@mui/material/SvgIcon` instead.
|
|
8
3
|
*/
|
|
9
|
-
|
|
10
|
-
export default function createSvgIcon(path, displayName) {
|
|
11
|
-
function Component(props, ref) {
|
|
12
|
-
return /*#__PURE__*/_jsx(SvgIcon, {
|
|
13
|
-
"data-testid": process.env.NODE_ENV !== 'production' ? `${displayName}Icon` : undefined,
|
|
14
|
-
ref: ref,
|
|
15
|
-
...props,
|
|
16
|
-
children: path
|
|
17
|
-
});
|
|
18
|
-
}
|
|
19
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
20
|
-
// Need to set `displayName` on the inner component for React.memo.
|
|
21
|
-
// React prior to 16.14 ignores `displayName` on the wrapper.
|
|
22
|
-
Component.displayName = `${displayName}Icon`;
|
|
23
|
-
}
|
|
24
|
-
Component.muiName = SvgIcon.muiName;
|
|
25
|
-
return /*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(Component));
|
|
26
|
-
}
|
|
4
|
+
export { default } from "../SvgIcon/createSvgIcon.mjs";
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
'use client';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* If `focusSource` is present, attempt to pass `focusVisible` through `focus()` options.
|
|
6
|
+
* Fall back to a plain focus call when the browser does not support it.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", {
|
|
9
|
+
value: true
|
|
10
|
+
});
|
|
11
|
+
exports.default = focusWithVisible;
|
|
12
|
+
function focusWithVisible(element, focusSource) {
|
|
13
|
+
if (focusSource == null) {
|
|
14
|
+
element.focus();
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
try {
|
|
18
|
+
element.focus({
|
|
19
|
+
focusVisible: focusSource === 'keyboard'
|
|
20
|
+
});
|
|
21
|
+
} catch (error) {
|
|
22
|
+
element.focus();
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* If `focusSource` is present, attempt to pass `focusVisible` through `focus()` options.
|
|
5
|
+
* Fall back to a plain focus call when the browser does not support it.
|
|
6
|
+
*/
|
|
7
|
+
export default function focusWithVisible(element, focusSource) {
|
|
8
|
+
if (focusSource == null) {
|
|
9
|
+
element.focus();
|
|
10
|
+
return;
|
|
11
|
+
}
|
|
12
|
+
try {
|
|
13
|
+
element.focus({
|
|
14
|
+
focusVisible: focusSource === 'keyboard'
|
|
15
|
+
});
|
|
16
|
+
} catch (error) {
|
|
17
|
+
element.focus();
|
|
18
|
+
}
|
|
19
|
+
}
|
package/utils/index.d.mts
CHANGED
|
@@ -16,7 +16,6 @@ export { default as unstable_useId } from "./useId.mjs";
|
|
|
16
16
|
export { default as unsupportedProp } from "./unsupportedProp.mjs";
|
|
17
17
|
export { default as useControlled } from "./useControlled.mjs";
|
|
18
18
|
export { default as useEventCallback } from "./useEventCallback.mjs";
|
|
19
|
-
export { default as useRovingTabIndex } from "./useRovingTabIndex.mjs";
|
|
20
19
|
export { default as useForkRef } from "./useForkRef.mjs";
|
|
21
20
|
export { default as mergeSlotProps } from "./mergeSlotProps.mjs";
|
|
22
21
|
export * from "./types.mjs";
|
package/utils/index.d.ts
CHANGED
|
@@ -16,7 +16,6 @@ export { default as unstable_useId } from "./useId.js";
|
|
|
16
16
|
export { default as unsupportedProp } from "./unsupportedProp.js";
|
|
17
17
|
export { default as useControlled } from "./useControlled.js";
|
|
18
18
|
export { default as useEventCallback } from "./useEventCallback.js";
|
|
19
|
-
export { default as useRovingTabIndex } from "./useRovingTabIndex.js";
|
|
20
19
|
export { default as useForkRef } from "./useForkRef.js";
|
|
21
20
|
export { default as mergeSlotProps } from "./mergeSlotProps.js";
|
|
22
21
|
export * from "./types.js";
|
package/utils/index.js
CHANGED
|
@@ -120,12 +120,6 @@ Object.defineProperty(exports, "useForkRef", {
|
|
|
120
120
|
return _useForkRef.default;
|
|
121
121
|
}
|
|
122
122
|
});
|
|
123
|
-
Object.defineProperty(exports, "useRovingTabIndex", {
|
|
124
|
-
enumerable: true,
|
|
125
|
-
get: function () {
|
|
126
|
-
return _useRovingTabIndex.default;
|
|
127
|
-
}
|
|
128
|
-
});
|
|
129
123
|
var _ClassNameGenerator = _interopRequireDefault(require("@mui/utils/ClassNameGenerator"));
|
|
130
124
|
var _capitalize = _interopRequireDefault(require("./capitalize"));
|
|
131
125
|
var _createChainedFunction = _interopRequireDefault(require("./createChainedFunction"));
|
|
@@ -144,7 +138,6 @@ var _useId = _interopRequireDefault(require("./useId"));
|
|
|
144
138
|
var _unsupportedProp = _interopRequireDefault(require("./unsupportedProp"));
|
|
145
139
|
var _useControlled = _interopRequireDefault(require("./useControlled"));
|
|
146
140
|
var _useEventCallback = _interopRequireDefault(require("./useEventCallback"));
|
|
147
|
-
var _useRovingTabIndex = _interopRequireDefault(require("./useRovingTabIndex"));
|
|
148
141
|
var _useForkRef = _interopRequireDefault(require("./useForkRef"));
|
|
149
142
|
var _mergeSlotProps = _interopRequireDefault(require("./mergeSlotProps"));
|
|
150
143
|
// TODO: remove this export once ClassNameGenerator is stable
|
package/utils/index.mjs
CHANGED
|
@@ -18,7 +18,6 @@ export { default as unstable_useId } from "./useId.mjs";
|
|
|
18
18
|
export { default as unsupportedProp } from "./unsupportedProp.mjs";
|
|
19
19
|
export { default as useControlled } from "./useControlled.mjs";
|
|
20
20
|
export { default as useEventCallback } from "./useEventCallback.mjs";
|
|
21
|
-
export { default as useRovingTabIndex } from "./useRovingTabIndex.mjs";
|
|
22
21
|
export { default as useForkRef } from "./useForkRef.mjs";
|
|
23
22
|
export { default as mergeSlotProps } from "./mergeSlotProps.mjs";
|
|
24
23
|
// TODO: remove this export once ClassNameGenerator is stable
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
export interface UseFocusableWhenDisabledParameters {
|
|
3
|
+
/**
|
|
4
|
+
* Whether the component should be focusable when disabled.
|
|
5
|
+
* When `undefined`, composite items are focusable when disabled by default.
|
|
6
|
+
*/
|
|
7
|
+
focusableWhenDisabled?: boolean | undefined;
|
|
8
|
+
/**
|
|
9
|
+
* The disabled state of the component.
|
|
10
|
+
*/
|
|
11
|
+
disabled: boolean;
|
|
12
|
+
/**
|
|
13
|
+
* Whether this is a composite item or not.
|
|
14
|
+
* @default false
|
|
15
|
+
*/
|
|
16
|
+
composite?: boolean | undefined;
|
|
17
|
+
/**
|
|
18
|
+
* @default 0
|
|
19
|
+
*/
|
|
20
|
+
tabIndex?: number | undefined;
|
|
21
|
+
isNativeButton: boolean;
|
|
22
|
+
}
|
|
23
|
+
interface FocusableWhenDisabledProps {
|
|
24
|
+
'aria-disabled'?: boolean | undefined;
|
|
25
|
+
disabled?: boolean | undefined;
|
|
26
|
+
onKeyDown: (event: React.KeyboardEvent) => void;
|
|
27
|
+
tabIndex?: number | undefined;
|
|
28
|
+
}
|
|
29
|
+
export default function useFocusableWhenDisabled(parameters: UseFocusableWhenDisabledParameters): FocusableWhenDisabledProps;
|
|
30
|
+
export {};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
export interface UseFocusableWhenDisabledParameters {
|
|
3
|
+
/**
|
|
4
|
+
* Whether the component should be focusable when disabled.
|
|
5
|
+
* When `undefined`, composite items are focusable when disabled by default.
|
|
6
|
+
*/
|
|
7
|
+
focusableWhenDisabled?: boolean | undefined;
|
|
8
|
+
/**
|
|
9
|
+
* The disabled state of the component.
|
|
10
|
+
*/
|
|
11
|
+
disabled: boolean;
|
|
12
|
+
/**
|
|
13
|
+
* Whether this is a composite item or not.
|
|
14
|
+
* @default false
|
|
15
|
+
*/
|
|
16
|
+
composite?: boolean | undefined;
|
|
17
|
+
/**
|
|
18
|
+
* @default 0
|
|
19
|
+
*/
|
|
20
|
+
tabIndex?: number | undefined;
|
|
21
|
+
isNativeButton: boolean;
|
|
22
|
+
}
|
|
23
|
+
interface FocusableWhenDisabledProps {
|
|
24
|
+
'aria-disabled'?: boolean | undefined;
|
|
25
|
+
disabled?: boolean | undefined;
|
|
26
|
+
onKeyDown: (event: React.KeyboardEvent) => void;
|
|
27
|
+
tabIndex?: number | undefined;
|
|
28
|
+
}
|
|
29
|
+
export default function useFocusableWhenDisabled(parameters: UseFocusableWhenDisabledParameters): FocusableWhenDisabledProps;
|
|
30
|
+
export {};
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
'use client';
|
|
3
|
+
|
|
4
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = useFocusableWhenDisabled;
|
|
9
|
+
var React = _interopRequireWildcard(require("react"));
|
|
10
|
+
function useFocusableWhenDisabled(parameters) {
|
|
11
|
+
const {
|
|
12
|
+
focusableWhenDisabled,
|
|
13
|
+
disabled,
|
|
14
|
+
composite = false,
|
|
15
|
+
tabIndex: tabIndexProp = 0,
|
|
16
|
+
isNativeButton
|
|
17
|
+
} = parameters;
|
|
18
|
+
const isFocusableComposite = composite && focusableWhenDisabled !== false;
|
|
19
|
+
const isNonFocusableComposite = composite && focusableWhenDisabled === false;
|
|
20
|
+
|
|
21
|
+
// we can't explicitly assign `undefined` to any of these props because it
|
|
22
|
+
// would otherwise prevent subsequently merged props from setting them
|
|
23
|
+
const props = React.useMemo(() => {
|
|
24
|
+
const additionalProps = {
|
|
25
|
+
// allow Tabbing away from focusableWhenDisabled elements
|
|
26
|
+
onKeyDown(event) {
|
|
27
|
+
if (disabled && focusableWhenDisabled && event.key !== 'Tab') {
|
|
28
|
+
event.preventDefault();
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
if (!composite) {
|
|
33
|
+
additionalProps.tabIndex = tabIndexProp;
|
|
34
|
+
if (!isNativeButton && disabled) {
|
|
35
|
+
additionalProps.tabIndex = focusableWhenDisabled ? tabIndexProp : -1;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
if (isNativeButton && (focusableWhenDisabled || isFocusableComposite) || !isNativeButton && disabled) {
|
|
39
|
+
additionalProps['aria-disabled'] = disabled;
|
|
40
|
+
}
|
|
41
|
+
if (isNativeButton && (!focusableWhenDisabled || isNonFocusableComposite)) {
|
|
42
|
+
additionalProps.disabled = disabled;
|
|
43
|
+
}
|
|
44
|
+
return additionalProps;
|
|
45
|
+
}, [composite, disabled, focusableWhenDisabled, isFocusableComposite, isNonFocusableComposite, isNativeButton, tabIndexProp]);
|
|
46
|
+
return props;
|
|
47
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
export default function useFocusableWhenDisabled(parameters) {
|
|
5
|
+
const {
|
|
6
|
+
focusableWhenDisabled,
|
|
7
|
+
disabled,
|
|
8
|
+
composite = false,
|
|
9
|
+
tabIndex: tabIndexProp = 0,
|
|
10
|
+
isNativeButton
|
|
11
|
+
} = parameters;
|
|
12
|
+
const isFocusableComposite = composite && focusableWhenDisabled !== false;
|
|
13
|
+
const isNonFocusableComposite = composite && focusableWhenDisabled === false;
|
|
14
|
+
|
|
15
|
+
// we can't explicitly assign `undefined` to any of these props because it
|
|
16
|
+
// would otherwise prevent subsequently merged props from setting them
|
|
17
|
+
const props = React.useMemo(() => {
|
|
18
|
+
const additionalProps = {
|
|
19
|
+
// allow Tabbing away from focusableWhenDisabled elements
|
|
20
|
+
onKeyDown(event) {
|
|
21
|
+
if (disabled && focusableWhenDisabled && event.key !== 'Tab') {
|
|
22
|
+
event.preventDefault();
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
if (!composite) {
|
|
27
|
+
additionalProps.tabIndex = tabIndexProp;
|
|
28
|
+
if (!isNativeButton && disabled) {
|
|
29
|
+
additionalProps.tabIndex = focusableWhenDisabled ? tabIndexProp : -1;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
if (isNativeButton && (focusableWhenDisabled || isFocusableComposite) || !isNativeButton && disabled) {
|
|
33
|
+
additionalProps['aria-disabled'] = disabled;
|
|
34
|
+
}
|
|
35
|
+
if (isNativeButton && (!focusableWhenDisabled || isNonFocusableComposite)) {
|
|
36
|
+
additionalProps.disabled = disabled;
|
|
37
|
+
}
|
|
38
|
+
return additionalProps;
|
|
39
|
+
}, [composite, disabled, focusableWhenDisabled, isFocusableComposite, isNonFocusableComposite, isNativeButton, tabIndexProp]);
|
|
40
|
+
return props;
|
|
41
|
+
}
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export default useRovingTabIndex;
|
|
1
|
+
export { RovingTabIndexContext, useRovingTabIndexContext, useRovingTabIndexItem, useRovingTabIndexRoot } from '@mui/utils/useRovingTabIndex';
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export default useRovingTabIndex;
|
|
1
|
+
export { RovingTabIndexContext, useRovingTabIndexContext, useRovingTabIndexItem, useRovingTabIndexRoot } from '@mui/utils/useRovingTabIndex';
|
|
@@ -1,9 +1,30 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
7
|
-
exports
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
Object.defineProperty(exports, "RovingTabIndexContext", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _useRovingTabIndex.RovingTabIndexContext;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "useRovingTabIndexContext", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function () {
|
|
15
|
+
return _useRovingTabIndex.useRovingTabIndexContext;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
Object.defineProperty(exports, "useRovingTabIndexItem", {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function () {
|
|
21
|
+
return _useRovingTabIndex.useRovingTabIndexItem;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
Object.defineProperty(exports, "useRovingTabIndexRoot", {
|
|
25
|
+
enumerable: true,
|
|
26
|
+
get: function () {
|
|
27
|
+
return _useRovingTabIndex.useRovingTabIndexRoot;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
var _useRovingTabIndex = require("@mui/utils/useRovingTabIndex");
|