@mantine/hooks 5.0.0-alpha.2 → 5.0.0-alpha.20
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/README.md +1 -1
- package/cjs/index.js +2 -3
- package/cjs/index.js.map +1 -1
- package/cjs/use-click-outside/use-click-outside.js +3 -3
- package/cjs/use-clipboard/use-clipboard.js +4 -4
- package/cjs/use-counter/use-counter.js +6 -14
- package/cjs/use-counter/use-counter.js.map +1 -1
- package/cjs/use-debounced-value/use-debounced-value.js +7 -7
- package/cjs/use-did-update/use-did-update.js +3 -3
- package/cjs/use-disclosure/use-disclosure.js +2 -2
- package/cjs/use-document-visibility/use-document-visibility.js +3 -3
- package/cjs/use-event-listener/use-event-listener.js +3 -3
- package/cjs/use-focus-return/use-focus-return.js +5 -9
- package/cjs/use-focus-return/use-focus-return.js.map +1 -1
- package/cjs/use-focus-trap/tabbable.js +4 -0
- package/cjs/use-focus-trap/tabbable.js.map +1 -1
- package/cjs/use-focus-trap/use-focus-trap.js +5 -5
- package/cjs/use-focus-within/use-focus-within.js +5 -5
- package/cjs/use-force-update/use-force-update.js +2 -2
- package/cjs/use-fullscreen/use-fullscreen.js +8 -8
- package/cjs/use-hash/use-hash.js +2 -2
- package/cjs/use-hotkeys/use-hotkeys.js +2 -2
- package/cjs/use-hover/use-hover.js +6 -6
- package/cjs/use-id/use-id.js +21 -5
- package/cjs/use-id/use-id.js.map +1 -1
- package/cjs/use-idle/use-idle.js +4 -4
- package/cjs/use-input-state/use-input-state.js +2 -2
- package/cjs/use-intersection/use-intersection.js +5 -5
- package/cjs/use-intersection/use-intersection.js.map +1 -1
- package/cjs/use-interval/use-interval.js +13 -7
- package/cjs/use-interval/use-interval.js.map +1 -1
- package/cjs/use-isomorphic-effect/use-isomorphic-effect.js +2 -2
- package/cjs/use-list-state/use-list-state.js +7 -3
- package/cjs/use-list-state/use-list-state.js.map +1 -1
- package/cjs/use-local-storage/use-local-storage.js +5 -5
- package/cjs/use-logger/use-logger.js +2 -2
- package/cjs/use-media-query/use-media-query.js +4 -4
- package/cjs/use-merged-ref/use-merged-ref.js +2 -2
- package/cjs/use-mouse/use-mouse.js +4 -4
- package/cjs/use-move/use-move.js +13 -13
- package/cjs/use-move/use-move.js.map +1 -1
- package/cjs/use-network/use-network.js +4 -4
- package/cjs/use-page-leave/use-page-leave.js +2 -2
- package/cjs/use-pagination/use-pagination.js +3 -4
- package/cjs/use-pagination/use-pagination.js.map +1 -1
- package/cjs/use-queue/use-queue.js +2 -2
- package/cjs/use-resize-observer/use-resize-observer.js +6 -6
- package/cjs/use-scroll-into-view/use-scroll-into-view.js +8 -8
- package/cjs/use-scroll-lock/use-scroll-lock.js +7 -7
- package/cjs/use-set-state/use-set-state.js +2 -2
- package/cjs/use-shallow-effect/use-shallow-effect.js +4 -4
- package/cjs/use-timeout/use-timeout.js +33 -0
- package/cjs/use-timeout/use-timeout.js.map +1 -0
- package/cjs/use-toggle/use-toggle.js +3 -7
- package/cjs/use-toggle/use-toggle.js.map +1 -1
- package/cjs/use-uncontrolled/use-uncontrolled.js +8 -26
- package/cjs/use-uncontrolled/use-uncontrolled.js.map +1 -1
- package/cjs/use-validated-state/use-validated-state.js +5 -5
- package/cjs/use-validated-state/use-validated-state.js.map +1 -1
- package/cjs/use-viewport-size/use-viewport-size.js +3 -3
- package/cjs/use-window-event/use-window-event.js +2 -2
- package/cjs/use-window-scroll/use-window-scroll.js +2 -2
- package/cjs/utils/clamp/clamp.js +1 -1
- package/cjs/utils/clamp/clamp.js.map +1 -1
- package/esm/index.js +2 -2
- package/esm/use-counter/use-counter.js +5 -13
- package/esm/use-counter/use-counter.js.map +1 -1
- package/esm/use-focus-return/use-focus-return.js +3 -7
- package/esm/use-focus-return/use-focus-return.js.map +1 -1
- package/esm/use-focus-trap/tabbable.js +4 -0
- package/esm/use-focus-trap/tabbable.js.map +1 -1
- package/esm/use-id/use-id.js +17 -5
- package/esm/use-id/use-id.js.map +1 -1
- package/esm/use-intersection/use-intersection.js +1 -1
- package/esm/use-intersection/use-intersection.js.map +1 -1
- package/esm/use-interval/use-interval.js +11 -5
- package/esm/use-interval/use-interval.js.map +1 -1
- package/esm/use-list-state/use-list-state.js +5 -1
- package/esm/use-list-state/use-list-state.js.map +1 -1
- package/esm/use-move/use-move.js +5 -5
- package/esm/use-move/use-move.js.map +1 -1
- package/esm/use-pagination/use-pagination.js +1 -2
- package/esm/use-pagination/use-pagination.js.map +1 -1
- package/esm/use-timeout/use-timeout.js +29 -0
- package/esm/use-timeout/use-timeout.js.map +1 -0
- package/esm/use-toggle/use-toggle.js +3 -6
- package/esm/use-toggle/use-toggle.js.map +1 -1
- package/esm/use-uncontrolled/use-uncontrolled.js +8 -26
- package/esm/use-uncontrolled/use-uncontrolled.js.map +1 -1
- package/esm/use-validated-state/use-validated-state.js +2 -2
- package/esm/use-validated-state/use-validated-state.js.map +1 -1
- package/esm/utils/clamp/clamp.js +1 -1
- package/esm/utils/clamp/clamp.js.map +1 -1
- package/lib/index.d.ts +3 -2
- package/lib/index.d.ts.map +1 -1
- package/lib/use-counter/use-counter.d.ts +2 -2
- package/lib/use-counter/use-counter.d.ts.map +1 -1
- package/lib/use-focus-return/use-focus-return.d.ts +1 -2
- package/lib/use-focus-return/use-focus-return.d.ts.map +1 -1
- package/lib/use-focus-trap/tabbable.d.ts.map +1 -1
- package/lib/use-id/use-id.d.ts +1 -1
- package/lib/use-id/use-id.d.ts.map +1 -1
- package/lib/use-intersection/use-intersection.d.ts +4 -1
- package/lib/use-intersection/use-intersection.d.ts.map +1 -1
- package/lib/use-interval/use-interval.d.ts.map +1 -1
- package/lib/use-list-state/use-list-state.d.ts +3 -2
- package/lib/use-list-state/use-list-state.d.ts.map +1 -1
- package/lib/use-pagination/use-pagination.d.ts.map +1 -1
- package/lib/use-timeout/use-timeout.d.ts +7 -0
- package/lib/use-timeout/use-timeout.d.ts.map +1 -0
- package/lib/use-toggle/use-toggle.d.ts +1 -2
- package/lib/use-toggle/use-toggle.d.ts.map +1 -1
- package/lib/use-uncontrolled/use-uncontrolled.d.ts +11 -9
- package/lib/use-uncontrolled/use-uncontrolled.d.ts.map +1 -1
- package/lib/use-validated-state/use-validated-state.d.ts +1 -1
- package/lib/use-validated-state/use-validated-state.d.ts.map +1 -1
- package/lib/utils/clamp/clamp.d.ts +1 -7
- package/lib/utils/clamp/clamp.d.ts.map +1 -1
- package/package.json +1 -1
- package/cjs/use-uuid/use-uuid.js +0 -18
- package/cjs/use-uuid/use-uuid.js.map +0 -1
- package/esm/use-uuid/use-uuid.js +0 -14
- package/esm/use-uuid/use-uuid.js.map +0 -1
- package/lib/use-uuid/use-uuid.d.ts +0 -2
- package/lib/use-uuid/use-uuid.d.ts.map +0 -1
package/README.md
CHANGED
package/cjs/index.js
CHANGED
|
@@ -42,7 +42,6 @@ var useHotkeys = require('./use-hotkeys/use-hotkeys.js');
|
|
|
42
42
|
var useFullscreen = require('./use-fullscreen/use-fullscreen.js');
|
|
43
43
|
var useLogger = require('./use-logger/use-logger.js');
|
|
44
44
|
var useHover = require('./use-hover/use-hover.js');
|
|
45
|
-
var useUuid = require('./use-uuid/use-uuid.js');
|
|
46
45
|
var useValidatedState = require('./use-validated-state/use-validated-state.js');
|
|
47
46
|
var useOs = require('./use-os/use-os.js');
|
|
48
47
|
var useSetState = require('./use-set-state/use-set-state.js');
|
|
@@ -51,6 +50,7 @@ var useEventListener = require('./use-event-listener/use-event-listener.js');
|
|
|
51
50
|
var useDisclosure = require('./use-disclosure/use-disclosure.js');
|
|
52
51
|
var useFocusWithin = require('./use-focus-within/use-focus-within.js');
|
|
53
52
|
var useNetwork = require('./use-network/use-network.js');
|
|
53
|
+
var useTimeout = require('./use-timeout/use-timeout.js');
|
|
54
54
|
var parseHotkey = require('./use-hotkeys/parse-hotkey.js');
|
|
55
55
|
var assignRef = require('./utils/assign-ref/assign-ref.js');
|
|
56
56
|
var clamp = require('./utils/clamp/clamp.js');
|
|
@@ -94,7 +94,6 @@ exports.useElementSize = useResizeObserver.useElementSize;
|
|
|
94
94
|
exports.useResizeObserver = useResizeObserver.useResizeObserver;
|
|
95
95
|
exports.useScrollLock = useScrollLock.useScrollLock;
|
|
96
96
|
exports.useShallowEffect = useShallowEffect.useShallowEffect;
|
|
97
|
-
exports.useBooleanToggle = useToggle.useBooleanToggle;
|
|
98
97
|
exports.useToggle = useToggle.useToggle;
|
|
99
98
|
exports.useUncontrolled = useUncontrolled.useUncontrolled;
|
|
100
99
|
exports.useViewportSize = useViewportSize.useViewportSize;
|
|
@@ -106,7 +105,6 @@ exports.useHotkeys = useHotkeys.useHotkeys;
|
|
|
106
105
|
exports.useFullscreen = useFullscreen.useFullscreen;
|
|
107
106
|
exports.useLogger = useLogger.useLogger;
|
|
108
107
|
exports.useHover = useHover.useHover;
|
|
109
|
-
exports.useUuid = useUuid.useUuid;
|
|
110
108
|
exports.useValidatedState = useValidatedState.useValidatedState;
|
|
111
109
|
exports.useOs = useOs.useOs;
|
|
112
110
|
exports.useSetState = useSetState.useSetState;
|
|
@@ -115,6 +113,7 @@ exports.useEventListener = useEventListener.useEventListener;
|
|
|
115
113
|
exports.useDisclosure = useDisclosure.useDisclosure;
|
|
116
114
|
exports.useFocusWithin = useFocusWithin.useFocusWithin;
|
|
117
115
|
exports.useNetwork = useNetwork.useNetwork;
|
|
116
|
+
exports.useTimeout = useTimeout.useTimeout;
|
|
118
117
|
exports.getHotkeyHandler = parseHotkey.getHotkeyHandler;
|
|
119
118
|
exports.assignRef = assignRef.assignRef;
|
|
120
119
|
exports.clamp = clamp.clamp;
|
package/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var React = require('react');
|
|
6
6
|
|
|
7
7
|
const DEFAULT_EVENTS = ["mousedown", "touchstart"];
|
|
8
8
|
function useClickOutside(handler, events, nodes) {
|
|
9
|
-
const ref =
|
|
10
|
-
|
|
9
|
+
const ref = React.useRef();
|
|
10
|
+
React.useEffect(() => {
|
|
11
11
|
const listener = (event) => {
|
|
12
12
|
var _a;
|
|
13
13
|
if (Array.isArray(nodes)) {
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var React = require('react');
|
|
6
6
|
|
|
7
7
|
function useClipboard({ timeout = 2e3 } = {}) {
|
|
8
|
-
const [error, setError] =
|
|
9
|
-
const [copied, setCopied] =
|
|
10
|
-
const [copyTimeout, setCopyTimeout] =
|
|
8
|
+
const [error, setError] = React.useState(null);
|
|
9
|
+
const [copied, setCopied] = React.useState(false);
|
|
10
|
+
const [copyTimeout, setCopyTimeout] = React.useState(null);
|
|
11
11
|
const handleCopyResult = (value) => {
|
|
12
12
|
clearTimeout(copyTimeout);
|
|
13
13
|
setCopyTimeout(setTimeout(() => setCopied(false), timeout));
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var React = require('react');
|
|
6
6
|
var clamp = require('../utils/clamp/clamp.js');
|
|
7
7
|
|
|
8
8
|
var __defProp = Object.defineProperty;
|
|
@@ -27,19 +27,11 @@ const DEFAULT_OPTIONS = {
|
|
|
27
27
|
};
|
|
28
28
|
function useCounter(initialValue = 0, options) {
|
|
29
29
|
const { min, max } = __spreadValues(__spreadValues({}, DEFAULT_OPTIONS), options);
|
|
30
|
-
const [count, setCount] =
|
|
31
|
-
const increment = (
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
const
|
|
35
|
-
setCount((current) => clamp.clamp({ value: current - delta, min, max }));
|
|
36
|
-
};
|
|
37
|
-
const set = (value) => {
|
|
38
|
-
setCount(clamp.clamp({ value, min, max }));
|
|
39
|
-
};
|
|
40
|
-
const reset = () => {
|
|
41
|
-
setCount(clamp.clamp({ value: initialValue, min, max }));
|
|
42
|
-
};
|
|
30
|
+
const [count, setCount] = React.useState(clamp.clamp(initialValue, min, max));
|
|
31
|
+
const increment = () => setCount((current) => clamp.clamp(current + 1, min, max));
|
|
32
|
+
const decrement = () => setCount((current) => clamp.clamp(current - 1, min, max));
|
|
33
|
+
const set = (value) => setCount(clamp.clamp(value, min, max));
|
|
34
|
+
const reset = () => setCount(clamp.clamp(initialValue, min, max));
|
|
43
35
|
return [count, { increment, decrement, set, reset }];
|
|
44
36
|
}
|
|
45
37
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-counter.js","sources":["../../src/use-counter/use-counter.ts"],"sourcesContent":["import { useState } from 'react';\nimport { clamp } from '../utils';\n\nconst DEFAULT_OPTIONS = {\n min: -Infinity,\n max: Infinity,\n};\n\nexport function useCounter(initialValue = 0, options?: Partial<{ min: number; max: number }>) {\n const { min, max } = { ...DEFAULT_OPTIONS, ...options };\n const [count, setCount] = useState<number>(clamp(
|
|
1
|
+
{"version":3,"file":"use-counter.js","sources":["../../src/use-counter/use-counter.ts"],"sourcesContent":["import { useState } from 'react';\nimport { clamp } from '../utils';\n\nconst DEFAULT_OPTIONS = {\n min: -Infinity,\n max: Infinity,\n};\n\nexport function useCounter(initialValue = 0, options?: Partial<{ min: number; max: number }>) {\n const { min, max } = { ...DEFAULT_OPTIONS, ...options };\n const [count, setCount] = useState<number>(clamp(initialValue, min, max));\n\n const increment = () => setCount((current) => clamp(current + 1, min, max));\n const decrement = () => setCount((current) => clamp(current - 1, min, max));\n const set = (value: number) => setCount(clamp(value, min, max));\n const reset = () => setCount(clamp(initialValue, min, max));\n\n return [count, { increment, decrement, set, reset }] as const;\n}\n"],"names":["useState","clamp"],"mappings":";;;;;;;AAAA,IAAI,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;AACtC,IAAI,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CAAC;AACvD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC;AACnD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC;AACzD,IAAI,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,KAAK,GAAG,IAAI,GAAG,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAChK,IAAI,cAAc,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK;AAC/B,EAAE,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;AAChC,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AAClC,MAAM,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACxC,EAAE,IAAI,mBAAmB;AACzB,IAAI,KAAK,IAAI,IAAI,IAAI,mBAAmB,CAAC,CAAC,CAAC,EAAE;AAC7C,MAAM,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AACpC,QAAQ,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1C,KAAK;AACL,EAAE,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AAGF,MAAM,eAAe,GAAG;AACxB,EAAE,GAAG,EAAE,CAAC,QAAQ;AAChB,EAAE,GAAG,EAAE,QAAQ;AACf,CAAC,CAAC;AACK,SAAS,UAAU,CAAC,YAAY,GAAG,CAAC,EAAE,OAAO,EAAE;AACtD,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,cAAc,CAAC,cAAc,CAAC,EAAE,EAAE,eAAe,CAAC,EAAE,OAAO,CAAC,CAAC;AACpF,EAAE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAGA,cAAQ,CAACC,WAAK,CAAC,YAAY,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AACpE,EAAE,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,CAAC,OAAO,KAAKA,WAAK,CAAC,OAAO,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAC9E,EAAE,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,CAAC,OAAO,KAAKA,WAAK,CAAC,OAAO,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAC9E,EAAE,MAAM,GAAG,GAAG,CAAC,KAAK,KAAK,QAAQ,CAACA,WAAK,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAC1D,EAAE,MAAM,KAAK,GAAG,MAAM,QAAQ,CAACA,WAAK,CAAC,YAAY,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAC9D,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;AACvD;;;;"}
|
|
@@ -2,15 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var React = require('react');
|
|
6
6
|
|
|
7
7
|
function useDebouncedValue(value, wait, options = { leading: false }) {
|
|
8
|
-
const [_value, setValue] =
|
|
9
|
-
const mountedRef =
|
|
10
|
-
const timeoutRef =
|
|
11
|
-
const cooldownRef =
|
|
8
|
+
const [_value, setValue] = React.useState(value);
|
|
9
|
+
const mountedRef = React.useRef(false);
|
|
10
|
+
const timeoutRef = React.useRef(null);
|
|
11
|
+
const cooldownRef = React.useRef(false);
|
|
12
12
|
const cancel = () => window.clearTimeout(timeoutRef.current);
|
|
13
|
-
|
|
13
|
+
React.useEffect(() => {
|
|
14
14
|
if (mountedRef.current) {
|
|
15
15
|
if (!cooldownRef.current && options.leading) {
|
|
16
16
|
cooldownRef.current = true;
|
|
@@ -24,7 +24,7 @@ function useDebouncedValue(value, wait, options = { leading: false }) {
|
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
26
|
}, [value, options.leading]);
|
|
27
|
-
|
|
27
|
+
React.useEffect(() => {
|
|
28
28
|
mountedRef.current = true;
|
|
29
29
|
return cancel;
|
|
30
30
|
}, []);
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var React = require('react');
|
|
6
6
|
|
|
7
7
|
function useDidUpdate(fn, dependencies) {
|
|
8
|
-
const mounted =
|
|
9
|
-
|
|
8
|
+
const mounted = React.useRef(false);
|
|
9
|
+
React.useEffect(() => {
|
|
10
10
|
if (mounted.current) {
|
|
11
11
|
fn();
|
|
12
12
|
} else {
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var React = require('react');
|
|
6
6
|
|
|
7
7
|
function useDisclosure(initialState, callbacks) {
|
|
8
|
-
const [opened, setOpened] =
|
|
8
|
+
const [opened, setOpened] = React.useState(initialState);
|
|
9
9
|
const open = () => {
|
|
10
10
|
var _a;
|
|
11
11
|
if (!opened) {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var React = require('react');
|
|
6
6
|
|
|
7
7
|
const getVisibility = () => {
|
|
8
8
|
if (typeof document === "undefined")
|
|
@@ -10,8 +10,8 @@ const getVisibility = () => {
|
|
|
10
10
|
return document.visibilityState;
|
|
11
11
|
};
|
|
12
12
|
function useDocumentVisibility() {
|
|
13
|
-
const [documentVisibility, setDocumentVisibility] =
|
|
14
|
-
|
|
13
|
+
const [documentVisibility, setDocumentVisibility] = React.useState(getVisibility());
|
|
14
|
+
React.useEffect(() => {
|
|
15
15
|
const listener = () => setDocumentVisibility(getVisibility());
|
|
16
16
|
document.addEventListener("visibilitychange", listener);
|
|
17
17
|
return () => document.removeEventListener("visibilitychange", listener);
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var React = require('react');
|
|
6
6
|
|
|
7
7
|
function useEventListener(type, listener, options) {
|
|
8
|
-
const ref =
|
|
9
|
-
|
|
8
|
+
const ref = React.useRef();
|
|
9
|
+
React.useEffect(() => {
|
|
10
10
|
if (ref.current) {
|
|
11
11
|
ref.current.addEventListener(type, listener, options);
|
|
12
12
|
return () => {
|
|
@@ -2,15 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var React = require('react');
|
|
6
6
|
var useDidUpdate = require('../use-did-update/use-did-update.js');
|
|
7
7
|
|
|
8
|
-
function useFocusReturn({
|
|
9
|
-
|
|
10
|
-
transitionDuration,
|
|
11
|
-
shouldReturnFocus = true
|
|
12
|
-
}) {
|
|
13
|
-
const lastActiveElement = react.useRef();
|
|
8
|
+
function useFocusReturn({ opened, shouldReturnFocus = true }) {
|
|
9
|
+
const lastActiveElement = React.useRef();
|
|
14
10
|
const returnFocus = () => {
|
|
15
11
|
var _a;
|
|
16
12
|
if (lastActiveElement.current && "focus" in lastActiveElement.current && typeof lastActiveElement.current.focus === "function") {
|
|
@@ -20,7 +16,7 @@ function useFocusReturn({
|
|
|
20
16
|
useDidUpdate.useDidUpdate(() => {
|
|
21
17
|
let timeout = -1;
|
|
22
18
|
const clearFocusTimeout = (event) => {
|
|
23
|
-
if (event.
|
|
19
|
+
if (event.key === "Tab") {
|
|
24
20
|
window.clearTimeout(timeout);
|
|
25
21
|
}
|
|
26
22
|
};
|
|
@@ -28,7 +24,7 @@ function useFocusReturn({
|
|
|
28
24
|
if (opened) {
|
|
29
25
|
lastActiveElement.current = document.activeElement;
|
|
30
26
|
} else if (shouldReturnFocus) {
|
|
31
|
-
timeout = window.setTimeout(returnFocus,
|
|
27
|
+
timeout = window.setTimeout(returnFocus, 10);
|
|
32
28
|
}
|
|
33
29
|
return () => {
|
|
34
30
|
window.clearTimeout(timeout);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-focus-return.js","sources":["../../src/use-focus-return/use-focus-return.ts"],"sourcesContent":["import { useRef } from 'react';\nimport { useDidUpdate } from '../use-did-update/use-did-update';\n\ninterface UseFocusReturn {\n opened: boolean;\n
|
|
1
|
+
{"version":3,"file":"use-focus-return.js","sources":["../../src/use-focus-return/use-focus-return.ts"],"sourcesContent":["import { useRef } from 'react';\nimport { useDidUpdate } from '../use-did-update/use-did-update';\n\ninterface UseFocusReturn {\n opened: boolean;\n shouldReturnFocus?: boolean;\n}\n\n/** Returns focus to last active element, used in Modal and Drawer */\nexport function useFocusReturn({ opened, shouldReturnFocus = true }: UseFocusReturn) {\n const lastActiveElement = useRef<HTMLElement>();\n const returnFocus = () => {\n if (\n lastActiveElement.current &&\n 'focus' in lastActiveElement.current &&\n typeof lastActiveElement.current.focus === 'function'\n ) {\n lastActiveElement.current?.focus();\n }\n };\n\n useDidUpdate(() => {\n let timeout = -1;\n\n const clearFocusTimeout = (event: KeyboardEvent) => {\n if (event.key === 'Tab') {\n window.clearTimeout(timeout);\n }\n };\n\n document.addEventListener('keydown', clearFocusTimeout);\n\n if (opened) {\n lastActiveElement.current = document.activeElement as HTMLElement;\n } else if (shouldReturnFocus) {\n timeout = window.setTimeout(returnFocus, 10);\n }\n\n return () => {\n window.clearTimeout(timeout);\n document.removeEventListener('keydown', clearFocusTimeout);\n };\n }, [opened]);\n\n return returnFocus;\n}\n"],"names":["useRef","useDidUpdate"],"mappings":";;;;;;;AAEO,SAAS,cAAc,CAAC,EAAE,MAAM,EAAE,iBAAiB,GAAG,IAAI,EAAE,EAAE;AACrE,EAAE,MAAM,iBAAiB,GAAGA,YAAM,EAAE,CAAC;AACrC,EAAE,MAAM,WAAW,GAAG,MAAM;AAC5B,IAAI,IAAI,EAAE,CAAC;AACX,IAAI,IAAI,iBAAiB,CAAC,OAAO,IAAI,OAAO,IAAI,iBAAiB,CAAC,OAAO,IAAI,OAAO,iBAAiB,CAAC,OAAO,CAAC,KAAK,KAAK,UAAU,EAAE;AACpI,MAAM,CAAC,EAAE,GAAG,iBAAiB,CAAC,OAAO,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC;AACrE,KAAK;AACL,GAAG,CAAC;AACJ,EAAEC,yBAAY,CAAC,MAAM;AACrB,IAAI,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC;AACrB,IAAI,MAAM,iBAAiB,GAAG,CAAC,KAAK,KAAK;AACzC,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,KAAK,EAAE;AAC/B,QAAQ,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;AACrC,OAAO;AACP,KAAK,CAAC;AACN,IAAI,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;AAC5D,IAAI,IAAI,MAAM,EAAE;AAChB,MAAM,iBAAiB,CAAC,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC;AACzD,KAAK,MAAM,IAAI,iBAAiB,EAAE;AAClC,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;AACnD,KAAK;AACL,IAAI,OAAO,MAAM;AACjB,MAAM,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;AACnC,MAAM,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;AACjE,KAAK,CAAC;AACN,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;AACf,EAAE,OAAO,WAAW,CAAC;AACrB;;;;"}
|
|
@@ -11,6 +11,10 @@ function hidden(element) {
|
|
|
11
11
|
return element.style.display === "none";
|
|
12
12
|
}
|
|
13
13
|
function visible(element) {
|
|
14
|
+
const isHidden = element.getAttribute("aria-hidden") || element.getAttribute("hidden") || element.getAttribute("type") === "hidden";
|
|
15
|
+
if (isHidden) {
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
14
18
|
let parentElement = element;
|
|
15
19
|
while (parentElement) {
|
|
16
20
|
if (parentElement === document.body) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tabbable.js","sources":["../../src/use-focus-trap/tabbable.ts"],"sourcesContent":["const TABBABLE_NODES = /input|select|textarea|button|object/;\nexport const FOCUS_SELECTOR = 'a, input, select, textarea, button, object, [tabindex]';\n\nfunction hidden(element: HTMLElement) {\n if (process.env.NODE_ENV === 'test') {\n return false;\n }\n\n return element.style.display === 'none';\n}\n\nfunction visible(element: HTMLElement) {\n let parentElement: HTMLElement = element;\n while (parentElement) {\n if (parentElement === document.body) {\n break;\n }\n\n if (hidden(parentElement)) {\n return false;\n }\n\n parentElement = parentElement.parentNode as HTMLElement;\n }\n\n return true;\n}\n\nfunction getElementTabIndex(element: HTMLElement) {\n let tabIndex = element.getAttribute('tabindex');\n if (tabIndex === null) {\n tabIndex = undefined;\n }\n return parseInt(tabIndex, 10);\n}\n\nexport function focusable(element: HTMLElement) {\n const nodeName = element.nodeName.toLowerCase();\n const isTabIndexNotNaN = !Number.isNaN(getElementTabIndex(element));\n const res =\n // @ts-ignore\n (TABBABLE_NODES.test(nodeName) && !element.disabled) ||\n (element instanceof HTMLAnchorElement ? element.href || isTabIndexNotNaN : isTabIndexNotNaN);\n\n return res && visible(element);\n}\n\nexport function tabbable(element: HTMLElement) {\n const tabIndex = getElementTabIndex(element);\n const isTabIndexNaN = Number.isNaN(tabIndex);\n return (isTabIndexNaN || tabIndex >= 0) && focusable(element);\n}\n\nexport function findTabbableDescendants(element: HTMLElement): HTMLElement[] {\n return Array.from(element.querySelectorAll<HTMLElement>(FOCUS_SELECTOR)).filter(tabbable);\n}\n"],"names":[],"mappings":";;;;AAAA,MAAM,cAAc,GAAG,qCAAqC,CAAC;AACjD,MAAC,cAAc,GAAG,yDAAyD;AACvF,SAAS,MAAM,CAAC,OAAO,EAAE;AACzB,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,EAAE;AACvC,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG;AACH,EAAE,OAAO,OAAO,CAAC,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC;AAC1C,CAAC;AACD,SAAS,OAAO,CAAC,OAAO,EAAE;AAC1B,EAAE,IAAI,aAAa,GAAG,OAAO,CAAC;AAC9B,EAAE,OAAO,aAAa,EAAE;AACxB,IAAI,IAAI,aAAa,KAAK,QAAQ,CAAC,IAAI,EAAE;AACzC,MAAM,MAAM;AACZ,KAAK;AACL,IAAI,IAAI,MAAM,CAAC,aAAa,CAAC,EAAE;AAC/B,MAAM,OAAO,KAAK,CAAC;AACnB,KAAK;AACL,IAAI,aAAa,GAAG,aAAa,CAAC,UAAU,CAAC;AAC7C,GAAG;AACH,EAAE,OAAO,IAAI,CAAC;AACd,CAAC;AACD,SAAS,kBAAkB,CAAC,OAAO,EAAE;AACrC,EAAE,IAAI,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;AAClD,EAAE,IAAI,QAAQ,KAAK,IAAI,EAAE;AACzB,IAAI,QAAQ,GAAG,KAAK,CAAC,CAAC;AACtB,GAAG;AACH,EAAE,OAAO,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAChC,CAAC;AACM,SAAS,SAAS,CAAC,OAAO,EAAE;AACnC,EAAE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;AAClD,EAAE,MAAM,gBAAgB,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC;AACtE,EAAE,MAAM,GAAG,GAAG,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,YAAY,iBAAiB,GAAG,OAAO,CAAC,IAAI,IAAI,gBAAgB,GAAG,gBAAgB,CAAC,CAAC;AACjK,EAAE,OAAO,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;AACjC,CAAC;AACM,SAAS,QAAQ,CAAC,OAAO,EAAE;AAClC,EAAE,MAAM,QAAQ,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;AAC/C,EAAE,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AAC/C,EAAE,OAAO,CAAC,aAAa,IAAI,QAAQ,IAAI,CAAC,KAAK,SAAS,CAAC,OAAO,CAAC,CAAC;AAChE,CAAC;AACM,SAAS,uBAAuB,CAAC,OAAO,EAAE;AACjD,EAAE,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AAC/E;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"tabbable.js","sources":["../../src/use-focus-trap/tabbable.ts"],"sourcesContent":["const TABBABLE_NODES = /input|select|textarea|button|object/;\nexport const FOCUS_SELECTOR = 'a, input, select, textarea, button, object, [tabindex]';\n\nfunction hidden(element: HTMLElement) {\n if (process.env.NODE_ENV === 'test') {\n return false;\n }\n\n return element.style.display === 'none';\n}\n\nfunction visible(element: HTMLElement) {\n const isHidden =\n element.getAttribute('aria-hidden') ||\n element.getAttribute('hidden') ||\n element.getAttribute('type') === 'hidden';\n\n if (isHidden) {\n return false;\n }\n\n let parentElement: HTMLElement = element;\n while (parentElement) {\n if (parentElement === document.body) {\n break;\n }\n\n if (hidden(parentElement)) {\n return false;\n }\n\n parentElement = parentElement.parentNode as HTMLElement;\n }\n\n return true;\n}\n\nfunction getElementTabIndex(element: HTMLElement) {\n let tabIndex = element.getAttribute('tabindex');\n if (tabIndex === null) {\n tabIndex = undefined;\n }\n return parseInt(tabIndex, 10);\n}\n\nexport function focusable(element: HTMLElement) {\n const nodeName = element.nodeName.toLowerCase();\n const isTabIndexNotNaN = !Number.isNaN(getElementTabIndex(element));\n const res =\n // @ts-ignore\n (TABBABLE_NODES.test(nodeName) && !element.disabled) ||\n (element instanceof HTMLAnchorElement ? element.href || isTabIndexNotNaN : isTabIndexNotNaN);\n\n return res && visible(element);\n}\n\nexport function tabbable(element: HTMLElement) {\n const tabIndex = getElementTabIndex(element);\n const isTabIndexNaN = Number.isNaN(tabIndex);\n return (isTabIndexNaN || tabIndex >= 0) && focusable(element);\n}\n\nexport function findTabbableDescendants(element: HTMLElement): HTMLElement[] {\n return Array.from(element.querySelectorAll<HTMLElement>(FOCUS_SELECTOR)).filter(tabbable);\n}\n"],"names":[],"mappings":";;;;AAAA,MAAM,cAAc,GAAG,qCAAqC,CAAC;AACjD,MAAC,cAAc,GAAG,yDAAyD;AACvF,SAAS,MAAM,CAAC,OAAO,EAAE;AACzB,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,EAAE;AACvC,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG;AACH,EAAE,OAAO,OAAO,CAAC,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC;AAC1C,CAAC;AACD,SAAS,OAAO,CAAC,OAAO,EAAE;AAC1B,EAAE,MAAM,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC;AACtI,EAAE,IAAI,QAAQ,EAAE;AAChB,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG;AACH,EAAE,IAAI,aAAa,GAAG,OAAO,CAAC;AAC9B,EAAE,OAAO,aAAa,EAAE;AACxB,IAAI,IAAI,aAAa,KAAK,QAAQ,CAAC,IAAI,EAAE;AACzC,MAAM,MAAM;AACZ,KAAK;AACL,IAAI,IAAI,MAAM,CAAC,aAAa,CAAC,EAAE;AAC/B,MAAM,OAAO,KAAK,CAAC;AACnB,KAAK;AACL,IAAI,aAAa,GAAG,aAAa,CAAC,UAAU,CAAC;AAC7C,GAAG;AACH,EAAE,OAAO,IAAI,CAAC;AACd,CAAC;AACD,SAAS,kBAAkB,CAAC,OAAO,EAAE;AACrC,EAAE,IAAI,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;AAClD,EAAE,IAAI,QAAQ,KAAK,IAAI,EAAE;AACzB,IAAI,QAAQ,GAAG,KAAK,CAAC,CAAC;AACtB,GAAG;AACH,EAAE,OAAO,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAChC,CAAC;AACM,SAAS,SAAS,CAAC,OAAO,EAAE;AACnC,EAAE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;AAClD,EAAE,MAAM,gBAAgB,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC;AACtE,EAAE,MAAM,GAAG,GAAG,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,YAAY,iBAAiB,GAAG,OAAO,CAAC,IAAI,IAAI,gBAAgB,GAAG,gBAAgB,CAAC,CAAC;AACjK,EAAE,OAAO,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;AACjC,CAAC;AACM,SAAS,QAAQ,CAAC,OAAO,EAAE;AAClC,EAAE,MAAM,QAAQ,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;AAC/C,EAAE,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AAC/C,EAAE,OAAO,CAAC,aAAa,IAAI,QAAQ,IAAI,CAAC,KAAK,SAAS,CAAC,OAAO,CAAC,CAAC;AAChE,CAAC;AACM,SAAS,uBAAuB,CAAC,OAAO,EAAE;AACjD,EAAE,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AAC/E;;;;;;;"}
|
|
@@ -2,15 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var React = require('react');
|
|
6
6
|
var tabbable = require('./tabbable.js');
|
|
7
7
|
var scopeTab = require('./scope-tab.js');
|
|
8
8
|
var createAriaHider = require('./create-aria-hider.js');
|
|
9
9
|
|
|
10
10
|
function useFocusTrap(active = true) {
|
|
11
|
-
const ref =
|
|
12
|
-
const restoreAria =
|
|
13
|
-
const setRef =
|
|
11
|
+
const ref = React.useRef();
|
|
12
|
+
const restoreAria = React.useRef(null);
|
|
13
|
+
const setRef = React.useCallback((node) => {
|
|
14
14
|
if (!active) {
|
|
15
15
|
return;
|
|
16
16
|
}
|
|
@@ -45,7 +45,7 @@ function useFocusTrap(active = true) {
|
|
|
45
45
|
ref.current = null;
|
|
46
46
|
}
|
|
47
47
|
}, [active]);
|
|
48
|
-
|
|
48
|
+
React.useEffect(() => {
|
|
49
49
|
if (!active) {
|
|
50
50
|
return void 0;
|
|
51
51
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var React = require('react');
|
|
6
6
|
|
|
7
7
|
function containsRelatedTarget(event) {
|
|
8
8
|
if (event.currentTarget instanceof HTMLElement && event.relatedTarget instanceof HTMLElement) {
|
|
@@ -14,9 +14,9 @@ function useFocusWithin({
|
|
|
14
14
|
onBlur,
|
|
15
15
|
onFocus
|
|
16
16
|
} = {}) {
|
|
17
|
-
const ref =
|
|
18
|
-
const [focused, _setFocused] =
|
|
19
|
-
const focusedRef =
|
|
17
|
+
const ref = React.useRef();
|
|
18
|
+
const [focused, _setFocused] = React.useState(false);
|
|
19
|
+
const focusedRef = React.useRef(false);
|
|
20
20
|
const setFocused = (value) => {
|
|
21
21
|
_setFocused(value);
|
|
22
22
|
focusedRef.current = value;
|
|
@@ -33,7 +33,7 @@ function useFocusWithin({
|
|
|
33
33
|
onBlur == null ? void 0 : onBlur(event);
|
|
34
34
|
}
|
|
35
35
|
};
|
|
36
|
-
|
|
36
|
+
React.useEffect(() => {
|
|
37
37
|
if (ref.current) {
|
|
38
38
|
ref.current.addEventListener("focusin", handleFocusIn);
|
|
39
39
|
ref.current.addEventListener("focusout", handleFocusOut);
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var React = require('react');
|
|
6
6
|
|
|
7
7
|
const reducer = (value) => (value + 1) % 1e6;
|
|
8
8
|
function useForceUpdate() {
|
|
9
|
-
const [, update] =
|
|
9
|
+
const [, update] = React.useReducer(reducer, 0);
|
|
10
10
|
return update;
|
|
11
11
|
}
|
|
12
12
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var React = require('react');
|
|
6
6
|
|
|
7
7
|
function getFullscreenElement() {
|
|
8
8
|
const _document = window.document;
|
|
@@ -43,30 +43,30 @@ function addEvents(element, {
|
|
|
43
43
|
};
|
|
44
44
|
}
|
|
45
45
|
function useFullscreen() {
|
|
46
|
-
const [fullscreen, setFullscreen] =
|
|
47
|
-
const _ref =
|
|
48
|
-
const handleFullscreenChange =
|
|
46
|
+
const [fullscreen, setFullscreen] = React.useState(false);
|
|
47
|
+
const _ref = React.useRef();
|
|
48
|
+
const handleFullscreenChange = React.useCallback((event) => {
|
|
49
49
|
setFullscreen(event.target === getFullscreenElement());
|
|
50
50
|
}, [setFullscreen]);
|
|
51
|
-
const handleFullscreenError =
|
|
51
|
+
const handleFullscreenError = React.useCallback((event) => {
|
|
52
52
|
setFullscreen(false);
|
|
53
53
|
console.error(`[@mantine/hooks] use-fullscreen: Error attempting full-screen mode method: ${event} (${event.target})`);
|
|
54
54
|
}, [setFullscreen]);
|
|
55
|
-
const toggle =
|
|
55
|
+
const toggle = React.useCallback(async () => {
|
|
56
56
|
if (!getFullscreenElement()) {
|
|
57
57
|
await enterFullScreen(_ref.current);
|
|
58
58
|
} else {
|
|
59
59
|
await exitFullscreen();
|
|
60
60
|
}
|
|
61
61
|
}, []);
|
|
62
|
-
const ref =
|
|
62
|
+
const ref = React.useCallback((element) => {
|
|
63
63
|
if (element === null) {
|
|
64
64
|
_ref.current = window.document.documentElement;
|
|
65
65
|
} else {
|
|
66
66
|
_ref.current = element;
|
|
67
67
|
}
|
|
68
68
|
}, []);
|
|
69
|
-
|
|
69
|
+
React.useEffect(() => {
|
|
70
70
|
if (!_ref.current && window.document) {
|
|
71
71
|
_ref.current = window.document.documentElement;
|
|
72
72
|
return addEvents(_ref.current, {
|
package/cjs/use-hash/use-hash.js
CHANGED
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var React = require('react');
|
|
6
6
|
var useWindowEvent = require('../use-window-event/use-window-event.js');
|
|
7
7
|
|
|
8
8
|
function useHash() {
|
|
9
|
-
const [hash, setHashValue] =
|
|
9
|
+
const [hash, setHashValue] = React.useState(typeof window !== "undefined" ? window.location.hash : "");
|
|
10
10
|
const setHash = (value) => {
|
|
11
11
|
window.location.hash = value;
|
|
12
12
|
setHashValue(value);
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var React = require('react');
|
|
6
6
|
var parseHotkey = require('./parse-hotkey.js');
|
|
7
7
|
|
|
8
8
|
function shouldFireEvent(event) {
|
|
@@ -12,7 +12,7 @@ function shouldFireEvent(event) {
|
|
|
12
12
|
return true;
|
|
13
13
|
}
|
|
14
14
|
function useHotkeys(hotkeys) {
|
|
15
|
-
|
|
15
|
+
React.useEffect(() => {
|
|
16
16
|
const keydownListener = (event) => {
|
|
17
17
|
hotkeys.forEach(([hotkey, handler]) => {
|
|
18
18
|
if (parseHotkey.getHotkeyMatcher(hotkey)(event) && shouldFireEvent(event)) {
|
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var React = require('react');
|
|
6
6
|
|
|
7
7
|
function useHover() {
|
|
8
|
-
const [hovered, setHovered] =
|
|
9
|
-
const ref =
|
|
10
|
-
const onMouseEnter =
|
|
11
|
-
const onMouseLeave =
|
|
12
|
-
|
|
8
|
+
const [hovered, setHovered] = React.useState(false);
|
|
9
|
+
const ref = React.useRef(null);
|
|
10
|
+
const onMouseEnter = React.useCallback(() => setHovered(true), []);
|
|
11
|
+
const onMouseLeave = React.useCallback(() => setHovered(false), []);
|
|
12
|
+
React.useEffect(() => {
|
|
13
13
|
if (ref.current) {
|
|
14
14
|
ref.current.addEventListener("mouseenter", onMouseEnter);
|
|
15
15
|
ref.current.addEventListener("mouseleave", onMouseLeave);
|
package/cjs/use-id/use-id.js
CHANGED
|
@@ -2,12 +2,28 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var
|
|
6
|
-
var randomId = require('../utils/random-id/random-id.js');
|
|
5
|
+
var React = require('react');
|
|
7
6
|
|
|
8
|
-
function
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e['default'] : e; }
|
|
8
|
+
|
|
9
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
10
|
+
|
|
11
|
+
const randomId = () => `mantine-${Math.random().toString(36).slice(2, 11)}`;
|
|
12
|
+
const useIsomorphicEffect = typeof document !== "undefined" ? React.useLayoutEffect : React.useEffect;
|
|
13
|
+
const useReactId = React__default["useId".toString()] || (() => void 0);
|
|
14
|
+
function useClientId() {
|
|
15
|
+
const [uuid, setUuid] = React.useState("");
|
|
16
|
+
useIsomorphicEffect(() => {
|
|
17
|
+
setUuid(randomId());
|
|
18
|
+
}, []);
|
|
19
|
+
return uuid;
|
|
20
|
+
}
|
|
21
|
+
function getReactId() {
|
|
22
|
+
const id = useReactId();
|
|
23
|
+
return id ? `mantine-${id.replaceAll(":", "")}` : "";
|
|
24
|
+
}
|
|
25
|
+
function useId(staticId) {
|
|
26
|
+
return typeof staticId === "string" ? staticId : getReactId() || useClientId();
|
|
11
27
|
}
|
|
12
28
|
|
|
13
29
|
exports.useId = useId;
|
package/cjs/use-id/use-id.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-id.js","sources":["../../src/use-id/use-id.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"use-id.js","sources":["../../src/use-id/use-id.ts"],"sourcesContent":["import React, { useState, useEffect, useLayoutEffect } from 'react';\n\nconst randomId = () => `mantine-${Math.random().toString(36).slice(2, 11)}`;\n\nconst useIsomorphicEffect = typeof document !== 'undefined' ? useLayoutEffect : useEffect;\n\nconst useReactId: () => string | undefined =\n (React as any)['useId'.toString()] || (() => undefined);\n\nfunction useClientId() {\n const [uuid, setUuid] = useState('');\n\n useIsomorphicEffect(() => {\n setUuid(randomId());\n }, []);\n\n return uuid;\n}\n\nfunction getReactId() {\n const id = useReactId();\n return id ? `mantine-${id.replaceAll(':', '')}` : '';\n}\n\nexport function useId(staticId?: string) {\n return typeof staticId === 'string' ? staticId : getReactId() || useClientId();\n}\n"],"names":["useLayoutEffect","useEffect","React","useState"],"mappings":";;;;;;;;;;AACA,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;AAC5E,MAAM,mBAAmB,GAAG,OAAO,QAAQ,KAAK,WAAW,GAAGA,qBAAe,GAAGC,eAAS,CAAC;AAC1F,MAAM,UAAU,GAAGC,cAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,MAAM,KAAK,CAAC,CAAC,CAAC;AAC/D,SAAS,WAAW,GAAG;AACvB,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAGC,cAAQ,CAAC,EAAE,CAAC,CAAC;AACvC,EAAE,mBAAmB,CAAC,MAAM;AAC5B,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;AACxB,GAAG,EAAE,EAAE,CAAC,CAAC;AACT,EAAE,OAAO,IAAI,CAAC;AACd,CAAC;AACD,SAAS,UAAU,GAAG;AACtB,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,CAAC;AAC1B,EAAE,OAAO,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;AACvD,CAAC;AACM,SAAS,KAAK,CAAC,QAAQ,EAAE;AAChC,EAAE,OAAO,OAAO,QAAQ,KAAK,QAAQ,GAAG,QAAQ,GAAG,UAAU,EAAE,IAAI,WAAW,EAAE,CAAC;AACjF;;;;"}
|
package/cjs/use-idle/use-idle.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var React = require('react');
|
|
6
6
|
|
|
7
7
|
var __defProp = Object.defineProperty;
|
|
8
8
|
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
@@ -27,9 +27,9 @@ const DEFAULT_OPTIONS = {
|
|
|
27
27
|
};
|
|
28
28
|
function useIdle(timeout, options) {
|
|
29
29
|
const { events, initialState } = __spreadValues(__spreadValues({}, DEFAULT_OPTIONS), options);
|
|
30
|
-
const [idle, setIdle] =
|
|
31
|
-
const timer =
|
|
32
|
-
|
|
30
|
+
const [idle, setIdle] = React.useState(initialState);
|
|
31
|
+
const timer = React.useRef();
|
|
32
|
+
React.useEffect(() => {
|
|
33
33
|
const handleEvents = () => {
|
|
34
34
|
setIdle(false);
|
|
35
35
|
if (timer.current) {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var React = require('react');
|
|
6
6
|
|
|
7
7
|
function getInputOnChange(setValue) {
|
|
8
8
|
return (val) => {
|
|
@@ -23,7 +23,7 @@ function getInputOnChange(setValue) {
|
|
|
23
23
|
};
|
|
24
24
|
}
|
|
25
25
|
function useInputState(initialState) {
|
|
26
|
-
const [value, setValue] =
|
|
26
|
+
const [value, setValue] = React.useState(initialState);
|
|
27
27
|
return [value, getInputOnChange(setValue)];
|
|
28
28
|
}
|
|
29
29
|
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var React = require('react');
|
|
6
6
|
|
|
7
7
|
function useIntersection(options) {
|
|
8
|
-
const [entry, setEntry] =
|
|
9
|
-
const observer =
|
|
10
|
-
const ref =
|
|
8
|
+
const [entry, setEntry] = React.useState(null);
|
|
9
|
+
const observer = React.useRef();
|
|
10
|
+
const ref = React.useCallback((element) => {
|
|
11
11
|
if (observer.current) {
|
|
12
12
|
observer.current.disconnect();
|
|
13
13
|
observer.current = null;
|
|
@@ -21,7 +21,7 @@ function useIntersection(options) {
|
|
|
21
21
|
}, options);
|
|
22
22
|
observer.current.observe(element);
|
|
23
23
|
}, [options == null ? void 0 : options.rootMargin, options == null ? void 0 : options.root, options == null ? void 0 : options.threshold]);
|
|
24
|
-
return
|
|
24
|
+
return { ref, entry };
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
exports.useIntersection = useIntersection;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-intersection.js","sources":["../../src/use-intersection/use-intersection.ts"],"sourcesContent":["import { useCallback, useRef, useState } from 'react';\n\nexport function useIntersection<T extends HTMLElement = any>(\n options?: ConstructorParameters<typeof IntersectionObserver>[1]\n)
|
|
1
|
+
{"version":3,"file":"use-intersection.js","sources":["../../src/use-intersection/use-intersection.ts"],"sourcesContent":["import { useCallback, useRef, useState } from 'react';\n\nexport function useIntersection<T extends HTMLElement = any>(\n options?: ConstructorParameters<typeof IntersectionObserver>[1]\n) {\n const [entry, setEntry] = useState<IntersectionObserverEntry>(null);\n\n const observer = useRef<IntersectionObserver>();\n\n const ref = useCallback(\n (element: T | null) => {\n if (observer.current) {\n observer.current.disconnect();\n observer.current = null;\n }\n\n if (element === null) {\n setEntry(null);\n return;\n }\n\n observer.current = new IntersectionObserver(([_entry]) => {\n setEntry(_entry);\n }, options);\n\n observer.current.observe(element);\n },\n [options?.rootMargin, options?.root, options?.threshold]\n );\n\n return { ref, entry };\n}\n"],"names":["useState","useRef","useCallback"],"mappings":";;;;;;AACO,SAAS,eAAe,CAAC,OAAO,EAAE;AACzC,EAAE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAGA,cAAQ,CAAC,IAAI,CAAC,CAAC;AAC3C,EAAE,MAAM,QAAQ,GAAGC,YAAM,EAAE,CAAC;AAC5B,EAAE,MAAM,GAAG,GAAGC,iBAAW,CAAC,CAAC,OAAO,KAAK;AACvC,IAAI,IAAI,QAAQ,CAAC,OAAO,EAAE;AAC1B,MAAM,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;AACpC,MAAM,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;AAC9B,KAAK;AACL,IAAI,IAAI,OAAO,KAAK,IAAI,EAAE;AAC1B,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;AACrB,MAAM,OAAO;AACb,KAAK;AACL,IAAI,QAAQ,CAAC,OAAO,GAAG,IAAI,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK;AAC9D,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC;AACvB,KAAK,EAAE,OAAO,CAAC,CAAC;AAChB,IAAI,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AACtC,GAAG,EAAE,CAAC,OAAO,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,OAAO,CAAC,UAAU,EAAE,OAAO,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,OAAO,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;AAC7I,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;AACxB;;;;"}
|