@mui/material 6.0.0-alpha.7 → 6.0.0-alpha.9
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.js +33 -33
- package/AccordionActions/AccordionActions.d.ts +1 -1
- package/AccordionActions/AccordionActions.js +11 -12
- package/AccordionDetails/AccordionDetails.d.ts +1 -1
- package/AccordionDetails/AccordionDetails.js +7 -9
- package/AccordionSummary/AccordionSummary.js +14 -16
- package/Alert/Alert.d.ts +1 -1
- package/Alert/Alert.js +56 -51
- package/AlertTitle/AlertTitle.d.ts +3 -3
- package/AlertTitle/AlertTitle.js +7 -9
- package/AppBar/AppBar.js +34 -32
- package/Autocomplete/Autocomplete.d.ts +1 -1
- package/Autocomplete/Autocomplete.js +164 -136
- package/Avatar/Avatar.js +44 -36
- package/AvatarGroup/AvatarGroup.d.ts +51 -18
- package/AvatarGroup/AvatarGroup.js +60 -41
- package/Backdrop/Backdrop.js +33 -30
- package/Badge/Badge.js +31 -30
- package/BottomNavigation/BottomNavigation.js +15 -17
- package/BottomNavigationAction/BottomNavigationAction.js +15 -18
- package/Breadcrumbs/BreadcrumbCollapsed.js +35 -34
- package/Breadcrumbs/Breadcrumbs.js +19 -21
- package/Button/Button.d.ts +1 -1
- package/Button/Button.js +32 -29
- package/ButtonBase/ButtonBase.d.ts +1 -1
- package/ButtonBase/ButtonBase.js +43 -42
- package/ButtonBase/TouchRipple.js +9 -12
- package/ButtonGroup/ButtonGroup.js +23 -25
- package/CHANGELOG.md +113 -2
- package/Card/Card.js +11 -12
- package/CardActionArea/CardActionArea.js +9 -12
- package/CardActions/CardActions.d.ts +1 -1
- package/CardActions/CardActions.js +11 -12
- package/CardContent/CardContent.js +11 -12
- package/CardHeader/CardHeader.d.ts +1 -1
- package/CardHeader/CardHeader.js +30 -31
- package/CardMedia/CardMedia.js +19 -20
- package/Checkbox/Checkbox.d.ts +1 -1
- package/Checkbox/Checkbox.js +29 -26
- package/Chip/Chip.d.ts +3 -3
- package/Chip/Chip.js +38 -37
- package/CircularProgress/CircularProgress.d.ts +1 -1
- package/CircularProgress/CircularProgress.js +24 -23
- package/Collapse/Collapse.d.ts +1 -1
- package/Collapse/Collapse.js +44 -42
- package/CssBaseline/CssBaseline.d.ts +1 -1
- package/CssBaseline/CssBaseline.js +17 -14
- package/Dialog/Dialog.d.ts +1 -1
- package/Dialog/Dialog.js +41 -42
- package/DialogActions/DialogActions.d.ts +1 -1
- package/DialogActions/DialogActions.js +11 -12
- package/DialogContent/DialogContent.d.ts +1 -1
- package/DialogContent/DialogContent.js +11 -12
- package/DialogContentText/DialogContentText.js +13 -11
- package/DialogTitle/DialogTitle.js +8 -10
- package/Divider/Divider.js +19 -21
- package/Drawer/Drawer.d.ts +1 -1
- package/Drawer/Drawer.js +50 -49
- package/Fab/Fab.js +26 -23
- package/Fade/Fade.d.ts +1 -1
- package/Fade/Fade.js +31 -30
- package/FilledInput/FilledInput.d.ts +1 -1
- package/FilledInput/FilledInput.js +48 -44
- package/FilledInput/filledInputClasses.js +4 -2
- package/FormControl/FormControl.js +27 -25
- package/FormControlLabel/FormControlLabel.d.ts +1 -1
- package/FormControlLabel/FormControlLabel.js +32 -26
- package/FormGroup/FormGroup.d.ts +1 -1
- package/FormGroup/FormGroup.js +11 -12
- package/FormHelperText/FormHelperText.js +26 -18
- package/FormLabel/FormLabel.js +27 -19
- package/GlobalStyles/GlobalStyles.d.ts +1 -1
- package/GlobalStyles/GlobalStyles.js +3 -3
- package/Grid/Grid.d.ts +1 -0
- package/Grid/Grid.js +50 -41
- package/Grow/Grow.d.ts +1 -1
- package/Grow/Grow.js +31 -30
- package/Hidden/Hidden.d.ts +2 -0
- package/Hidden/Hidden.js +23 -22
- package/Hidden/HiddenCss.js +29 -29
- package/Hidden/withWidth.js +19 -19
- package/Icon/Icon.js +15 -16
- package/IconButton/IconButton.js +18 -20
- package/ImageList/ImageList.js +24 -24
- package/ImageListItem/ImageListItem.js +19 -20
- package/ImageListItemBar/ImageListItemBar.d.ts +1 -1
- package/ImageListItemBar/ImageListItemBar.js +15 -17
- package/Input/Input.d.ts +1 -1
- package/Input/Input.js +21 -20
- package/Input/inputClasses.js +4 -2
- package/InputAdornment/InputAdornment.js +16 -18
- package/InputBase/InputBase.d.ts +1 -1
- package/InputBase/InputBase.js +90 -73
- package/InputLabel/InputLabel.js +20 -16
- package/LinearProgress/LinearProgress.d.ts +1 -1
- package/LinearProgress/LinearProgress.js +21 -23
- package/Link/Link.js +27 -26
- package/List/List.js +15 -17
- package/ListItem/ListItem.d.ts +4 -12
- package/ListItem/ListItem.js +64 -63
- package/ListItemAvatar/ListItemAvatar.d.ts +1 -1
- package/ListItemAvatar/ListItemAvatar.js +10 -11
- package/ListItemButton/ListItemButton.js +23 -22
- package/ListItemIcon/ListItemIcon.d.ts +1 -1
- package/ListItemIcon/ListItemIcon.js +10 -11
- package/ListItemSecondaryAction/ListItemSecondaryAction.d.ts +5 -1
- package/ListItemSecondaryAction/ListItemSecondaryAction.js +12 -11
- package/ListItemText/ListItemText.d.ts +3 -1
- package/ListItemText/ListItemText.js +25 -27
- package/ListSubheader/ListSubheader.js +15 -16
- package/Menu/Menu.d.ts +1 -1
- package/Menu/Menu.js +34 -36
- package/MenuItem/MenuItem.js +28 -26
- package/MenuList/MenuList.js +17 -20
- package/MobileStepper/MobileStepper.d.ts +1 -1
- package/MobileStepper/MobileStepper.js +21 -22
- package/Modal/Modal.d.ts +1 -1
- package/Modal/Modal.js +47 -38
- package/NativeSelect/NativeSelect.d.ts +1 -1
- package/NativeSelect/NativeSelect.js +26 -22
- package/NativeSelect/NativeSelectInput.js +15 -16
- package/OutlinedInput/NotchedOutline.js +14 -14
- package/OutlinedInput/OutlinedInput.d.ts +3 -1
- package/OutlinedInput/OutlinedInput.js +46 -42
- package/OutlinedInput/outlinedInputClasses.js +4 -2
- package/OverridableComponent.d.ts +2 -2
- package/Pagination/Pagination.d.ts +1 -1
- package/Pagination/Pagination.js +36 -32
- package/PaginationItem/PaginationItem.js +31 -30
- package/Paper/Paper.js +26 -23
- package/Popover/Popover.d.ts +1 -1
- package/Popover/Popover.js +71 -71
- package/Popper/Popper.d.ts +4 -0
- package/Popper/Popper.js +29 -27
- package/Radio/Radio.d.ts +1 -1
- package/Radio/Radio.js +24 -22
- package/Radio/RadioButtonIcon.js +3 -3
- package/RadioGroup/RadioGroup.d.ts +1 -1
- package/RadioGroup/RadioGroup.js +15 -18
- package/Rating/Rating.d.ts +1 -1
- package/Rating/Rating.js +54 -47
- package/ScopedCssBaseline/ScopedCssBaseline.js +18 -15
- package/Select/Select.d.ts +1 -1
- package/Select/Select.js +63 -57
- package/Select/SelectInput.js +64 -59
- package/Skeleton/Skeleton.js +20 -21
- package/Slide/Slide.d.ts +1 -1
- package/Slide/Slide.js +37 -33
- package/Slider/Slider.d.ts +1 -1
- package/Slider/Slider.js +155 -106
- package/Slider/SliderValueLabel.types.d.ts +1 -1
- package/Snackbar/Snackbar.d.ts +1 -1
- package/Snackbar/Snackbar.js +52 -45
- package/SnackbarContent/SnackbarContent.d.ts +1 -1
- package/SnackbarContent/SnackbarContent.js +13 -15
- package/SpeedDial/SpeedDial.d.ts +1 -1
- package/SpeedDial/SpeedDial.js +59 -60
- package/SpeedDialAction/SpeedDialAction.d.ts +1 -1
- package/SpeedDialAction/SpeedDialAction.js +34 -33
- package/SpeedDialIcon/SpeedDialIcon.d.ts +3 -1
- package/SpeedDialIcon/SpeedDialIcon.js +10 -12
- package/Step/Step.js +18 -20
- package/StepButton/StepButton.js +16 -17
- package/StepConnector/StepConnector.d.ts +2 -2
- package/StepConnector/StepConnector.js +10 -12
- package/StepContent/StepContent.d.ts +1 -1
- package/StepContent/StepContent.js +18 -20
- package/StepIcon/StepIcon.d.ts +1 -1
- package/StepIcon/StepIcon.js +22 -22
- package/StepLabel/StepLabel.d.ts +1 -1
- package/StepLabel/StepLabel.js +33 -30
- package/Stepper/Stepper.js +21 -22
- package/SvgIcon/SvgIcon.js +21 -21
- package/SwipeableDrawer/SwipeArea.js +15 -16
- package/SwipeableDrawer/SwipeableDrawer.js +49 -43
- package/Switch/Switch.d.ts +1 -1
- package/Switch/Switch.js +23 -20
- package/Tab/Tab.d.ts +1 -1
- package/Tab/Tab.js +32 -33
- package/TabScrollButton/TabScrollButton.d.ts +1 -1
- package/TabScrollButton/TabScrollButton.js +27 -21
- package/Table/Table.js +17 -17
- package/TableBody/TableBody.js +11 -12
- package/TableCell/TableCell.d.ts +1 -1
- package/TableCell/TableCell.js +19 -19
- package/TableContainer/TableContainer.js +11 -12
- package/TableFooter/TableFooter.js +11 -12
- package/TableHead/TableHead.js +11 -12
- package/TablePagination/TablePagination.js +56 -52
- package/TablePagination/TablePaginationActions.js +51 -38
- package/TableRow/TableRow.js +13 -14
- package/TableSortLabel/TableSortLabel.js +15 -17
- package/Tabs/ScrollbarSize.js +7 -9
- package/Tabs/Tabs.js +52 -49
- package/TextField/TextField.d.ts +59 -4
- package/TextField/TextField.js +137 -67
- package/ToggleButton/ToggleButton.js +30 -32
- package/ToggleButtonGroup/ToggleButtonGroup.d.ts +1 -1
- package/ToggleButtonGroup/ToggleButtonGroup.js +19 -21
- package/Toolbar/Toolbar.js +13 -14
- package/Tooltip/Tooltip.d.ts +3 -5
- package/Tooltip/Tooltip.js +77 -64
- package/Typography/Typography.js +37 -35
- package/Zoom/Zoom.d.ts +1 -1
- package/Zoom/Zoom.js +31 -30
- package/index.js +1 -1
- package/internal/SwitchBase.js +37 -37
- package/locale/index.d.ts +1 -0
- package/locale/index.js +74 -1
- package/modern/Accordion/Accordion.js +33 -33
- package/modern/AccordionActions/AccordionActions.js +11 -12
- package/modern/AccordionDetails/AccordionDetails.js +7 -9
- package/modern/AccordionSummary/AccordionSummary.js +14 -16
- package/modern/Alert/Alert.js +56 -51
- package/modern/AlertTitle/AlertTitle.js +7 -9
- package/modern/AppBar/AppBar.js +34 -32
- package/modern/Autocomplete/Autocomplete.js +164 -136
- package/modern/Avatar/Avatar.js +44 -36
- package/modern/AvatarGroup/AvatarGroup.js +60 -41
- package/modern/Backdrop/Backdrop.js +33 -30
- package/modern/Badge/Badge.js +31 -30
- package/modern/BottomNavigation/BottomNavigation.js +15 -17
- package/modern/BottomNavigationAction/BottomNavigationAction.js +15 -18
- package/modern/Breadcrumbs/BreadcrumbCollapsed.js +35 -34
- package/modern/Breadcrumbs/Breadcrumbs.js +19 -21
- package/modern/Button/Button.js +32 -29
- package/modern/ButtonBase/ButtonBase.js +43 -42
- package/modern/ButtonBase/TouchRipple.js +9 -12
- package/modern/ButtonGroup/ButtonGroup.js +23 -25
- package/modern/Card/Card.js +11 -12
- package/modern/CardActionArea/CardActionArea.js +9 -12
- package/modern/CardActions/CardActions.js +11 -12
- package/modern/CardContent/CardContent.js +11 -12
- package/modern/CardHeader/CardHeader.js +30 -31
- package/modern/CardMedia/CardMedia.js +19 -20
- package/modern/Checkbox/Checkbox.js +29 -26
- package/modern/Chip/Chip.js +38 -37
- package/modern/CircularProgress/CircularProgress.js +24 -23
- package/modern/Collapse/Collapse.js +44 -42
- package/modern/CssBaseline/CssBaseline.js +17 -14
- package/modern/Dialog/Dialog.js +41 -42
- package/modern/DialogActions/DialogActions.js +11 -12
- package/modern/DialogContent/DialogContent.js +11 -12
- package/modern/DialogContentText/DialogContentText.js +13 -11
- package/modern/DialogTitle/DialogTitle.js +8 -10
- package/modern/Divider/Divider.js +19 -21
- package/modern/Drawer/Drawer.js +50 -49
- package/modern/Fab/Fab.js +26 -23
- package/modern/Fade/Fade.js +31 -30
- package/modern/FilledInput/FilledInput.js +48 -44
- package/modern/FilledInput/filledInputClasses.js +4 -2
- package/modern/FormControl/FormControl.js +27 -25
- package/modern/FormControlLabel/FormControlLabel.js +32 -26
- package/modern/FormGroup/FormGroup.js +11 -12
- package/modern/FormHelperText/FormHelperText.js +26 -18
- package/modern/FormLabel/FormLabel.js +27 -19
- package/modern/GlobalStyles/GlobalStyles.js +3 -3
- package/modern/Grid/Grid.js +50 -41
- package/modern/Grow/Grow.js +31 -30
- package/modern/Hidden/Hidden.js +23 -22
- package/modern/Hidden/HiddenCss.js +29 -29
- package/modern/Hidden/withWidth.js +19 -19
- package/modern/Icon/Icon.js +15 -16
- package/modern/IconButton/IconButton.js +18 -20
- package/modern/ImageList/ImageList.js +24 -24
- package/modern/ImageListItem/ImageListItem.js +19 -20
- package/modern/ImageListItemBar/ImageListItemBar.js +15 -17
- package/modern/Input/Input.js +21 -20
- package/modern/Input/inputClasses.js +4 -2
- package/modern/InputAdornment/InputAdornment.js +16 -18
- package/modern/InputBase/InputBase.js +90 -73
- package/modern/InputLabel/InputLabel.js +20 -16
- package/modern/LinearProgress/LinearProgress.js +21 -23
- package/modern/Link/Link.js +27 -26
- package/modern/List/List.js +15 -17
- package/modern/ListItem/ListItem.js +64 -63
- package/modern/ListItemAvatar/ListItemAvatar.js +10 -11
- package/modern/ListItemButton/ListItemButton.js +23 -22
- package/modern/ListItemIcon/ListItemIcon.js +10 -11
- package/modern/ListItemSecondaryAction/ListItemSecondaryAction.js +12 -11
- package/modern/ListItemText/ListItemText.js +25 -27
- package/modern/ListSubheader/ListSubheader.js +15 -16
- package/modern/Menu/Menu.js +34 -36
- package/modern/MenuItem/MenuItem.js +28 -26
- package/modern/MenuList/MenuList.js +17 -20
- package/modern/MobileStepper/MobileStepper.js +21 -22
- package/modern/Modal/Modal.js +47 -38
- package/modern/NativeSelect/NativeSelect.js +26 -22
- package/modern/NativeSelect/NativeSelectInput.js +15 -16
- package/modern/OutlinedInput/NotchedOutline.js +14 -14
- package/modern/OutlinedInput/OutlinedInput.js +46 -42
- package/modern/OutlinedInput/outlinedInputClasses.js +4 -2
- package/modern/Pagination/Pagination.js +36 -32
- package/modern/PaginationItem/PaginationItem.js +31 -30
- package/modern/Paper/Paper.js +26 -23
- package/modern/Popover/Popover.js +71 -71
- package/modern/Popper/Popper.js +29 -27
- package/modern/Radio/Radio.js +24 -22
- package/modern/Radio/RadioButtonIcon.js +3 -3
- package/modern/RadioGroup/RadioGroup.js +15 -18
- package/modern/Rating/Rating.js +54 -47
- package/modern/ScopedCssBaseline/ScopedCssBaseline.js +18 -15
- package/modern/Select/Select.js +63 -57
- package/modern/Select/SelectInput.js +64 -59
- package/modern/Skeleton/Skeleton.js +20 -21
- package/modern/Slide/Slide.js +37 -33
- package/modern/Slider/Slider.js +155 -106
- package/modern/Snackbar/Snackbar.js +52 -45
- package/modern/SnackbarContent/SnackbarContent.js +13 -15
- package/modern/SpeedDial/SpeedDial.js +59 -60
- package/modern/SpeedDialAction/SpeedDialAction.js +34 -33
- package/modern/SpeedDialIcon/SpeedDialIcon.js +10 -12
- package/modern/Step/Step.js +18 -20
- package/modern/StepButton/StepButton.js +16 -17
- package/modern/StepConnector/StepConnector.js +10 -12
- package/modern/StepContent/StepContent.js +18 -20
- package/modern/StepIcon/StepIcon.js +22 -22
- package/modern/StepLabel/StepLabel.js +33 -30
- package/modern/Stepper/Stepper.js +21 -22
- package/modern/SvgIcon/SvgIcon.js +21 -21
- package/modern/SwipeableDrawer/SwipeArea.js +15 -16
- package/modern/SwipeableDrawer/SwipeableDrawer.js +49 -43
- package/modern/Switch/Switch.js +23 -20
- package/modern/Tab/Tab.js +32 -33
- package/modern/TabScrollButton/TabScrollButton.js +27 -21
- package/modern/Table/Table.js +17 -17
- package/modern/TableBody/TableBody.js +11 -12
- package/modern/TableCell/TableCell.js +19 -19
- package/modern/TableContainer/TableContainer.js +11 -12
- package/modern/TableFooter/TableFooter.js +11 -12
- package/modern/TableHead/TableHead.js +11 -12
- package/modern/TablePagination/TablePagination.js +56 -52
- package/modern/TablePagination/TablePaginationActions.js +51 -38
- package/modern/TableRow/TableRow.js +13 -14
- package/modern/TableSortLabel/TableSortLabel.js +15 -17
- package/modern/Tabs/ScrollbarSize.js +7 -9
- package/modern/Tabs/Tabs.js +52 -49
- package/modern/TextField/TextField.js +137 -67
- package/modern/ToggleButton/ToggleButton.js +30 -32
- package/modern/ToggleButtonGroup/ToggleButtonGroup.js +19 -21
- package/modern/Toolbar/Toolbar.js +13 -14
- package/modern/Tooltip/Tooltip.js +77 -64
- package/modern/Typography/Typography.js +37 -35
- package/modern/Zoom/Zoom.js +31 -30
- package/modern/index.js +1 -1
- package/modern/internal/SwitchBase.js +37 -37
- package/modern/locale/index.js +74 -1
- package/modern/styles/CssVarsProvider.js +20 -9
- package/modern/styles/ThemeProvider.js +7 -10
- package/modern/styles/adaptV4Theme.js +31 -31
- package/modern/styles/createMixins.js +4 -4
- package/modern/styles/createPalette.js +16 -13
- package/modern/styles/createTheme.js +16 -11
- package/modern/styles/createTransitions.js +17 -14
- package/modern/styles/createTypography.js +31 -29
- package/modern/styles/experimental_extendTheme.js +8 -344
- package/modern/styles/extendTheme.js +355 -0
- package/modern/styles/index.js +2 -1
- package/modern/styles/responsiveFontSizes.js +20 -11
- package/modern/usePagination/usePagination.js +18 -20
- package/modern/useScrollTrigger/useScrollTrigger.js +8 -10
- package/modern/utils/createSvgIcon.js +4 -5
- package/modern/utils/useSlot.js +41 -40
- package/node/Accordion/Accordion.js +33 -33
- package/node/AccordionActions/AccordionActions.js +11 -12
- package/node/AccordionDetails/AccordionDetails.js +7 -9
- package/node/AccordionSummary/AccordionSummary.js +14 -16
- package/node/Alert/Alert.js +56 -51
- package/node/AlertTitle/AlertTitle.js +7 -9
- package/node/AppBar/AppBar.js +125 -129
- package/node/Autocomplete/Autocomplete.js +165 -137
- package/node/Avatar/Avatar.js +44 -36
- package/node/AvatarGroup/AvatarGroup.js +60 -41
- package/node/Backdrop/Backdrop.js +33 -30
- package/node/Badge/Badge.js +179 -184
- package/node/BottomNavigation/BottomNavigation.js +15 -17
- package/node/BottomNavigationAction/BottomNavigationAction.js +15 -18
- package/node/Breadcrumbs/BreadcrumbCollapsed.js +35 -34
- package/node/Breadcrumbs/Breadcrumbs.js +19 -21
- package/node/Button/Button.js +32 -29
- package/node/ButtonBase/ButtonBase.js +43 -42
- package/node/ButtonBase/TouchRipple.js +9 -12
- package/node/ButtonGroup/ButtonGroup.js +23 -25
- package/node/Card/Card.js +11 -12
- package/node/CardActionArea/CardActionArea.js +9 -12
- package/node/CardActions/CardActions.js +11 -12
- package/node/CardContent/CardContent.js +11 -12
- package/node/CardHeader/CardHeader.js +30 -31
- package/node/CardMedia/CardMedia.js +19 -20
- package/node/Checkbox/Checkbox.js +29 -26
- package/node/Chip/Chip.js +38 -37
- package/node/CircularProgress/CircularProgress.js +24 -23
- package/node/Collapse/Collapse.js +44 -42
- package/node/CssBaseline/CssBaseline.js +17 -14
- package/node/Dialog/Dialog.js +41 -42
- package/node/DialogActions/DialogActions.js +11 -12
- package/node/DialogContent/DialogContent.js +11 -12
- package/node/DialogContentText/DialogContentText.js +13 -11
- package/node/DialogTitle/DialogTitle.js +8 -10
- package/node/Divider/Divider.js +19 -21
- package/node/Drawer/Drawer.js +50 -49
- package/node/Fab/Fab.js +27 -24
- package/node/Fade/Fade.js +31 -30
- package/node/FilledInput/FilledInput.js +48 -44
- package/node/FilledInput/filledInputClasses.js +4 -2
- package/node/FormControl/FormControl.js +27 -25
- package/node/FormControlLabel/FormControlLabel.js +32 -26
- package/node/FormGroup/FormGroup.js +11 -12
- package/node/FormHelperText/FormHelperText.js +26 -18
- package/node/FormLabel/FormLabel.js +27 -19
- package/node/GlobalStyles/GlobalStyles.js +3 -3
- package/node/Grid/Grid.js +50 -41
- package/node/Grow/Grow.js +31 -30
- package/node/Hidden/Hidden.js +26 -26
- package/node/Hidden/HiddenCss.js +29 -29
- package/node/Hidden/withWidth.js +19 -19
- package/node/Icon/Icon.js +15 -16
- package/node/IconButton/IconButton.js +18 -20
- package/node/ImageList/ImageList.js +24 -24
- package/node/ImageListItem/ImageListItem.js +19 -20
- package/node/ImageListItemBar/ImageListItemBar.js +15 -17
- package/node/Input/Input.js +21 -20
- package/node/Input/inputClasses.js +4 -2
- package/node/InputAdornment/InputAdornment.js +16 -18
- package/node/InputBase/InputBase.js +90 -73
- package/node/InputLabel/InputLabel.js +20 -16
- package/node/LinearProgress/LinearProgress.js +21 -23
- package/node/Link/Link.js +27 -26
- package/node/List/List.js +15 -17
- package/node/ListItem/ListItem.js +64 -63
- package/node/ListItemAvatar/ListItemAvatar.js +10 -11
- package/node/ListItemButton/ListItemButton.js +23 -22
- package/node/ListItemIcon/ListItemIcon.js +10 -11
- package/node/ListItemSecondaryAction/ListItemSecondaryAction.js +12 -11
- package/node/ListItemText/ListItemText.js +25 -27
- package/node/ListSubheader/ListSubheader.js +15 -16
- package/node/Menu/Menu.js +34 -36
- package/node/MenuItem/MenuItem.js +28 -26
- package/node/MenuList/MenuList.js +17 -20
- package/node/MobileStepper/MobileStepper.js +21 -22
- package/node/Modal/Modal.js +47 -38
- package/node/NativeSelect/NativeSelect.js +26 -22
- package/node/NativeSelect/NativeSelectInput.js +15 -16
- package/node/OutlinedInput/NotchedOutline.js +14 -14
- package/node/OutlinedInput/OutlinedInput.js +46 -42
- package/node/OutlinedInput/outlinedInputClasses.js +4 -2
- package/node/Pagination/Pagination.js +36 -32
- package/node/PaginationItem/PaginationItem.js +31 -30
- package/node/Paper/Paper.js +26 -23
- package/node/Popover/Popover.js +71 -71
- package/node/Popper/Popper.js +29 -27
- package/node/Radio/Radio.js +24 -22
- package/node/Radio/RadioButtonIcon.js +3 -3
- package/node/RadioGroup/RadioGroup.js +15 -18
- package/node/Rating/Rating.js +54 -47
- package/node/ScopedCssBaseline/ScopedCssBaseline.js +18 -15
- package/node/Select/Select.js +63 -57
- package/node/Select/SelectInput.js +64 -59
- package/node/Skeleton/Skeleton.js +20 -21
- package/node/Slide/Slide.js +39 -34
- package/node/Slider/Slider.js +299 -266
- package/node/Snackbar/Snackbar.js +52 -45
- package/node/SnackbarContent/SnackbarContent.js +13 -15
- package/node/SpeedDial/SpeedDial.js +59 -60
- package/node/SpeedDialAction/SpeedDialAction.js +34 -33
- package/node/SpeedDialIcon/SpeedDialIcon.js +10 -12
- package/node/Step/Step.js +18 -20
- package/node/StepButton/StepButton.js +16 -17
- package/node/StepConnector/StepConnector.js +10 -12
- package/node/StepContent/StepContent.js +18 -20
- package/node/StepIcon/StepIcon.js +22 -22
- package/node/StepLabel/StepLabel.js +33 -30
- package/node/Stepper/Stepper.js +21 -22
- package/node/SvgIcon/SvgIcon.js +21 -21
- package/node/SwipeableDrawer/SwipeArea.js +15 -16
- package/node/SwipeableDrawer/SwipeableDrawer.js +51 -44
- package/node/Switch/Switch.js +23 -20
- package/node/Tab/Tab.js +32 -33
- package/node/TabScrollButton/TabScrollButton.js +27 -21
- package/node/Table/Table.js +17 -17
- package/node/TableBody/TableBody.js +11 -12
- package/node/TableCell/TableCell.js +19 -19
- package/node/TableContainer/TableContainer.js +11 -12
- package/node/TableFooter/TableFooter.js +11 -12
- package/node/TableHead/TableHead.js +11 -12
- package/node/TablePagination/TablePagination.js +56 -52
- package/node/TablePagination/TablePaginationActions.js +54 -42
- package/node/TableRow/TableRow.js +13 -14
- package/node/TableSortLabel/TableSortLabel.js +15 -17
- package/node/Tabs/ScrollbarSize.js +7 -9
- package/node/Tabs/Tabs.js +52 -49
- package/node/TextField/TextField.js +137 -67
- package/node/ToggleButton/ToggleButton.js +30 -32
- package/node/ToggleButtonGroup/ToggleButtonGroup.js +19 -21
- package/node/Toolbar/Toolbar.js +13 -14
- package/node/Tooltip/Tooltip.js +77 -64
- package/node/Typography/Typography.js +37 -35
- package/node/Zoom/Zoom.js +31 -30
- package/node/index.js +1 -1
- package/node/internal/SwitchBase.js +37 -37
- package/node/locale/index.js +75 -2
- package/node/styles/CssVarsProvider.js +25 -10
- package/node/styles/ThemeProvider.js +7 -10
- package/node/styles/adaptV4Theme.js +31 -32
- package/node/styles/createMixins.js +4 -5
- package/node/styles/createPalette.js +16 -13
- package/node/styles/createTheme.js +16 -11
- package/node/styles/createTransitions.js +17 -15
- package/node/styles/createTypography.js +31 -29
- package/node/styles/experimental_extendTheme.js +9 -350
- package/node/styles/extendTheme.js +367 -0
- package/node/styles/index.js +10 -0
- package/node/styles/responsiveFontSizes.js +20 -11
- package/node/usePagination/usePagination.js +18 -20
- package/node/useScrollTrigger/useScrollTrigger.js +8 -11
- package/node/utils/createSvgIcon.js +4 -5
- package/node/utils/useSlot.js +41 -40
- package/package.json +6 -6
- package/styles/CssVarsProvider.d.ts +3 -2
- package/styles/CssVarsProvider.js +20 -9
- package/styles/ThemeProvider.js +7 -10
- package/styles/adaptV4Theme.js +31 -31
- package/styles/createMixins.js +4 -4
- package/styles/createPalette.js +16 -13
- package/styles/createTheme.js +16 -11
- package/styles/createTransitions.js +17 -14
- package/styles/createTypography.js +31 -29
- package/styles/experimental_extendTheme.js +8 -344
- package/styles/{experimental_extendTheme.d.ts → extendTheme.d.ts} +1 -2
- package/styles/extendTheme.js +355 -0
- package/styles/index.d.ts +2 -2
- package/styles/index.js +2 -1
- package/styles/responsiveFontSizes.js +20 -11
- package/themeCssVarsAugmentation/index.d.ts +1 -1
- package/types/OverridableComponentAugmentation.d.ts +2 -2
- package/usePagination/usePagination.d.ts +1 -1
- package/usePagination/usePagination.js +18 -20
- package/useScrollTrigger/useScrollTrigger.js +8 -10
- package/utils/createSvgIcon.js +4 -5
- package/utils/useSlot.js +41 -40
- package/umd/material-ui.development.js +0 -54226
- package/umd/material-ui.production.min.js +0 -25
package/Tabs/Tabs.js
CHANGED
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
|
-
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
4
|
-
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
5
|
-
const _excluded = ["aria-label", "aria-labelledby", "action", "centered", "children", "className", "component", "allowScrollButtonsMobile", "indicatorColor", "onChange", "orientation", "ScrollButtonComponent", "scrollButtons", "selectionFollowsFocus", "slots", "slotProps", "TabIndicatorProps", "TabScrollButtonProps", "textColor", "value", "variant", "visibleScrollbar"];
|
|
6
3
|
import * as React from 'react';
|
|
7
4
|
import { isFragment } from 'react-is';
|
|
8
5
|
import PropTypes from 'prop-types';
|
|
@@ -264,30 +261,30 @@ const Tabs = /*#__PURE__*/React.forwardRef(function Tabs(inProps, ref) {
|
|
|
264
261
|
const theme = useTheme();
|
|
265
262
|
const isRtl = useRtl();
|
|
266
263
|
const {
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
264
|
+
'aria-label': ariaLabel,
|
|
265
|
+
'aria-labelledby': ariaLabelledBy,
|
|
266
|
+
action,
|
|
267
|
+
centered = false,
|
|
268
|
+
children: childrenProp,
|
|
269
|
+
className,
|
|
270
|
+
component = 'div',
|
|
271
|
+
allowScrollButtonsMobile = false,
|
|
272
|
+
indicatorColor = 'primary',
|
|
273
|
+
onChange,
|
|
274
|
+
orientation = 'horizontal',
|
|
275
|
+
ScrollButtonComponent = TabScrollButton,
|
|
276
|
+
scrollButtons = 'auto',
|
|
277
|
+
selectionFollowsFocus,
|
|
278
|
+
slots = {},
|
|
279
|
+
slotProps = {},
|
|
280
|
+
TabIndicatorProps = {},
|
|
281
|
+
TabScrollButtonProps = {},
|
|
282
|
+
textColor = 'primary',
|
|
283
|
+
value,
|
|
284
|
+
variant = 'standard',
|
|
285
|
+
visibleScrollbar = false,
|
|
286
|
+
...other
|
|
287
|
+
} = props;
|
|
291
288
|
const scrollable = variant === 'scrollable';
|
|
292
289
|
const vertical = orientation === 'vertical';
|
|
293
290
|
const scrollStart = vertical ? 'scrollTop' : 'scrollLeft';
|
|
@@ -295,7 +292,8 @@ const Tabs = /*#__PURE__*/React.forwardRef(function Tabs(inProps, ref) {
|
|
|
295
292
|
const end = vertical ? 'bottom' : 'right';
|
|
296
293
|
const clientSize = vertical ? 'clientHeight' : 'clientWidth';
|
|
297
294
|
const size = vertical ? 'height' : 'width';
|
|
298
|
-
const ownerState =
|
|
295
|
+
const ownerState = {
|
|
296
|
+
...props,
|
|
299
297
|
component,
|
|
300
298
|
allowScrollButtonsMobile,
|
|
301
299
|
indicatorColor,
|
|
@@ -311,7 +309,7 @@ const Tabs = /*#__PURE__*/React.forwardRef(function Tabs(inProps, ref) {
|
|
|
311
309
|
scrollableY: scrollable && vertical,
|
|
312
310
|
centered: centered && !scrollable,
|
|
313
311
|
scrollButtonsHideMobile: !allowScrollButtonsMobile
|
|
314
|
-
}
|
|
312
|
+
};
|
|
315
313
|
const classes = useUtilityClasses(ownerState);
|
|
316
314
|
const startScrollButtonIconProps = useSlotProps({
|
|
317
315
|
elementType: slots.StartScrollButtonIcon,
|
|
@@ -485,7 +483,7 @@ const Tabs = /*#__PURE__*/React.forwardRef(function Tabs(inProps, ref) {
|
|
|
485
483
|
}) : null;
|
|
486
484
|
const scrollButtonsActive = displayStartScroll || displayEndScroll;
|
|
487
485
|
const showScrollButtons = scrollable && (scrollButtons === 'auto' && scrollButtonsActive || scrollButtons === true);
|
|
488
|
-
conditionalElements.scrollButtonStart = showScrollButtons ? /*#__PURE__*/_jsx(ScrollButtonComponent,
|
|
486
|
+
conditionalElements.scrollButtonStart = showScrollButtons ? /*#__PURE__*/_jsx(ScrollButtonComponent, {
|
|
489
487
|
slots: {
|
|
490
488
|
StartScrollButtonIcon: slots.StartScrollButtonIcon
|
|
491
489
|
},
|
|
@@ -495,11 +493,11 @@ const Tabs = /*#__PURE__*/React.forwardRef(function Tabs(inProps, ref) {
|
|
|
495
493
|
orientation: orientation,
|
|
496
494
|
direction: isRtl ? 'right' : 'left',
|
|
497
495
|
onClick: handleStartScrollClick,
|
|
498
|
-
disabled: !displayStartScroll
|
|
499
|
-
|
|
496
|
+
disabled: !displayStartScroll,
|
|
497
|
+
...TabScrollButtonProps,
|
|
500
498
|
className: clsx(classes.scrollButtons, TabScrollButtonProps.className)
|
|
501
|
-
})
|
|
502
|
-
conditionalElements.scrollButtonEnd = showScrollButtons ? /*#__PURE__*/_jsx(ScrollButtonComponent,
|
|
499
|
+
}) : null;
|
|
500
|
+
conditionalElements.scrollButtonEnd = showScrollButtons ? /*#__PURE__*/_jsx(ScrollButtonComponent, {
|
|
503
501
|
slots: {
|
|
504
502
|
EndScrollButtonIcon: slots.EndScrollButtonIcon
|
|
505
503
|
},
|
|
@@ -509,10 +507,10 @@ const Tabs = /*#__PURE__*/React.forwardRef(function Tabs(inProps, ref) {
|
|
|
509
507
|
orientation: orientation,
|
|
510
508
|
direction: isRtl ? 'left' : 'right',
|
|
511
509
|
onClick: handleEndScrollClick,
|
|
512
|
-
disabled: !displayEndScroll
|
|
513
|
-
|
|
510
|
+
disabled: !displayEndScroll,
|
|
511
|
+
...TabScrollButtonProps,
|
|
514
512
|
className: clsx(classes.scrollButtons, TabScrollButtonProps.className)
|
|
515
|
-
})
|
|
513
|
+
}) : null;
|
|
516
514
|
return conditionalElements;
|
|
517
515
|
};
|
|
518
516
|
const scrollSelectedIntoView = useEventCallback(animation => {
|
|
@@ -639,11 +637,15 @@ const Tabs = /*#__PURE__*/React.forwardRef(function Tabs(inProps, ref) {
|
|
|
639
637
|
updateIndicator: updateIndicatorState,
|
|
640
638
|
updateScrollButtons: updateScrollButtonState
|
|
641
639
|
}), [updateIndicatorState, updateScrollButtonState]);
|
|
642
|
-
const indicator = /*#__PURE__*/_jsx(TabsIndicator,
|
|
640
|
+
const indicator = /*#__PURE__*/_jsx(TabsIndicator, {
|
|
641
|
+
...TabIndicatorProps,
|
|
643
642
|
className: clsx(classes.indicator, TabIndicatorProps.className),
|
|
644
643
|
ownerState: ownerState,
|
|
645
|
-
style:
|
|
646
|
-
|
|
644
|
+
style: {
|
|
645
|
+
...indicatorStyle,
|
|
646
|
+
...TabIndicatorProps.style
|
|
647
|
+
}
|
|
648
|
+
});
|
|
647
649
|
let childIndex = 0;
|
|
648
650
|
const children = React.Children.map(childrenProp, child => {
|
|
649
651
|
if (! /*#__PURE__*/React.isValidElement(child)) {
|
|
@@ -658,17 +660,18 @@ const Tabs = /*#__PURE__*/React.forwardRef(function Tabs(inProps, ref) {
|
|
|
658
660
|
valueToIndex.set(childValue, childIndex);
|
|
659
661
|
const selected = childValue === value;
|
|
660
662
|
childIndex += 1;
|
|
661
|
-
return /*#__PURE__*/React.cloneElement(child,
|
|
663
|
+
return /*#__PURE__*/React.cloneElement(child, {
|
|
662
664
|
fullWidth: variant === 'fullWidth',
|
|
663
665
|
indicator: selected && !mounted && indicator,
|
|
664
666
|
selected,
|
|
665
667
|
selectionFollowsFocus,
|
|
666
668
|
onChange,
|
|
667
669
|
textColor,
|
|
668
|
-
value: childValue
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
670
|
+
value: childValue,
|
|
671
|
+
...(childIndex === 1 && value === false && !child.props.tabIndex ? {
|
|
672
|
+
tabIndex: 0
|
|
673
|
+
} : {})
|
|
674
|
+
});
|
|
672
675
|
});
|
|
673
676
|
const handleKeyDown = event => {
|
|
674
677
|
const list = tabListRef.current;
|
|
@@ -709,12 +712,12 @@ const Tabs = /*#__PURE__*/React.forwardRef(function Tabs(inProps, ref) {
|
|
|
709
712
|
}
|
|
710
713
|
};
|
|
711
714
|
const conditionalElements = getConditionalElements();
|
|
712
|
-
return /*#__PURE__*/_jsxs(TabsRoot,
|
|
715
|
+
return /*#__PURE__*/_jsxs(TabsRoot, {
|
|
713
716
|
className: clsx(classes.root, className),
|
|
714
717
|
ownerState: ownerState,
|
|
715
718
|
ref: ref,
|
|
716
|
-
as: component
|
|
717
|
-
|
|
719
|
+
as: component,
|
|
720
|
+
...other,
|
|
718
721
|
children: [conditionalElements.scrollButtonStart, conditionalElements.scrollbarSizeListener, /*#__PURE__*/_jsxs(TabsScroller, {
|
|
719
722
|
className: classes.scroller,
|
|
720
723
|
ownerState: ownerState,
|
|
@@ -735,7 +738,7 @@ const Tabs = /*#__PURE__*/React.forwardRef(function Tabs(inProps, ref) {
|
|
|
735
738
|
children: children
|
|
736
739
|
}), mounted && indicator]
|
|
737
740
|
}), conditionalElements.scrollButtonEnd]
|
|
738
|
-
})
|
|
741
|
+
});
|
|
739
742
|
});
|
|
740
743
|
process.env.NODE_ENV !== "production" ? Tabs.propTypes /* remove-proptypes */ = {
|
|
741
744
|
// ┌────────────────────────────── Warning ──────────────────────────────┐
|
package/TextField/TextField.d.ts
CHANGED
|
@@ -12,10 +12,50 @@ import { InputLabelProps } from '../InputLabel';
|
|
|
12
12
|
import { SelectProps } from '../Select';
|
|
13
13
|
import { Theme } from '../styles';
|
|
14
14
|
import { TextFieldClasses } from './textFieldClasses';
|
|
15
|
+
import { CreateSlotsAndSlotProps, SlotProps } from '../utils/types';
|
|
15
16
|
|
|
16
17
|
export interface TextFieldPropsColorOverrides {}
|
|
17
18
|
export interface TextFieldPropsSizeOverrides {}
|
|
18
19
|
|
|
20
|
+
export interface TextFieldSlots {
|
|
21
|
+
/**
|
|
22
|
+
* The component that renders the input.
|
|
23
|
+
* @default OutlinedInput
|
|
24
|
+
*/
|
|
25
|
+
input?: React.ElementType;
|
|
26
|
+
/**
|
|
27
|
+
* The component that renders the input's label.
|
|
28
|
+
* @default InputLabel
|
|
29
|
+
*/
|
|
30
|
+
inputLabel?: React.ElementType;
|
|
31
|
+
/**
|
|
32
|
+
* The html input element.
|
|
33
|
+
* @default 'input'
|
|
34
|
+
*/
|
|
35
|
+
htmlInput?: React.ElementType;
|
|
36
|
+
/**
|
|
37
|
+
* The component that renders the helper text.
|
|
38
|
+
* @default FormHelperText
|
|
39
|
+
*/
|
|
40
|
+
formHelperText?: React.ElementType;
|
|
41
|
+
/**
|
|
42
|
+
* The component that renders the select.
|
|
43
|
+
* @default Select
|
|
44
|
+
*/
|
|
45
|
+
select?: React.ElementType;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export type TextFieldSlotsAndSlotProps<InputPropsType> = CreateSlotsAndSlotProps<
|
|
49
|
+
TextFieldSlots,
|
|
50
|
+
{
|
|
51
|
+
input: SlotProps<React.ElementType<InputPropsType>, {}, TextFieldOwnerState>;
|
|
52
|
+
inputLabel: SlotProps<React.ElementType<InputLabelProps>, {}, TextFieldOwnerState>;
|
|
53
|
+
htmlInput: SlotProps<React.ElementType<InputBaseProps['inputProps']>, {}, TextFieldOwnerState>;
|
|
54
|
+
formHelperText: SlotProps<React.ElementType<FormHelperTextProps>, {}, TextFieldOwnerState>;
|
|
55
|
+
select: SlotProps<React.ElementType<SelectProps>, {}, TextFieldOwnerState>;
|
|
56
|
+
}
|
|
57
|
+
>;
|
|
58
|
+
|
|
19
59
|
export interface BaseTextFieldProps
|
|
20
60
|
extends StandardProps<
|
|
21
61
|
FormControlProps,
|
|
@@ -67,6 +107,7 @@ export interface BaseTextFieldProps
|
|
|
67
107
|
error?: boolean;
|
|
68
108
|
/**
|
|
69
109
|
* Props applied to the [`FormHelperText`](/material-ui/api/form-helper-text/) element.
|
|
110
|
+
* @deprecated Use `slotProps.formHelperText` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
|
|
70
111
|
*/
|
|
71
112
|
FormHelperTextProps?: Partial<FormHelperTextProps>;
|
|
72
113
|
/**
|
|
@@ -86,10 +127,12 @@ export interface BaseTextFieldProps
|
|
|
86
127
|
/**
|
|
87
128
|
* Props applied to the [`InputLabel`](/material-ui/api/input-label/) element.
|
|
88
129
|
* Pointer events like `onClick` are enabled if and only if `shrink` is `true`.
|
|
130
|
+
* @deprecated Use `slotProps.inputLabel` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
|
|
89
131
|
*/
|
|
90
132
|
InputLabelProps?: Partial<InputLabelProps>;
|
|
91
133
|
/**
|
|
92
134
|
* [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.
|
|
135
|
+
* @deprecated Use `slotProps.htmlInput` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
|
|
93
136
|
*/
|
|
94
137
|
inputProps?: InputBaseProps['inputProps'];
|
|
95
138
|
/**
|
|
@@ -140,6 +183,7 @@ export interface BaseTextFieldProps
|
|
|
140
183
|
select?: boolean;
|
|
141
184
|
/**
|
|
142
185
|
* Props applied to the [`Select`](/material-ui/api/select/) element.
|
|
186
|
+
* @deprecated Use `slotProps.select` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
|
|
143
187
|
*/
|
|
144
188
|
SelectProps?: Partial<SelectProps>;
|
|
145
189
|
/**
|
|
@@ -160,7 +204,9 @@ export interface BaseTextFieldProps
|
|
|
160
204
|
value?: unknown;
|
|
161
205
|
}
|
|
162
206
|
|
|
163
|
-
export interface StandardTextFieldProps
|
|
207
|
+
export interface StandardTextFieldProps
|
|
208
|
+
extends BaseTextFieldProps,
|
|
209
|
+
TextFieldSlotsAndSlotProps<StandardInputProps> {
|
|
164
210
|
/**
|
|
165
211
|
* Callback fired when the value is changed.
|
|
166
212
|
*
|
|
@@ -178,11 +224,14 @@ export interface StandardTextFieldProps extends BaseTextFieldProps {
|
|
|
178
224
|
* It will be a [`FilledInput`](/material-ui/api/filled-input/),
|
|
179
225
|
* [`OutlinedInput`](/material-ui/api/outlined-input/) or [`Input`](/material-ui/api/input/)
|
|
180
226
|
* component depending on the `variant` prop value.
|
|
227
|
+
* @deprecated Use `slotProps.input` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
|
|
181
228
|
*/
|
|
182
229
|
InputProps?: Partial<StandardInputProps>;
|
|
183
230
|
}
|
|
184
231
|
|
|
185
|
-
export interface FilledTextFieldProps
|
|
232
|
+
export interface FilledTextFieldProps
|
|
233
|
+
extends BaseTextFieldProps,
|
|
234
|
+
TextFieldSlotsAndSlotProps<FilledInputProps> {
|
|
186
235
|
/**
|
|
187
236
|
* Callback fired when the value is changed.
|
|
188
237
|
*
|
|
@@ -200,11 +249,14 @@ export interface FilledTextFieldProps extends BaseTextFieldProps {
|
|
|
200
249
|
* It will be a [`FilledInput`](/material-ui/api/filled-input/),
|
|
201
250
|
* [`OutlinedInput`](/material-ui/api/outlined-input/) or [`Input`](/material-ui/api/input/)
|
|
202
251
|
* component depending on the `variant` prop value.
|
|
252
|
+
* @deprecated Use `slotProps.input` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
|
|
203
253
|
*/
|
|
204
254
|
InputProps?: Partial<FilledInputProps>;
|
|
205
255
|
}
|
|
206
256
|
|
|
207
|
-
export interface OutlinedTextFieldProps
|
|
257
|
+
export interface OutlinedTextFieldProps
|
|
258
|
+
extends BaseTextFieldProps,
|
|
259
|
+
TextFieldSlotsAndSlotProps<OutlinedInputProps> {
|
|
208
260
|
/**
|
|
209
261
|
* Callback fired when the value is changed.
|
|
210
262
|
*
|
|
@@ -222,6 +274,7 @@ export interface OutlinedTextFieldProps extends BaseTextFieldProps {
|
|
|
222
274
|
* It will be a [`FilledInput`](/material-ui/api/filled-input/),
|
|
223
275
|
* [`OutlinedInput`](/material-ui/api/outlined-input/) or [`Input`](/material-ui/api/input/)
|
|
224
276
|
* component depending on the `variant` prop value.
|
|
277
|
+
* @deprecated Use `slotProps.input` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
|
|
225
278
|
*/
|
|
226
279
|
InputProps?: Partial<OutlinedInputProps>;
|
|
227
280
|
}
|
|
@@ -235,6 +288,8 @@ export type TextFieldProps<Variant extends TextFieldVariants = TextFieldVariants
|
|
|
235
288
|
? StandardTextFieldProps
|
|
236
289
|
: OutlinedTextFieldProps;
|
|
237
290
|
|
|
291
|
+
export type TextFieldOwnerState = BaseTextFieldProps;
|
|
292
|
+
|
|
238
293
|
/**
|
|
239
294
|
* The `TextField` is a convenience wrapper for the most common cases (80%).
|
|
240
295
|
* It cannot be all things to all people, otherwise the API would grow out of control.
|
|
@@ -285,4 +340,4 @@ export default function TextField<Variant extends TextFieldVariants>(
|
|
|
285
340
|
*/
|
|
286
341
|
variant?: Variant;
|
|
287
342
|
} & Omit<TextFieldProps, 'variant'>,
|
|
288
|
-
): JSX.Element;
|
|
343
|
+
): React.JSX.Element;
|
package/TextField/TextField.js
CHANGED
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
|
-
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
4
|
-
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
5
|
-
const _excluded = ["autoComplete", "autoFocus", "children", "className", "color", "defaultValue", "disabled", "error", "FormHelperTextProps", "fullWidth", "helperText", "id", "InputLabelProps", "inputProps", "InputProps", "inputRef", "label", "maxRows", "minRows", "multiline", "name", "onBlur", "onChange", "onFocus", "placeholder", "required", "rows", "select", "SelectProps", "type", "value", "variant"];
|
|
6
3
|
import * as React from 'react';
|
|
7
4
|
import PropTypes from 'prop-types';
|
|
8
5
|
import clsx from 'clsx';
|
|
@@ -18,6 +15,7 @@ import FormControl from '../FormControl';
|
|
|
18
15
|
import FormHelperText from '../FormHelperText';
|
|
19
16
|
import Select from '../Select';
|
|
20
17
|
import { getTextFieldUtilityClass } from './textFieldClasses';
|
|
18
|
+
import useSlot from '../utils/useSlot';
|
|
21
19
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
22
20
|
const useThemeProps = createUseThemeProps('MuiTextField');
|
|
23
21
|
const variantComponent = {
|
|
@@ -78,41 +76,44 @@ const TextField = /*#__PURE__*/React.forwardRef(function TextField(inProps, ref)
|
|
|
78
76
|
name: 'MuiTextField'
|
|
79
77
|
});
|
|
80
78
|
const {
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
79
|
+
autoComplete,
|
|
80
|
+
autoFocus = false,
|
|
81
|
+
children,
|
|
82
|
+
className,
|
|
83
|
+
color = 'primary',
|
|
84
|
+
defaultValue,
|
|
85
|
+
disabled = false,
|
|
86
|
+
error = false,
|
|
87
|
+
FormHelperTextProps: FormHelperTextPropsProp,
|
|
88
|
+
fullWidth = false,
|
|
89
|
+
helperText,
|
|
90
|
+
id: idOverride,
|
|
91
|
+
InputLabelProps: InputLabelPropsProp,
|
|
92
|
+
inputProps: inputPropsProp,
|
|
93
|
+
InputProps: InputPropsProp,
|
|
94
|
+
inputRef,
|
|
95
|
+
label,
|
|
96
|
+
maxRows,
|
|
97
|
+
minRows,
|
|
98
|
+
multiline = false,
|
|
99
|
+
name,
|
|
100
|
+
onBlur,
|
|
101
|
+
onChange,
|
|
102
|
+
onFocus,
|
|
103
|
+
placeholder,
|
|
104
|
+
required = false,
|
|
105
|
+
rows,
|
|
106
|
+
select = false,
|
|
107
|
+
SelectProps: SelectPropsProp,
|
|
108
|
+
slots = {},
|
|
109
|
+
slotProps = {},
|
|
110
|
+
type,
|
|
111
|
+
value,
|
|
112
|
+
variant = 'outlined',
|
|
113
|
+
...other
|
|
114
|
+
} = props;
|
|
115
|
+
const ownerState = {
|
|
116
|
+
...props,
|
|
116
117
|
autoFocus,
|
|
117
118
|
color,
|
|
118
119
|
disabled,
|
|
@@ -122,32 +123,70 @@ const TextField = /*#__PURE__*/React.forwardRef(function TextField(inProps, ref)
|
|
|
122
123
|
required,
|
|
123
124
|
select,
|
|
124
125
|
variant
|
|
125
|
-
}
|
|
126
|
+
};
|
|
126
127
|
const classes = useUtilityClasses(ownerState);
|
|
127
128
|
if (process.env.NODE_ENV !== 'production') {
|
|
128
129
|
if (select && !children) {
|
|
129
130
|
console.error('MUI: `children` must be passed when using the `TextField` component with `select`.');
|
|
130
131
|
}
|
|
131
132
|
}
|
|
132
|
-
const
|
|
133
|
+
const id = useId(idOverride);
|
|
134
|
+
const helperTextId = helperText && id ? `${id}-helper-text` : undefined;
|
|
135
|
+
const inputLabelId = label && id ? `${id}-label` : undefined;
|
|
136
|
+
const InputComponent = variantComponent[variant];
|
|
137
|
+
const externalForwardedProps = {
|
|
138
|
+
slots,
|
|
139
|
+
slotProps: {
|
|
140
|
+
input: InputPropsProp,
|
|
141
|
+
inputLabel: InputLabelPropsProp,
|
|
142
|
+
htmlInput: inputPropsProp,
|
|
143
|
+
formHelperText: FormHelperTextPropsProp,
|
|
144
|
+
select: SelectPropsProp,
|
|
145
|
+
...slotProps
|
|
146
|
+
}
|
|
147
|
+
};
|
|
148
|
+
const inputAdditionalProps = {};
|
|
149
|
+
const inputLabelSlotProps = externalForwardedProps.slotProps.inputLabel;
|
|
133
150
|
if (variant === 'outlined') {
|
|
134
|
-
if (
|
|
135
|
-
|
|
151
|
+
if (inputLabelSlotProps && typeof inputLabelSlotProps.shrink !== 'undefined') {
|
|
152
|
+
inputAdditionalProps.notched = inputLabelSlotProps.shrink;
|
|
136
153
|
}
|
|
137
|
-
|
|
154
|
+
inputAdditionalProps.label = label;
|
|
138
155
|
}
|
|
139
156
|
if (select) {
|
|
140
157
|
// unset defaults from textbox inputs
|
|
141
|
-
if (!
|
|
142
|
-
|
|
158
|
+
if (!SelectPropsProp || !SelectPropsProp.native) {
|
|
159
|
+
inputAdditionalProps.id = undefined;
|
|
143
160
|
}
|
|
144
|
-
|
|
161
|
+
inputAdditionalProps['aria-describedby'] = undefined;
|
|
145
162
|
}
|
|
146
|
-
const
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
163
|
+
const [InputSlot, inputProps] = useSlot('input', {
|
|
164
|
+
elementType: InputComponent,
|
|
165
|
+
externalForwardedProps,
|
|
166
|
+
additionalProps: inputAdditionalProps,
|
|
167
|
+
ownerState
|
|
168
|
+
});
|
|
169
|
+
const [InputLabelSlot, inputLabelProps] = useSlot('inputLabel', {
|
|
170
|
+
elementType: InputLabel,
|
|
171
|
+
externalForwardedProps,
|
|
172
|
+
ownerState
|
|
173
|
+
});
|
|
174
|
+
const [HtmlInputSlot, htmlInputProps] = useSlot('htmlInput', {
|
|
175
|
+
elementType: 'input',
|
|
176
|
+
externalForwardedProps,
|
|
177
|
+
ownerState
|
|
178
|
+
});
|
|
179
|
+
const [FormHelperTextSlot, formHelperTextProps] = useSlot('formHelperText', {
|
|
180
|
+
elementType: FormHelperText,
|
|
181
|
+
externalForwardedProps,
|
|
182
|
+
ownerState
|
|
183
|
+
});
|
|
184
|
+
const [SelectSlot, selectProps] = useSlot('select', {
|
|
185
|
+
elementType: Select,
|
|
186
|
+
externalForwardedProps,
|
|
187
|
+
ownerState
|
|
188
|
+
});
|
|
189
|
+
const InputElement = /*#__PURE__*/_jsx(InputSlot, {
|
|
151
190
|
"aria-describedby": helperTextId,
|
|
152
191
|
autoComplete: autoComplete,
|
|
153
192
|
autoFocus: autoFocus,
|
|
@@ -166,9 +205,13 @@ const TextField = /*#__PURE__*/React.forwardRef(function TextField(inProps, ref)
|
|
|
166
205
|
onChange: onChange,
|
|
167
206
|
onFocus: onFocus,
|
|
168
207
|
placeholder: placeholder,
|
|
169
|
-
inputProps:
|
|
170
|
-
|
|
171
|
-
|
|
208
|
+
inputProps: htmlInputProps,
|
|
209
|
+
slots: {
|
|
210
|
+
input: slots.htmlInput ? HtmlInputSlot : undefined
|
|
211
|
+
},
|
|
212
|
+
...inputProps
|
|
213
|
+
});
|
|
214
|
+
return /*#__PURE__*/_jsxs(TextFieldRoot, {
|
|
172
215
|
className: clsx(classes.root, className),
|
|
173
216
|
disabled: disabled,
|
|
174
217
|
error: error,
|
|
@@ -177,27 +220,27 @@ const TextField = /*#__PURE__*/React.forwardRef(function TextField(inProps, ref)
|
|
|
177
220
|
required: required,
|
|
178
221
|
color: color,
|
|
179
222
|
variant: variant,
|
|
180
|
-
ownerState: ownerState
|
|
181
|
-
|
|
182
|
-
children: [label != null && label !== '' && /*#__PURE__*/_jsx(
|
|
223
|
+
ownerState: ownerState,
|
|
224
|
+
...other,
|
|
225
|
+
children: [label != null && label !== '' && /*#__PURE__*/_jsx(InputLabelSlot, {
|
|
183
226
|
htmlFor: id,
|
|
184
|
-
id: inputLabelId
|
|
185
|
-
|
|
227
|
+
id: inputLabelId,
|
|
228
|
+
...inputLabelProps,
|
|
186
229
|
children: label
|
|
187
|
-
})
|
|
230
|
+
}), select ? /*#__PURE__*/_jsx(SelectSlot, {
|
|
188
231
|
"aria-describedby": helperTextId,
|
|
189
232
|
id: id,
|
|
190
233
|
labelId: inputLabelId,
|
|
191
234
|
value: value,
|
|
192
|
-
input: InputElement
|
|
193
|
-
|
|
235
|
+
input: InputElement,
|
|
236
|
+
...selectProps,
|
|
194
237
|
children: children
|
|
195
|
-
})
|
|
196
|
-
id: helperTextId
|
|
197
|
-
|
|
238
|
+
}) : InputElement, helperText && /*#__PURE__*/_jsx(FormHelperTextSlot, {
|
|
239
|
+
id: helperTextId,
|
|
240
|
+
...formHelperTextProps,
|
|
198
241
|
children: helperText
|
|
199
|
-
})
|
|
200
|
-
})
|
|
242
|
+
})]
|
|
243
|
+
});
|
|
201
244
|
});
|
|
202
245
|
process.env.NODE_ENV !== "production" ? TextField.propTypes /* remove-proptypes */ = {
|
|
203
246
|
// ┌────────────────────────────── Warning ──────────────────────────────┐
|
|
@@ -250,6 +293,7 @@ process.env.NODE_ENV !== "production" ? TextField.propTypes /* remove-proptypes
|
|
|
250
293
|
error: PropTypes.bool,
|
|
251
294
|
/**
|
|
252
295
|
* Props applied to the [`FormHelperText`](/material-ui/api/form-helper-text/) element.
|
|
296
|
+
* @deprecated Use `slotProps.formHelperText` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
|
|
253
297
|
*/
|
|
254
298
|
FormHelperTextProps: PropTypes.object,
|
|
255
299
|
/**
|
|
@@ -269,10 +313,12 @@ process.env.NODE_ENV !== "production" ? TextField.propTypes /* remove-proptypes
|
|
|
269
313
|
/**
|
|
270
314
|
* Props applied to the [`InputLabel`](/material-ui/api/input-label/) element.
|
|
271
315
|
* Pointer events like `onClick` are enabled if and only if `shrink` is `true`.
|
|
316
|
+
* @deprecated Use `slotProps.inputLabel` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
|
|
272
317
|
*/
|
|
273
318
|
InputLabelProps: PropTypes.object,
|
|
274
319
|
/**
|
|
275
320
|
* [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.
|
|
321
|
+
* @deprecated Use `slotProps.htmlInput` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
|
|
276
322
|
*/
|
|
277
323
|
inputProps: PropTypes.object,
|
|
278
324
|
/**
|
|
@@ -280,6 +326,7 @@ process.env.NODE_ENV !== "production" ? TextField.propTypes /* remove-proptypes
|
|
|
280
326
|
* It will be a [`FilledInput`](/material-ui/api/filled-input/),
|
|
281
327
|
* [`OutlinedInput`](/material-ui/api/outlined-input/) or [`Input`](/material-ui/api/input/)
|
|
282
328
|
* component depending on the `variant` prop value.
|
|
329
|
+
* @deprecated Use `slotProps.input` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
|
|
283
330
|
*/
|
|
284
331
|
InputProps: PropTypes.object,
|
|
285
332
|
/**
|
|
@@ -348,12 +395,35 @@ process.env.NODE_ENV !== "production" ? TextField.propTypes /* remove-proptypes
|
|
|
348
395
|
select: PropTypes.bool,
|
|
349
396
|
/**
|
|
350
397
|
* Props applied to the [`Select`](/material-ui/api/select/) element.
|
|
398
|
+
* @deprecated Use `slotProps.select` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
|
|
351
399
|
*/
|
|
352
400
|
SelectProps: PropTypes.object,
|
|
353
401
|
/**
|
|
354
402
|
* The size of the component.
|
|
355
403
|
*/
|
|
356
404
|
size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),
|
|
405
|
+
/**
|
|
406
|
+
* The props used for each slot inside.
|
|
407
|
+
* @default {}
|
|
408
|
+
*/
|
|
409
|
+
slotProps: PropTypes /* @typescript-to-proptypes-ignore */.shape({
|
|
410
|
+
formHelperText: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
|
|
411
|
+
htmlInput: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
|
|
412
|
+
input: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
|
|
413
|
+
inputLabel: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
|
|
414
|
+
select: PropTypes.oneOfType([PropTypes.func, PropTypes.object])
|
|
415
|
+
}),
|
|
416
|
+
/**
|
|
417
|
+
* The components used for each slot inside.
|
|
418
|
+
* @default {}
|
|
419
|
+
*/
|
|
420
|
+
slots: PropTypes.shape({
|
|
421
|
+
formHelperText: PropTypes.elementType,
|
|
422
|
+
htmlInput: PropTypes.elementType,
|
|
423
|
+
input: PropTypes.elementType,
|
|
424
|
+
inputLabel: PropTypes.elementType,
|
|
425
|
+
select: PropTypes.elementType
|
|
426
|
+
}),
|
|
357
427
|
/**
|
|
358
428
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
359
429
|
*/
|