@mui/material 9.0.0-beta.1 → 9.0.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 +3 -3
- package/Accordion/Accordion.d.ts +3 -3
- package/AccordionActions/AccordionActions.d.mts +2 -2
- package/AccordionActions/AccordionActions.d.ts +2 -2
- package/AccordionDetails/AccordionDetails.d.mts +2 -2
- package/AccordionDetails/AccordionDetails.d.ts +2 -2
- package/AccordionSummary/AccordionSummary.d.mts +3 -3
- package/AccordionSummary/AccordionSummary.d.ts +3 -3
- package/Alert/Alert.d.mts +3 -3
- package/Alert/Alert.d.ts +3 -3
- package/AlertTitle/AlertTitle.d.mts +3 -3
- package/AlertTitle/AlertTitle.d.ts +3 -3
- package/AppBar/AppBar.d.mts +3 -3
- package/AppBar/AppBar.d.ts +3 -3
- package/Autocomplete/Autocomplete.d.mts +2 -2
- package/Autocomplete/Autocomplete.d.ts +2 -2
- package/Autocomplete/Autocomplete.js +65 -11
- package/Autocomplete/Autocomplete.mjs +65 -11
- package/Avatar/Avatar.d.mts +2 -2
- package/Avatar/Avatar.d.ts +2 -2
- package/Avatar/Avatar.js +4 -0
- package/Avatar/Avatar.mjs +4 -0
- package/AvatarGroup/AvatarGroup.d.mts +2 -2
- package/AvatarGroup/AvatarGroup.d.ts +2 -2
- package/Backdrop/Backdrop.d.mts +3 -3
- package/Backdrop/Backdrop.d.ts +3 -3
- package/Badge/Badge.d.mts +3 -3
- package/Badge/Badge.d.ts +3 -3
- package/Badge/Badge.js +3 -0
- package/Badge/Badge.mjs +3 -0
- package/BottomNavigation/BottomNavigation.d.mts +2 -2
- package/BottomNavigation/BottomNavigation.d.ts +2 -2
- package/BottomNavigationAction/BottomNavigationAction.d.mts +3 -3
- package/BottomNavigationAction/BottomNavigationAction.d.ts +3 -3
- package/Box/Box.d.mts +3 -3
- package/Box/Box.d.ts +3 -3
- package/Breadcrumbs/Breadcrumbs.d.mts +3 -3
- package/Breadcrumbs/Breadcrumbs.d.ts +3 -3
- package/Button/Button.d.mts +6 -6
- package/Button/Button.d.ts +6 -6
- package/Button/Button.js +19 -2
- package/Button/Button.mjs +19 -2
- package/ButtonBase/ButtonBase.d.mts +9 -2
- package/ButtonBase/ButtonBase.d.ts +9 -2
- package/ButtonBase/ButtonBase.js +5 -2
- package/ButtonBase/ButtonBase.mjs +5 -2
- package/ButtonGroup/ButtonGroup.d.mts +2 -2
- package/ButtonGroup/ButtonGroup.d.ts +2 -2
- package/CHANGELOG.md +160 -1245
- package/Card/Card.d.mts +3 -3
- package/Card/Card.d.ts +3 -3
- package/CardActionArea/CardActionArea.d.mts +3 -3
- package/CardActionArea/CardActionArea.d.ts +3 -3
- package/CardActions/CardActions.d.mts +2 -2
- package/CardActions/CardActions.d.ts +2 -2
- package/CardContent/CardContent.d.mts +2 -2
- package/CardContent/CardContent.d.ts +2 -2
- package/CardHeader/CardHeader.d.mts +2 -2
- package/CardHeader/CardHeader.d.ts +2 -2
- package/CardMedia/CardMedia.d.mts +2 -2
- package/CardMedia/CardMedia.d.ts +2 -2
- package/Checkbox/Checkbox.d.mts +4 -4
- package/Checkbox/Checkbox.d.ts +4 -4
- package/Checkbox/Checkbox.js +2 -1
- package/Checkbox/Checkbox.mjs +2 -1
- package/Chip/Chip.d.mts +2 -2
- package/Chip/Chip.d.ts +2 -2
- package/CircularProgress/CircularProgress.d.mts +14 -4
- package/CircularProgress/CircularProgress.d.ts +14 -4
- package/CircularProgress/CircularProgress.js +33 -6
- package/CircularProgress/CircularProgress.mjs +33 -6
- package/ClickAwayListener/ClickAwayListener.d.mts +3 -3
- package/ClickAwayListener/ClickAwayListener.d.ts +3 -3
- package/ClickAwayListener/ClickAwayListener.js +6 -9
- package/ClickAwayListener/ClickAwayListener.mjs +6 -9
- package/Collapse/Collapse.d.mts +5 -5
- package/Collapse/Collapse.d.ts +5 -5
- package/Collapse/Collapse.js +6 -18
- package/Collapse/Collapse.mjs +7 -19
- package/Container/Container.d.mts +2 -2
- package/Container/Container.d.ts +2 -2
- package/CssBaseline/CssBaseline.d.mts +2 -2
- package/CssBaseline/CssBaseline.d.ts +2 -2
- package/Dialog/Dialog.d.mts +3 -3
- package/Dialog/Dialog.d.ts +3 -3
- package/Dialog/Dialog.js +11 -6
- package/Dialog/Dialog.mjs +11 -6
- package/DialogActions/DialogActions.d.mts +2 -2
- package/DialogActions/DialogActions.d.ts +2 -2
- package/DialogContent/DialogContent.d.mts +2 -2
- package/DialogContent/DialogContent.d.ts +2 -2
- package/DialogContentText/DialogContentText.d.mts +3 -3
- package/DialogContentText/DialogContentText.d.ts +3 -3
- package/DialogTitle/DialogTitle.d.mts +3 -3
- package/DialogTitle/DialogTitle.d.ts +3 -3
- package/Divider/Divider.d.mts +4 -4
- package/Divider/Divider.d.ts +4 -4
- package/Drawer/Drawer.d.mts +3 -3
- package/Drawer/Drawer.d.ts +3 -3
- package/Drawer/Drawer.js +19 -8
- package/Drawer/Drawer.mjs +19 -8
- package/Fab/Fab.d.mts +3 -3
- package/Fab/Fab.d.ts +3 -3
- package/Fab/Fab.js +7 -1
- package/Fab/Fab.mjs +7 -1
- package/Fade/Fade.d.mts +3 -3
- package/Fade/Fade.d.ts +3 -3
- package/Fade/Fade.js +28 -32
- package/Fade/Fade.mjs +29 -33
- package/FilledInput/FilledInput.d.mts +7 -3
- package/FilledInput/FilledInput.d.ts +7 -3
- package/FilledInput/FilledInput.js +18 -20
- package/FilledInput/FilledInput.mjs +18 -20
- package/FormControl/FormControl.d.mts +7 -7
- package/FormControl/FormControl.d.ts +7 -7
- package/FormControl/useFormControl.d.mts +12 -2
- package/FormControl/useFormControl.d.ts +12 -2
- package/FormControl/useFormControl.js +13 -0
- package/FormControl/useFormControl.mjs +12 -0
- package/FormControlLabel/FormControlLabel.d.mts +4 -4
- package/FormControlLabel/FormControlLabel.d.ts +4 -4
- package/FormControlLabel/FormControlLabel.js +5 -8
- package/FormControlLabel/FormControlLabel.mjs +5 -8
- package/FormGroup/FormGroup.d.mts +3 -3
- package/FormGroup/FormGroup.d.ts +3 -3
- package/FormGroup/FormGroup.js +2 -5
- package/FormGroup/FormGroup.mjs +2 -5
- package/FormHelperText/FormHelperText.d.mts +3 -3
- package/FormHelperText/FormHelperText.d.ts +3 -3
- package/FormHelperText/FormHelperText.js +2 -5
- package/FormHelperText/FormHelperText.mjs +2 -5
- package/FormLabel/FormLabel.d.mts +5 -5
- package/FormLabel/FormLabel.d.ts +5 -5
- package/FormLabel/FormLabel.js +2 -5
- package/FormLabel/FormLabel.mjs +2 -5
- package/GlobalStyles/GlobalStyles.d.mts +2 -2
- package/GlobalStyles/GlobalStyles.d.ts +2 -2
- package/Grid/Grid.d.mts +2 -2
- package/Grid/Grid.d.ts +2 -2
- package/Grid/Grid.js +2 -2
- package/Grid/Grid.mjs +2 -2
- package/Grow/Grow.d.mts +5 -5
- package/Grow/Grow.d.ts +5 -5
- package/Grow/Grow.js +30 -38
- package/Grow/Grow.mjs +31 -39
- package/Icon/Icon.d.mts +3 -3
- package/Icon/Icon.d.ts +3 -3
- package/IconButton/IconButton.d.mts +5 -5
- package/IconButton/IconButton.d.ts +5 -5
- package/IconButton/IconButton.js +1 -8
- package/IconButton/IconButton.mjs +1 -8
- package/ImageList/ImageList.d.mts +2 -2
- package/ImageList/ImageList.d.ts +2 -2
- package/ImageListItem/ImageListItem.d.mts +2 -2
- package/ImageListItem/ImageListItem.d.ts +2 -2
- package/ImageListItemBar/ImageListItemBar.d.mts +2 -2
- package/ImageListItemBar/ImageListItemBar.d.ts +2 -2
- package/InitColorSchemeScript/InitColorSchemeScript.d.mts +2 -2
- package/InitColorSchemeScript/InitColorSchemeScript.d.ts +2 -2
- package/InitColorSchemeScript/InitColorSchemeScript.js +2 -2
- package/InitColorSchemeScript/InitColorSchemeScript.mjs +2 -2
- package/Input/Input.d.mts +7 -3
- package/Input/Input.d.ts +7 -3
- package/Input/Input.js +6 -0
- package/Input/Input.mjs +6 -0
- package/InputAdornment/InputAdornment.d.mts +2 -2
- package/InputAdornment/InputAdornment.d.ts +2 -2
- package/InputBase/InputBase.d.mts +4 -3
- package/InputBase/InputBase.d.ts +4 -3
- package/InputBase/InputBase.js +50 -15
- package/InputBase/InputBase.mjs +50 -15
- package/InputLabel/InputLabel.d.mts +4 -4
- package/InputLabel/InputLabel.d.ts +4 -4
- package/InputLabel/InputLabel.js +5 -8
- package/InputLabel/InputLabel.mjs +5 -8
- package/LinearProgress/LinearProgress.d.mts +14 -4
- package/LinearProgress/LinearProgress.d.ts +14 -4
- package/LinearProgress/LinearProgress.js +42 -10
- package/LinearProgress/LinearProgress.mjs +42 -10
- package/Link/Link.d.mts +4 -4
- package/Link/Link.d.ts +4 -4
- package/List/List.d.mts +4 -4
- package/List/List.d.ts +4 -4
- package/List/List.js +2 -1
- package/List/List.mjs +2 -1
- package/ListItem/ListItem.d.mts +3 -3
- package/ListItem/ListItem.d.ts +3 -3
- package/ListItem/ListItem.js +1 -2
- package/ListItem/ListItem.mjs +1 -2
- package/ListItemAvatar/ListItemAvatar.d.mts +2 -2
- package/ListItemAvatar/ListItemAvatar.d.ts +2 -2
- package/ListItemButton/ListItemButton.d.mts +4 -4
- package/ListItemButton/ListItemButton.d.ts +4 -4
- package/ListItemButton/ListItemButton.js +7 -1
- package/ListItemButton/ListItemButton.mjs +7 -1
- package/ListItemIcon/ListItemIcon.d.mts +3 -3
- package/ListItemIcon/ListItemIcon.d.ts +3 -3
- package/ListItemSecondaryAction/ListItemSecondaryAction.d.mts +2 -2
- package/ListItemSecondaryAction/ListItemSecondaryAction.d.ts +2 -2
- package/ListItemText/ListItemText.d.mts +3 -3
- package/ListItemText/ListItemText.d.ts +3 -3
- package/ListSubheader/ListSubheader.d.mts +3 -3
- package/ListSubheader/ListSubheader.d.ts +3 -3
- package/Menu/Menu.d.mts +4 -4
- package/Menu/Menu.d.ts +4 -4
- package/MenuItem/MenuItem.d.mts +3 -3
- package/MenuItem/MenuItem.d.ts +3 -3
- package/MenuItem/MenuItem.js +7 -1
- package/MenuItem/MenuItem.mjs +7 -1
- package/MenuList/MenuList.d.mts +4 -4
- package/MenuList/MenuList.d.ts +4 -4
- package/MenuList/MenuList.js +2 -1
- package/MenuList/MenuList.mjs +2 -1
- package/MobileStepper/MobileStepper.d.mts +3 -3
- package/MobileStepper/MobileStepper.d.ts +3 -3
- package/Modal/Modal.d.mts +7 -7
- package/Modal/Modal.d.ts +7 -7
- package/NativeSelect/NativeSelect.d.mts +3 -3
- package/NativeSelect/NativeSelect.d.ts +3 -3
- package/NativeSelect/NativeSelect.js +2 -5
- package/NativeSelect/NativeSelect.mjs +2 -5
- package/NoSsr/NoSsr.d.mts +2 -2
- package/NoSsr/NoSsr.d.ts +2 -2
- package/NoSsr/NoSsr.js +2 -2
- package/NoSsr/NoSsr.mjs +2 -2
- package/OutlinedInput/OutlinedInput.d.mts +4 -4
- package/OutlinedInput/OutlinedInput.d.ts +4 -4
- package/OutlinedInput/OutlinedInput.js +13 -23
- package/OutlinedInput/OutlinedInput.mjs +13 -23
- package/Pagination/Pagination.d.mts +2 -2
- package/Pagination/Pagination.d.ts +2 -2
- package/PaginationItem/PaginationItem.d.mts +3 -3
- package/PaginationItem/PaginationItem.d.ts +3 -3
- package/Paper/Paper.d.mts +4 -4
- package/Paper/Paper.d.ts +4 -4
- package/PigmentContainer/PigmentContainer.d.mts +2 -2
- package/PigmentContainer/PigmentContainer.d.ts +2 -2
- package/PigmentContainer/PigmentContainer.js +2 -3
- package/PigmentContainer/PigmentContainer.mjs +2 -3
- package/PigmentGrid/PigmentGrid.d.mts +2 -2
- package/PigmentGrid/PigmentGrid.d.ts +2 -2
- package/PigmentGrid/PigmentGrid.js +2 -2
- package/PigmentGrid/PigmentGrid.mjs +2 -2
- package/PigmentStack/PigmentStack.d.mts +2 -2
- package/PigmentStack/PigmentStack.d.ts +2 -2
- package/PigmentStack/PigmentStack.js +2 -2
- package/PigmentStack/PigmentStack.mjs +2 -2
- package/Popover/Popover.d.mts +4 -4
- package/Popover/Popover.d.ts +4 -4
- package/Popper/BasePopper.js +23 -1
- package/Popper/BasePopper.mjs +23 -1
- package/Popper/Popper.d.mts +4 -4
- package/Popper/Popper.d.ts +4 -4
- package/Popper/Popper.js +4 -4
- package/Popper/Popper.mjs +4 -4
- package/Portal/Portal.d.mts +2 -2
- package/Portal/Portal.d.ts +2 -2
- package/Portal/Portal.js +2 -2
- package/Portal/Portal.mjs +2 -2
- package/README.md +3 -3
- package/Radio/Radio.d.mts +3 -3
- package/Radio/Radio.d.ts +3 -3
- package/RadioGroup/RadioGroup.d.mts +3 -3
- package/RadioGroup/RadioGroup.d.ts +3 -3
- package/Rating/Rating.d.mts +2 -2
- package/Rating/Rating.d.ts +2 -2
- package/ScopedCssBaseline/ScopedCssBaseline.d.mts +2 -2
- package/ScopedCssBaseline/ScopedCssBaseline.d.ts +2 -2
- package/Select/Select.d.mts +3 -3
- package/Select/Select.d.ts +3 -3
- package/Select/Select.js +2 -5
- package/Select/Select.mjs +2 -5
- package/Select/SelectInput.js +164 -2
- package/Select/SelectInput.mjs +164 -2
- package/Skeleton/Skeleton.d.mts +2 -2
- package/Skeleton/Skeleton.d.ts +2 -2
- package/Slide/Slide.d.mts +4 -4
- package/Slide/Slide.d.ts +4 -4
- package/Slide/Slide.js +73 -50
- package/Slide/Slide.mjs +74 -52
- package/Slider/Slider.d.mts +4 -4
- package/Slider/Slider.d.ts +4 -4
- package/Slider/Slider.js +11 -2
- package/Slider/Slider.mjs +11 -2
- package/Slider/useSlider.d.mts +1 -1
- package/Slider/useSlider.d.ts +1 -1
- package/Slider/useSlider.js +236 -209
- package/Slider/useSlider.mjs +236 -209
- package/Slider/useSlider.types.d.mts +2 -2
- package/Slider/useSlider.types.d.ts +2 -2
- package/Snackbar/Snackbar.d.mts +2 -2
- package/Snackbar/Snackbar.d.ts +2 -2
- package/SnackbarContent/SnackbarContent.d.mts +3 -3
- package/SnackbarContent/SnackbarContent.d.ts +3 -3
- package/SpeedDial/SpeedDial.d.mts +2 -2
- package/SpeedDial/SpeedDial.d.ts +2 -2
- package/SpeedDialAction/SpeedDialAction.d.mts +3 -3
- package/SpeedDialAction/SpeedDialAction.d.ts +3 -3
- package/SpeedDialIcon/SpeedDialIcon.d.mts +2 -2
- package/SpeedDialIcon/SpeedDialIcon.d.ts +2 -2
- package/Stack/Stack.d.mts +2 -2
- package/Stack/Stack.d.ts +2 -2
- package/Step/Step.d.mts +2 -2
- package/Step/Step.d.ts +2 -2
- package/StepButton/StepButton.d.mts +3 -3
- package/StepButton/StepButton.d.ts +3 -3
- package/StepConnector/StepConnector.d.mts +2 -2
- package/StepConnector/StepConnector.d.ts +2 -2
- package/StepConnector/StepConnector.js +1 -2
- package/StepConnector/StepConnector.mjs +1 -2
- package/StepContent/StepContent.d.mts +2 -2
- package/StepContent/StepContent.d.ts +2 -2
- package/StepIcon/StepIcon.d.mts +3 -3
- package/StepIcon/StepIcon.d.ts +3 -3
- package/StepLabel/StepLabel.d.mts +2 -2
- package/StepLabel/StepLabel.d.ts +2 -2
- package/Stepper/Stepper.d.mts +2 -2
- package/Stepper/Stepper.d.ts +2 -2
- package/SvgIcon/SvgIcon.d.mts +3 -3
- package/SvgIcon/SvgIcon.d.ts +3 -3
- package/SwipeableDrawer/SwipeableDrawer.d.mts +3 -3
- package/SwipeableDrawer/SwipeableDrawer.d.ts +3 -3
- package/SwipeableDrawer/SwipeableDrawer.js +7 -6
- package/SwipeableDrawer/SwipeableDrawer.mjs +7 -6
- package/Switch/Switch.d.mts +4 -4
- package/Switch/Switch.d.ts +4 -4
- package/Switch/Switch.js +9 -4
- package/Switch/Switch.mjs +9 -4
- package/Tab/Tab.d.mts +3 -3
- package/Tab/Tab.d.ts +3 -3
- package/TabScrollButton/TabScrollButton.d.mts +2 -2
- package/TabScrollButton/TabScrollButton.d.ts +2 -2
- package/Table/Table.d.mts +2 -2
- package/Table/Table.d.ts +2 -2
- package/TableBody/TableBody.d.mts +2 -2
- package/TableBody/TableBody.d.ts +2 -2
- package/TableCell/TableCell.d.mts +2 -2
- package/TableCell/TableCell.d.ts +2 -2
- package/TableContainer/TableContainer.d.mts +2 -2
- package/TableContainer/TableContainer.d.ts +2 -2
- package/TableFooter/TableFooter.d.mts +2 -2
- package/TableFooter/TableFooter.d.ts +2 -2
- package/TableHead/TableHead.d.mts +2 -2
- package/TableHead/TableHead.d.ts +2 -2
- package/TablePagination/TablePagination.d.mts +4 -4
- package/TablePagination/TablePagination.d.ts +4 -4
- package/TablePaginationActions/TablePaginationActions.d.mts +2 -2
- package/TablePaginationActions/TablePaginationActions.d.ts +2 -2
- package/TableRow/TableRow.d.mts +2 -2
- package/TableRow/TableRow.d.ts +2 -2
- package/TableSortLabel/TableSortLabel.d.mts +3 -3
- package/TableSortLabel/TableSortLabel.d.ts +3 -3
- package/TableSortLabel/TableSortLabel.js +1 -2
- package/TableSortLabel/TableSortLabel.mjs +1 -2
- package/Tabs/ScrollbarSize.js +2 -1
- package/Tabs/ScrollbarSize.mjs +2 -1
- package/Tabs/Tabs.d.mts +2 -2
- package/Tabs/Tabs.d.ts +2 -2
- package/Tabs/Tabs.js +2 -1
- package/Tabs/Tabs.mjs +2 -1
- package/TextField/TextField.d.mts +10 -10
- package/TextField/TextField.d.ts +10 -10
- package/TextareaAutosize/TextareaAutosize.d.mts +2 -2
- package/TextareaAutosize/TextareaAutosize.d.ts +2 -2
- package/TextareaAutosize/TextareaAutosize.js +2 -2
- package/TextareaAutosize/TextareaAutosize.mjs +2 -2
- package/ToggleButton/ToggleButton.d.mts +3 -3
- package/ToggleButton/ToggleButton.d.ts +3 -3
- package/ToggleButtonGroup/ToggleButtonGroup.d.mts +2 -2
- package/ToggleButtonGroup/ToggleButtonGroup.d.ts +2 -2
- package/Toolbar/Toolbar.d.mts +2 -2
- package/Toolbar/Toolbar.d.ts +2 -2
- package/Tooltip/Tooltip.d.mts +2 -2
- package/Tooltip/Tooltip.d.ts +2 -2
- package/Tooltip/Tooltip.js +26 -108
- package/Tooltip/Tooltip.mjs +26 -108
- package/Typography/Typography.d.mts +4 -4
- package/Typography/Typography.d.ts +4 -4
- package/Unstable_TrapFocus/FocusTrap.js +18 -14
- package/Unstable_TrapFocus/FocusTrap.mjs +18 -14
- package/Zoom/Zoom.d.mts +3 -3
- package/Zoom/Zoom.d.ts +3 -3
- package/Zoom/Zoom.js +24 -30
- package/Zoom/Zoom.mjs +25 -31
- package/index.js +1 -1
- package/index.mjs +1 -1
- package/package.json +7 -7
- package/styles/createThemeNoVars.js +1 -1
- package/styles/createThemeNoVars.mjs +1 -1
- package/styles/responsiveFontSizes.js +19 -8
- package/styles/responsiveFontSizes.mjs +19 -8
- package/styles/useThemeProps.d.mts +3 -3
- package/styles/useThemeProps.d.ts +3 -3
- package/transitions/utils.d.mts +24 -0
- package/transitions/utils.d.ts +24 -0
- package/transitions/utils.js +91 -0
- package/transitions/utils.mjs +88 -0
- package/useAutocomplete/useAutocomplete.d.mts +4 -5
- package/useAutocomplete/useAutocomplete.d.ts +4 -5
- package/useAutocomplete/useAutocomplete.js +166 -53
- package/useAutocomplete/useAutocomplete.mjs +166 -53
- package/utils/contains.d.mts +2 -0
- package/utils/contains.d.ts +2 -0
- package/utils/contains.js +9 -0
- package/utils/contains.mjs +2 -0
- package/utils/focusable.d.mts +7 -0
- package/utils/focusable.d.ts +7 -0
- package/utils/focusable.js +20 -0
- package/utils/focusable.mjs +13 -0
- package/utils/getEventTarget.d.mts +2 -0
- package/utils/getEventTarget.d.ts +2 -0
- package/utils/getEventTarget.js +9 -0
- package/utils/getEventTarget.mjs +2 -0
- package/utils/mergeSlotProps.js +2 -8
- package/utils/mergeSlotProps.mjs +1 -8
- package/version/index.js +3 -3
- package/version/index.mjs +3 -3
- package/FormControl/formControlState.js +0 -21
- package/FormControl/formControlState.mjs +0 -15
package/Tooltip/Tooltip.mjs
CHANGED
|
@@ -6,7 +6,6 @@ import clsx from 'clsx';
|
|
|
6
6
|
import useTimeout, { Timeout } from '@mui/utils/useTimeout';
|
|
7
7
|
import elementAcceptingRef from '@mui/utils/elementAcceptingRef';
|
|
8
8
|
import composeClasses from '@mui/utils/composeClasses';
|
|
9
|
-
import { useRtl } from '@mui/system/RtlProvider';
|
|
10
9
|
import isFocusVisible from '@mui/utils/isFocusVisible';
|
|
11
10
|
import getReactElementRef from '@mui/utils/getReactElementRef';
|
|
12
11
|
import { styled, useTheme } from "../zero-styled/index.mjs";
|
|
@@ -56,17 +55,11 @@ const TooltipPopper = styled(Popper, {
|
|
|
56
55
|
pointerEvents: 'none',
|
|
57
56
|
variants: [{
|
|
58
57
|
props: ({
|
|
59
|
-
ownerState
|
|
60
|
-
}) => !ownerState.disableInteractive,
|
|
61
|
-
style: {
|
|
62
|
-
pointerEvents: 'auto'
|
|
63
|
-
}
|
|
64
|
-
}, {
|
|
65
|
-
props: ({
|
|
58
|
+
ownerState,
|
|
66
59
|
open
|
|
67
|
-
}) => !
|
|
60
|
+
}) => open && !ownerState.disableInteractive,
|
|
68
61
|
style: {
|
|
69
|
-
pointerEvents: '
|
|
62
|
+
pointerEvents: 'auto'
|
|
70
63
|
}
|
|
71
64
|
}, {
|
|
72
65
|
props: ({
|
|
@@ -90,6 +83,8 @@ const TooltipPopper = styled(Popper, {
|
|
|
90
83
|
[`&[data-popper-placement*="right"] .${tooltipClasses.arrow}`]: {
|
|
91
84
|
height: '1em',
|
|
92
85
|
width: '0.71em',
|
|
86
|
+
insetInlineStart: 0,
|
|
87
|
+
marginInlineStart: '-0.71em',
|
|
93
88
|
'&::before': {
|
|
94
89
|
transformOrigin: '100% 100%'
|
|
95
90
|
}
|
|
@@ -97,51 +92,13 @@ const TooltipPopper = styled(Popper, {
|
|
|
97
92
|
[`&[data-popper-placement*="left"] .${tooltipClasses.arrow}`]: {
|
|
98
93
|
height: '1em',
|
|
99
94
|
width: '0.71em',
|
|
95
|
+
insetInlineEnd: 0,
|
|
96
|
+
marginInlineEnd: '-0.71em',
|
|
100
97
|
'&::before': {
|
|
101
98
|
transformOrigin: '0 0'
|
|
102
99
|
}
|
|
103
100
|
}
|
|
104
101
|
}
|
|
105
|
-
}, {
|
|
106
|
-
props: ({
|
|
107
|
-
ownerState
|
|
108
|
-
}) => ownerState.arrow && !ownerState.isRtl,
|
|
109
|
-
style: {
|
|
110
|
-
[`&[data-popper-placement*="right"] .${tooltipClasses.arrow}`]: {
|
|
111
|
-
left: 0,
|
|
112
|
-
marginLeft: '-0.71em'
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
}, {
|
|
116
|
-
props: ({
|
|
117
|
-
ownerState
|
|
118
|
-
}) => ownerState.arrow && !!ownerState.isRtl,
|
|
119
|
-
style: {
|
|
120
|
-
[`&[data-popper-placement*="right"] .${tooltipClasses.arrow}`]: {
|
|
121
|
-
right: 0,
|
|
122
|
-
marginRight: '-0.71em'
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
}, {
|
|
126
|
-
props: ({
|
|
127
|
-
ownerState
|
|
128
|
-
}) => ownerState.arrow && !ownerState.isRtl,
|
|
129
|
-
style: {
|
|
130
|
-
[`&[data-popper-placement*="left"] .${tooltipClasses.arrow}`]: {
|
|
131
|
-
right: 0,
|
|
132
|
-
marginRight: '-0.71em'
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
}, {
|
|
136
|
-
props: ({
|
|
137
|
-
ownerState
|
|
138
|
-
}) => ownerState.arrow && !!ownerState.isRtl,
|
|
139
|
-
style: {
|
|
140
|
-
[`&[data-popper-placement*="left"] .${tooltipClasses.arrow}`]: {
|
|
141
|
-
left: 0,
|
|
142
|
-
marginLeft: '-0.71em'
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
102
|
}]
|
|
146
103
|
})));
|
|
147
104
|
const TooltipTooltip = styled('div', {
|
|
@@ -167,10 +124,12 @@ const TooltipTooltip = styled('div', {
|
|
|
167
124
|
wordWrap: 'break-word',
|
|
168
125
|
fontWeight: theme.typography.fontWeightMedium,
|
|
169
126
|
[`.${tooltipClasses.popper}[data-popper-placement*="left"] &`]: {
|
|
170
|
-
transformOrigin: 'right center'
|
|
127
|
+
transformOrigin: 'right center',
|
|
128
|
+
marginInlineEnd: '14px'
|
|
171
129
|
},
|
|
172
130
|
[`.${tooltipClasses.popper}[data-popper-placement*="right"] &`]: {
|
|
173
|
-
transformOrigin: 'left center'
|
|
131
|
+
transformOrigin: 'left center',
|
|
132
|
+
marginInlineStart: '14px'
|
|
174
133
|
},
|
|
175
134
|
[`.${tooltipClasses.popper}[data-popper-placement*="top"] &`]: {
|
|
176
135
|
transformOrigin: 'center bottom',
|
|
@@ -186,7 +145,7 @@ const TooltipTooltip = styled('div', {
|
|
|
186
145
|
}) => ownerState.arrow,
|
|
187
146
|
style: {
|
|
188
147
|
position: 'relative',
|
|
189
|
-
|
|
148
|
+
marginBlock: 0
|
|
190
149
|
}
|
|
191
150
|
}, {
|
|
192
151
|
props: ({
|
|
@@ -201,65 +160,17 @@ const TooltipTooltip = styled('div', {
|
|
|
201
160
|
}, {
|
|
202
161
|
props: ({
|
|
203
162
|
ownerState
|
|
204
|
-
}) =>
|
|
205
|
-
style: {
|
|
206
|
-
[`.${tooltipClasses.popper}[data-popper-placement*="left"] &`]: {
|
|
207
|
-
marginRight: '14px'
|
|
208
|
-
},
|
|
209
|
-
[`.${tooltipClasses.popper}[data-popper-placement*="right"] &`]: {
|
|
210
|
-
marginLeft: '14px'
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
}, {
|
|
214
|
-
props: ({
|
|
215
|
-
ownerState
|
|
216
|
-
}) => !ownerState.isRtl && ownerState.touch,
|
|
163
|
+
}) => ownerState.touch,
|
|
217
164
|
style: {
|
|
218
165
|
[`.${tooltipClasses.popper}[data-popper-placement*="left"] &`]: {
|
|
219
|
-
|
|
166
|
+
marginInlineEnd: '24px'
|
|
220
167
|
},
|
|
221
168
|
[`.${tooltipClasses.popper}[data-popper-placement*="right"] &`]: {
|
|
222
|
-
|
|
223
|
-
}
|
|
224
|
-
}
|
|
225
|
-
}, {
|
|
226
|
-
props: ({
|
|
227
|
-
ownerState
|
|
228
|
-
}) => !!ownerState.isRtl,
|
|
229
|
-
style: {
|
|
230
|
-
[`.${tooltipClasses.popper}[data-popper-placement*="left"] &`]: {
|
|
231
|
-
marginLeft: '14px'
|
|
169
|
+
marginInlineStart: '24px'
|
|
232
170
|
},
|
|
233
|
-
[`.${tooltipClasses.popper}[data-popper-placement*="right"] &`]: {
|
|
234
|
-
marginRight: '14px'
|
|
235
|
-
}
|
|
236
|
-
}
|
|
237
|
-
}, {
|
|
238
|
-
props: ({
|
|
239
|
-
ownerState
|
|
240
|
-
}) => !!ownerState.isRtl && ownerState.touch,
|
|
241
|
-
style: {
|
|
242
|
-
[`.${tooltipClasses.popper}[data-popper-placement*="left"] &`]: {
|
|
243
|
-
marginLeft: '24px'
|
|
244
|
-
},
|
|
245
|
-
[`.${tooltipClasses.popper}[data-popper-placement*="right"] &`]: {
|
|
246
|
-
marginRight: '24px'
|
|
247
|
-
}
|
|
248
|
-
}
|
|
249
|
-
}, {
|
|
250
|
-
props: ({
|
|
251
|
-
ownerState
|
|
252
|
-
}) => ownerState.touch,
|
|
253
|
-
style: {
|
|
254
171
|
[`.${tooltipClasses.popper}[data-popper-placement*="top"] &`]: {
|
|
255
172
|
marginBottom: '24px'
|
|
256
|
-
}
|
|
257
|
-
}
|
|
258
|
-
}, {
|
|
259
|
-
props: ({
|
|
260
|
-
ownerState
|
|
261
|
-
}) => ownerState.touch,
|
|
262
|
-
style: {
|
|
173
|
+
},
|
|
263
174
|
[`.${tooltipClasses.popper}[data-popper-placement*="bottom"] &`]: {
|
|
264
175
|
marginTop: '24px'
|
|
265
176
|
}
|
|
@@ -342,7 +253,6 @@ const Tooltip = /*#__PURE__*/React.forwardRef(function Tooltip(inProps, ref) {
|
|
|
342
253
|
children: childrenProp
|
|
343
254
|
});
|
|
344
255
|
const theme = useTheme();
|
|
345
|
-
const isRtl = useRtl();
|
|
346
256
|
const [childNode, setChildNode] = React.useState();
|
|
347
257
|
const [arrowRef, setArrowRef] = React.useState(null);
|
|
348
258
|
const ignoreNonTouchEvents = React.useRef(false);
|
|
@@ -442,7 +352,7 @@ const Tooltip = /*#__PURE__*/React.forwardRef(function Tooltip(inProps, ref) {
|
|
|
442
352
|
const handleBlur = event => {
|
|
443
353
|
// Needed for https://github.com/mui/material-ui/issues/45373
|
|
444
354
|
const target = event?.target ?? childNode;
|
|
445
|
-
if (!target || !isFocusVisible(target)) {
|
|
355
|
+
if (!target || target.disabled || !isFocusVisible(target)) {
|
|
446
356
|
setChildIsFocusVisible(false);
|
|
447
357
|
|
|
448
358
|
// InputBase can call onBlur() without an event when the input becomes disabled.
|
|
@@ -470,6 +380,15 @@ const Tooltip = /*#__PURE__*/React.forwardRef(function Tooltip(inProps, ref) {
|
|
|
470
380
|
setChildNode(event.currentTarget);
|
|
471
381
|
}
|
|
472
382
|
if (isFocusVisible(event.target)) {
|
|
383
|
+
// Workaround for https://github.com/facebook/react/issues/9142.
|
|
384
|
+
// React does not fire blur when a focused element becomes disabled.
|
|
385
|
+
const handleNativeBlur = blurEvent => {
|
|
386
|
+
if (blurEvent.target.disabled) {
|
|
387
|
+
handleBlur(blurEvent);
|
|
388
|
+
}
|
|
389
|
+
blurEvent.target.removeEventListener('blur', handleNativeBlur);
|
|
390
|
+
};
|
|
391
|
+
event.target.addEventListener('blur', handleNativeBlur);
|
|
473
392
|
setChildIsFocusVisible(true);
|
|
474
393
|
handleMouseOver(event);
|
|
475
394
|
}
|
|
@@ -601,7 +520,6 @@ const Tooltip = /*#__PURE__*/React.forwardRef(function Tooltip(inProps, ref) {
|
|
|
601
520
|
}
|
|
602
521
|
const ownerState = {
|
|
603
522
|
...props,
|
|
604
|
-
isRtl,
|
|
605
523
|
arrow,
|
|
606
524
|
disableInteractive,
|
|
607
525
|
placement,
|
|
@@ -79,13 +79,13 @@ export interface TypographyTypeMap<AdditionalProps = {}, RootComponent extends R
|
|
|
79
79
|
*
|
|
80
80
|
* Demos:
|
|
81
81
|
*
|
|
82
|
-
* - [Breadcrumbs](https://
|
|
83
|
-
* - [Menubar](https://
|
|
84
|
-
* - [Typography](https://
|
|
82
|
+
* - [Breadcrumbs](https://mui.com/material-ui/react-breadcrumbs/)
|
|
83
|
+
* - [Menubar](https://mui.com/material-ui/react-menubar/)
|
|
84
|
+
* - [Typography](https://mui.com/material-ui/react-typography/)
|
|
85
85
|
*
|
|
86
86
|
* API:
|
|
87
87
|
*
|
|
88
|
-
* - [Typography API](https://
|
|
88
|
+
* - [Typography API](https://mui.com/material-ui/api/typography/)
|
|
89
89
|
*/
|
|
90
90
|
declare const Typography: OverridableComponent<TypographyTypeMap>;
|
|
91
91
|
export type TypographyProps<RootComponent extends React.ElementType = TypographyTypeMap['defaultComponent'], AdditionalProps = {}> = OverrideProps<TypographyTypeMap<AdditionalProps, RootComponent>, RootComponent> & {
|
|
@@ -79,13 +79,13 @@ export interface TypographyTypeMap<AdditionalProps = {}, RootComponent extends R
|
|
|
79
79
|
*
|
|
80
80
|
* Demos:
|
|
81
81
|
*
|
|
82
|
-
* - [Breadcrumbs](https://
|
|
83
|
-
* - [Menubar](https://
|
|
84
|
-
* - [Typography](https://
|
|
82
|
+
* - [Breadcrumbs](https://mui.com/material-ui/react-breadcrumbs/)
|
|
83
|
+
* - [Menubar](https://mui.com/material-ui/react-menubar/)
|
|
84
|
+
* - [Typography](https://mui.com/material-ui/react-typography/)
|
|
85
85
|
*
|
|
86
86
|
* API:
|
|
87
87
|
*
|
|
88
|
-
* - [Typography API](https://
|
|
88
|
+
* - [Typography API](https://mui.com/material-ui/api/typography/)
|
|
89
89
|
*/
|
|
90
90
|
declare const Typography: OverridableComponent<TypographyTypeMap>;
|
|
91
91
|
export type TypographyProps<RootComponent extends React.ElementType = TypographyTypeMap['defaultComponent'], AdditionalProps = {}> = OverrideProps<TypographyTypeMap<AdditionalProps, RootComponent>, RootComponent> & {
|
|
@@ -15,7 +15,9 @@ var _ownerDocument = _interopRequireDefault(require("@mui/utils/ownerDocument"))
|
|
|
15
15
|
var _getReactElementRef = _interopRequireDefault(require("@mui/utils/getReactElementRef"));
|
|
16
16
|
var _exactProp = _interopRequireDefault(require("@mui/utils/exactProp"));
|
|
17
17
|
var _elementAcceptingRef = _interopRequireDefault(require("@mui/utils/elementAcceptingRef"));
|
|
18
|
+
var _contains = _interopRequireDefault(require("../utils/contains"));
|
|
18
19
|
var _getActiveElement = _interopRequireDefault(require("../utils/getActiveElement"));
|
|
20
|
+
var _focusable = require("../utils/focusable");
|
|
19
21
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
20
22
|
// Inspired by https://github.com/focus-trap/tabbable
|
|
21
23
|
const candidatesSelector = ['input', 'select', 'textarea', 'a[href]', 'button', '[tabindex]', 'audio[controls]', 'video[controls]', '[contenteditable]:not([contenteditable="false"])'].join(',');
|
|
@@ -114,34 +116,36 @@ function FocusTrap(props) {
|
|
|
114
116
|
activated.current = !disableAutoFocus;
|
|
115
117
|
}, [disableAutoFocus, open]);
|
|
116
118
|
React.useEffect(() => {
|
|
119
|
+
// Reset on every mount — React 18 Strict Mode double-mounts leave this
|
|
120
|
+
// stuck at `true` after the cleanup of the previous mount set it.
|
|
121
|
+
ignoreNextEnforceFocus.current = false;
|
|
122
|
+
|
|
117
123
|
// We might render an empty child.
|
|
118
124
|
if (!open || !rootRef.current) {
|
|
119
125
|
return;
|
|
120
126
|
}
|
|
121
127
|
const doc = (0, _ownerDocument.default)(rootRef.current);
|
|
122
128
|
const activeElement = (0, _getActiveElement.default)(doc);
|
|
123
|
-
|
|
124
|
-
|
|
129
|
+
|
|
130
|
+
// Prefer the explicitly marked focusable element. Fall back to the root
|
|
131
|
+
// element for generic FocusTrap usage.
|
|
132
|
+
const focusTarget = (0, _focusable.getFocusTarget)(rootRef.current) ?? rootRef.current;
|
|
133
|
+
if (!(0, _contains.default)(rootRef.current, activeElement)) {
|
|
134
|
+
if (!focusTarget.hasAttribute('tabIndex')) {
|
|
125
135
|
if (process.env.NODE_ENV !== 'production') {
|
|
126
136
|
console.error(['MUI: The modal content node does not accept focus.', 'For the benefit of assistive technologies, ' + 'the tabIndex of the node is being set to "-1".'].join('\n'));
|
|
127
137
|
}
|
|
128
|
-
|
|
138
|
+
focusTarget.setAttribute('tabIndex', '-1');
|
|
129
139
|
}
|
|
130
140
|
if (activated.current) {
|
|
131
|
-
|
|
141
|
+
focusTarget.focus();
|
|
132
142
|
}
|
|
133
143
|
}
|
|
134
144
|
return () => {
|
|
135
145
|
// restoreLastFocus()
|
|
136
|
-
if (!disableRestoreFocus) {
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
// Not all elements in IE11 have a focus method.
|
|
140
|
-
// Once IE11 support is dropped the focus() call can be unconditional.
|
|
141
|
-
if (nodeToRestore.current && nodeToRestore.current.focus) {
|
|
142
|
-
ignoreNextEnforceFocus.current = true;
|
|
143
|
-
nodeToRestore.current.focus();
|
|
144
|
-
}
|
|
146
|
+
if (!disableRestoreFocus && nodeToRestore.current) {
|
|
147
|
+
ignoreNextEnforceFocus.current = true;
|
|
148
|
+
nodeToRestore.current.focus();
|
|
145
149
|
nodeToRestore.current = null;
|
|
146
150
|
}
|
|
147
151
|
};
|
|
@@ -188,7 +192,7 @@ function FocusTrap(props) {
|
|
|
188
192
|
}
|
|
189
193
|
|
|
190
194
|
// The focus is already inside
|
|
191
|
-
if (
|
|
195
|
+
if ((0, _contains.default)(rootElement, activeEl)) {
|
|
192
196
|
return;
|
|
193
197
|
}
|
|
194
198
|
|
|
@@ -8,7 +8,9 @@ import ownerDocument from '@mui/utils/ownerDocument';
|
|
|
8
8
|
import getReactElementRef from '@mui/utils/getReactElementRef';
|
|
9
9
|
import exactProp from '@mui/utils/exactProp';
|
|
10
10
|
import elementAcceptingRef from '@mui/utils/elementAcceptingRef';
|
|
11
|
+
import contains from "../utils/contains.mjs";
|
|
11
12
|
import getActiveElement from "../utils/getActiveElement.mjs";
|
|
13
|
+
import { getFocusTarget } from "../utils/focusable.mjs";
|
|
12
14
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
15
|
// Inspired by https://github.com/focus-trap/tabbable
|
|
14
16
|
const candidatesSelector = ['input', 'select', 'textarea', 'a[href]', 'button', '[tabindex]', 'audio[controls]', 'video[controls]', '[contenteditable]:not([contenteditable="false"])'].join(',');
|
|
@@ -107,34 +109,36 @@ function FocusTrap(props) {
|
|
|
107
109
|
activated.current = !disableAutoFocus;
|
|
108
110
|
}, [disableAutoFocus, open]);
|
|
109
111
|
React.useEffect(() => {
|
|
112
|
+
// Reset on every mount — React 18 Strict Mode double-mounts leave this
|
|
113
|
+
// stuck at `true` after the cleanup of the previous mount set it.
|
|
114
|
+
ignoreNextEnforceFocus.current = false;
|
|
115
|
+
|
|
110
116
|
// We might render an empty child.
|
|
111
117
|
if (!open || !rootRef.current) {
|
|
112
118
|
return;
|
|
113
119
|
}
|
|
114
120
|
const doc = ownerDocument(rootRef.current);
|
|
115
121
|
const activeElement = getActiveElement(doc);
|
|
116
|
-
|
|
117
|
-
|
|
122
|
+
|
|
123
|
+
// Prefer the explicitly marked focusable element. Fall back to the root
|
|
124
|
+
// element for generic FocusTrap usage.
|
|
125
|
+
const focusTarget = getFocusTarget(rootRef.current) ?? rootRef.current;
|
|
126
|
+
if (!contains(rootRef.current, activeElement)) {
|
|
127
|
+
if (!focusTarget.hasAttribute('tabIndex')) {
|
|
118
128
|
if (process.env.NODE_ENV !== 'production') {
|
|
119
129
|
console.error(['MUI: The modal content node does not accept focus.', 'For the benefit of assistive technologies, ' + 'the tabIndex of the node is being set to "-1".'].join('\n'));
|
|
120
130
|
}
|
|
121
|
-
|
|
131
|
+
focusTarget.setAttribute('tabIndex', '-1');
|
|
122
132
|
}
|
|
123
133
|
if (activated.current) {
|
|
124
|
-
|
|
134
|
+
focusTarget.focus();
|
|
125
135
|
}
|
|
126
136
|
}
|
|
127
137
|
return () => {
|
|
128
138
|
// restoreLastFocus()
|
|
129
|
-
if (!disableRestoreFocus) {
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
// Not all elements in IE11 have a focus method.
|
|
133
|
-
// Once IE11 support is dropped the focus() call can be unconditional.
|
|
134
|
-
if (nodeToRestore.current && nodeToRestore.current.focus) {
|
|
135
|
-
ignoreNextEnforceFocus.current = true;
|
|
136
|
-
nodeToRestore.current.focus();
|
|
137
|
-
}
|
|
139
|
+
if (!disableRestoreFocus && nodeToRestore.current) {
|
|
140
|
+
ignoreNextEnforceFocus.current = true;
|
|
141
|
+
nodeToRestore.current.focus();
|
|
138
142
|
nodeToRestore.current = null;
|
|
139
143
|
}
|
|
140
144
|
};
|
|
@@ -181,7 +185,7 @@ function FocusTrap(props) {
|
|
|
181
185
|
}
|
|
182
186
|
|
|
183
187
|
// The focus is already inside
|
|
184
|
-
if (
|
|
188
|
+
if (contains(rootElement, activeEl)) {
|
|
185
189
|
return;
|
|
186
190
|
}
|
|
187
191
|
|
package/Zoom/Zoom.d.mts
CHANGED
|
@@ -34,16 +34,16 @@ export interface ZoomProps extends TransitionProps {
|
|
|
34
34
|
|
|
35
35
|
/**
|
|
36
36
|
* The Zoom transition can be used for the floating variant of the
|
|
37
|
-
* [Button](https://
|
|
37
|
+
* [Button](https://mui.com/material-ui/react-floating-action-button/#animation) component.
|
|
38
38
|
* It uses [react-transition-group](https://github.com/reactjs/react-transition-group) internally.
|
|
39
39
|
*
|
|
40
40
|
* Demos:
|
|
41
41
|
*
|
|
42
|
-
* - [Transitions](https://
|
|
42
|
+
* - [Transitions](https://mui.com/material-ui/transitions/)
|
|
43
43
|
*
|
|
44
44
|
* API:
|
|
45
45
|
*
|
|
46
|
-
* - [Zoom API](https://
|
|
46
|
+
* - [Zoom API](https://mui.com/material-ui/api/zoom/)
|
|
47
47
|
* - inherits [Transition API](https://reactcommunity.org/react-transition-group/transition/#Transition-props)
|
|
48
48
|
*/
|
|
49
49
|
export default function Zoom(props: ZoomProps): React.JSX.Element;
|
package/Zoom/Zoom.d.ts
CHANGED
|
@@ -34,16 +34,16 @@ export interface ZoomProps extends TransitionProps {
|
|
|
34
34
|
|
|
35
35
|
/**
|
|
36
36
|
* The Zoom transition can be used for the floating variant of the
|
|
37
|
-
* [Button](https://
|
|
37
|
+
* [Button](https://mui.com/material-ui/react-floating-action-button/#animation) component.
|
|
38
38
|
* It uses [react-transition-group](https://github.com/reactjs/react-transition-group) internally.
|
|
39
39
|
*
|
|
40
40
|
* Demos:
|
|
41
41
|
*
|
|
42
|
-
* - [Transitions](https://
|
|
42
|
+
* - [Transitions](https://mui.com/material-ui/transitions/)
|
|
43
43
|
*
|
|
44
44
|
* API:
|
|
45
45
|
*
|
|
46
|
-
* - [Zoom API](https://
|
|
46
|
+
* - [Zoom API](https://mui.com/material-ui/api/zoom/)
|
|
47
47
|
* - inherits [Transition API](https://reactcommunity.org/react-transition-group/transition/#Transition-props)
|
|
48
48
|
*/
|
|
49
49
|
export default function Zoom(props: ZoomProps): React.JSX.Element;
|
package/Zoom/Zoom.js
CHANGED
|
@@ -22,8 +22,18 @@ const styles = {
|
|
|
22
22
|
},
|
|
23
23
|
entered: {
|
|
24
24
|
transform: 'none'
|
|
25
|
+
},
|
|
26
|
+
exiting: {
|
|
27
|
+
transform: 'scale(0)'
|
|
28
|
+
},
|
|
29
|
+
exited: {
|
|
30
|
+
transform: 'scale(0)'
|
|
25
31
|
}
|
|
26
32
|
};
|
|
33
|
+
const hiddenStyles = {
|
|
34
|
+
transform: 'scale(0)',
|
|
35
|
+
visibility: 'hidden'
|
|
36
|
+
};
|
|
27
37
|
|
|
28
38
|
/**
|
|
29
39
|
* The Zoom transition can be used for the floating variant of the
|
|
@@ -50,26 +60,12 @@ const Zoom = /*#__PURE__*/React.forwardRef(function Zoom(props, ref) {
|
|
|
50
60
|
onExiting,
|
|
51
61
|
style,
|
|
52
62
|
timeout = defaultTimeout,
|
|
53
|
-
// eslint-disable-next-line react/prop-types
|
|
54
|
-
TransitionComponent = _reactTransitionGroup.Transition,
|
|
55
63
|
...other
|
|
56
64
|
} = props;
|
|
57
65
|
const nodeRef = React.useRef(null);
|
|
58
66
|
const handleRef = (0, _useForkRef.default)(nodeRef, (0, _getReactElementRef.default)(children), ref);
|
|
59
|
-
const
|
|
60
|
-
|
|
61
|
-
const node = nodeRef.current;
|
|
62
|
-
|
|
63
|
-
// onEnterXxx and onExitXxx callbacks have a different arguments.length value.
|
|
64
|
-
if (maybeIsAppearing === undefined) {
|
|
65
|
-
callback(node);
|
|
66
|
-
} else {
|
|
67
|
-
callback(node, maybeIsAppearing);
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
};
|
|
71
|
-
const handleEntering = normalizedTransitionCallback(onEntering);
|
|
72
|
-
const handleEnter = normalizedTransitionCallback((node, isAppearing) => {
|
|
67
|
+
const handleEntering = (0, _utils.normalizedTransitionCallback)(nodeRef, onEntering);
|
|
68
|
+
const handleEnter = (0, _utils.normalizedTransitionCallback)(nodeRef, (node, isAppearing) => {
|
|
73
69
|
(0, _utils.reflow)(node); // So the animation always start from the start.
|
|
74
70
|
|
|
75
71
|
const transitionProps = (0, _utils.getTransitionProps)({
|
|
@@ -79,15 +75,14 @@ const Zoom = /*#__PURE__*/React.forwardRef(function Zoom(props, ref) {
|
|
|
79
75
|
}, {
|
|
80
76
|
mode: 'enter'
|
|
81
77
|
});
|
|
82
|
-
node.style.webkitTransition = theme.transitions.create('transform', transitionProps);
|
|
83
78
|
node.style.transition = theme.transitions.create('transform', transitionProps);
|
|
84
79
|
if (onEnter) {
|
|
85
80
|
onEnter(node, isAppearing);
|
|
86
81
|
}
|
|
87
82
|
});
|
|
88
|
-
const handleEntered = normalizedTransitionCallback(onEntered);
|
|
89
|
-
const handleExiting = normalizedTransitionCallback(onExiting);
|
|
90
|
-
const handleExit = normalizedTransitionCallback(node => {
|
|
83
|
+
const handleEntered = (0, _utils.normalizedTransitionCallback)(nodeRef, onEntered);
|
|
84
|
+
const handleExiting = (0, _utils.normalizedTransitionCallback)(nodeRef, onExiting);
|
|
85
|
+
const handleExit = (0, _utils.normalizedTransitionCallback)(nodeRef, node => {
|
|
91
86
|
const transitionProps = (0, _utils.getTransitionProps)({
|
|
92
87
|
style,
|
|
93
88
|
timeout,
|
|
@@ -95,20 +90,24 @@ const Zoom = /*#__PURE__*/React.forwardRef(function Zoom(props, ref) {
|
|
|
95
90
|
}, {
|
|
96
91
|
mode: 'exit'
|
|
97
92
|
});
|
|
98
|
-
node.style.webkitTransition = theme.transitions.create('transform', transitionProps);
|
|
99
93
|
node.style.transition = theme.transitions.create('transform', transitionProps);
|
|
100
94
|
if (onExit) {
|
|
101
95
|
onExit(node);
|
|
102
96
|
}
|
|
103
97
|
});
|
|
104
|
-
const handleExited = normalizedTransitionCallback(
|
|
98
|
+
const handleExited = (0, _utils.normalizedTransitionCallback)(nodeRef, node => {
|
|
99
|
+
node.style.transition = '';
|
|
100
|
+
if (onExited) {
|
|
101
|
+
onExited(node);
|
|
102
|
+
}
|
|
103
|
+
});
|
|
105
104
|
const handleAddEndListener = next => {
|
|
106
105
|
if (addEndListener) {
|
|
107
106
|
// Old call signature before `react-transition-group` implemented `nodeRef`
|
|
108
107
|
addEndListener(nodeRef.current, next);
|
|
109
108
|
}
|
|
110
109
|
};
|
|
111
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
110
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactTransitionGroup.Transition, {
|
|
112
111
|
appear: appear,
|
|
113
112
|
in: inProp,
|
|
114
113
|
nodeRef: nodeRef,
|
|
@@ -125,14 +124,9 @@ const Zoom = /*#__PURE__*/React.forwardRef(function Zoom(props, ref) {
|
|
|
125
124
|
ownerState,
|
|
126
125
|
...restChildProps
|
|
127
126
|
}) => {
|
|
127
|
+
const childStyle = (0, _utils.getTransitionChildStyle)(state, inProp, styles, hiddenStyles, style, children.props.style);
|
|
128
128
|
return /*#__PURE__*/React.cloneElement(children, {
|
|
129
|
-
style:
|
|
130
|
-
transform: 'scale(0)',
|
|
131
|
-
visibility: state === 'exited' && !inProp ? 'hidden' : undefined,
|
|
132
|
-
...styles[state],
|
|
133
|
-
...style,
|
|
134
|
-
...children.props.style
|
|
135
|
-
},
|
|
129
|
+
style: childStyle,
|
|
136
130
|
ref: handleRef,
|
|
137
131
|
...restChildProps
|
|
138
132
|
});
|
package/Zoom/Zoom.mjs
CHANGED
|
@@ -6,7 +6,7 @@ import { Transition } from 'react-transition-group';
|
|
|
6
6
|
import elementAcceptingRef from '@mui/utils/elementAcceptingRef';
|
|
7
7
|
import getReactElementRef from '@mui/utils/getReactElementRef';
|
|
8
8
|
import { useTheme } from "../zero-styled/index.mjs";
|
|
9
|
-
import { reflow, getTransitionProps } from "../transitions/utils.mjs";
|
|
9
|
+
import { normalizedTransitionCallback, reflow, getTransitionProps, getTransitionChildStyle } from "../transitions/utils.mjs";
|
|
10
10
|
import useForkRef from "../utils/useForkRef.mjs";
|
|
11
11
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
12
12
|
const styles = {
|
|
@@ -15,8 +15,18 @@ const styles = {
|
|
|
15
15
|
},
|
|
16
16
|
entered: {
|
|
17
17
|
transform: 'none'
|
|
18
|
+
},
|
|
19
|
+
exiting: {
|
|
20
|
+
transform: 'scale(0)'
|
|
21
|
+
},
|
|
22
|
+
exited: {
|
|
23
|
+
transform: 'scale(0)'
|
|
18
24
|
}
|
|
19
25
|
};
|
|
26
|
+
const hiddenStyles = {
|
|
27
|
+
transform: 'scale(0)',
|
|
28
|
+
visibility: 'hidden'
|
|
29
|
+
};
|
|
20
30
|
|
|
21
31
|
/**
|
|
22
32
|
* The Zoom transition can be used for the floating variant of the
|
|
@@ -43,26 +53,12 @@ const Zoom = /*#__PURE__*/React.forwardRef(function Zoom(props, ref) {
|
|
|
43
53
|
onExiting,
|
|
44
54
|
style,
|
|
45
55
|
timeout = defaultTimeout,
|
|
46
|
-
// eslint-disable-next-line react/prop-types
|
|
47
|
-
TransitionComponent = Transition,
|
|
48
56
|
...other
|
|
49
57
|
} = props;
|
|
50
58
|
const nodeRef = React.useRef(null);
|
|
51
59
|
const handleRef = useForkRef(nodeRef, getReactElementRef(children), ref);
|
|
52
|
-
const
|
|
53
|
-
|
|
54
|
-
const node = nodeRef.current;
|
|
55
|
-
|
|
56
|
-
// onEnterXxx and onExitXxx callbacks have a different arguments.length value.
|
|
57
|
-
if (maybeIsAppearing === undefined) {
|
|
58
|
-
callback(node);
|
|
59
|
-
} else {
|
|
60
|
-
callback(node, maybeIsAppearing);
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
};
|
|
64
|
-
const handleEntering = normalizedTransitionCallback(onEntering);
|
|
65
|
-
const handleEnter = normalizedTransitionCallback((node, isAppearing) => {
|
|
60
|
+
const handleEntering = normalizedTransitionCallback(nodeRef, onEntering);
|
|
61
|
+
const handleEnter = normalizedTransitionCallback(nodeRef, (node, isAppearing) => {
|
|
66
62
|
reflow(node); // So the animation always start from the start.
|
|
67
63
|
|
|
68
64
|
const transitionProps = getTransitionProps({
|
|
@@ -72,15 +68,14 @@ const Zoom = /*#__PURE__*/React.forwardRef(function Zoom(props, ref) {
|
|
|
72
68
|
}, {
|
|
73
69
|
mode: 'enter'
|
|
74
70
|
});
|
|
75
|
-
node.style.webkitTransition = theme.transitions.create('transform', transitionProps);
|
|
76
71
|
node.style.transition = theme.transitions.create('transform', transitionProps);
|
|
77
72
|
if (onEnter) {
|
|
78
73
|
onEnter(node, isAppearing);
|
|
79
74
|
}
|
|
80
75
|
});
|
|
81
|
-
const handleEntered = normalizedTransitionCallback(onEntered);
|
|
82
|
-
const handleExiting = normalizedTransitionCallback(onExiting);
|
|
83
|
-
const handleExit = normalizedTransitionCallback(node => {
|
|
76
|
+
const handleEntered = normalizedTransitionCallback(nodeRef, onEntered);
|
|
77
|
+
const handleExiting = normalizedTransitionCallback(nodeRef, onExiting);
|
|
78
|
+
const handleExit = normalizedTransitionCallback(nodeRef, node => {
|
|
84
79
|
const transitionProps = getTransitionProps({
|
|
85
80
|
style,
|
|
86
81
|
timeout,
|
|
@@ -88,20 +83,24 @@ const Zoom = /*#__PURE__*/React.forwardRef(function Zoom(props, ref) {
|
|
|
88
83
|
}, {
|
|
89
84
|
mode: 'exit'
|
|
90
85
|
});
|
|
91
|
-
node.style.webkitTransition = theme.transitions.create('transform', transitionProps);
|
|
92
86
|
node.style.transition = theme.transitions.create('transform', transitionProps);
|
|
93
87
|
if (onExit) {
|
|
94
88
|
onExit(node);
|
|
95
89
|
}
|
|
96
90
|
});
|
|
97
|
-
const handleExited = normalizedTransitionCallback(
|
|
91
|
+
const handleExited = normalizedTransitionCallback(nodeRef, node => {
|
|
92
|
+
node.style.transition = '';
|
|
93
|
+
if (onExited) {
|
|
94
|
+
onExited(node);
|
|
95
|
+
}
|
|
96
|
+
});
|
|
98
97
|
const handleAddEndListener = next => {
|
|
99
98
|
if (addEndListener) {
|
|
100
99
|
// Old call signature before `react-transition-group` implemented `nodeRef`
|
|
101
100
|
addEndListener(nodeRef.current, next);
|
|
102
101
|
}
|
|
103
102
|
};
|
|
104
|
-
return /*#__PURE__*/_jsx(
|
|
103
|
+
return /*#__PURE__*/_jsx(Transition, {
|
|
105
104
|
appear: appear,
|
|
106
105
|
in: inProp,
|
|
107
106
|
nodeRef: nodeRef,
|
|
@@ -118,14 +117,9 @@ const Zoom = /*#__PURE__*/React.forwardRef(function Zoom(props, ref) {
|
|
|
118
117
|
ownerState,
|
|
119
118
|
...restChildProps
|
|
120
119
|
}) => {
|
|
120
|
+
const childStyle = getTransitionChildStyle(state, inProp, styles, hiddenStyles, style, children.props.style);
|
|
121
121
|
return /*#__PURE__*/React.cloneElement(children, {
|
|
122
|
-
style:
|
|
123
|
-
transform: 'scale(0)',
|
|
124
|
-
visibility: state === 'exited' && !inProp ? 'hidden' : undefined,
|
|
125
|
-
...styles[state],
|
|
126
|
-
...style,
|
|
127
|
-
...children.props.style
|
|
128
|
-
},
|
|
122
|
+
style: childStyle,
|
|
129
123
|
ref: handleRef,
|
|
130
124
|
...restChildProps
|
|
131
125
|
});
|