@mui/utils 5.10.6 → 5.10.14
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/CHANGELOG.md +767 -212
- package/ClassNameGenerator/ClassNameGenerator.js +0 -6
- package/ClassNameGenerator/index.js +0 -2
- package/HTMLElementType.js +0 -5
- package/capitalize.js +0 -4
- package/chainPropTypes.js +0 -2
- package/composeClasses/composeClasses.js +2 -4
- package/composeClasses/index.js +0 -2
- package/createChainedFunction.js +0 -2
- package/debounce.js +0 -5
- package/deepmerge.js +0 -7
- package/deprecatedPropType.js +0 -4
- package/elementAcceptingRef.js +2 -12
- package/elementTypeAcceptingRef.js +3 -13
- package/esm/ClassNameGenerator/ClassNameGenerator.js +0 -5
- package/esm/HTMLElementType.js +0 -4
- package/esm/capitalize.js +0 -1
- package/esm/chainPropTypes.js +0 -1
- package/esm/composeClasses/composeClasses.js +2 -3
- package/esm/createChainedFunction.js +0 -1
- package/esm/debounce.js +0 -4
- package/esm/deepmerge.js +0 -3
- package/esm/deprecatedPropType.js +0 -3
- package/esm/elementAcceptingRef.js +2 -9
- package/esm/elementTypeAcceptingRef.js +3 -9
- package/esm/exactProp.js +1 -3
- package/esm/formatMuiErrorMessage.js +0 -3
- package/esm/getDisplayName.js +6 -13
- package/esm/integerPropType.js +2 -17
- package/esm/requirePropFactory.js +2 -8
- package/esm/resolveProps.js +0 -2
- package/esm/scrollLeft.js +5 -11
- package/esm/unsupportedProp.js +0 -3
- package/esm/useControlled.js +0 -2
- package/esm/useEventCallback.js +3 -2
- package/esm/useForkRef.js +9 -8
- package/esm/useId.js +4 -7
- package/esm/useIsFocusVisible.js +10 -26
- package/esm/usePreviousProps.js +0 -2
- package/exactProp.js +1 -7
- package/formatMuiErrorMessage.js +0 -4
- package/generateUtilityClass/generateUtilityClass.js +0 -4
- package/generateUtilityClass/index.js +0 -4
- package/generateUtilityClasses/generateUtilityClasses.js +0 -3
- package/generateUtilityClasses/index.js +0 -2
- package/getDisplayName.js +3 -14
- package/getScrollbarSize.js +0 -1
- package/index.js +1 -41
- package/integerPropType.js +2 -21
- package/isMuiElement.js +0 -4
- package/legacy/ClassNameGenerator/ClassNameGenerator.js +0 -2
- package/legacy/HTMLElementType.js +0 -4
- package/legacy/capitalize.js +0 -1
- package/legacy/chainPropTypes.js +0 -1
- package/legacy/composeClasses/composeClasses.js +2 -3
- package/legacy/createChainedFunction.js +0 -3
- package/legacy/debounce.js +0 -6
- package/legacy/deepmerge.js +0 -3
- package/legacy/deprecatedPropType.js +0 -3
- package/legacy/elementAcceptingRef.js +3 -10
- package/legacy/elementTypeAcceptingRef.js +4 -10
- package/legacy/exactProp.js +1 -3
- package/legacy/formatMuiErrorMessage.js +0 -3
- package/legacy/getDisplayName.js +6 -13
- package/legacy/index.js +1 -1
- package/legacy/integerPropType.js +2 -18
- package/legacy/requirePropFactory.js +2 -9
- package/legacy/resolveProps.js +0 -2
- package/legacy/scrollLeft.js +5 -11
- package/legacy/unsupportedProp.js +0 -3
- package/legacy/useControlled.js +8 -15
- package/legacy/useEventCallback.js +3 -2
- package/legacy/useForkRef.js +14 -8
- package/legacy/useId.js +6 -10
- package/legacy/useIsFocusVisible.js +12 -28
- package/legacy/usePreviousProps.js +0 -2
- package/modern/ClassNameGenerator/ClassNameGenerator.js +0 -5
- package/modern/HTMLElementType.js +0 -4
- package/modern/capitalize.js +0 -1
- package/modern/chainPropTypes.js +0 -1
- package/modern/composeClasses/composeClasses.js +2 -3
- package/modern/createChainedFunction.js +0 -1
- package/modern/debounce.js +0 -4
- package/modern/deepmerge.js +0 -3
- package/modern/deprecatedPropType.js +0 -3
- package/modern/elementAcceptingRef.js +2 -9
- package/modern/elementTypeAcceptingRef.js +3 -9
- package/modern/exactProp.js +1 -3
- package/modern/formatMuiErrorMessage.js +0 -3
- package/modern/getDisplayName.js +6 -13
- package/modern/index.js +1 -1
- package/modern/integerPropType.js +2 -17
- package/modern/requirePropFactory.js +2 -8
- package/modern/resolveProps.js +0 -2
- package/modern/scrollLeft.js +5 -11
- package/modern/unsupportedProp.js +0 -3
- package/modern/useControlled.js +0 -2
- package/modern/useEventCallback.js +3 -2
- package/modern/useForkRef.js +9 -8
- package/modern/useId.js +4 -7
- package/modern/useIsFocusVisible.js +10 -26
- package/modern/usePreviousProps.js +0 -2
- package/ownerDocument.js +0 -1
- package/ownerWindow.js +0 -3
- package/package.json +2 -2
- package/ponyfillGlobal.js +0 -2
- package/refType.js +0 -4
- package/requirePropFactory.js +2 -11
- package/resolveProps.js +0 -3
- package/scrollLeft.js +5 -12
- package/setRef.js +0 -1
- package/unsupportedProp.js +0 -4
- package/useControlled.js +1 -6
- package/useEnhancedEffect.js +0 -4
- package/useEventCallback.js +2 -7
- package/useForkRef.d.ts +1 -1
- package/useForkRef.js +9 -14
- package/useId.js +4 -11
- package/useIsFocusVisible.js +11 -30
- package/usePreviousProps.js +0 -5
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mui/utils",
|
|
3
|
-
"version": "5.10.
|
|
3
|
+
"version": "5.10.14",
|
|
4
4
|
"private": false,
|
|
5
5
|
"author": "MUI Team",
|
|
6
6
|
"description": "Utility functions for React components.",
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"react": "^17.0.0 || ^18.0.0"
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@babel/runtime": "^7.
|
|
32
|
+
"@babel/runtime": "^7.20.1",
|
|
33
33
|
"@types/prop-types": "^15.7.5",
|
|
34
34
|
"@types/react-is": "^16.7.1 || ^17.0.0",
|
|
35
35
|
"prop-types": "^15.8.1",
|
package/ponyfillGlobal.js
CHANGED
|
@@ -4,9 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
7
|
/* eslint-disable */
|
|
9
8
|
// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
|
|
10
9
|
var _default = typeof window != 'undefined' && window.Math == Math ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')();
|
|
11
|
-
|
|
12
10
|
exports.default = _default;
|
package/refType.js
CHANGED
|
@@ -1,15 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.default = void 0;
|
|
9
|
-
|
|
10
8
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
-
|
|
12
9
|
const refType = _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]);
|
|
13
|
-
|
|
14
10
|
var _default = refType;
|
|
15
11
|
exports.default = _default;
|
package/requirePropFactory.js
CHANGED
|
@@ -1,40 +1,31 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.default = requirePropFactory;
|
|
9
|
-
|
|
10
8
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
|
-
|
|
12
9
|
function requirePropFactory(componentNameInError, Component) {
|
|
13
10
|
if (process.env.NODE_ENV === 'production') {
|
|
14
11
|
return () => null;
|
|
15
|
-
}
|
|
16
|
-
|
|
12
|
+
}
|
|
17
13
|
|
|
14
|
+
// eslint-disable-next-line react/forbid-foreign-prop-types
|
|
18
15
|
const prevPropTypes = Component ? (0, _extends2.default)({}, Component.propTypes) : null;
|
|
19
|
-
|
|
20
16
|
const requireProp = requiredProp => (props, propName, componentName, location, propFullName, ...args) => {
|
|
21
17
|
const propFullNameSafe = propFullName || propName;
|
|
22
18
|
const defaultTypeChecker = prevPropTypes == null ? void 0 : prevPropTypes[propFullNameSafe];
|
|
23
|
-
|
|
24
19
|
if (defaultTypeChecker) {
|
|
25
20
|
const typeCheckerResult = defaultTypeChecker(props, propName, componentName, location, propFullName, ...args);
|
|
26
|
-
|
|
27
21
|
if (typeCheckerResult) {
|
|
28
22
|
return typeCheckerResult;
|
|
29
23
|
}
|
|
30
24
|
}
|
|
31
|
-
|
|
32
25
|
if (typeof props[propName] !== 'undefined' && !props[requiredProp]) {
|
|
33
26
|
return new Error(`The prop \`${propFullNameSafe}\` of ` + `\`${componentNameInError}\` can only be used together with the \`${requiredProp}\` prop.`);
|
|
34
27
|
}
|
|
35
|
-
|
|
36
28
|
return null;
|
|
37
29
|
};
|
|
38
|
-
|
|
39
30
|
return requireProp;
|
|
40
31
|
}
|
package/resolveProps.js
CHANGED
|
@@ -1,14 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.default = resolveProps;
|
|
9
|
-
|
|
10
8
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
|
-
|
|
12
9
|
/**
|
|
13
10
|
* Add keys, values of `defaultProps` that does not exist in `props`
|
|
14
11
|
* @param {object} defaultProps
|
package/scrollLeft.js
CHANGED
|
@@ -7,6 +7,7 @@ exports.detectScrollType = detectScrollType;
|
|
|
7
7
|
exports.getNormalizedScrollLeft = getNormalizedScrollLeft;
|
|
8
8
|
// Source from https://github.com/alitaheri/normalize-scroll-left
|
|
9
9
|
let cachedType;
|
|
10
|
+
|
|
10
11
|
/**
|
|
11
12
|
* Based on the jquery plugin https://github.com/othree/jquery.rtl-scroll-type
|
|
12
13
|
*
|
|
@@ -26,12 +27,10 @@ let cachedType;
|
|
|
26
27
|
*
|
|
27
28
|
* spec* https://drafts.csswg.org/cssom-view/#dom-window-scroll
|
|
28
29
|
*/
|
|
29
|
-
|
|
30
30
|
function detectScrollType() {
|
|
31
31
|
if (cachedType) {
|
|
32
32
|
return cachedType;
|
|
33
33
|
}
|
|
34
|
-
|
|
35
34
|
const dummy = document.createElement('div');
|
|
36
35
|
const container = document.createElement('div');
|
|
37
36
|
container.style.width = '10px';
|
|
@@ -46,38 +45,32 @@ function detectScrollType() {
|
|
|
46
45
|
dummy.style.overflow = 'scroll';
|
|
47
46
|
document.body.appendChild(dummy);
|
|
48
47
|
cachedType = 'reverse';
|
|
49
|
-
|
|
50
48
|
if (dummy.scrollLeft > 0) {
|
|
51
49
|
cachedType = 'default';
|
|
52
50
|
} else {
|
|
53
51
|
dummy.scrollLeft = 1;
|
|
54
|
-
|
|
55
52
|
if (dummy.scrollLeft === 0) {
|
|
56
53
|
cachedType = 'negative';
|
|
57
54
|
}
|
|
58
55
|
}
|
|
59
|
-
|
|
60
56
|
document.body.removeChild(dummy);
|
|
61
57
|
return cachedType;
|
|
62
|
-
}
|
|
63
|
-
|
|
58
|
+
}
|
|
64
59
|
|
|
60
|
+
// Based on https://stackoverflow.com/a/24394376
|
|
65
61
|
function getNormalizedScrollLeft(element, direction) {
|
|
66
|
-
const scrollLeft = element.scrollLeft;
|
|
62
|
+
const scrollLeft = element.scrollLeft;
|
|
67
63
|
|
|
64
|
+
// Perform the calculations only when direction is rtl to avoid messing up the ltr behavior
|
|
68
65
|
if (direction !== 'rtl') {
|
|
69
66
|
return scrollLeft;
|
|
70
67
|
}
|
|
71
|
-
|
|
72
68
|
const type = detectScrollType();
|
|
73
|
-
|
|
74
69
|
switch (type) {
|
|
75
70
|
case 'negative':
|
|
76
71
|
return element.scrollWidth - element.clientWidth + scrollLeft;
|
|
77
|
-
|
|
78
72
|
case 'reverse':
|
|
79
73
|
return element.scrollWidth - element.clientWidth - scrollLeft;
|
|
80
|
-
|
|
81
74
|
default:
|
|
82
75
|
return scrollLeft;
|
|
83
76
|
}
|
package/setRef.js
CHANGED
package/unsupportedProp.js
CHANGED
|
@@ -4,17 +4,13 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = unsupportedProp;
|
|
7
|
-
|
|
8
7
|
function unsupportedProp(props, propName, componentName, location, propFullName) {
|
|
9
8
|
if (process.env.NODE_ENV === 'production') {
|
|
10
9
|
return null;
|
|
11
10
|
}
|
|
12
|
-
|
|
13
11
|
const propFullNameSafe = propFullName || propName;
|
|
14
|
-
|
|
15
12
|
if (typeof props[propName] !== 'undefined') {
|
|
16
13
|
return new Error(`The prop \`${propFullNameSafe}\` is not supported. Please remove it.`);
|
|
17
14
|
}
|
|
18
|
-
|
|
19
15
|
return null;
|
|
20
16
|
}
|
package/useControlled.js
CHANGED
|
@@ -4,14 +4,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = useControlled;
|
|
7
|
-
|
|
8
7
|
var React = _interopRequireWildcard(require("react"));
|
|
9
|
-
|
|
10
8
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
11
|
-
|
|
12
9
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
13
|
-
|
|
14
10
|
/* eslint-disable react-hooks/rules-of-hooks, react-hooks/exhaustive-deps */
|
|
11
|
+
|
|
15
12
|
function useControlled({
|
|
16
13
|
controlled,
|
|
17
14
|
default: defaultProp,
|
|
@@ -24,7 +21,6 @@ function useControlled({
|
|
|
24
21
|
} = React.useRef(controlled !== undefined);
|
|
25
22
|
const [valueState, setValue] = React.useState(defaultProp);
|
|
26
23
|
const value = isControlled ? controlled : valueState;
|
|
27
|
-
|
|
28
24
|
if (process.env.NODE_ENV !== 'production') {
|
|
29
25
|
React.useEffect(() => {
|
|
30
26
|
if (isControlled !== (controlled !== undefined)) {
|
|
@@ -40,7 +36,6 @@ function useControlled({
|
|
|
40
36
|
}
|
|
41
37
|
}, [JSON.stringify(defaultProp)]);
|
|
42
38
|
}
|
|
43
|
-
|
|
44
39
|
const setValueIfUncontrolled = React.useCallback(newValue => {
|
|
45
40
|
if (!isControlled) {
|
|
46
41
|
setValue(newValue);
|
package/useEnhancedEffect.js
CHANGED
|
@@ -4,13 +4,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
7
|
var React = _interopRequireWildcard(require("react"));
|
|
9
|
-
|
|
10
8
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
11
|
-
|
|
12
9
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
13
|
-
|
|
14
10
|
const useEnhancedEffect = typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;
|
|
15
11
|
var _default = useEnhancedEffect;
|
|
16
12
|
exports.default = _default;
|
package/useEventCallback.js
CHANGED
|
@@ -1,20 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.default = useEventCallback;
|
|
9
|
-
|
|
10
8
|
var React = _interopRequireWildcard(require("react"));
|
|
11
|
-
|
|
12
9
|
var _useEnhancedEffect = _interopRequireDefault(require("./useEnhancedEffect"));
|
|
13
|
-
|
|
14
10
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
15
|
-
|
|
16
11
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
17
|
-
|
|
18
12
|
/**
|
|
19
13
|
* https://github.com/facebook/react/issues/14099#issuecomment-440013892
|
|
20
14
|
*/
|
|
@@ -23,7 +17,8 @@ function useEventCallback(fn) {
|
|
|
23
17
|
(0, _useEnhancedEffect.default)(() => {
|
|
24
18
|
ref.current = fn;
|
|
25
19
|
});
|
|
26
|
-
return React.useCallback((...args) =>
|
|
20
|
+
return React.useCallback((...args) =>
|
|
21
|
+
// @ts-expect-error hide `this`
|
|
27
22
|
// tslint:disable-next-line:ban-comma-operator
|
|
28
23
|
(0, ref.current)(...args), []);
|
|
29
24
|
}
|
package/useForkRef.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
export default function useForkRef<
|
|
2
|
+
export default function useForkRef<Instance>(...refs: Array<React.Ref<Instance> | undefined>): React.RefCallback<Instance> | null;
|
package/useForkRef.js
CHANGED
|
@@ -1,34 +1,29 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.default = useForkRef;
|
|
9
|
-
|
|
10
8
|
var React = _interopRequireWildcard(require("react"));
|
|
11
|
-
|
|
12
9
|
var _setRef = _interopRequireDefault(require("./setRef"));
|
|
13
|
-
|
|
14
10
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
15
|
-
|
|
16
11
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
17
|
-
|
|
18
|
-
function useForkRef(refA, refB) {
|
|
12
|
+
function useForkRef(...refs) {
|
|
19
13
|
/**
|
|
20
|
-
* This will create a new function if the
|
|
14
|
+
* This will create a new function if the refs passed to this hook change and are all defined.
|
|
21
15
|
* This means react will call the old forkRef with `null` and the new forkRef
|
|
22
16
|
* with the ref. Cleanup naturally emerges from this behavior.
|
|
23
17
|
*/
|
|
24
18
|
return React.useMemo(() => {
|
|
25
|
-
if (
|
|
19
|
+
if (refs.every(ref => ref == null)) {
|
|
26
20
|
return null;
|
|
27
21
|
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
22
|
+
return instance => {
|
|
23
|
+
refs.forEach(ref => {
|
|
24
|
+
(0, _setRef.default)(ref, instance);
|
|
25
|
+
});
|
|
32
26
|
};
|
|
33
|
-
|
|
27
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
28
|
+
}, refs);
|
|
34
29
|
}
|
package/useId.js
CHANGED
|
@@ -4,15 +4,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = useId;
|
|
7
|
-
|
|
8
7
|
var React = _interopRequireWildcard(require("react"));
|
|
9
|
-
|
|
10
8
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
11
|
-
|
|
12
9
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
13
|
-
|
|
14
10
|
let globalId = 0;
|
|
15
|
-
|
|
16
11
|
function useGlobalId(idOverride) {
|
|
17
12
|
const [defaultId, setDefaultId] = React.useState(idOverride);
|
|
18
13
|
const id = idOverride || defaultId;
|
|
@@ -27,9 +22,9 @@ function useGlobalId(idOverride) {
|
|
|
27
22
|
}
|
|
28
23
|
}, [defaultId]);
|
|
29
24
|
return id;
|
|
30
|
-
}
|
|
31
|
-
|
|
25
|
+
}
|
|
32
26
|
|
|
27
|
+
// eslint-disable-next-line no-useless-concat -- Workaround for https://github.com/webpack/webpack/issues/14814
|
|
33
28
|
const maybeReactUseId = React['useId' + ''];
|
|
34
29
|
/**
|
|
35
30
|
*
|
|
@@ -37,13 +32,11 @@ const maybeReactUseId = React['useId' + ''];
|
|
|
37
32
|
* @param idOverride
|
|
38
33
|
* @returns {string}
|
|
39
34
|
*/
|
|
40
|
-
|
|
41
35
|
function useId(idOverride) {
|
|
42
36
|
if (maybeReactUseId !== undefined) {
|
|
43
37
|
const reactId = maybeReactUseId();
|
|
44
38
|
return idOverride != null ? idOverride : reactId;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
|
|
39
|
+
}
|
|
40
|
+
// eslint-disable-next-line react-hooks/rules-of-hooks -- `React.useId` is invariant at runtime.
|
|
48
41
|
return useGlobalId(idOverride);
|
|
49
42
|
}
|
package/useIsFocusVisible.js
CHANGED
|
@@ -5,14 +5,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = useIsFocusVisible;
|
|
7
7
|
exports.teardown = teardown;
|
|
8
|
-
|
|
9
8
|
var React = _interopRequireWildcard(require("react"));
|
|
10
|
-
|
|
11
9
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
12
|
-
|
|
13
10
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
14
|
-
|
|
15
11
|
// based on https://github.com/WICG/focus-visible/blob/v4.1.5/src/focus-visible.js
|
|
12
|
+
|
|
16
13
|
let hadKeyboardEvent = true;
|
|
17
14
|
let hadFocusVisibleRecently = false;
|
|
18
15
|
let hadFocusVisibleRecentlyTimeout;
|
|
@@ -31,6 +28,7 @@ const inputTypesWhitelist = {
|
|
|
31
28
|
datetime: true,
|
|
32
29
|
'datetime-local': true
|
|
33
30
|
};
|
|
31
|
+
|
|
34
32
|
/**
|
|
35
33
|
* Computes whether the given element should automatically trigger the
|
|
36
34
|
* `focus-visible` class being added, i.e. whether it should always match
|
|
@@ -38,27 +36,23 @@ const inputTypesWhitelist = {
|
|
|
38
36
|
* @param {Element} node
|
|
39
37
|
* @returns {boolean}
|
|
40
38
|
*/
|
|
41
|
-
|
|
42
39
|
function focusTriggersKeyboardModality(node) {
|
|
43
40
|
const {
|
|
44
41
|
type,
|
|
45
42
|
tagName
|
|
46
43
|
} = node;
|
|
47
|
-
|
|
48
44
|
if (tagName === 'INPUT' && inputTypesWhitelist[type] && !node.readOnly) {
|
|
49
45
|
return true;
|
|
50
46
|
}
|
|
51
|
-
|
|
52
47
|
if (tagName === 'TEXTAREA' && !node.readOnly) {
|
|
53
48
|
return true;
|
|
54
49
|
}
|
|
55
|
-
|
|
56
50
|
if (node.isContentEditable) {
|
|
57
51
|
return true;
|
|
58
52
|
}
|
|
59
|
-
|
|
60
53
|
return false;
|
|
61
54
|
}
|
|
55
|
+
|
|
62
56
|
/**
|
|
63
57
|
* Keep track of our keyboard modality state with `hadKeyboardEvent`.
|
|
64
58
|
* If the most recent user interaction was via the keyboard;
|
|
@@ -66,15 +60,13 @@ function focusTriggersKeyboardModality(node) {
|
|
|
66
60
|
* then the modality is keyboard. Otherwise, the modality is not keyboard.
|
|
67
61
|
* @param {KeyboardEvent} event
|
|
68
62
|
*/
|
|
69
|
-
|
|
70
|
-
|
|
71
63
|
function handleKeyDown(event) {
|
|
72
64
|
if (event.metaKey || event.altKey || event.ctrlKey) {
|
|
73
65
|
return;
|
|
74
66
|
}
|
|
75
|
-
|
|
76
67
|
hadKeyboardEvent = true;
|
|
77
68
|
}
|
|
69
|
+
|
|
78
70
|
/**
|
|
79
71
|
* If at any point a user clicks with a pointing device, ensure that we change
|
|
80
72
|
* the modality away from keyboard.
|
|
@@ -82,12 +74,9 @@ function handleKeyDown(event) {
|
|
|
82
74
|
* element, and then clicks on a different element, focusing it with a
|
|
83
75
|
* pointing device, while we still think we're in keyboard modality.
|
|
84
76
|
*/
|
|
85
|
-
|
|
86
|
-
|
|
87
77
|
function handlePointerDown() {
|
|
88
78
|
hadKeyboardEvent = false;
|
|
89
79
|
}
|
|
90
|
-
|
|
91
80
|
function handleVisibilityChange() {
|
|
92
81
|
if (this.visibilityState === 'hidden') {
|
|
93
82
|
// If the tab becomes active again, the browser will handle calling focus
|
|
@@ -99,7 +88,6 @@ function handleVisibilityChange() {
|
|
|
99
88
|
}
|
|
100
89
|
}
|
|
101
90
|
}
|
|
102
|
-
|
|
103
91
|
function prepare(doc) {
|
|
104
92
|
doc.addEventListener('keydown', handleKeyDown, true);
|
|
105
93
|
doc.addEventListener('mousedown', handlePointerDown, true);
|
|
@@ -107,7 +95,6 @@ function prepare(doc) {
|
|
|
107
95
|
doc.addEventListener('touchstart', handlePointerDown, true);
|
|
108
96
|
doc.addEventListener('visibilitychange', handleVisibilityChange, true);
|
|
109
97
|
}
|
|
110
|
-
|
|
111
98
|
function teardown(doc) {
|
|
112
99
|
doc.removeEventListener('keydown', handleKeyDown, true);
|
|
113
100
|
doc.removeEventListener('mousedown', handlePointerDown, true);
|
|
@@ -115,25 +102,23 @@ function teardown(doc) {
|
|
|
115
102
|
doc.removeEventListener('touchstart', handlePointerDown, true);
|
|
116
103
|
doc.removeEventListener('visibilitychange', handleVisibilityChange, true);
|
|
117
104
|
}
|
|
118
|
-
|
|
119
105
|
function isFocusVisible(event) {
|
|
120
106
|
const {
|
|
121
107
|
target
|
|
122
108
|
} = event;
|
|
123
|
-
|
|
124
109
|
try {
|
|
125
110
|
return target.matches(':focus-visible');
|
|
126
|
-
} catch (error) {
|
|
111
|
+
} catch (error) {
|
|
112
|
+
// Browsers not implementing :focus-visible will throw a SyntaxError.
|
|
127
113
|
// We use our own heuristic for those browsers.
|
|
128
114
|
// Rethrow might be better if it's not the expected error but do we really
|
|
129
115
|
// want to crash if focus-visible malfunctioned?
|
|
130
|
-
}
|
|
131
|
-
// focusable events only.
|
|
132
|
-
|
|
116
|
+
}
|
|
133
117
|
|
|
118
|
+
// No need for validFocusTarget check. The user does that by attaching it to
|
|
119
|
+
// focusable events only.
|
|
134
120
|
return hadKeyboardEvent || focusTriggersKeyboardModality(target);
|
|
135
121
|
}
|
|
136
|
-
|
|
137
122
|
function useIsFocusVisible() {
|
|
138
123
|
const ref = React.useCallback(node => {
|
|
139
124
|
if (node != null) {
|
|
@@ -141,10 +126,10 @@ function useIsFocusVisible() {
|
|
|
141
126
|
}
|
|
142
127
|
}, []);
|
|
143
128
|
const isFocusVisibleRef = React.useRef(false);
|
|
129
|
+
|
|
144
130
|
/**
|
|
145
131
|
* Should be called if a blur event is fired
|
|
146
132
|
*/
|
|
147
|
-
|
|
148
133
|
function handleBlurVisible() {
|
|
149
134
|
// checking against potential state variable does not suffice if we focus and blur synchronously.
|
|
150
135
|
// React wouldn't have time to trigger a re-render so `focusVisible` would be stale.
|
|
@@ -164,23 +149,19 @@ function useIsFocusVisible() {
|
|
|
164
149
|
isFocusVisibleRef.current = false;
|
|
165
150
|
return true;
|
|
166
151
|
}
|
|
167
|
-
|
|
168
152
|
return false;
|
|
169
153
|
}
|
|
154
|
+
|
|
170
155
|
/**
|
|
171
156
|
* Should be called if a blur event is fired
|
|
172
157
|
*/
|
|
173
|
-
|
|
174
|
-
|
|
175
158
|
function handleFocusVisible(event) {
|
|
176
159
|
if (isFocusVisible(event)) {
|
|
177
160
|
isFocusVisibleRef.current = true;
|
|
178
161
|
return true;
|
|
179
162
|
}
|
|
180
|
-
|
|
181
163
|
return false;
|
|
182
164
|
}
|
|
183
|
-
|
|
184
165
|
return {
|
|
185
166
|
isFocusVisibleRef,
|
|
186
167
|
onFocus: handleFocusVisible,
|
package/usePreviousProps.js
CHANGED
|
@@ -4,13 +4,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
7
|
var React = _interopRequireWildcard(require("react"));
|
|
9
|
-
|
|
10
8
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
11
|
-
|
|
12
9
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
13
|
-
|
|
14
10
|
const usePreviousProps = value => {
|
|
15
11
|
const ref = React.useRef({});
|
|
16
12
|
React.useEffect(() => {
|
|
@@ -18,6 +14,5 @@ const usePreviousProps = value => {
|
|
|
18
14
|
});
|
|
19
15
|
return ref.current;
|
|
20
16
|
};
|
|
21
|
-
|
|
22
17
|
var _default = usePreviousProps;
|
|
23
18
|
exports.default = _default;
|