@uxf/core 4.5.0 → 10.0.0-beta.8

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 (62) hide show
  1. package/Validators/FormValidator.d.ts +7 -7
  2. package/Validators/FormValidator.js +24 -31
  3. package/Validators/FormValidator.test.js +8 -9
  4. package/Validators/Validator.js +6 -7
  5. package/Validators/Validator.test.js +3 -4
  6. package/constants/classes.js +0 -1
  7. package/cookie/index.js +30 -59
  8. package/hooks/_useSimulatedButton.js +6 -8
  9. package/hooks/useAnchorProps.js +53 -69
  10. package/hooks/useBodyScrollLock.js +8 -10
  11. package/hooks/useButtonProps.js +36 -68
  12. package/hooks/useClickableProps.js +33 -67
  13. package/hooks/useFocusReturn.js +10 -13
  14. package/hooks/useFocusTrap.d.ts +2 -1
  15. package/hooks/useFocusTrap.js +36 -39
  16. package/hooks/useInputFocus.js +7 -24
  17. package/hooks/useIsMounted.js +3 -20
  18. package/hooks/useIsomorphicLayoutEffect.js +2 -3
  19. package/hooks/useKey.d.ts +2 -2
  20. package/hooks/useKey.js +12 -16
  21. package/hooks/useLatest.d.ts +1 -0
  22. package/hooks/useLatest.js +2 -3
  23. package/hooks/useMinWindowWidth.js +9 -27
  24. package/hooks/useMouseDragToScroll.js +13 -41
  25. package/hooks/useOnMount.js +2 -3
  26. package/hooks/useOnUnmount.js +4 -5
  27. package/hooks/useOnUpdate.js +3 -4
  28. package/hooks/usePagination.js +4 -5
  29. package/hooks/usePrevious.d.ts +1 -0
  30. package/hooks/usePrevious.js +3 -4
  31. package/hooks/useRafState.js +7 -24
  32. package/hooks/useTabs.js +20 -38
  33. package/hooks/useWindowScroll.js +9 -28
  34. package/hooks/useWindowSize.js +9 -28
  35. package/index.js +5 -2
  36. package/next/index.d.ts +2 -2
  37. package/next/index.js +2 -5
  38. package/package.json +5 -13
  39. package/utils/buildArray.d.ts +5 -1
  40. package/utils/buildArray.js +4 -5
  41. package/utils/buildArray.test.js +2 -3
  42. package/utils/camelCaseToDash.js +0 -1
  43. package/utils/camelCaseToDash.test.js +2 -3
  44. package/utils/composeRefs.js +11 -18
  45. package/utils/copy-to-clipboard.js +12 -68
  46. package/utils/cx.d.ts +2 -2
  47. package/utils/cx.js +8 -13
  48. package/utils/file.js +4 -5
  49. package/utils/forwardRef.d.ts +1 -1
  50. package/utils/forwardRef.js +3 -4
  51. package/utils/image.d.ts +3 -3
  52. package/utils/image.js +37 -38
  53. package/utils/isBrowser.js +0 -1
  54. package/utils/isServer.js +1 -2
  55. package/utils/pagination.d.ts +2 -2
  56. package/utils/pagination.js +39 -50
  57. package/utils/pagination.test.js +5 -44
  58. package/utils/resizer.d.ts +2 -2
  59. package/utils/resizer.js +19 -28
  60. package/utils/slugify.js +4 -5
  61. package/utils/slugify.test.js +2 -3
  62. package/utils/trimTrailingZeros.js +0 -1
@@ -1,63 +1,15 @@
1
1
  "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- var __rest = (this && this.__rest) || function (s, e) {
14
- var t = {};
15
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
16
- t[p] = s[p];
17
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
18
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
19
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
20
- t[p[i]] = s[p[i]];
21
- }
22
- return t;
23
- };
24
- var __read = (this && this.__read) || function (o, n) {
25
- var m = typeof Symbol === "function" && o[Symbol.iterator];
26
- if (!m) return o;
27
- var i = m.call(o), r, ar = [], e;
28
- try {
29
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
30
- }
31
- catch (error) { e = { error: error }; }
32
- finally {
33
- try {
34
- if (r && !r.done && (m = i["return"])) m.call(i);
35
- }
36
- finally { if (e) throw e.error; }
37
- }
38
- return ar;
39
- };
40
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
41
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
42
- if (ar || !(i in from)) {
43
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
44
- ar[i] = from[i];
45
- }
46
- }
47
- return to.concat(ar || Array.prototype.slice.call(from));
48
- };
49
2
  Object.defineProperty(exports, "__esModule", { value: true });
50
3
  exports.useButtonProps = void 0;
51
- var react_1 = require("react");
52
- var classes_1 = require("../constants/classes");
53
- var cx_1 = require("../utils/cx");
54
- function useButtonProps(_a) {
55
- var ariaBusy = _a["aria-busy"], ariaDisabled = _a["aria-disabled"], autoFocus = _a.autoFocus, analyticsCallback = _a.analyticsCallback, className = _a.className, disabled = _a.disabled, formAction = _a.formAction, formEncType = _a.formEncType, formMethod = _a.formMethod, formNoValidate = _a.formNoValidate, formTarget = _a.formTarget, loading = _a.loading, name = _a.name, onClick = _a.onClick, role = _a.role, tabIndex = _a.tabIndex, type = _a.type, value = _a.value, restProps = __rest(_a, ["aria-busy", "aria-disabled", "autoFocus", "analyticsCallback", "className", "disabled", "formAction", "formEncType", "formMethod", "formNoValidate", "formTarget", "loading", "name", "onClick", "role", "tabIndex", "type", "value"]);
56
- var isBusy = loading ? loading : Boolean(ariaBusy);
57
- var isDisabled = disabled ? disabled : Boolean(ariaDisabled);
58
- var isBusyOrDisabled = isBusy || isDisabled;
59
- var _className = [isBusy && classes_1.CLASSES.IS_LOADING, isDisabled && classes_1.CLASSES.IS_DISABLED, className];
60
- var _onClick = (0, react_1.useCallback)(function (e) {
4
+ const react_1 = require("react");
5
+ const classes_1 = require("../constants/classes");
6
+ const cx_1 = require("../utils/cx");
7
+ function useButtonProps({ ["aria-busy"]: ariaBusy, ["aria-disabled"]: ariaDisabled, autoFocus, analyticsCallback, className, disabled, formAction, formEncType, formMethod, formNoValidate, formTarget, loading, name, onClick, role, tabIndex, type, value, ...restProps }) {
8
+ const isBusy = loading ? loading : Boolean(ariaBusy);
9
+ const isDisabled = disabled ? disabled : Boolean(ariaDisabled);
10
+ const isBusyOrDisabled = isBusy || isDisabled;
11
+ const _className = [isBusy && classes_1.CLASSES.IS_LOADING, isDisabled && classes_1.CLASSES.IS_DISABLED, className];
12
+ const _onClick = (0, react_1.useCallback)((e) => {
61
13
  if (isBusyOrDisabled) {
62
14
  e.preventDefault();
63
15
  }
@@ -71,21 +23,37 @@ function useButtonProps(_a) {
71
23
  }
72
24
  }, [analyticsCallback, isBusyOrDisabled, onClick]);
73
25
  if (onClick || type === "reset" || type === "submit") {
74
- var submitProps = {};
26
+ let submitProps = {};
75
27
  if (type === "submit") {
76
28
  submitProps = {
77
- formAction: formAction,
78
- formEncType: formEncType,
79
- formMethod: formMethod,
80
- formNoValidate: formNoValidate,
81
- formTarget: formTarget,
82
- name: name,
83
- value: value,
29
+ formAction,
30
+ formEncType,
31
+ formMethod,
32
+ formNoValidate,
33
+ formTarget,
34
+ name,
35
+ value,
84
36
  };
85
37
  }
86
- return __assign(__assign({ "aria-busy": isBusy, "aria-disabled": ariaDisabled, autoFocus: autoFocus, className: cx_1.cx.apply(void 0, __spreadArray([classes_1.CLASSES.IS_HOVERABLE], __read(_className), false)), disabled: disabled, onClick: _onClick, role: role, tabIndex: isBusyOrDisabled ? -1 : tabIndex, type: type }, submitProps), restProps);
38
+ return {
39
+ "aria-busy": isBusy,
40
+ "aria-disabled": ariaDisabled,
41
+ autoFocus,
42
+ className: (0, cx_1.cx)(classes_1.CLASSES.IS_HOVERABLE, ..._className),
43
+ disabled,
44
+ onClick: _onClick,
45
+ role,
46
+ tabIndex: isBusyOrDisabled ? -1 : tabIndex,
47
+ type,
48
+ ...submitProps,
49
+ ...restProps,
50
+ };
87
51
  }
88
- return __assign({ className: cx_1.cx.apply(void 0, __spreadArray([], __read(_className), false)), role: role, tabIndex: tabIndex !== null && tabIndex !== void 0 ? tabIndex : -1 }, restProps);
52
+ return {
53
+ className: (0, cx_1.cx)(..._className),
54
+ role,
55
+ tabIndex: tabIndex !== null && tabIndex !== void 0 ? tabIndex : -1,
56
+ ...restProps,
57
+ };
89
58
  }
90
59
  exports.useButtonProps = useButtonProps;
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlQnV0dG9uUHJvcHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaG9va3MvdXNlQnV0dG9uUHJvcHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQkFBNkU7QUFDN0UsZ0RBQStDO0FBQy9DLGtDQUFpQztBQU9qQyxTQUFnQixjQUFjLENBQW9ELEVBb0I3RDtJQW5CakIsSUFBZSxRQUFRLGtCQUFBLEVBQ0osWUFBWSxzQkFBQSxFQUMvQixTQUFTLGVBQUEsRUFDVCxpQkFBaUIsdUJBQUEsRUFDakIsU0FBUyxlQUFBLEVBQ1QsUUFBUSxjQUFBLEVBQ1IsVUFBVSxnQkFBQSxFQUNWLFdBQVcsaUJBQUEsRUFDWCxVQUFVLGdCQUFBLEVBQ1YsY0FBYyxvQkFBQSxFQUNkLFVBQVUsZ0JBQUEsRUFDVixPQUFPLGFBQUEsRUFDUCxJQUFJLFVBQUEsRUFDSixPQUFPLGFBQUEsRUFDUCxJQUFJLFVBQUEsRUFDSixRQUFRLGNBQUEsRUFDUixJQUFJLFVBQUEsRUFDSixLQUFLLFdBQUEsRUFDRixTQUFTLGNBbkJrRSx1T0FvQmpGLENBRGU7SUFFWixJQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3JELElBQU0sVUFBVSxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDL0QsSUFBTSxnQkFBZ0IsR0FBRyxNQUFNLElBQUksVUFBVSxDQUFDO0lBQzlDLElBQU0sVUFBVSxHQUFHLENBQUMsTUFBTSxJQUFJLGlCQUFPLENBQUMsVUFBVSxFQUFFLFVBQVUsSUFBSSxpQkFBTyxDQUFDLFdBQVcsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUVoRyxJQUFNLFFBQVEsR0FBRyxJQUFBLG1CQUFXLEVBQ3hCLFVBQUEsQ0FBQztRQUNHLElBQUksZ0JBQWdCLEVBQUU7WUFDbEIsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDO1NBQ3RCO2FBQU07WUFDSCxJQUFJLGlCQUFpQixFQUFFO2dCQUNuQixpQkFBaUIsRUFBRSxDQUFDO2FBQ3ZCO1lBQ0QsSUFBSSxPQUFPLEVBQUU7Z0JBQ1QsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ2Q7U0FDSjtJQUNMLENBQUMsRUFDRCxDQUFDLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLE9BQU8sQ0FBQyxDQUNqRCxDQUFDO0lBRUYsSUFBSSxPQUFPLElBQUksSUFBSSxLQUFLLE9BQU8sSUFBSSxJQUFJLEtBQUssUUFBUSxFQUFFO1FBQ2xELElBQUksV0FBVyxHQUFHLEVBQUUsQ0FBQztRQUNyQixJQUFJLElBQUksS0FBSyxRQUFRLEVBQUU7WUFDbkIsV0FBVyxHQUFHO2dCQUNWLFVBQVUsWUFBQTtnQkFDVixXQUFXLGFBQUE7Z0JBQ1gsVUFBVSxZQUFBO2dCQUNWLGNBQWMsZ0JBQUE7Z0JBQ2QsVUFBVSxZQUFBO2dCQUNWLElBQUksTUFBQTtnQkFDSixLQUFLLE9BQUE7YUFDUixDQUFDO1NBQ0w7UUFFRCxPQUFPLG9CQUNILFdBQVcsRUFBRSxNQUFNLEVBQ25CLGVBQWUsRUFBRSxZQUFZLEVBQzdCLFNBQVMsV0FBQSxFQUNULFNBQVMsRUFBRSxPQUFFLDhCQUFDLGlCQUFPLENBQUMsWUFBWSxVQUFLLFVBQVUsWUFDakQsUUFBUSxVQUFBLEVBQ1IsT0FBTyxFQUFFLFFBQVEsRUFDakIsSUFBSSxNQUFBLEVBQ0osUUFBUSxFQUFFLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUMxQyxJQUFJLE1BQUEsSUFDRCxXQUFXLEdBQ1gsU0FBUyxDQUNWLENBQUM7S0FDVjtJQUVELE9BQU8sV0FDSCxTQUFTLEVBQUUsT0FBRSx3Q0FBSSxVQUFVLFlBQzNCLElBQUksTUFBQSxFQUNKLFFBQVEsRUFBRSxRQUFRLGFBQVIsUUFBUSxjQUFSLFFBQVEsR0FBSSxDQUFDLENBQUMsSUFDckIsU0FBUyxDQUNWLENBQUM7QUFDWCxDQUFDO0FBN0VELHdDQTZFQyJ9
@@ -1,77 +1,43 @@
1
1
  "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- var __rest = (this && this.__rest) || function (s, e) {
14
- var t = {};
15
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
16
- t[p] = s[p];
17
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
18
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
19
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
20
- t[p[i]] = s[p[i]];
21
- }
22
- return t;
23
- };
24
- var __read = (this && this.__read) || function (o, n) {
25
- var m = typeof Symbol === "function" && o[Symbol.iterator];
26
- if (!m) return o;
27
- var i = m.call(o), r, ar = [], e;
28
- try {
29
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
30
- }
31
- catch (error) { e = { error: error }; }
32
- finally {
33
- try {
34
- if (r && !r.done && (m = i["return"])) m.call(i);
35
- }
36
- finally { if (e) throw e.error; }
37
- }
38
- return ar;
39
- };
40
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
41
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
42
- if (ar || !(i in from)) {
43
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
44
- ar[i] = from[i];
45
- }
46
- }
47
- return to.concat(ar || Array.prototype.slice.call(from));
48
- };
49
2
  Object.defineProperty(exports, "__esModule", { value: true });
50
3
  exports.useClickableProps = void 0;
51
- var classes_1 = require("../constants/classes");
52
- var cx_1 = require("../utils/cx");
53
- var _useSimulatedButton_1 = require("./_useSimulatedButton");
54
- function useClickableProps(_a) {
55
- var ariaBusy = _a["aria-busy"], ariaDisabled = _a["aria-disabled"], analyticsCallback = _a.analyticsCallback, className = _a.className, disabled = _a.disabled, loading = _a.loading, onClick = _a.onClick, onKeyDown = _a.onKeyDown, onKeyUp = _a.onKeyUp, role = _a.role, tabIndex = _a.tabIndex, type = _a.type, restProps = __rest(_a, ["aria-busy", "aria-disabled", "analyticsCallback", "className", "disabled", "loading", "onClick", "onKeyDown", "onKeyUp", "role", "tabIndex", "type"]);
56
- var isBusy = loading ? loading : Boolean(ariaBusy);
57
- var isDisabled = disabled ? disabled : Boolean(ariaDisabled);
58
- var isBusyOrDisabled = isBusy || isDisabled;
59
- var submit = type === "submit";
60
- var isButton = submit || !!onClick;
61
- var _className = [isBusy && classes_1.CLASSES.IS_LOADING, isDisabled && classes_1.CLASSES.IS_DISABLED, className];
62
- var simulatedButton = (0, _useSimulatedButton_1._useSimulatedButton)({
63
- analyticsCallback: analyticsCallback,
4
+ const classes_1 = require("../constants/classes");
5
+ const cx_1 = require("../utils/cx");
6
+ const _useSimulatedButton_1 = require("./_useSimulatedButton");
7
+ function useClickableProps({ ["aria-busy"]: ariaBusy, ["aria-disabled"]: ariaDisabled, analyticsCallback, className, disabled, loading, onClick, onKeyDown, onKeyUp, role, tabIndex, type, ...restProps }) {
8
+ const isBusy = loading ? loading : Boolean(ariaBusy);
9
+ const isDisabled = disabled ? disabled : Boolean(ariaDisabled);
10
+ const isBusyOrDisabled = isBusy || isDisabled;
11
+ const submit = type === "submit";
12
+ const isButton = submit || !!onClick;
13
+ const _className = [isBusy && classes_1.CLASSES.IS_LOADING, isDisabled && classes_1.CLASSES.IS_DISABLED, className];
14
+ const simulatedButton = (0, _useSimulatedButton_1._useSimulatedButton)({
15
+ analyticsCallback,
64
16
  isClickable: !isBusyOrDisabled || isButton,
65
17
  isHyperlink: false,
66
- onClick: onClick,
67
- onKeyDown: onKeyDown,
68
- onKeyUp: onKeyUp,
69
- submit: submit,
18
+ onClick,
19
+ onKeyDown,
20
+ onKeyUp,
21
+ submit,
70
22
  });
71
23
  if (isButton) {
72
- return __assign({ "aria-busy": isBusy, "aria-disabled": isDisabled, className: cx_1.cx.apply(void 0, __spreadArray([classes_1.CLASSES.IS_HOVERABLE], __read(_className), false)), onClick: simulatedButton.onClick, onKeyDown: simulatedButton.onKeyDown, onKeyUp: simulatedButton.onKeyUp, role: role || "button", tabIndex: isBusyOrDisabled ? -1 : tabIndex !== null && tabIndex !== void 0 ? tabIndex : 0 }, restProps);
24
+ return {
25
+ "aria-busy": isBusy,
26
+ "aria-disabled": isDisabled,
27
+ className: (0, cx_1.cx)(classes_1.CLASSES.IS_HOVERABLE, ..._className),
28
+ onClick: simulatedButton.onClick,
29
+ onKeyDown: simulatedButton.onKeyDown,
30
+ onKeyUp: simulatedButton.onKeyUp,
31
+ role: role || "button",
32
+ tabIndex: isBusyOrDisabled ? -1 : tabIndex !== null && tabIndex !== void 0 ? tabIndex : 0,
33
+ ...restProps,
34
+ };
73
35
  }
74
- return __assign({ className: cx_1.cx.apply(void 0, __spreadArray([], __read(_className), false)), role: role, tabIndex: tabIndex }, restProps);
36
+ return {
37
+ className: (0, cx_1.cx)(..._className),
38
+ role,
39
+ tabIndex,
40
+ ...restProps,
41
+ };
75
42
  }
76
43
  exports.useClickableProps = useClickableProps;
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlQ2xpY2thYmxlUHJvcHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaG9va3MvdXNlQ2xpY2thYmxlUHJvcHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSxnREFBK0M7QUFDL0Msa0NBQWlDO0FBQ2pDLDZEQUE0RDtBQVM1RCxTQUFnQixpQkFBaUIsQ0FBd0MsRUFjakQ7SUFicEIsSUFBZSxRQUFRLGtCQUFBLEVBQ0osWUFBWSxzQkFBQSxFQUMvQixpQkFBaUIsdUJBQUEsRUFDakIsU0FBUyxlQUFBLEVBQ1QsUUFBUSxjQUFBLEVBQ1IsT0FBTyxhQUFBLEVBQ1AsT0FBTyxhQUFBLEVBQ1AsU0FBUyxlQUFBLEVBQ1QsT0FBTyxhQUFBLEVBQ1AsSUFBSSxVQUFBLEVBQ0osUUFBUSxjQUFBLEVBQ1IsSUFBSSxVQUFBLEVBQ0QsU0FBUyxjQWJ5RCxzSkFjeEUsQ0FEZTtJQUVaLElBQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDckQsSUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUMvRCxJQUFNLGdCQUFnQixHQUFHLE1BQU0sSUFBSSxVQUFVLENBQUM7SUFDOUMsSUFBTSxNQUFNLEdBQUcsSUFBSSxLQUFLLFFBQVEsQ0FBQztJQUNqQyxJQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQztJQUNyQyxJQUFNLFVBQVUsR0FBRyxDQUFDLE1BQU0sSUFBSSxpQkFBTyxDQUFDLFVBQVUsRUFBRSxVQUFVLElBQUksaUJBQU8sQ0FBQyxXQUFXLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFFaEcsSUFBTSxlQUFlLEdBQUcsSUFBQSx5Q0FBbUIsRUFBQztRQUN4QyxpQkFBaUIsbUJBQUE7UUFDakIsV0FBVyxFQUFFLENBQUMsZ0JBQWdCLElBQUksUUFBUTtRQUMxQyxXQUFXLEVBQUUsS0FBSztRQUNsQixPQUFPLFNBQUE7UUFDUCxTQUFTLFdBQUE7UUFDVCxPQUFPLFNBQUE7UUFDUCxNQUFNLFFBQUE7S0FDVCxDQUFDLENBQUM7SUFFSCxJQUFJLFFBQVEsRUFBRTtRQUNWLE9BQU8sV0FDSCxXQUFXLEVBQUUsTUFBTSxFQUNuQixlQUFlLEVBQUUsVUFBVSxFQUMzQixTQUFTLEVBQUUsT0FBRSw4QkFBQyxpQkFBTyxDQUFDLFlBQVksVUFBSyxVQUFVLFlBQ2pELE9BQU8sRUFBRSxlQUFlLENBQUMsT0FBTyxFQUNoQyxTQUFTLEVBQUUsZUFBZSxDQUFDLFNBQVMsRUFDcEMsT0FBTyxFQUFFLGVBQWUsQ0FBQyxPQUFPLEVBQ2hDLElBQUksRUFBRSxJQUFJLElBQUksUUFBUSxFQUN0QixRQUFRLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLGFBQVIsUUFBUSxjQUFSLFFBQVEsR0FBSSxDQUFDLElBQzVDLFNBQVMsQ0FDVixDQUFDO0tBQ1Y7SUFFRCxPQUFPLFdBQ0gsU0FBUyxFQUFFLE9BQUUsd0NBQUksVUFBVSxZQUMzQixJQUFJLE1BQUEsRUFDSixRQUFRLFVBQUEsSUFDTCxTQUFTLENBQ1YsQ0FBQztBQUNYLENBQUM7QUFwREQsOENBb0RDIn0=
@@ -1,21 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.useFocusReturn = void 0;
4
- var react_1 = require("react");
5
- var useOnUpdate_1 = require("./useOnUpdate");
6
- function useFocusReturn(opened, transitionDuration, shouldReturnFocus) {
7
- if (transitionDuration === void 0) { transitionDuration = 0; }
8
- if (shouldReturnFocus === void 0) { shouldReturnFocus = true; }
9
- var lastActiveElement = (0, react_1.useRef)();
10
- var returnFocus = function () {
11
- var node = lastActiveElement.current;
4
+ const react_1 = require("react");
5
+ const useOnUpdate_1 = require("./useOnUpdate");
6
+ function useFocusReturn(opened, transitionDuration = 0, shouldReturnFocus = true) {
7
+ const lastActiveElement = (0, react_1.useRef)();
8
+ const returnFocus = () => {
9
+ const node = lastActiveElement.current;
12
10
  if (node && "focus" in node && typeof node.focus === "function") {
13
11
  node.focus();
14
12
  }
15
13
  };
16
- (0, useOnUpdate_1.useOnUpdate)(function () {
17
- var timeout = -1;
18
- var clearFocusTimeout = function (e) {
14
+ (0, useOnUpdate_1.useOnUpdate)(() => {
15
+ let timeout = -1;
16
+ const clearFocusTimeout = (e) => {
19
17
  if (e.key === "Tab") {
20
18
  clearTimeout(timeout);
21
19
  }
@@ -27,7 +25,7 @@ function useFocusReturn(opened, transitionDuration, shouldReturnFocus) {
27
25
  else if (shouldReturnFocus) {
28
26
  timeout = window.setTimeout(returnFocus, transitionDuration + 10);
29
27
  }
30
- return function () {
28
+ return () => {
31
29
  clearTimeout(timeout);
32
30
  document.removeEventListener("keydown", clearFocusTimeout);
33
31
  };
@@ -35,4 +33,3 @@ function useFocusReturn(opened, transitionDuration, shouldReturnFocus) {
35
33
  return returnFocus;
36
34
  }
37
35
  exports.useFocusReturn = useFocusReturn;
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlRm9jdXNSZXR1cm4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaG9va3MvdXNlRm9jdXNSZXR1cm4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsK0JBQStCO0FBQy9CLDZDQUE0QztBQUU1QyxTQUFnQixjQUFjLENBQUMsTUFBZSxFQUFFLGtCQUFzQixFQUFFLGlCQUF3QjtJQUFoRCxtQ0FBQSxFQUFBLHNCQUFzQjtJQUFFLGtDQUFBLEVBQUEsd0JBQXdCO0lBQzVGLElBQU0saUJBQWlCLEdBQUcsSUFBQSxjQUFNLEdBQWUsQ0FBQztJQUNoRCxJQUFNLFdBQVcsR0FBRztRQUNoQixJQUFNLElBQUksR0FBRyxpQkFBaUIsQ0FBQyxPQUFPLENBQUM7UUFDdkMsSUFBSSxJQUFJLElBQUksT0FBTyxJQUFJLElBQUksSUFBSSxPQUFPLElBQUksQ0FBQyxLQUFLLEtBQUssVUFBVSxFQUFFO1lBQzdELElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUNoQjtJQUNMLENBQUMsQ0FBQztJQUVGLElBQUEseUJBQVcsRUFBQztRQUNSLElBQUksT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBRWpCLElBQU0saUJBQWlCLEdBQUcsVUFBQyxDQUFnQjtZQUN2QyxJQUFJLENBQUMsQ0FBQyxHQUFHLEtBQUssS0FBSyxFQUFFO2dCQUNqQixZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDekI7UUFDTCxDQUFDLENBQUM7UUFFRixRQUFRLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLGlCQUFpQixDQUFDLENBQUM7UUFFeEQsSUFBSSxNQUFNLEVBQUU7WUFDUixpQkFBaUIsQ0FBQyxPQUFPLEdBQUcsUUFBUSxDQUFDLGFBQTRCLENBQUM7U0FDckU7YUFBTSxJQUFJLGlCQUFpQixFQUFFO1lBQzFCLE9BQU8sR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxrQkFBa0IsR0FBRyxFQUFFLENBQUMsQ0FBQztTQUNyRTtRQUVELE9BQU87WUFDSCxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDdEIsUUFBUSxDQUFDLG1CQUFtQixDQUFDLFNBQVMsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1FBQy9ELENBQUMsQ0FBQztJQUNOLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFFYixPQUFPLFdBQVcsQ0FBQztBQUN2QixDQUFDO0FBakNELHdDQWlDQyJ9
@@ -1 +1,2 @@
1
- export declare function useFocusTrap<T extends HTMLElement>(active?: boolean): (instance: T | null) => void;
1
+ import { RefCallback } from "react";
2
+ export declare function useFocusTrap<T extends HTMLElement>(active?: boolean): RefCallback<T>;
@@ -1,15 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.useFocusTrap = void 0;
4
- var react_1 = require("react");
5
- var useOnUnmount_1 = require("./useOnUnmount");
6
- var TABBABLE_NODES = /input|select|textarea|button|object/;
7
- var FOCUS_SELECTOR = "a, input, select, textarea, button, object, [tabindex]";
4
+ const react_1 = require("react");
5
+ const useOnUnmount_1 = require("./useOnUnmount");
6
+ const TABBABLE_NODES = /input|select|textarea|button|object/;
7
+ const FOCUS_SELECTOR = "a, input, select, textarea, button, object, [tabindex]";
8
8
  function hidden(element) {
9
9
  return element.style.display === "none";
10
10
  }
11
11
  function visible(element) {
12
- var parentElement = element;
12
+ let parentElement = element;
13
13
  while (parentElement) {
14
14
  if (parentElement === document.body) {
15
15
  break;
@@ -22,58 +22,57 @@ function visible(element) {
22
22
  return true;
23
23
  }
24
24
  function getElementTabIndex(element) {
25
- var tabIndex = element.getAttribute("tabindex");
25
+ const tabIndex = element.getAttribute("tabindex");
26
26
  if (tabIndex === null) {
27
27
  return NaN;
28
28
  }
29
29
  return parseInt(tabIndex, 10);
30
30
  }
31
31
  function focusable(element) {
32
- var nodeName = element.nodeName.toLowerCase();
33
- var isTabIndexNotNaN = !Number.isNaN(getElementTabIndex(element));
34
- var res = (TABBABLE_NODES.test(nodeName) && !element.disabled) ||
32
+ const nodeName = element.nodeName.toLowerCase();
33
+ const isTabIndexNotNaN = !Number.isNaN(getElementTabIndex(element));
34
+ const res = (TABBABLE_NODES.test(nodeName) && !element.disabled) ||
35
35
  (element instanceof HTMLAnchorElement ? Boolean(element.href) || isTabIndexNotNaN : isTabIndexNotNaN);
36
36
  return res && visible(element);
37
37
  }
38
38
  function tabbable(element) {
39
- var tabIndex = getElementTabIndex(element);
40
- var isTabIndexNaN = Number.isNaN(tabIndex);
39
+ const tabIndex = getElementTabIndex(element);
40
+ const isTabIndexNaN = Number.isNaN(tabIndex);
41
41
  return (isTabIndexNaN || tabIndex >= 0) && focusable(element);
42
42
  }
43
43
  function findTabbableDescendants(element) {
44
44
  return Array.from(element.querySelectorAll(FOCUS_SELECTOR)).filter(tabbable);
45
45
  }
46
46
  function scopeTab(node, event) {
47
- var _tabbable = findTabbableDescendants(node);
47
+ const _tabbable = findTabbableDescendants(node);
48
48
  if (!_tabbable.length) {
49
49
  event.preventDefault();
50
50
  return;
51
51
  }
52
- var finalTabbable = _tabbable[event.shiftKey ? 0 : _tabbable.length - 1];
53
- var leavingFinalTabbable = finalTabbable === document.activeElement || node === document.activeElement;
52
+ const finalTabbable = _tabbable[event.shiftKey ? 0 : _tabbable.length - 1];
53
+ const leavingFinalTabbable = finalTabbable === document.activeElement || node === document.activeElement;
54
54
  if (!leavingFinalTabbable) {
55
55
  return;
56
56
  }
57
57
  event.preventDefault();
58
- var target = _tabbable[event.shiftKey ? _tabbable.length - 1 : 0];
58
+ const target = _tabbable[event.shiftKey ? _tabbable.length - 1 : 0];
59
59
  if (target) {
60
60
  target.focus();
61
61
  }
62
62
  }
63
- function createAriaHider(containerNode, selector) {
64
- if (selector === void 0) { selector = "body > :not(script)"; }
65
- var rootNodes = Array.from(document.querySelectorAll(selector)).map(function (node) {
63
+ function createAriaHider(containerNode, selector = "body > :not(script)") {
64
+ const rootNodes = Array.from(document.querySelectorAll(selector)).map((node) => {
66
65
  if (node.contains(containerNode)) {
67
66
  return;
68
67
  }
69
- var ariaHidden = node.getAttribute("aria-hidden");
68
+ const ariaHidden = node.getAttribute("aria-hidden");
70
69
  if (ariaHidden === null || ariaHidden === "false") {
71
70
  node.setAttribute("aria-hidden", "true");
72
71
  }
73
- return { node: node, ariaHidden: ariaHidden };
72
+ return { node, ariaHidden };
74
73
  });
75
- return function () {
76
- rootNodes.forEach(function (item) {
74
+ return () => {
75
+ rootNodes.forEach((item) => {
77
76
  if (!item) {
78
77
  return;
79
78
  }
@@ -86,12 +85,11 @@ function createAriaHider(containerNode, selector) {
86
85
  });
87
86
  };
88
87
  }
89
- function useFocusTrap(active) {
90
- if (active === void 0) { active = true; }
91
- var ref = (0, react_1.useRef)();
92
- var restoreAria = (0, react_1.useRef)();
93
- var timer = (0, react_1.useRef)();
94
- var setRef = (0, react_1.useCallback)(function (node) {
88
+ function useFocusTrap(active = true) {
89
+ const ref = (0, react_1.useRef)();
90
+ const restoreAria = (0, react_1.useRef)();
91
+ const timer = (0, react_1.useRef)();
92
+ const setRef = (0, react_1.useCallback)((node) => {
95
93
  if (!active) {
96
94
  ref.current = null;
97
95
  return;
@@ -100,11 +98,11 @@ function useFocusTrap(active) {
100
98
  restoreAria.current();
101
99
  }
102
100
  if (node) {
103
- var processNode_1 = function (_node) {
101
+ const processNode = (_node) => {
104
102
  restoreAria.current = createAriaHider(_node);
105
- var focusElement = node.querySelector("[data-autofocus]");
103
+ let focusElement = node.querySelector("[data-autofocus]");
106
104
  if (!focusElement) {
107
- var children = Array.from(node.querySelectorAll(FOCUS_SELECTOR));
105
+ const children = Array.from(node.querySelectorAll(FOCUS_SELECTOR));
108
106
  focusElement = children.find(tabbable) || children.find(focusable) || null;
109
107
  if (!focusElement && focusable(node)) {
110
108
  focusElement = node;
@@ -115,10 +113,10 @@ function useFocusTrap(active) {
115
113
  }
116
114
  };
117
115
  // Delay processing the HTML node by a frame. This ensures focus is assigned correctly.
118
- timer.current = window.setTimeout(function () {
116
+ timer.current = window.setTimeout(() => {
119
117
  // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
120
118
  if (node.ownerDocument) {
121
- processNode_1(node);
119
+ processNode(node);
122
120
  }
123
121
  });
124
122
  ref.current = node;
@@ -127,23 +125,22 @@ function useFocusTrap(active) {
127
125
  ref.current = null;
128
126
  }
129
127
  }, [active]);
130
- (0, react_1.useEffect)(function () {
128
+ (0, react_1.useEffect)(() => {
131
129
  if (!active) {
132
130
  return;
133
131
  }
134
- var handler = function (e) {
135
- var node = ref.current;
132
+ const handler = (e) => {
133
+ const node = ref.current;
136
134
  if (e.key === "Tab" && node) {
137
135
  scopeTab(node, e);
138
136
  }
139
137
  };
140
138
  document.addEventListener("keydown", handler);
141
- return function () {
139
+ return () => {
142
140
  document.removeEventListener("keydown", handler);
143
141
  };
144
142
  }, [active]);
145
- (0, useOnUnmount_1.useOnUnmount)(function () { return clearTimeout(timer.current); });
143
+ (0, useOnUnmount_1.useOnUnmount)(() => clearTimeout(timer.current));
146
144
  return setRef;
147
145
  }
148
146
  exports.useFocusTrap = useFocusTrap;
149
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlRm9jdXNUcmFwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hvb2tzL3VzZUZvY3VzVHJhcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrQkFBb0U7QUFDcEUsK0NBQThDO0FBRTlDLElBQU0sY0FBYyxHQUFHLHFDQUFxQyxDQUFDO0FBQzdELElBQU0sY0FBYyxHQUFHLHdEQUF3RCxDQUFDO0FBRWhGLFNBQVMsTUFBTSxDQUFDLE9BQW9CO0lBQ2hDLE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLEtBQUssTUFBTSxDQUFDO0FBQzVDLENBQUM7QUFFRCxTQUFTLE9BQU8sQ0FBQyxPQUFvQjtJQUNqQyxJQUFJLGFBQWEsR0FBdUIsT0FBTyxDQUFDO0lBQ2hELE9BQU8sYUFBYSxFQUFFO1FBQ2xCLElBQUksYUFBYSxLQUFLLFFBQVEsQ0FBQyxJQUFJLEVBQUU7WUFDakMsTUFBTTtTQUNUO1FBRUQsSUFBSSxNQUFNLENBQUMsYUFBYSxDQUFDLEVBQUU7WUFDdkIsT0FBTyxLQUFLLENBQUM7U0FDaEI7UUFFRCxhQUFhLEdBQUcsYUFBYSxDQUFDLGFBQWEsQ0FBQztLQUMvQztJQUVELE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUM7QUFFRCxTQUFTLGtCQUFrQixDQUFDLE9BQW9CO0lBQzVDLElBQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDbEQsSUFBSSxRQUFRLEtBQUssSUFBSSxFQUFFO1FBQ25CLE9BQU8sR0FBRyxDQUFDO0tBQ2Q7SUFDRCxPQUFPLFFBQVEsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDbEMsQ0FBQztBQUVELFNBQVMsU0FBUyxDQUFDLE9BQW9CO0lBQ25DLElBQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDaEQsSUFBTSxnQkFBZ0IsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENB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
@@ -1,44 +1,27 @@
1
1
  "use strict";
2
- var __read = (this && this.__read) || function (o, n) {
3
- var m = typeof Symbol === "function" && o[Symbol.iterator];
4
- if (!m) return o;
5
- var i = m.call(o), r, ar = [], e;
6
- try {
7
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
8
- }
9
- catch (error) { e = { error: error }; }
10
- finally {
11
- try {
12
- if (r && !r.done && (m = i["return"])) m.call(i);
13
- }
14
- finally { if (e) throw e.error; }
15
- }
16
- return ar;
17
- };
18
2
  Object.defineProperty(exports, "__esModule", { value: true });
19
3
  exports.useInputFocus = void 0;
20
- var react_1 = require("react");
4
+ const react_1 = require("react");
21
5
  function useInputFocus(focusRef, onBlur, onFocus) {
22
- var _a = __read((0, react_1.useState)(false), 2), focused = _a[0], setFocused = _a[1];
23
- var focus = (0, react_1.useCallback)(function () {
24
- var node = focusRef.current;
6
+ const [focused, setFocused] = (0, react_1.useState)(false);
7
+ const focus = (0, react_1.useCallback)(() => {
8
+ const node = focusRef.current;
25
9
  if (node) {
26
10
  node.focus();
27
11
  }
28
12
  }, [focusRef]);
29
- var _onFocus = (0, react_1.useCallback)(function (e) {
13
+ const _onFocus = (0, react_1.useCallback)((e) => {
30
14
  setFocused(true);
31
15
  if (onFocus) {
32
16
  onFocus(e);
33
17
  }
34
18
  }, [onFocus]);
35
- var _onBlur = (0, react_1.useCallback)(function (e) {
19
+ const _onBlur = (0, react_1.useCallback)((e) => {
36
20
  setFocused(false);
37
21
  if (onBlur) {
38
22
  onBlur(e);
39
23
  }
40
24
  }, [onBlur]);
41
- return { focused: focused, focus: focus, onBlur: _onBlur, onFocus: _onFocus };
25
+ return { focused, focus, onBlur: _onBlur, onFocus: _onFocus };
42
26
  }
43
27
  exports.useInputFocus = useInputFocus;
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlSW5wdXRGb2N1cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ob29rcy91c2VJbnB1dEZvY3VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQkFBK0Y7QUFFL0YsU0FBZ0IsYUFBYSxDQUN6QixRQUFzQixFQUN0QixNQUE2QixFQUM3QixPQUE4QjtJQUV4QixJQUFBLEtBQUEsT0FBd0IsSUFBQSxnQkFBUSxFQUFVLEtBQUssQ0FBQyxJQUFBLEVBQS9DLE9BQU8sUUFBQSxFQUFFLFVBQVUsUUFBNEIsQ0FBQztJQUV2RCxJQUFNLEtBQUssR0FBRyxJQUFBLG1CQUFXLEVBQWlDO1FBQ3RELElBQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUM7UUFDOUIsSUFBSSxJQUFJLEVBQUU7WUFDTixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDaEI7SUFDTCxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBRWYsSUFBTSxRQUFRLEdBQUcsSUFBQSxtQkFBVyxFQUN4QixVQUFBLENBQUM7UUFDRyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakIsSUFBSSxPQUFPLEVBQUU7WUFDVCxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDZDtJQUNMLENBQUMsRUFDRCxDQUFDLE9BQU8sQ0FBQyxDQUNaLENBQUM7SUFFRixJQUFNLE9BQU8sR0FBRyxJQUFBLG1CQUFXLEVBQ3ZCLFVBQUEsQ0FBQztRQUNHLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsQixJQUFJLE1BQU0sRUFBRTtZQUNSLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNiO0lBQ0wsQ0FBQyxFQUNELENBQUMsTUFBTSxDQUFDLENBQ1gsQ0FBQztJQUVGLE9BQU8sRUFBRSxPQUFPLFNBQUEsRUFBRSxLQUFLLE9BQUEsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsQ0FBQztBQUNsRSxDQUFDO0FBbkNELHNDQW1DQyJ9
@@ -1,27 +1,10 @@
1
1
  "use strict";
2
- var __read = (this && this.__read) || function (o, n) {
3
- var m = typeof Symbol === "function" && o[Symbol.iterator];
4
- if (!m) return o;
5
- var i = m.call(o), r, ar = [], e;
6
- try {
7
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
8
- }
9
- catch (error) { e = { error: error }; }
10
- finally {
11
- try {
12
- if (r && !r.done && (m = i["return"])) m.call(i);
13
- }
14
- finally { if (e) throw e.error; }
15
- }
16
- return ar;
17
- };
18
2
  Object.defineProperty(exports, "__esModule", { value: true });
19
3
  exports.useIsMounted = void 0;
20
- var react_1 = require("react");
4
+ const react_1 = require("react");
21
5
  function useIsMounted() {
22
- var _a = __read((0, react_1.useState)(false), 2), isMounted = _a[0], setIsMounted = _a[1];
23
- (0, react_1.useEffect)(function () { return setIsMounted(true); }, []);
6
+ const [isMounted, setIsMounted] = (0, react_1.useState)(false);
7
+ (0, react_1.useEffect)(() => setIsMounted(true), []);
24
8
  return isMounted;
25
9
  }
26
10
  exports.useIsMounted = useIsMounted;
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlSXNNb3VudGVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hvb2tzL3VzZUlzTW91bnRlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsK0JBQTRDO0FBRTVDLFNBQWdCLFlBQVk7SUFDbEIsSUFBQSxLQUFBLE9BQTRCLElBQUEsZ0JBQVEsRUFBQyxLQUFLLENBQUMsSUFBQSxFQUExQyxTQUFTLFFBQUEsRUFBRSxZQUFZLFFBQW1CLENBQUM7SUFFbEQsSUFBQSxpQkFBUyxFQUFDLGNBQU0sT0FBQSxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQWxCLENBQWtCLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFFeEMsT0FBTyxTQUFTLENBQUM7QUFDckIsQ0FBQztBQU5ELG9DQU1DIn0=
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.useIsomorphicLayoutEffect = void 0;
4
- var react_1 = require("react");
5
- var isBrowser_1 = require("../utils/isBrowser");
4
+ const react_1 = require("react");
5
+ const isBrowser_1 = require("../utils/isBrowser");
6
6
  exports.useIsomorphicLayoutEffect = isBrowser_1.isBrowser ? react_1.useLayoutEffect : react_1.useEffect;
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlSXNvbW9ycGhpY0xheW91dEVmZmVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ob29rcy91c2VJc29tb3JwaGljTGF5b3V0RWZmZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLCtCQUFtRDtBQUNuRCxnREFBK0M7QUFFbEMsUUFBQSx5QkFBeUIsR0FBRyxxQkFBUyxDQUFDLENBQUMsQ0FBQyx1QkFBZSxDQUFDLENBQUMsQ0FBQyxpQkFBUyxDQUFDIn0=
package/hooks/useKey.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { RefObject } from "react";
2
- declare type KeyPredicate = (e: KeyboardEvent) => boolean;
3
- export declare type KeyFilter = null | undefined | string | KeyPredicate;
2
+ type KeyPredicate = (e: KeyboardEvent) => boolean;
3
+ export type KeyFilter = null | undefined | string | KeyPredicate;
4
4
  export interface UseKeyOptions<T extends HTMLElement> {
5
5
  disabled?: boolean;
6
6
  targetRef?: RefObject<T>;
package/hooks/useKey.js CHANGED
@@ -1,32 +1,28 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.useKey = void 0;
4
- var react_1 = require("react");
5
- var createKeyPredicate = function (keyFilter) {
6
- return typeof keyFilter === "function"
7
- ? keyFilter
8
- : typeof keyFilter === "string"
9
- ? function (e) { return e.key === keyFilter; }
10
- : function () { return false; };
11
- };
12
- function useKey(keyFilter, callback, _a) {
13
- var _b = _a === void 0 ? {} : _a, disabled = _b.disabled, targetRef = _b.targetRef, _c = _b.type, type = _c === void 0 ? "keydown" : _c;
14
- (0, react_1.useEffect)(function () {
4
+ const react_1 = require("react");
5
+ const createKeyPredicate = (keyFilter) => typeof keyFilter === "function"
6
+ ? keyFilter
7
+ : typeof keyFilter === "string"
8
+ ? (e) => e.key === keyFilter
9
+ : () => false;
10
+ function useKey(keyFilter, callback, { disabled, targetRef, type = "keydown" } = {}) {
11
+ (0, react_1.useEffect)(() => {
15
12
  if (disabled) {
16
13
  return;
17
14
  }
18
- var thisNode = (targetRef ? targetRef.current : document);
19
- var predicate = createKeyPredicate(keyFilter);
20
- var handler = function (e) {
15
+ const thisNode = (targetRef ? targetRef.current : document);
16
+ const predicate = createKeyPredicate(keyFilter);
17
+ const handler = (e) => {
21
18
  if (predicate(e)) {
22
19
  callback(e);
23
20
  }
24
21
  };
25
22
  thisNode === null || thisNode === void 0 ? void 0 : thisNode.addEventListener(type, handler);
26
- return function () {
23
+ return () => {
27
24
  thisNode === null || thisNode === void 0 ? void 0 : thisNode.removeEventListener(type, handler);
28
25
  };
29
26
  }, [callback, disabled, keyFilter, targetRef, type]);
30
27
  }
31
28
  exports.useKey = useKey;
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlS2V5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hvb2tzL3VzZUtleS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrQkFBNkM7QUFLN0MsSUFBTSxrQkFBa0IsR0FBRyxVQUFDLFNBQW9CO0lBQzVDLE9BQUEsT0FBTyxTQUFTLEtBQUssVUFBVTtRQUMzQixDQUFDLENBQUMsU0FBUztRQUNYLENBQUMsQ0FBQyxPQUFPLFNBQVMsS0FBSyxRQUFRO1lBQy9CLENBQUMsQ0FBQyxVQUFDLENBQWdCLElBQUssT0FBQSxDQUFDLENBQUMsR0FBRyxLQUFLLFNBQVMsRUFBbkIsQ0FBbUI7WUFDM0MsQ0FBQyxDQUFDLGNBQU0sT0FBQSxLQUFLLEVBQUwsQ0FBSztBQUpqQixDQUlpQixDQUFDO0FBUXRCLFNBQWdCLE1BQU0sQ0FDbEIsU0FBb0IsRUFDcEIsUUFBb0MsRUFDcEMsRUFBeUU7UUFBekUscUJBQXVFLEVBQUUsS0FBQSxFQUF2RSxRQUFRLGNBQUEsRUFBRSxTQUFTLGVBQUEsRUFBRSxZQUFnQixFQUFoQixJQUFJLG1CQUFHLFNBQVMsS0FBQTtJQUV2QyxJQUFBLGlCQUFTLEVBQUM7UUFDTixJQUFJLFFBQVEsRUFBRTtZQUNWLE9BQU87U0FDVjtRQUNELElBQU0sUUFBUSxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQXVCLENBQUM7UUFDbEYsSUFBTSxTQUFTLEdBQUcsa0JBQWtCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDaEQsSUFBTSxPQUFPLEdBQUcsVUFBQyxDQUFnQjtZQUM3QixJQUFJLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDZCxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDZjtRQUNMLENBQUMsQ0FBQztRQUNGLFFBQVEsYUFBUixRQUFRLHVCQUFSLFFBQVEsQ0FBRSxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDMUMsT0FBTztZQUNILFFBQVEsYUFBUixRQUFRLHVCQUFSLFFBQVEsQ0FBRSxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDakQsQ0FBQyxDQUFDO0lBQ04sQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDekQsQ0FBQztBQXJCRCx3QkFxQkMifQ==
@@ -1 +1,2 @@
1
+ /// <reference types="react" />
1
2
  export declare function useLatest<T>(current: T): import("react").MutableRefObject<T>;