@mui/utils 5.10.9 → 5.10.15

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.
Files changed (119) hide show
  1. package/CHANGELOG.md +636 -214
  2. package/ClassNameGenerator/ClassNameGenerator.js +0 -6
  3. package/ClassNameGenerator/index.js +0 -2
  4. package/HTMLElementType.js +0 -5
  5. package/capitalize.js +0 -4
  6. package/chainPropTypes.js +0 -2
  7. package/composeClasses/composeClasses.js +2 -4
  8. package/composeClasses/index.js +0 -2
  9. package/createChainedFunction.js +0 -2
  10. package/debounce.js +0 -5
  11. package/deepmerge.js +0 -7
  12. package/deprecatedPropType.js +0 -4
  13. package/elementAcceptingRef.js +2 -12
  14. package/elementTypeAcceptingRef.js +3 -13
  15. package/esm/ClassNameGenerator/ClassNameGenerator.js +0 -5
  16. package/esm/HTMLElementType.js +0 -4
  17. package/esm/capitalize.js +0 -1
  18. package/esm/chainPropTypes.js +0 -1
  19. package/esm/composeClasses/composeClasses.js +2 -3
  20. package/esm/createChainedFunction.js +0 -1
  21. package/esm/debounce.js +0 -4
  22. package/esm/deepmerge.js +0 -3
  23. package/esm/deprecatedPropType.js +0 -3
  24. package/esm/elementAcceptingRef.js +2 -9
  25. package/esm/elementTypeAcceptingRef.js +3 -9
  26. package/esm/exactProp.js +1 -3
  27. package/esm/formatMuiErrorMessage.js +0 -3
  28. package/esm/getDisplayName.js +6 -13
  29. package/esm/integerPropType.js +2 -17
  30. package/esm/requirePropFactory.js +2 -8
  31. package/esm/resolveProps.js +0 -2
  32. package/esm/scrollLeft.js +5 -11
  33. package/esm/unsupportedProp.js +0 -3
  34. package/esm/useControlled.js +0 -2
  35. package/esm/useEventCallback.js +3 -2
  36. package/esm/useForkRef.js +2 -2
  37. package/esm/useId.js +4 -7
  38. package/esm/useIsFocusVisible.js +10 -26
  39. package/esm/usePreviousProps.js +0 -2
  40. package/exactProp.js +1 -7
  41. package/formatMuiErrorMessage.js +0 -4
  42. package/generateUtilityClass/generateUtilityClass.js +0 -4
  43. package/generateUtilityClass/index.js +0 -4
  44. package/generateUtilityClasses/generateUtilityClasses.js +0 -3
  45. package/generateUtilityClasses/index.js +0 -2
  46. package/getDisplayName.js +3 -14
  47. package/getScrollbarSize.js +0 -1
  48. package/index.js +1 -41
  49. package/integerPropType.js +2 -21
  50. package/isMuiElement.js +0 -4
  51. package/legacy/ClassNameGenerator/ClassNameGenerator.js +0 -2
  52. package/legacy/HTMLElementType.js +0 -4
  53. package/legacy/capitalize.js +0 -1
  54. package/legacy/chainPropTypes.js +0 -1
  55. package/legacy/composeClasses/composeClasses.js +2 -3
  56. package/legacy/createChainedFunction.js +0 -3
  57. package/legacy/debounce.js +0 -6
  58. package/legacy/deepmerge.js +0 -3
  59. package/legacy/deprecatedPropType.js +0 -3
  60. package/legacy/elementAcceptingRef.js +3 -10
  61. package/legacy/elementTypeAcceptingRef.js +4 -10
  62. package/legacy/exactProp.js +1 -3
  63. package/legacy/formatMuiErrorMessage.js +0 -3
  64. package/legacy/getDisplayName.js +6 -13
  65. package/legacy/index.js +1 -1
  66. package/legacy/integerPropType.js +2 -18
  67. package/legacy/requirePropFactory.js +2 -9
  68. package/legacy/resolveProps.js +0 -2
  69. package/legacy/scrollLeft.js +5 -11
  70. package/legacy/unsupportedProp.js +0 -3
  71. package/legacy/useControlled.js +8 -15
  72. package/legacy/useEventCallback.js +3 -2
  73. package/legacy/useForkRef.js +2 -3
  74. package/legacy/useId.js +6 -10
  75. package/legacy/useIsFocusVisible.js +12 -28
  76. package/legacy/usePreviousProps.js +0 -2
  77. package/modern/ClassNameGenerator/ClassNameGenerator.js +0 -5
  78. package/modern/HTMLElementType.js +0 -4
  79. package/modern/capitalize.js +0 -1
  80. package/modern/chainPropTypes.js +0 -1
  81. package/modern/composeClasses/composeClasses.js +2 -3
  82. package/modern/createChainedFunction.js +0 -1
  83. package/modern/debounce.js +0 -4
  84. package/modern/deepmerge.js +0 -3
  85. package/modern/deprecatedPropType.js +0 -3
  86. package/modern/elementAcceptingRef.js +2 -9
  87. package/modern/elementTypeAcceptingRef.js +3 -9
  88. package/modern/exactProp.js +1 -3
  89. package/modern/formatMuiErrorMessage.js +0 -3
  90. package/modern/getDisplayName.js +6 -13
  91. package/modern/index.js +1 -1
  92. package/modern/integerPropType.js +2 -17
  93. package/modern/requirePropFactory.js +2 -8
  94. package/modern/resolveProps.js +0 -2
  95. package/modern/scrollLeft.js +5 -11
  96. package/modern/unsupportedProp.js +0 -3
  97. package/modern/useControlled.js +0 -2
  98. package/modern/useEventCallback.js +3 -2
  99. package/modern/useForkRef.js +2 -2
  100. package/modern/useId.js +4 -7
  101. package/modern/useIsFocusVisible.js +10 -26
  102. package/modern/usePreviousProps.js +0 -2
  103. package/ownerDocument.js +0 -1
  104. package/ownerWindow.js +0 -3
  105. package/package.json +2 -2
  106. package/ponyfillGlobal.js +0 -2
  107. package/refType.js +0 -4
  108. package/requirePropFactory.js +2 -11
  109. package/resolveProps.js +0 -3
  110. package/scrollLeft.js +5 -12
  111. package/setRef.js +0 -1
  112. package/unsupportedProp.js +0 -4
  113. package/useControlled.js +1 -6
  114. package/useEnhancedEffect.js +0 -4
  115. package/useEventCallback.js +2 -7
  116. package/useForkRef.js +2 -8
  117. package/useId.js +4 -11
  118. package/useIsFocusVisible.js +11 -30
  119. package/usePreviousProps.js +0 -5
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mui/utils",
3
- "version": "5.10.9",
3
+ "version": "5.10.15",
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.19.0",
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;
@@ -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
- } // eslint-disable-next-line react/forbid-foreign-prop-types
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
- } // Based on https://stackoverflow.com/a/24394376
63
-
58
+ }
64
59
 
60
+ // Based on https://stackoverflow.com/a/24394376
65
61
  function getNormalizedScrollLeft(element, direction) {
66
- const scrollLeft = element.scrollLeft; // Perform the calculations only when direction is rtl to avoid messing up the ltr behavior
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
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = setRef;
7
-
8
7
  /**
9
8
  * TODO v5: consider making it private
10
9
  *
@@ -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);
@@ -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;
@@ -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) => // @ts-expect-error hide `this`
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.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 = 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
12
  function useForkRef(...refs) {
19
13
  /**
20
14
  * This will create a new function if the refs passed to this hook change and are all defined.
@@ -25,11 +19,11 @@ function useForkRef(...refs) {
25
19
  if (refs.every(ref => ref == null)) {
26
20
  return null;
27
21
  }
28
-
29
22
  return instance => {
30
23
  refs.forEach(ref => {
31
24
  (0, _setRef.default)(ref, instance);
32
25
  });
33
- }; // eslint-disable-next-line react-hooks/exhaustive-deps
26
+ };
27
+ // eslint-disable-next-line react-hooks/exhaustive-deps
34
28
  }, refs);
35
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
- } // eslint-disable-next-line no-useless-concat -- Workaround for https://github.com/webpack/webpack/issues/14814
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
- } // eslint-disable-next-line react-hooks/rules-of-hooks -- `React.useId` is invariant at runtime.
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
  }
@@ -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) {// Browsers not implementing :focus-visible will throw a SyntaxError.
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
- } // No need for validFocusTarget check. The user does that by attaching it to
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,
@@ -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;