@mui/material 6.0.0-beta.0 → 6.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Autocomplete/Autocomplete.d.ts +6 -7
- package/Autocomplete/Autocomplete.js +1 -1
- package/Badge/Badge.d.ts +1 -1
- package/Badge/Badge.js +2 -2
- package/Badge/useBadge.d.ts +13 -0
- package/Badge/useBadge.js +41 -0
- package/Badge/useBadge.types.d.ts +40 -0
- package/Badge/useBadge.types.js +1 -0
- package/Breadcrumbs/Breadcrumbs.d.ts +1 -1
- package/Breadcrumbs/Breadcrumbs.js +1 -1
- package/CHANGELOG.md +32 -0
- package/ClickAwayListener/ClickAwayListener.d.ts +47 -0
- package/ClickAwayListener/ClickAwayListener.js +178 -0
- package/ClickAwayListener/index.d.ts +2 -2
- package/ClickAwayListener/index.js +1 -1
- package/InputBase/InputBase.js +2 -2
- package/ListItem/ListItem.js +1 -1
- package/Menu/Menu.js +1 -1
- package/Modal/Modal.d.ts +1 -1
- package/Modal/Modal.js +1 -1
- package/Modal/ModalManager.d.ts +25 -0
- package/Modal/ModalManager.js +211 -0
- package/Modal/index.d.ts +1 -1
- package/Modal/index.js +1 -1
- package/Modal/useModal.d.ts +13 -0
- package/Modal/useModal.js +195 -0
- package/Modal/useModal.types.d.ts +115 -0
- package/Modal/useModal.types.js +1 -0
- package/NoSsr/NoSsr.d.ts +25 -0
- package/NoSsr/NoSsr.js +73 -0
- package/NoSsr/NoSsr.types.d.ts +18 -0
- package/NoSsr/NoSsr.types.js +1 -0
- package/NoSsr/index.d.ts +3 -2
- package/NoSsr/index.js +1 -1
- package/Popover/Popover.js +1 -1
- package/Popper/BasePopper.d.ts +7 -0
- package/Popper/BasePopper.js +370 -0
- package/Popper/BasePopper.types.d.ts +130 -0
- package/Popper/BasePopper.types.js +1 -0
- package/Popper/Popper.d.ts +1 -1
- package/Popper/Popper.js +1 -1
- package/Popper/index.d.ts +2 -1
- package/Popper/index.js +2 -1
- package/Popper/popperClasses.d.ts +8 -0
- package/Popper/popperClasses.js +7 -0
- package/Portal/Portal.d.ts +16 -0
- package/Portal/Portal.js +92 -0
- package/Portal/Portal.types.d.ts +23 -0
- package/Portal/Portal.types.js +1 -0
- package/Portal/index.d.ts +3 -2
- package/Portal/index.js +1 -1
- package/Slider/Slider.d.ts +2 -2
- package/Slider/Slider.js +3 -2
- package/Slider/useSlider.d.ts +14 -0
- package/Slider/useSlider.js +647 -0
- package/Slider/useSlider.types.d.ts +228 -0
- package/Slider/useSlider.types.js +1 -0
- package/Snackbar/Snackbar.d.ts +1 -1
- package/Snackbar/Snackbar.js +3 -3
- package/Snackbar/useSnackbar.d.ts +14 -0
- package/Snackbar/useSnackbar.js +133 -0
- package/Snackbar/useSnackbar.types.d.ts +60 -0
- package/Snackbar/useSnackbar.types.js +1 -0
- package/SwipeableDrawer/SwipeableDrawer.js +1 -1
- package/TabScrollButton/TabScrollButton.d.ts +1 -1
- package/TabScrollButton/TabScrollButton.js +1 -1
- package/TablePagination/TablePagination.js +1 -1
- package/Tabs/Tabs.d.ts +1 -1
- package/Tabs/Tabs.js +1 -1
- package/TextareaAutosize/TextareaAutosize.d.ts +14 -0
- package/TextareaAutosize/TextareaAutosize.js +222 -0
- package/TextareaAutosize/TextareaAutosize.types.d.ts +13 -0
- package/TextareaAutosize/TextareaAutosize.types.js +1 -0
- package/TextareaAutosize/index.d.ts +3 -2
- package/TextareaAutosize/index.js +1 -1
- package/Tooltip/Tooltip.js +1 -1
- package/Unstable_TrapFocus/FocusTrap.d.ts +10 -0
- package/Unstable_TrapFocus/FocusTrap.js +330 -0
- package/Unstable_TrapFocus/FocusTrap.types.d.ts +51 -0
- package/Unstable_TrapFocus/FocusTrap.types.js +1 -0
- package/Unstable_TrapFocus/index.d.ts +2 -2
- package/Unstable_TrapFocus/index.js +1 -1
- package/index.d.ts +1 -1
- package/index.js +2 -2
- package/modern/Autocomplete/Autocomplete.js +1 -1
- package/modern/Badge/Badge.js +2 -2
- package/modern/Badge/useBadge.js +41 -0
- package/modern/Badge/useBadge.types.js +1 -0
- package/modern/Breadcrumbs/Breadcrumbs.js +1 -1
- package/modern/ClickAwayListener/ClickAwayListener.js +178 -0
- package/modern/ClickAwayListener/index.js +1 -1
- package/modern/InputBase/InputBase.js +2 -2
- package/modern/ListItem/ListItem.js +1 -1
- package/modern/Menu/Menu.js +1 -1
- package/modern/Modal/Modal.js +1 -1
- package/modern/Modal/ModalManager.js +211 -0
- package/modern/Modal/index.js +1 -1
- package/modern/Modal/useModal.js +195 -0
- package/modern/Modal/useModal.types.js +1 -0
- package/modern/NoSsr/NoSsr.js +73 -0
- package/modern/NoSsr/NoSsr.types.js +1 -0
- package/modern/NoSsr/index.js +1 -1
- package/modern/Popover/Popover.js +1 -1
- package/modern/Popper/BasePopper.js +370 -0
- package/modern/Popper/BasePopper.types.js +1 -0
- package/modern/Popper/Popper.js +1 -1
- package/modern/Popper/index.js +2 -1
- package/modern/Popper/popperClasses.js +7 -0
- package/modern/Portal/Portal.js +92 -0
- package/modern/Portal/Portal.types.js +1 -0
- package/modern/Portal/index.js +1 -1
- package/modern/Slider/Slider.js +3 -2
- package/modern/Slider/useSlider.js +647 -0
- package/modern/Slider/useSlider.types.js +1 -0
- package/modern/Snackbar/Snackbar.js +3 -3
- package/modern/Snackbar/useSnackbar.js +133 -0
- package/modern/Snackbar/useSnackbar.types.js +1 -0
- package/modern/SwipeableDrawer/SwipeableDrawer.js +1 -1
- package/modern/TabScrollButton/TabScrollButton.js +1 -1
- package/modern/TablePagination/TablePagination.js +1 -1
- package/modern/Tabs/Tabs.js +1 -1
- package/modern/TextareaAutosize/TextareaAutosize.js +222 -0
- package/modern/TextareaAutosize/TextareaAutosize.types.js +1 -0
- package/modern/TextareaAutosize/index.js +1 -1
- package/modern/Tooltip/Tooltip.js +1 -1
- package/modern/Unstable_TrapFocus/FocusTrap.js +330 -0
- package/modern/Unstable_TrapFocus/FocusTrap.types.js +1 -0
- package/modern/Unstable_TrapFocus/index.js +1 -1
- package/modern/index.js +2 -2
- package/modern/useAutocomplete/useAutocomplete.js +976 -2
- package/modern/utils/PolymorphicComponent.js +1 -0
- package/modern/utils/areArraysEqual.js +4 -0
- package/modern/utils/index.js +1 -1
- package/modern/utils/isHostComponent.js +7 -0
- package/modern/utils/omitEventHandlers.js +18 -0
- package/modern/utils/shouldSpreadAdditionalProps.js +1 -1
- package/modern/utils/useSlot.js +3 -1
- package/node/Autocomplete/Autocomplete.js +3 -3
- package/node/Badge/Badge.js +5 -5
- package/node/Badge/useBadge.js +46 -0
- package/node/Badge/useBadge.types.js +5 -0
- package/node/Breadcrumbs/Breadcrumbs.js +2 -2
- package/node/ClickAwayListener/ClickAwayListener.js +184 -0
- package/node/ClickAwayListener/index.js +1 -1
- package/node/InputBase/InputBase.js +7 -7
- package/node/ListItem/ListItem.js +3 -3
- package/node/Menu/Menu.js +3 -3
- package/node/Modal/Modal.js +2 -2
- package/node/Modal/ModalManager.js +219 -0
- package/node/Modal/index.js +2 -2
- package/node/Modal/useModal.js +205 -0
- package/node/Modal/useModal.types.js +5 -0
- package/node/NoSsr/NoSsr.js +81 -0
- package/node/NoSsr/NoSsr.types.js +5 -0
- package/node/NoSsr/index.js +3 -2
- package/node/Popover/Popover.js +2 -2
- package/node/Popper/BasePopper.js +379 -0
- package/node/Popper/BasePopper.types.js +5 -0
- package/node/Popper/Popper.js +2 -2
- package/node/Popper/index.js +14 -1
- package/node/Popper/popperClasses.js +15 -0
- package/node/Portal/Portal.js +100 -0
- package/node/Portal/Portal.types.js +5 -0
- package/node/Portal/index.js +3 -2
- package/node/Slider/Slider.js +14 -13
- package/node/Slider/useSlider.js +670 -0
- package/node/Slider/useSlider.types.js +5 -0
- package/node/Snackbar/Snackbar.js +6 -6
- package/node/Snackbar/useSnackbar.js +141 -0
- package/node/Snackbar/useSnackbar.types.js +5 -0
- package/node/SwipeableDrawer/SwipeableDrawer.js +2 -2
- package/node/TabScrollButton/TabScrollButton.js +3 -3
- package/node/TablePagination/TablePagination.js +2 -2
- package/node/Tabs/Tabs.js +3 -3
- package/node/TextareaAutosize/TextareaAutosize.js +230 -0
- package/node/TextareaAutosize/TextareaAutosize.types.js +5 -0
- package/node/TextareaAutosize/index.js +3 -2
- package/node/Tooltip/Tooltip.js +5 -5
- package/node/Unstable_TrapFocus/FocusTrap.js +339 -0
- package/node/Unstable_TrapFocus/FocusTrap.types.js +5 -0
- package/node/Unstable_TrapFocus/index.js +3 -2
- package/node/index.js +3 -3
- package/node/useAutocomplete/useAutocomplete.js +985 -18
- package/node/utils/PolymorphicComponent.js +5 -0
- package/node/utils/areArraysEqual.js +10 -0
- package/node/utils/index.js +2 -2
- package/node/utils/isHostComponent.js +13 -0
- package/node/utils/omitEventHandlers.js +24 -0
- package/node/utils/shouldSpreadAdditionalProps.js +3 -2
- package/node/utils/useSlot.js +6 -4
- package/package.json +6 -7
- package/styles/overrides.d.ts +1 -1
- package/useAutocomplete/useAutocomplete.d.ts +468 -2
- package/useAutocomplete/useAutocomplete.js +976 -2
- package/utils/PolymorphicComponent.d.ts +17 -0
- package/utils/PolymorphicComponent.js +1 -0
- package/utils/areArraysEqual.d.ts +3 -0
- package/utils/areArraysEqual.js +4 -0
- package/utils/index.d.ts +2 -1
- package/utils/index.js +1 -1
- package/utils/isHostComponent.d.ts +6 -0
- package/utils/isHostComponent.js +7 -0
- package/utils/omitEventHandlers.d.ts +9 -0
- package/utils/omitEventHandlers.js +18 -0
- package/utils/shouldSpreadAdditionalProps.js +1 -1
- package/utils/types.d.ts +2 -1
- package/utils/useSlot.js +3 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/modern/utils/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
|
-
import { unstable_ClassNameGenerator as ClassNameGenerator } from '@mui/
|
|
3
|
+
import { unstable_ClassNameGenerator as ClassNameGenerator } from '@mui/utils';
|
|
4
4
|
export { default as capitalize } from './capitalize';
|
|
5
5
|
export { default as createChainedFunction } from './createChainedFunction';
|
|
6
6
|
export { default as createSvgIcon } from './createSvgIcon';
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Removes event handlers from the given object.
|
|
3
|
+
* A field is considered an event handler if it is a function with a name beginning with `on`.
|
|
4
|
+
*
|
|
5
|
+
* @param object Object to remove event handlers from.
|
|
6
|
+
* @returns Object with event handlers removed.
|
|
7
|
+
*/
|
|
8
|
+
function omitEventHandlers(object) {
|
|
9
|
+
if (object === undefined) {
|
|
10
|
+
return {};
|
|
11
|
+
}
|
|
12
|
+
const result = {};
|
|
13
|
+
Object.keys(object).filter(prop => !(prop.match(/^on[A-Z]/) && typeof object[prop] === 'function')).forEach(prop => {
|
|
14
|
+
result[prop] = object[prop];
|
|
15
|
+
});
|
|
16
|
+
return result;
|
|
17
|
+
}
|
|
18
|
+
export default omitEventHandlers;
|
package/modern/utils/useSlot.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
3
|
import useForkRef from '@mui/utils/useForkRef';
|
|
4
|
-
import
|
|
4
|
+
import appendOwnerState from '@mui/utils/appendOwnerState';
|
|
5
|
+
import resolveComponentProps from '@mui/utils/resolveComponentProps';
|
|
6
|
+
import mergeSlotProps from '@mui/utils/mergeSlotProps';
|
|
5
7
|
/**
|
|
6
8
|
* An internal function to create a Material UI slot.
|
|
7
9
|
*
|
|
@@ -8,7 +8,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
8
8
|
Object.defineProperty(exports, "createFilterOptions", {
|
|
9
9
|
enumerable: true,
|
|
10
10
|
get: function () {
|
|
11
|
-
return
|
|
11
|
+
return _useAutocomplete.createFilterOptions;
|
|
12
12
|
}
|
|
13
13
|
});
|
|
14
14
|
exports.default = void 0;
|
|
@@ -17,9 +17,9 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
|
17
17
|
var _clsx = _interopRequireDefault(require("clsx"));
|
|
18
18
|
var _integerPropType = _interopRequireDefault(require("@mui/utils/integerPropType"));
|
|
19
19
|
var _chainPropTypes = _interopRequireDefault(require("@mui/utils/chainPropTypes"));
|
|
20
|
-
var _base = require("@mui/base");
|
|
21
20
|
var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
|
|
22
21
|
var _colorManipulator = require("@mui/system/colorManipulator");
|
|
22
|
+
var _useAutocomplete = _interopRequireWildcard(require("../useAutocomplete"));
|
|
23
23
|
var _Popper = _interopRequireDefault(require("../Popper"));
|
|
24
24
|
var _ListSubheader = _interopRequireDefault(require("../ListSubheader"));
|
|
25
25
|
var _Paper = _interopRequireDefault(require("../Paper"));
|
|
@@ -512,7 +512,7 @@ const Autocomplete = /*#__PURE__*/React.forwardRef(function Autocomplete(inProps
|
|
|
512
512
|
setAnchorEl,
|
|
513
513
|
inputValue,
|
|
514
514
|
groupedOptions
|
|
515
|
-
} = (0,
|
|
515
|
+
} = (0, _useAutocomplete.default)({
|
|
516
516
|
...props,
|
|
517
517
|
componentName: 'Autocomplete'
|
|
518
518
|
});
|
package/node/Badge/Badge.js
CHANGED
|
@@ -11,8 +11,8 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
|
11
11
|
var _clsx = _interopRequireDefault(require("clsx"));
|
|
12
12
|
var _usePreviousProps = _interopRequireDefault(require("@mui/utils/usePreviousProps"));
|
|
13
13
|
var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
|
|
14
|
-
var
|
|
15
|
-
var
|
|
14
|
+
var _useSlotProps = _interopRequireDefault(require("@mui/utils/useSlotProps"));
|
|
15
|
+
var _useBadge = _interopRequireDefault(require("./useBadge"));
|
|
16
16
|
var _zeroStyled = require("../zero-styled");
|
|
17
17
|
var _DefaultPropsProvider = require("../DefaultPropsProvider");
|
|
18
18
|
var _capitalize = _interopRequireDefault(require("../utils/capitalize"));
|
|
@@ -249,7 +249,7 @@ const Badge = /*#__PURE__*/React.forwardRef(function Badge(inProps, ref) {
|
|
|
249
249
|
invisible: invisibleFromHook,
|
|
250
250
|
max,
|
|
251
251
|
displayValue: displayValueFromHook
|
|
252
|
-
} = (0, _useBadge.
|
|
252
|
+
} = (0, _useBadge.default)({
|
|
253
253
|
max: maxProp,
|
|
254
254
|
invisible: invisibleProp,
|
|
255
255
|
badgeContent: badgeContentProp,
|
|
@@ -289,7 +289,7 @@ const Badge = /*#__PURE__*/React.forwardRef(function Badge(inProps, ref) {
|
|
|
289
289
|
const BadgeSlot = (_ref2 = (_slots$badge = slots == null ? void 0 : slots.badge) != null ? _slots$badge : components.Badge) != null ? _ref2 : BadgeBadge;
|
|
290
290
|
const rootSlotProps = (_slotProps$root = slotProps == null ? void 0 : slotProps.root) != null ? _slotProps$root : componentsProps.root;
|
|
291
291
|
const badgeSlotProps = (_slotProps$badge = slotProps == null ? void 0 : slotProps.badge) != null ? _slotProps$badge : componentsProps.badge;
|
|
292
|
-
const rootProps = (0,
|
|
292
|
+
const rootProps = (0, _useSlotProps.default)({
|
|
293
293
|
elementType: RootSlot,
|
|
294
294
|
externalSlotProps: rootSlotProps,
|
|
295
295
|
externalForwardedProps: other,
|
|
@@ -300,7 +300,7 @@ const Badge = /*#__PURE__*/React.forwardRef(function Badge(inProps, ref) {
|
|
|
300
300
|
ownerState,
|
|
301
301
|
className: (0, _clsx.default)(rootSlotProps == null ? void 0 : rootSlotProps.className, classes.root, className)
|
|
302
302
|
});
|
|
303
|
-
const badgeProps = (0,
|
|
303
|
+
const badgeProps = (0, _useSlotProps.default)({
|
|
304
304
|
elementType: BadgeSlot,
|
|
305
305
|
externalSlotProps: badgeSlotProps,
|
|
306
306
|
ownerState,
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
'use client';
|
|
3
|
+
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.default = void 0;
|
|
8
|
+
var _utils = require("@mui/utils");
|
|
9
|
+
/**
|
|
10
|
+
*
|
|
11
|
+
* Demos:
|
|
12
|
+
*
|
|
13
|
+
* - [Badge](https://next.mui.com/base-ui/react-badge/#hook)
|
|
14
|
+
*
|
|
15
|
+
* API:
|
|
16
|
+
*
|
|
17
|
+
* - [useBadge API](https://next.mui.com/base-ui/react-badge/hooks-api/#use-badge)
|
|
18
|
+
*/
|
|
19
|
+
function useBadge(parameters) {
|
|
20
|
+
const {
|
|
21
|
+
badgeContent: badgeContentProp,
|
|
22
|
+
invisible: invisibleProp = false,
|
|
23
|
+
max: maxProp = 99,
|
|
24
|
+
showZero = false
|
|
25
|
+
} = parameters;
|
|
26
|
+
const prevProps = (0, _utils.usePreviousProps)({
|
|
27
|
+
badgeContent: badgeContentProp,
|
|
28
|
+
max: maxProp
|
|
29
|
+
});
|
|
30
|
+
let invisible = invisibleProp;
|
|
31
|
+
if (invisibleProp === false && badgeContentProp === 0 && !showZero) {
|
|
32
|
+
invisible = true;
|
|
33
|
+
}
|
|
34
|
+
const {
|
|
35
|
+
badgeContent,
|
|
36
|
+
max = maxProp
|
|
37
|
+
} = invisible ? prevProps : parameters;
|
|
38
|
+
const displayValue = badgeContent && Number(badgeContent) > max ? `${max}+` : badgeContent;
|
|
39
|
+
return {
|
|
40
|
+
badgeContent,
|
|
41
|
+
invisible,
|
|
42
|
+
max,
|
|
43
|
+
displayValue
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
var _default = exports.default = useBadge;
|
|
@@ -11,8 +11,8 @@ var _reactIs = require("react-is");
|
|
|
11
11
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
12
12
|
var _clsx = _interopRequireDefault(require("clsx"));
|
|
13
13
|
var _integerPropType = _interopRequireDefault(require("@mui/utils/integerPropType"));
|
|
14
|
-
var _utils = require("@mui/base/utils");
|
|
15
14
|
var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
|
|
15
|
+
var _useSlotProps = _interopRequireDefault(require("@mui/utils/useSlotProps"));
|
|
16
16
|
var _zeroStyled = require("../zero-styled");
|
|
17
17
|
var _DefaultPropsProvider = require("../DefaultPropsProvider");
|
|
18
18
|
var _Typography = _interopRequireDefault(require("../Typography"));
|
|
@@ -109,7 +109,7 @@ const Breadcrumbs = /*#__PURE__*/React.forwardRef(function Breadcrumbs(inProps,
|
|
|
109
109
|
separator
|
|
110
110
|
};
|
|
111
111
|
const classes = useUtilityClasses(ownerState);
|
|
112
|
-
const collapsedIconSlotProps = (0,
|
|
112
|
+
const collapsedIconSlotProps = (0, _useSlotProps.default)({
|
|
113
113
|
elementType: slots.CollapsedIcon,
|
|
114
114
|
externalSlotProps: slotProps.collapsedIcon,
|
|
115
115
|
ownerState
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
'use client';
|
|
3
|
+
|
|
4
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.ClickAwayListener = ClickAwayListener;
|
|
9
|
+
var React = _interopRequireWildcard(require("react"));
|
|
10
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
+
var _utils = require("@mui/utils");
|
|
12
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
14
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
15
|
+
// TODO: return `EventHandlerName extends `on${infer EventName}` ? Lowercase<EventName> : never` once generatePropTypes runs with TS 4.1
|
|
16
|
+
function mapEventPropToEvent(eventProp) {
|
|
17
|
+
return eventProp.substring(2).toLowerCase();
|
|
18
|
+
}
|
|
19
|
+
function clickedRootScrollbar(event, doc) {
|
|
20
|
+
return doc.documentElement.clientWidth < event.clientX || doc.documentElement.clientHeight < event.clientY;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Listen for click events that occur somewhere in the document, outside of the element itself.
|
|
24
|
+
* For instance, if you need to hide a menu when people click anywhere else on your page.
|
|
25
|
+
*
|
|
26
|
+
* Demos:
|
|
27
|
+
*
|
|
28
|
+
* - [Click-Away Listener](https://next.mui.com/material-ui/react-click-away-listener/)
|
|
29
|
+
* - [Menu](https://next.mui.com/material-ui/react-menu/)
|
|
30
|
+
*
|
|
31
|
+
* API:
|
|
32
|
+
*
|
|
33
|
+
* - [ClickAwayListener API](https://next.mui.com/material-ui/api/click-away-listener/)
|
|
34
|
+
*/
|
|
35
|
+
function ClickAwayListener(props) {
|
|
36
|
+
const {
|
|
37
|
+
children,
|
|
38
|
+
disableReactTree = false,
|
|
39
|
+
mouseEvent = 'onClick',
|
|
40
|
+
onClickAway,
|
|
41
|
+
touchEvent = 'onTouchEnd'
|
|
42
|
+
} = props;
|
|
43
|
+
const movedRef = React.useRef(false);
|
|
44
|
+
const nodeRef = React.useRef(null);
|
|
45
|
+
const activatedRef = React.useRef(false);
|
|
46
|
+
const syntheticEventRef = React.useRef(false);
|
|
47
|
+
React.useEffect(() => {
|
|
48
|
+
// Ensure that this component is not "activated" synchronously.
|
|
49
|
+
// https://github.com/facebook/react/issues/20074
|
|
50
|
+
setTimeout(() => {
|
|
51
|
+
activatedRef.current = true;
|
|
52
|
+
}, 0);
|
|
53
|
+
return () => {
|
|
54
|
+
activatedRef.current = false;
|
|
55
|
+
};
|
|
56
|
+
}, []);
|
|
57
|
+
const handleRef = (0, _utils.unstable_useForkRef)(
|
|
58
|
+
// @ts-expect-error TODO upstream fix
|
|
59
|
+
children.ref, nodeRef);
|
|
60
|
+
|
|
61
|
+
// The handler doesn't take event.defaultPrevented into account:
|
|
62
|
+
//
|
|
63
|
+
// event.preventDefault() is meant to stop default behaviors like
|
|
64
|
+
// clicking a checkbox to check it, hitting a button to submit a form,
|
|
65
|
+
// and hitting left arrow to move the cursor in a text input etc.
|
|
66
|
+
// Only special HTML elements have these default behaviors.
|
|
67
|
+
const handleClickAway = (0, _utils.unstable_useEventCallback)(event => {
|
|
68
|
+
// Given developers can stop the propagation of the synthetic event,
|
|
69
|
+
// we can only be confident with a positive value.
|
|
70
|
+
const insideReactTree = syntheticEventRef.current;
|
|
71
|
+
syntheticEventRef.current = false;
|
|
72
|
+
const doc = (0, _utils.unstable_ownerDocument)(nodeRef.current);
|
|
73
|
+
|
|
74
|
+
// 1. IE11 support, which trigger the handleClickAway even after the unbind
|
|
75
|
+
// 2. The child might render null.
|
|
76
|
+
// 3. Behave like a blur listener.
|
|
77
|
+
if (!activatedRef.current || !nodeRef.current || 'clientX' in event && clickedRootScrollbar(event, doc)) {
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
// Do not act if user performed touchmove
|
|
82
|
+
if (movedRef.current) {
|
|
83
|
+
movedRef.current = false;
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
let insideDOM;
|
|
87
|
+
|
|
88
|
+
// If not enough, can use https://github.com/DieterHolvoet/event-propagation-path/blob/master/propagationPath.js
|
|
89
|
+
if (event.composedPath) {
|
|
90
|
+
insideDOM = event.composedPath().indexOf(nodeRef.current) > -1;
|
|
91
|
+
} else {
|
|
92
|
+
insideDOM = !doc.documentElement.contains(
|
|
93
|
+
// @ts-expect-error returns `false` as intended when not dispatched from a Node
|
|
94
|
+
event.target) || nodeRef.current.contains(
|
|
95
|
+
// @ts-expect-error returns `false` as intended when not dispatched from a Node
|
|
96
|
+
event.target);
|
|
97
|
+
}
|
|
98
|
+
if (!insideDOM && (disableReactTree || !insideReactTree)) {
|
|
99
|
+
onClickAway(event);
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
|
|
103
|
+
// Keep track of mouse/touch events that bubbled up through the portal.
|
|
104
|
+
const createHandleSynthetic = handlerName => event => {
|
|
105
|
+
syntheticEventRef.current = true;
|
|
106
|
+
const childrenPropsHandler = children.props[handlerName];
|
|
107
|
+
if (childrenPropsHandler) {
|
|
108
|
+
childrenPropsHandler(event);
|
|
109
|
+
}
|
|
110
|
+
};
|
|
111
|
+
const childrenProps = {
|
|
112
|
+
ref: handleRef
|
|
113
|
+
};
|
|
114
|
+
if (touchEvent !== false) {
|
|
115
|
+
childrenProps[touchEvent] = createHandleSynthetic(touchEvent);
|
|
116
|
+
}
|
|
117
|
+
React.useEffect(() => {
|
|
118
|
+
if (touchEvent !== false) {
|
|
119
|
+
const mappedTouchEvent = mapEventPropToEvent(touchEvent);
|
|
120
|
+
const doc = (0, _utils.unstable_ownerDocument)(nodeRef.current);
|
|
121
|
+
const handleTouchMove = () => {
|
|
122
|
+
movedRef.current = true;
|
|
123
|
+
};
|
|
124
|
+
doc.addEventListener(mappedTouchEvent, handleClickAway);
|
|
125
|
+
doc.addEventListener('touchmove', handleTouchMove);
|
|
126
|
+
return () => {
|
|
127
|
+
doc.removeEventListener(mappedTouchEvent, handleClickAway);
|
|
128
|
+
doc.removeEventListener('touchmove', handleTouchMove);
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
return undefined;
|
|
132
|
+
}, [handleClickAway, touchEvent]);
|
|
133
|
+
if (mouseEvent !== false) {
|
|
134
|
+
childrenProps[mouseEvent] = createHandleSynthetic(mouseEvent);
|
|
135
|
+
}
|
|
136
|
+
React.useEffect(() => {
|
|
137
|
+
if (mouseEvent !== false) {
|
|
138
|
+
const mappedMouseEvent = mapEventPropToEvent(mouseEvent);
|
|
139
|
+
const doc = (0, _utils.unstable_ownerDocument)(nodeRef.current);
|
|
140
|
+
doc.addEventListener(mappedMouseEvent, handleClickAway);
|
|
141
|
+
return () => {
|
|
142
|
+
doc.removeEventListener(mappedMouseEvent, handleClickAway);
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
return undefined;
|
|
146
|
+
}, [handleClickAway, mouseEvent]);
|
|
147
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(React.Fragment, {
|
|
148
|
+
children: /*#__PURE__*/React.cloneElement(children, childrenProps)
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
process.env.NODE_ENV !== "production" ? ClickAwayListener.propTypes /* remove-proptypes */ = {
|
|
152
|
+
// ┌────────────────────────────── Warning ──────────────────────────────┐
|
|
153
|
+
// │ These PropTypes are generated from the TypeScript type definitions. │
|
|
154
|
+
// │ To update them, edit the TypeScript types and run `pnpm proptypes`. │
|
|
155
|
+
// └─────────────────────────────────────────────────────────────────────┘
|
|
156
|
+
/**
|
|
157
|
+
* The wrapped element.
|
|
158
|
+
*/
|
|
159
|
+
children: _utils.elementAcceptingRef.isRequired,
|
|
160
|
+
/**
|
|
161
|
+
* If `true`, the React tree is ignored and only the DOM tree is considered.
|
|
162
|
+
* This prop changes how portaled elements are handled.
|
|
163
|
+
* @default false
|
|
164
|
+
*/
|
|
165
|
+
disableReactTree: _propTypes.default.bool,
|
|
166
|
+
/**
|
|
167
|
+
* The mouse event to listen to. You can disable the listener by providing `false`.
|
|
168
|
+
* @default 'onClick'
|
|
169
|
+
*/
|
|
170
|
+
mouseEvent: _propTypes.default.oneOf(['onClick', 'onMouseDown', 'onMouseUp', 'onPointerDown', 'onPointerUp', false]),
|
|
171
|
+
/**
|
|
172
|
+
* Callback fired when a "click away" event is detected.
|
|
173
|
+
*/
|
|
174
|
+
onClickAway: _propTypes.default.func.isRequired,
|
|
175
|
+
/**
|
|
176
|
+
* The touch event to listen to. You can disable the listener by providing `false`.
|
|
177
|
+
* @default 'onTouchEnd'
|
|
178
|
+
*/
|
|
179
|
+
touchEvent: _propTypes.default.oneOf(['onTouchEnd', 'onTouchStart', false])
|
|
180
|
+
} : void 0;
|
|
181
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
182
|
+
// eslint-disable-next-line
|
|
183
|
+
ClickAwayListener['propTypes' + ''] = (0, _utils.exactProp)(ClickAwayListener.propTypes);
|
|
184
|
+
}
|
|
@@ -12,9 +12,9 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
|
12
12
|
var _clsx = _interopRequireDefault(require("clsx"));
|
|
13
13
|
var _elementTypeAcceptingRef = _interopRequireDefault(require("@mui/utils/elementTypeAcceptingRef"));
|
|
14
14
|
var _refType = _interopRequireDefault(require("@mui/utils/refType"));
|
|
15
|
-
var _base = require("@mui/base");
|
|
16
|
-
var _utils = require("@mui/base/utils");
|
|
17
15
|
var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
|
|
16
|
+
var _TextareaAutosize = _interopRequireDefault(require("../TextareaAutosize"));
|
|
17
|
+
var _isHostComponent = _interopRequireDefault(require("../utils/isHostComponent"));
|
|
18
18
|
var _formControlState = _interopRequireDefault(require("../FormControl/formControlState"));
|
|
19
19
|
var _FormControlContext = _interopRequireDefault(require("../FormControl/FormControlContext"));
|
|
20
20
|
var _useFormControl = _interopRequireDefault(require("../FormControl/useFormControl"));
|
|
@@ -23,7 +23,7 @@ var _DefaultPropsProvider = require("../DefaultPropsProvider");
|
|
|
23
23
|
var _capitalize = _interopRequireDefault(require("../utils/capitalize"));
|
|
24
24
|
var _useForkRef = _interopRequireDefault(require("../utils/useForkRef"));
|
|
25
25
|
var _useEnhancedEffect = _interopRequireDefault(require("../utils/useEnhancedEffect"));
|
|
26
|
-
var
|
|
26
|
+
var _utils = require("./utils");
|
|
27
27
|
var _inputBaseClasses = _interopRequireWildcard(require("./inputBaseClasses"));
|
|
28
28
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
29
29
|
var _InputGlobalStyles;
|
|
@@ -336,7 +336,7 @@ const InputBase = /*#__PURE__*/React.forwardRef(function InputBase(inProps, ref)
|
|
|
336
336
|
const onFilled = muiFormControl && muiFormControl.onFilled;
|
|
337
337
|
const onEmpty = muiFormControl && muiFormControl.onEmpty;
|
|
338
338
|
const checkDirty = React.useCallback(obj => {
|
|
339
|
-
if ((0,
|
|
339
|
+
if ((0, _utils.isFilled)(obj)) {
|
|
340
340
|
if (onFilled) {
|
|
341
341
|
onFilled();
|
|
342
342
|
}
|
|
@@ -434,7 +434,7 @@ const InputBase = /*#__PURE__*/React.forwardRef(function InputBase(inProps, ref)
|
|
|
434
434
|
...inputProps
|
|
435
435
|
};
|
|
436
436
|
}
|
|
437
|
-
InputComponent =
|
|
437
|
+
InputComponent = _TextareaAutosize.default;
|
|
438
438
|
}
|
|
439
439
|
const handleAutoFill = event => {
|
|
440
440
|
// Provide a fake value as Chrome might not let you access it for security reasons.
|
|
@@ -478,7 +478,7 @@ const InputBase = /*#__PURE__*/React.forwardRef(function InputBase(inProps, ref)
|
|
|
478
478
|
ref: ref,
|
|
479
479
|
onClick: handleClick,
|
|
480
480
|
...other,
|
|
481
|
-
...(!(0,
|
|
481
|
+
...(!(0, _isHostComponent.default)(Root) && {
|
|
482
482
|
ownerState: {
|
|
483
483
|
...ownerState,
|
|
484
484
|
...rootProps.ownerState
|
|
@@ -506,7 +506,7 @@ const InputBase = /*#__PURE__*/React.forwardRef(function InputBase(inProps, ref)
|
|
|
506
506
|
onKeyUp: onKeyUp,
|
|
507
507
|
type: type,
|
|
508
508
|
...inputProps,
|
|
509
|
-
...(!(0,
|
|
509
|
+
...(!(0, _isHostComponent.default)(Input) && {
|
|
510
510
|
as: InputComponent,
|
|
511
511
|
ownerState: {
|
|
512
512
|
...ownerState,
|
|
@@ -9,11 +9,11 @@ exports.overridesResolver = exports.default = exports.ListItemRoot = void 0;
|
|
|
9
9
|
var React = _interopRequireWildcard(require("react"));
|
|
10
10
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
11
|
var _clsx = _interopRequireDefault(require("clsx"));
|
|
12
|
-
var _utils = require("@mui/base/utils");
|
|
13
12
|
var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
|
|
14
13
|
var _elementTypeAcceptingRef = _interopRequireDefault(require("@mui/utils/elementTypeAcceptingRef"));
|
|
15
14
|
var _chainPropTypes = _interopRequireDefault(require("@mui/utils/chainPropTypes"));
|
|
16
15
|
var _colorManipulator = require("@mui/system/colorManipulator");
|
|
16
|
+
var _isHostComponent = _interopRequireDefault(require("../utils/isHostComponent"));
|
|
17
17
|
var _zeroStyled = require("../zero-styled");
|
|
18
18
|
var _DefaultPropsProvider = require("../DefaultPropsProvider");
|
|
19
19
|
var _ButtonBase = _interopRequireDefault(require("../ButtonBase"));
|
|
@@ -286,7 +286,7 @@ const ListItem = /*#__PURE__*/React.forwardRef(function ListItem(inProps, ref) {
|
|
|
286
286
|
...ContainerProps,
|
|
287
287
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(Root, {
|
|
288
288
|
...rootProps,
|
|
289
|
-
...(!(0,
|
|
289
|
+
...(!(0, _isHostComponent.default)(Root) && {
|
|
290
290
|
as: Component,
|
|
291
291
|
ownerState: {
|
|
292
292
|
...ownerState,
|
|
@@ -305,7 +305,7 @@ const ListItem = /*#__PURE__*/React.forwardRef(function ListItem(inProps, ref) {
|
|
|
305
305
|
...rootProps,
|
|
306
306
|
as: Component,
|
|
307
307
|
ref: handleRef,
|
|
308
|
-
...(!(0,
|
|
308
|
+
...(!(0, _isHostComponent.default)(Root) && {
|
|
309
309
|
ownerState: {
|
|
310
310
|
...ownerState,
|
|
311
311
|
...rootProps.ownerState
|
package/node/Menu/Menu.js
CHANGED
|
@@ -11,9 +11,9 @@ var _reactIs = require("react-is");
|
|
|
11
11
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
12
12
|
var _clsx = _interopRequireDefault(require("clsx"));
|
|
13
13
|
var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
|
|
14
|
-
var _utils = require("@mui/base/utils");
|
|
15
14
|
var _HTMLElementType = _interopRequireDefault(require("@mui/utils/HTMLElementType"));
|
|
16
15
|
var _RtlProvider = require("@mui/system/RtlProvider");
|
|
16
|
+
var _useSlotProps = _interopRequireDefault(require("@mui/utils/useSlotProps"));
|
|
17
17
|
var _MenuList = _interopRequireDefault(require("../MenuList"));
|
|
18
18
|
var _Popover = _interopRequireWildcard(require("../Popover"));
|
|
19
19
|
var _rootShouldForwardProp = _interopRequireDefault(require("../styles/rootShouldForwardProp"));
|
|
@@ -156,13 +156,13 @@ const Menu = /*#__PURE__*/React.forwardRef(function Menu(inProps, ref) {
|
|
|
156
156
|
});
|
|
157
157
|
const PaperSlot = (_slots$paper = slots.paper) != null ? _slots$paper : MenuPaper;
|
|
158
158
|
const paperExternalSlotProps = (_slotProps$paper = slotProps.paper) != null ? _slotProps$paper : PaperProps;
|
|
159
|
-
const rootSlotProps = (0,
|
|
159
|
+
const rootSlotProps = (0, _useSlotProps.default)({
|
|
160
160
|
elementType: slots.root,
|
|
161
161
|
externalSlotProps: slotProps.root,
|
|
162
162
|
ownerState,
|
|
163
163
|
className: [classes.root, className]
|
|
164
164
|
});
|
|
165
|
-
const paperSlotProps = (0,
|
|
165
|
+
const paperSlotProps = (0, _useSlotProps.default)({
|
|
166
166
|
elementType: PaperSlot,
|
|
167
167
|
externalSlotProps: paperExternalSlotProps,
|
|
168
168
|
ownerState,
|
package/node/Modal/Modal.js
CHANGED
|
@@ -11,13 +11,13 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
|
11
11
|
var _clsx = _interopRequireDefault(require("clsx"));
|
|
12
12
|
var _HTMLElementType = _interopRequireDefault(require("@mui/utils/HTMLElementType"));
|
|
13
13
|
var _elementAcceptingRef = _interopRequireDefault(require("@mui/utils/elementAcceptingRef"));
|
|
14
|
-
var _unstable_useModal = require("@mui/base/unstable_useModal");
|
|
15
14
|
var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
|
|
16
15
|
var _Unstable_TrapFocus = _interopRequireDefault(require("../Unstable_TrapFocus"));
|
|
17
16
|
var _Portal = _interopRequireDefault(require("../Portal"));
|
|
18
17
|
var _zeroStyled = require("../zero-styled");
|
|
19
18
|
var _DefaultPropsProvider = require("../DefaultPropsProvider");
|
|
20
19
|
var _Backdrop = _interopRequireDefault(require("../Backdrop"));
|
|
20
|
+
var _useModal = _interopRequireDefault(require("./useModal"));
|
|
21
21
|
var _modalClasses = require("./modalClasses");
|
|
22
22
|
var _useSlot = _interopRequireDefault(require("../utils/useSlot"));
|
|
23
23
|
var _utils = require("../utils");
|
|
@@ -141,7 +141,7 @@ const Modal = /*#__PURE__*/React.forwardRef(function Modal(inProps, ref) {
|
|
|
141
141
|
isTopModal,
|
|
142
142
|
exited,
|
|
143
143
|
hasTransition
|
|
144
|
-
} = (0,
|
|
144
|
+
} = (0, _useModal.default)({
|
|
145
145
|
...propsWithDefaults,
|
|
146
146
|
rootRef: ref
|
|
147
147
|
});
|