@hanzogui/floating 3.0.5 → 4.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/Floating.cjs +7 -5
- package/dist/cjs/Floating.native.js +18 -16
- package/dist/cjs/Floating.native.js.map +1 -1
- package/dist/cjs/index.cjs +28 -26
- package/dist/cjs/index.native.js +28 -26
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/interactions/PopupTriggerMap.cjs +21 -12
- package/dist/cjs/interactions/PopupTriggerMap.native.js +51 -27
- package/dist/cjs/interactions/PopupTriggerMap.native.js.map +1 -1
- package/dist/cjs/interactions/createFloatingEvents.cjs +21 -12
- package/dist/cjs/interactions/createFloatingEvents.native.js +22 -13
- package/dist/cjs/interactions/createFloatingEvents.native.js.map +1 -1
- package/dist/cjs/interactions/safePolygon.cjs +213 -131
- package/dist/cjs/interactions/safePolygon.native.js +182 -103
- package/dist/cjs/interactions/safePolygon.native.js.map +1 -1
- package/dist/cjs/interactions/types.cjs +7 -5
- package/dist/cjs/interactions/types.native.js +7 -5
- package/dist/cjs/interactions/types.native.js.map +1 -1
- package/dist/cjs/interactions/useClick.cjs +91 -49
- package/dist/cjs/interactions/useClick.native.js +96 -54
- package/dist/cjs/interactions/useClick.native.js.map +1 -1
- package/dist/cjs/interactions/useDelayGroup.cjs +63 -44
- package/dist/cjs/interactions/useDelayGroup.native.js +74 -58
- package/dist/cjs/interactions/useDelayGroup.native.js.map +1 -1
- package/dist/cjs/interactions/useFocus.cjs +73 -44
- package/dist/cjs/interactions/useFocus.native.js +75 -49
- package/dist/cjs/interactions/useFocus.native.js.map +1 -1
- package/dist/cjs/interactions/useHover.cjs +242 -109
- package/dist/cjs/interactions/useHover.native.js +268 -143
- package/dist/cjs/interactions/useHover.native.js.map +1 -1
- package/dist/cjs/interactions/useInnerOffset.cjs +88 -64
- package/dist/cjs/interactions/useInnerOffset.native.js +88 -65
- package/dist/cjs/interactions/useInnerOffset.native.js.map +1 -1
- package/dist/cjs/interactions/useInteractions.cjs +60 -31
- package/dist/cjs/interactions/useInteractions.native.js +133 -81
- package/dist/cjs/interactions/useInteractions.native.js.map +1 -1
- package/dist/cjs/interactions/useListNavigation.cjs +346 -181
- package/dist/cjs/interactions/useListNavigation.native.js +350 -214
- package/dist/cjs/interactions/useListNavigation.native.js.map +1 -1
- package/dist/cjs/interactions/useRole.cjs +83 -73
- package/dist/cjs/interactions/useRole.native.js +107 -99
- package/dist/cjs/interactions/useRole.native.js.map +1 -1
- package/dist/cjs/interactions/useTypeahead.cjs +115 -65
- package/dist/cjs/interactions/useTypeahead.native.js +122 -77
- package/dist/cjs/interactions/useTypeahead.native.js.map +1 -1
- package/dist/cjs/interactions/utils.cjs +68 -38
- package/dist/cjs/interactions/utils.native.js +93 -54
- package/dist/cjs/interactions/utils.native.js.map +1 -1
- package/dist/cjs/middleware/inner.cjs +80 -67
- package/dist/cjs/middleware/inner.native.js +87 -76
- package/dist/cjs/middleware/inner.native.js.map +1 -1
- package/dist/cjs/useFloating.cjs +48 -45
- package/dist/cjs/useFloating.native.js +50 -48
- package/dist/cjs/useFloating.native.js.map +1 -1
- package/dist/esm/Floating.native.js +5 -5
- package/dist/esm/Floating.native.js.map +1 -1
- package/dist/esm/interactions/PopupTriggerMap.mjs +9 -2
- package/dist/esm/interactions/PopupTriggerMap.mjs.map +1 -1
- package/dist/esm/interactions/PopupTriggerMap.native.js +39 -17
- package/dist/esm/interactions/PopupTriggerMap.native.js.map +1 -1
- package/dist/esm/interactions/createFloatingEvents.mjs +9 -2
- package/dist/esm/interactions/createFloatingEvents.mjs.map +1 -1
- package/dist/esm/interactions/createFloatingEvents.native.js +10 -3
- package/dist/esm/interactions/createFloatingEvents.native.js.map +1 -1
- package/dist/esm/interactions/safePolygon.mjs +201 -121
- package/dist/esm/interactions/safePolygon.mjs.map +1 -1
- package/dist/esm/interactions/safePolygon.native.js +170 -93
- package/dist/esm/interactions/safePolygon.native.js.map +1 -1
- package/dist/esm/interactions/useClick.mjs +79 -39
- package/dist/esm/interactions/useClick.mjs.map +1 -1
- package/dist/esm/interactions/useClick.native.js +82 -42
- package/dist/esm/interactions/useClick.native.js.map +1 -1
- package/dist/esm/interactions/useDelayGroup.mjs +39 -22
- package/dist/esm/interactions/useDelayGroup.mjs.map +1 -1
- package/dist/esm/interactions/useDelayGroup.native.js +42 -28
- package/dist/esm/interactions/useDelayGroup.native.js.map +1 -1
- package/dist/esm/interactions/useFocus.mjs +59 -32
- package/dist/esm/interactions/useFocus.mjs.map +1 -1
- package/dist/esm/interactions/useFocus.native.js +61 -37
- package/dist/esm/interactions/useFocus.native.js.map +1 -1
- package/dist/esm/interactions/useHover.mjs +215 -84
- package/dist/esm/interactions/useHover.mjs.map +1 -1
- package/dist/esm/interactions/useHover.native.js +240 -117
- package/dist/esm/interactions/useHover.native.js.map +1 -1
- package/dist/esm/interactions/useInnerOffset.mjs +61 -39
- package/dist/esm/interactions/useInnerOffset.mjs.map +1 -1
- package/dist/esm/interactions/useInnerOffset.native.js +61 -40
- package/dist/esm/interactions/useInnerOffset.native.js.map +1 -1
- package/dist/esm/interactions/useInteractions.mjs +48 -21
- package/dist/esm/interactions/useInteractions.mjs.map +1 -1
- package/dist/esm/interactions/useInteractions.native.js +121 -71
- package/dist/esm/interactions/useInteractions.native.js.map +1 -1
- package/dist/esm/interactions/useListNavigation.mjs +331 -168
- package/dist/esm/interactions/useListNavigation.mjs.map +1 -1
- package/dist/esm/interactions/useListNavigation.native.js +335 -201
- package/dist/esm/interactions/useListNavigation.native.js.map +1 -1
- package/dist/esm/interactions/useRole.mjs +59 -51
- package/dist/esm/interactions/useRole.mjs.map +1 -1
- package/dist/esm/interactions/useRole.native.js +82 -76
- package/dist/esm/interactions/useRole.native.js.map +1 -1
- package/dist/esm/interactions/useTypeahead.mjs +100 -52
- package/dist/esm/interactions/useTypeahead.mjs.map +1 -1
- package/dist/esm/interactions/useTypeahead.native.js +107 -64
- package/dist/esm/interactions/useTypeahead.native.js.map +1 -1
- package/dist/esm/interactions/utils.mjs +56 -28
- package/dist/esm/interactions/utils.mjs.map +1 -1
- package/dist/esm/interactions/utils.native.js +81 -44
- package/dist/esm/interactions/utils.native.js.map +1 -1
- package/dist/esm/middleware/inner.mjs +54 -43
- package/dist/esm/middleware/inner.mjs.map +1 -1
- package/dist/esm/middleware/inner.native.js +61 -52
- package/dist/esm/middleware/inner.native.js.map +1 -1
- package/dist/esm/useFloating.mjs +22 -21
- package/dist/esm/useFloating.mjs.map +1 -1
- package/dist/esm/useFloating.native.js +24 -24
- package/dist/esm/useFloating.native.js.map +1 -1
- package/package.json +3 -3
|
@@ -4,48 +4,65 @@ function isMacSafari() {
|
|
|
4
4
|
return isMac() && isSafari();
|
|
5
5
|
}
|
|
6
6
|
function useFocus(context) {
|
|
7
|
-
var props = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
7
|
+
var props = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
8
|
+
var {
|
|
9
|
+
open,
|
|
10
|
+
onOpenChange,
|
|
11
|
+
events,
|
|
12
|
+
dataRef,
|
|
13
|
+
elements
|
|
14
|
+
} = context;
|
|
15
|
+
var {
|
|
16
|
+
enabled = true,
|
|
17
|
+
visibleOnly = true
|
|
18
|
+
} = props;
|
|
19
|
+
var blockFocusRef = useRef(false);
|
|
20
|
+
var timeoutRef = useRef(-1);
|
|
21
|
+
var keyboardModalityRef = useRef(true);
|
|
22
22
|
useEffect(function () {
|
|
23
23
|
if (!enabled) return;
|
|
24
24
|
var win = getDocument(elements.domReference).defaultView || window;
|
|
25
25
|
function onBlur() {
|
|
26
|
-
!open && isHTMLElement(elements.domReference) && elements.domReference === activeElement(getDocument(elements.domReference))
|
|
26
|
+
if (!open && isHTMLElement(elements.domReference) && elements.domReference === activeElement(getDocument(elements.domReference))) {
|
|
27
|
+
blockFocusRef.current = true;
|
|
28
|
+
}
|
|
27
29
|
}
|
|
28
30
|
function onKeyDown() {
|
|
29
|
-
keyboardModalityRef.current =
|
|
31
|
+
keyboardModalityRef.current = true;
|
|
30
32
|
}
|
|
31
33
|
function onPointerDown() {
|
|
32
|
-
keyboardModalityRef.current =
|
|
34
|
+
keyboardModalityRef.current = false;
|
|
35
|
+
}
|
|
36
|
+
win.addEventListener("blur", onBlur);
|
|
37
|
+
if (isMacSafari()) {
|
|
38
|
+
win.addEventListener("keydown", onKeyDown, true);
|
|
39
|
+
win.addEventListener("pointerdown", onPointerDown, true);
|
|
33
40
|
}
|
|
34
|
-
return
|
|
35
|
-
win.removeEventListener("blur", onBlur)
|
|
41
|
+
return function () {
|
|
42
|
+
win.removeEventListener("blur", onBlur);
|
|
43
|
+
if (isMacSafari()) {
|
|
44
|
+
win.removeEventListener("keydown", onKeyDown, true);
|
|
45
|
+
win.removeEventListener("pointerdown", onPointerDown, true);
|
|
46
|
+
}
|
|
36
47
|
};
|
|
37
|
-
}, [elements.domReference, open, enabled])
|
|
38
|
-
|
|
48
|
+
}, [elements.domReference, open, enabled]);
|
|
49
|
+
useEffect(function () {
|
|
50
|
+
if (!enabled) return;
|
|
51
|
+
if (!events) return;
|
|
39
52
|
function handleOpenChange(param) {
|
|
40
53
|
var {
|
|
41
54
|
reason
|
|
42
55
|
} = param;
|
|
43
|
-
(reason === "reference-press" || reason === "escape-key")
|
|
56
|
+
if (reason === "reference-press" || reason === "escape-key") {
|
|
57
|
+
blockFocusRef.current = true;
|
|
58
|
+
}
|
|
44
59
|
}
|
|
45
|
-
|
|
60
|
+
events.on("openchange", handleOpenChange);
|
|
61
|
+
return function () {
|
|
46
62
|
events.off("openchange", handleOpenChange);
|
|
47
63
|
};
|
|
48
|
-
}, [events, enabled])
|
|
64
|
+
}, [events, enabled]);
|
|
65
|
+
useEffect(function () {
|
|
49
66
|
return function () {
|
|
50
67
|
clearTimeoutIfSet(timeoutRef);
|
|
51
68
|
};
|
|
@@ -53,26 +70,33 @@ function useFocus(context) {
|
|
|
53
70
|
var reference = useMemo(function () {
|
|
54
71
|
return {
|
|
55
72
|
onMouseLeave() {
|
|
56
|
-
blockFocusRef.current =
|
|
73
|
+
blockFocusRef.current = false;
|
|
57
74
|
},
|
|
58
75
|
onFocus(event) {
|
|
59
|
-
if (
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
76
|
+
if (blockFocusRef.current) return;
|
|
77
|
+
var target = getTarget(event.nativeEvent);
|
|
78
|
+
if (visibleOnly && isElement(target)) {
|
|
79
|
+
if (isMacSafari() && !event.relatedTarget) {
|
|
80
|
+
if (!keyboardModalityRef.current && !isTypeableElement(target)) {
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
} else if (!matchesFocusVisible(target)) {
|
|
84
|
+
return;
|
|
65
85
|
}
|
|
66
|
-
onOpenChange(!0, event.nativeEvent, "focus");
|
|
67
86
|
}
|
|
87
|
+
onOpenChange(true, event.nativeEvent, "focus");
|
|
68
88
|
},
|
|
69
89
|
onBlur(event) {
|
|
70
|
-
blockFocusRef.current =
|
|
71
|
-
var relatedTarget = event.relatedTarget
|
|
72
|
-
|
|
90
|
+
blockFocusRef.current = false;
|
|
91
|
+
var relatedTarget = event.relatedTarget;
|
|
92
|
+
var nativeEvent = event.nativeEvent;
|
|
73
93
|
timeoutRef.current = window.setTimeout(function () {
|
|
74
94
|
var activeEl = activeElement(elements.domReference ? elements.domReference.ownerDocument : document);
|
|
75
|
-
!relatedTarget && activeEl === elements.domReference
|
|
95
|
+
if (!relatedTarget && activeEl === elements.domReference) return;
|
|
96
|
+
if (contains(context.refs.floating.current, activeEl) || contains(elements.domReference, activeEl)) {
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
onOpenChange(false, nativeEvent, "focus");
|
|
76
100
|
});
|
|
77
101
|
}
|
|
78
102
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useEffect","useMemo","useRef","activeElement","clearTimeoutIfSet","contains","getDocument","getTarget","isElement","isHTMLElement","isMac","isSafari","isTypeableElement","matchesFocusVisible","isMacSafari","useFocus","context","props","arguments","length","open","onOpenChange","events","dataRef","elements","enabled","visibleOnly","blockFocusRef","timeoutRef","keyboardModalityRef","win","domReference","defaultView","window","onBlur","current","onKeyDown","onPointerDown","addEventListener","removeEventListener","handleOpenChange","param","reason","on","off","reference","onMouseLeave","onFocus","event","target","nativeEvent","relatedTarget","setTimeout","activeEl","ownerDocument","document","refs","floating"],"sources":["../../../src/interactions/useFocus.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,SAAA,EAAWC,OAAA,EAASC,MAAA,QAAc;AAQ3C,SAAAC,aAAA,EAAAC,iBAAA,EAAAC,QAAA,EAAAC,WAAA,EAAAC,SAAA,EAAAC,SAAA,EAAAC,aAAA,EAAAC,KAAA,EAAAC,QAAA,EAAAC,iBAAA,EAAAC,mBAAA;AAAA,SACEC,YAAA;EACA,OAAAJ,KAAA,MAAAC,QAAA;AAAA;AACA,SACAI,SAAAC,OAAA;EACA,IAAAC,KAAA,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,iBAAAA,SAAA;
|
|
1
|
+
{"version":3,"names":["useEffect","useMemo","useRef","activeElement","clearTimeoutIfSet","contains","getDocument","getTarget","isElement","isHTMLElement","isMac","isSafari","isTypeableElement","matchesFocusVisible","isMacSafari","useFocus","context","props","arguments","length","open","onOpenChange","events","dataRef","elements","enabled","visibleOnly","blockFocusRef","timeoutRef","keyboardModalityRef","win","domReference","defaultView","window","onBlur","current","onKeyDown","onPointerDown","addEventListener","removeEventListener","handleOpenChange","param","reason","on","off","reference","onMouseLeave","onFocus","event","target","nativeEvent","relatedTarget","setTimeout","activeEl","ownerDocument","document","refs","floating"],"sources":["../../../src/interactions/useFocus.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -3,25 +3,31 @@ import { useEvent } from "@hanzogui/use-event";
|
|
|
3
3
|
import { clearTimeoutIfSet, contains, getDocument, isElement, isMouseLikePointerType } from "./utils.mjs";
|
|
4
4
|
const safePolygonIdentifier = "data-floating-ui-safe-polygon";
|
|
5
5
|
function getDelay(value, prop, pointerType) {
|
|
6
|
-
|
|
6
|
+
if (pointerType && !isMouseLikePointerType(pointerType)) {
|
|
7
|
+
return 0;
|
|
8
|
+
}
|
|
9
|
+
if (typeof value === "number") {
|
|
10
|
+
return value;
|
|
11
|
+
}
|
|
12
|
+
return value?.[prop];
|
|
7
13
|
}
|
|
8
14
|
function useHover(context, props = {}) {
|
|
9
15
|
const {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
16
|
+
open,
|
|
17
|
+
onOpenChange,
|
|
18
|
+
dataRef,
|
|
19
|
+
events,
|
|
20
|
+
elements
|
|
21
|
+
} = context;
|
|
22
|
+
const {
|
|
23
|
+
enabled = true,
|
|
24
|
+
delay = 0,
|
|
25
|
+
handleClose = null,
|
|
26
|
+
mouseOnly = false,
|
|
27
|
+
restMs = 0,
|
|
28
|
+
move = true
|
|
29
|
+
} = props;
|
|
30
|
+
const handleCloseRef = React.useRef(handleClose);
|
|
25
31
|
handleCloseRef.current = handleClose;
|
|
26
32
|
const delayRef = React.useRef(delay);
|
|
27
33
|
delayRef.current = delay;
|
|
@@ -29,66 +35,103 @@ function useHover(context, props = {}) {
|
|
|
29
35
|
openRef.current = open;
|
|
30
36
|
const restMsRef = React.useRef(restMs);
|
|
31
37
|
restMsRef.current = restMs;
|
|
32
|
-
const stableOnOpenChange = useEvent(onOpenChange)
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
38
|
+
const stableOnOpenChange = useEvent(onOpenChange);
|
|
39
|
+
const pointerTypeRef = React.useRef(void 0);
|
|
40
|
+
const timeoutRef = React.useRef(-1);
|
|
41
|
+
const handlerRef = React.useRef(void 0);
|
|
42
|
+
const restTimeoutRef = React.useRef(-1);
|
|
43
|
+
const blockMouseMoveRef = React.useRef(true);
|
|
44
|
+
const performedPointerEventsMutationRef = React.useRef(false);
|
|
45
|
+
const unbindMouseMoveRef = React.useRef(() => {});
|
|
46
|
+
const restTimeoutPendingRef = React.useRef(false);
|
|
47
|
+
const isHoverOpen = useEvent(() => {
|
|
48
|
+
const type = dataRef.current.openEvent?.type;
|
|
49
|
+
return type?.includes("mouse") && type !== "mousedown";
|
|
50
|
+
});
|
|
45
51
|
React.useEffect(() => {
|
|
46
|
-
if (!enabled
|
|
52
|
+
if (!enabled) return;
|
|
53
|
+
if (!events) return;
|
|
47
54
|
function onOpenChange2({
|
|
48
55
|
open: open2
|
|
49
56
|
}) {
|
|
50
|
-
|
|
57
|
+
if (!open2) {
|
|
58
|
+
clearTimeoutIfSet(timeoutRef);
|
|
59
|
+
clearTimeoutIfSet(restTimeoutRef);
|
|
60
|
+
blockMouseMoveRef.current = true;
|
|
61
|
+
restTimeoutPendingRef.current = false;
|
|
62
|
+
}
|
|
51
63
|
}
|
|
52
|
-
|
|
64
|
+
events.on("openchange", onOpenChange2);
|
|
65
|
+
return () => {
|
|
53
66
|
events.off("openchange", onOpenChange2);
|
|
54
67
|
};
|
|
55
68
|
}, [enabled, events]);
|
|
56
|
-
const closeWithDelay = useEvent((event, runElseBranch =
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
69
|
+
const closeWithDelay = useEvent((event, runElseBranch = true, reason = "hover") => {
|
|
70
|
+
const closeDelay = getDelay(delayRef.current, "close", pointerTypeRef.current);
|
|
71
|
+
if (closeDelay && !handlerRef.current) {
|
|
72
|
+
clearTimeoutIfSet(timeoutRef);
|
|
73
|
+
timeoutRef.current = window.setTimeout(() => stableOnOpenChange(false, event, reason), closeDelay);
|
|
74
|
+
} else if (runElseBranch) {
|
|
75
|
+
clearTimeoutIfSet(timeoutRef);
|
|
76
|
+
stableOnOpenChange(false, event, reason);
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
const cleanupMouseMoveHandler = useEvent(() => {
|
|
80
|
+
unbindMouseMoveRef.current();
|
|
81
|
+
handlerRef.current = void 0;
|
|
82
|
+
if (context.handleCloseActiveRef) {
|
|
83
|
+
context.handleCloseActiveRef.current = false;
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
const clearPointerEvents = useEvent(() => {
|
|
87
|
+
if (performedPointerEventsMutationRef.current) {
|
|
88
|
+
const body = getDocument(elements.floating).body;
|
|
89
|
+
body.style.pointerEvents = "";
|
|
90
|
+
body.removeAttribute(safePolygonIdentifier);
|
|
91
|
+
performedPointerEventsMutationRef.current = false;
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
const isClickLikeOpenEvent = useEvent(() => {
|
|
95
|
+
return dataRef.current.openEvent ? ["click", "mousedown"].includes(dataRef.current.openEvent.type) : false;
|
|
96
|
+
});
|
|
70
97
|
React.useEffect(() => {
|
|
71
98
|
if (!enabled) return;
|
|
72
99
|
function onReferenceMouseEnter(event) {
|
|
73
|
-
|
|
100
|
+
clearTimeoutIfSet(timeoutRef);
|
|
101
|
+
blockMouseMoveRef.current = false;
|
|
102
|
+
if (mouseOnly && !isMouseLikePointerType(pointerTypeRef.current) || restMsRef.current > 0 && !getDelay(delayRef.current, "open")) {
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
74
105
|
const openDelay = getDelay(delayRef.current, "open", pointerTypeRef.current);
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
106
|
+
if (openDelay) {
|
|
107
|
+
timeoutRef.current = window.setTimeout(() => {
|
|
108
|
+
if (!openRef.current) {
|
|
109
|
+
stableOnOpenChange(true, event, "hover");
|
|
110
|
+
}
|
|
111
|
+
}, openDelay);
|
|
112
|
+
} else if (!open) {
|
|
113
|
+
stableOnOpenChange(true, event, "hover");
|
|
114
|
+
}
|
|
78
115
|
}
|
|
79
116
|
function onReferenceMouseLeave(event) {
|
|
80
117
|
if (isClickLikeOpenEvent()) {
|
|
81
118
|
clearPointerEvents();
|
|
82
119
|
return;
|
|
83
120
|
}
|
|
84
|
-
if (context.triggerElements?.hasElement(event.relatedTarget))
|
|
121
|
+
if (context.triggerElements?.hasElement(event.relatedTarget)) {
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
85
124
|
unbindMouseMoveRef.current();
|
|
86
125
|
const doc = getDocument(elements.floating);
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
126
|
+
clearTimeoutIfSet(restTimeoutRef);
|
|
127
|
+
restTimeoutPendingRef.current = false;
|
|
128
|
+
if (handleCloseRef.current) {
|
|
129
|
+
if (!open) {
|
|
130
|
+
clearTimeoutIfSet(timeoutRef);
|
|
131
|
+
}
|
|
132
|
+
const placement = dataRef.current.placement || "bottom";
|
|
133
|
+
const reference2 = elements.domReference;
|
|
134
|
+
const floating = elements.floating;
|
|
92
135
|
if (!reference2 || !floating) return;
|
|
93
136
|
handlerRef.current = handleCloseRef.current({
|
|
94
137
|
x: event.clientX,
|
|
@@ -100,23 +143,41 @@ function useHover(context, props = {}) {
|
|
|
100
143
|
domReference: reference2
|
|
101
144
|
},
|
|
102
145
|
onClose() {
|
|
103
|
-
|
|
146
|
+
if (context.handleCloseActiveRef) {
|
|
147
|
+
context.handleCloseActiveRef.current = false;
|
|
148
|
+
}
|
|
149
|
+
clearPointerEvents();
|
|
150
|
+
cleanupMouseMoveHandler();
|
|
151
|
+
if (!isClickLikeOpenEvent()) {
|
|
152
|
+
closeWithDelay(event, true, "safe-polygon");
|
|
153
|
+
}
|
|
104
154
|
}
|
|
105
|
-
})
|
|
155
|
+
});
|
|
156
|
+
if (context.handleCloseActiveRef) {
|
|
157
|
+
context.handleCloseActiveRef.current = true;
|
|
158
|
+
}
|
|
106
159
|
const handler = handlerRef.current;
|
|
107
|
-
doc.addEventListener("mousemove", handler)
|
|
160
|
+
doc.addEventListener("mousemove", handler);
|
|
161
|
+
unbindMouseMoveRef.current = () => {
|
|
108
162
|
doc.removeEventListener("mousemove", handler);
|
|
109
163
|
};
|
|
110
164
|
return;
|
|
111
165
|
}
|
|
112
|
-
|
|
166
|
+
const shouldClose = pointerTypeRef.current === "touch" ? !contains(elements.floating, event.relatedTarget) : true;
|
|
167
|
+
if (shouldClose) {
|
|
168
|
+
closeWithDelay(event);
|
|
169
|
+
}
|
|
113
170
|
}
|
|
114
171
|
function onScrollMouseLeave(event) {
|
|
115
|
-
if (isClickLikeOpenEvent()
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
172
|
+
if (isClickLikeOpenEvent()) return;
|
|
173
|
+
if (context.triggerElements?.hasElement(event.relatedTarget)) {
|
|
174
|
+
return;
|
|
175
|
+
}
|
|
176
|
+
const placement = dataRef.current.placement || "bottom";
|
|
177
|
+
const reference2 = elements.domReference;
|
|
178
|
+
const floating = elements.floating;
|
|
179
|
+
if (!reference2 || !floating) return;
|
|
180
|
+
handleCloseRef.current?.({
|
|
120
181
|
x: event.clientX,
|
|
121
182
|
y: event.clientY,
|
|
122
183
|
placement,
|
|
@@ -126,7 +187,11 @@ function useHover(context, props = {}) {
|
|
|
126
187
|
domReference: reference2
|
|
127
188
|
},
|
|
128
189
|
onClose() {
|
|
129
|
-
clearPointerEvents()
|
|
190
|
+
clearPointerEvents();
|
|
191
|
+
cleanupMouseMoveHandler();
|
|
192
|
+
if (!isClickLikeOpenEvent()) {
|
|
193
|
+
closeWithDelay(event);
|
|
194
|
+
}
|
|
130
195
|
}
|
|
131
196
|
})(event);
|
|
132
197
|
}
|
|
@@ -134,34 +199,83 @@ function useHover(context, props = {}) {
|
|
|
134
199
|
clearTimeoutIfSet(timeoutRef);
|
|
135
200
|
}
|
|
136
201
|
function onFloatingMouseLeave(event) {
|
|
137
|
-
isClickLikeOpenEvent()
|
|
202
|
+
if (isClickLikeOpenEvent()) return;
|
|
203
|
+
if (context.triggerElements?.hasElement(event.relatedTarget)) {
|
|
204
|
+
return;
|
|
205
|
+
}
|
|
206
|
+
closeWithDelay(event, false);
|
|
138
207
|
}
|
|
139
208
|
if (isElement(elements.domReference)) {
|
|
140
|
-
const reference2 = elements.domReference
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
}
|
|
145
|
-
|
|
209
|
+
const reference2 = elements.domReference;
|
|
210
|
+
const floating = elements.floating;
|
|
211
|
+
if (open) {
|
|
212
|
+
reference2.addEventListener("mouseleave", onScrollMouseLeave);
|
|
213
|
+
}
|
|
214
|
+
if (move) {
|
|
215
|
+
reference2.addEventListener("mousemove", onReferenceMouseEnter, {
|
|
216
|
+
once: true
|
|
217
|
+
});
|
|
218
|
+
}
|
|
219
|
+
reference2.addEventListener("mouseenter", onReferenceMouseEnter);
|
|
220
|
+
reference2.addEventListener("mouseleave", onReferenceMouseLeave);
|
|
221
|
+
if (floating) {
|
|
222
|
+
floating.addEventListener("mouseleave", onScrollMouseLeave);
|
|
223
|
+
floating.addEventListener("mouseenter", onFloatingMouseEnter);
|
|
224
|
+
floating.addEventListener("mouseleave", onFloatingMouseLeave);
|
|
225
|
+
}
|
|
226
|
+
return () => {
|
|
227
|
+
if (open) {
|
|
228
|
+
reference2.removeEventListener("mouseleave", onScrollMouseLeave);
|
|
229
|
+
}
|
|
230
|
+
if (move) {
|
|
231
|
+
reference2.removeEventListener("mousemove", onReferenceMouseEnter);
|
|
232
|
+
}
|
|
233
|
+
reference2.removeEventListener("mouseenter", onReferenceMouseEnter);
|
|
234
|
+
reference2.removeEventListener("mouseleave", onReferenceMouseLeave);
|
|
235
|
+
if (floating) {
|
|
236
|
+
floating.removeEventListener("mouseleave", onScrollMouseLeave);
|
|
237
|
+
floating.removeEventListener("mouseenter", onFloatingMouseEnter);
|
|
238
|
+
floating.removeEventListener("mouseleave", onFloatingMouseLeave);
|
|
239
|
+
}
|
|
240
|
+
cleanupMouseMoveHandler();
|
|
146
241
|
};
|
|
147
242
|
}
|
|
148
|
-
}, [elements, enabled, context, mouseOnly, move, open, dataRef])
|
|
149
|
-
|
|
150
|
-
|
|
243
|
+
}, [elements, enabled, context, mouseOnly, move, open, dataRef]);
|
|
244
|
+
React.useLayoutEffect(() => {
|
|
245
|
+
if (!enabled) return;
|
|
246
|
+
if (open && handleCloseRef.current?.__options?.blockPointerEvents && isHoverOpen()) {
|
|
247
|
+
performedPointerEventsMutationRef.current = true;
|
|
151
248
|
const floatingEl = elements.floating;
|
|
152
249
|
if (isElement(elements.domReference) && floatingEl) {
|
|
153
250
|
const body = getDocument(elements.floating).body;
|
|
154
251
|
body.setAttribute(safePolygonIdentifier, "");
|
|
155
252
|
const ref = elements.domReference;
|
|
156
|
-
|
|
157
|
-
|
|
253
|
+
body.style.pointerEvents = "none";
|
|
254
|
+
ref.style.pointerEvents = "auto";
|
|
255
|
+
floatingEl.style.pointerEvents = "auto";
|
|
256
|
+
return () => {
|
|
257
|
+
body.style.pointerEvents = "";
|
|
258
|
+
ref.style.pointerEvents = "";
|
|
259
|
+
floatingEl.style.pointerEvents = "";
|
|
158
260
|
};
|
|
159
261
|
}
|
|
160
262
|
}
|
|
161
|
-
}, [enabled, open, elements, isHoverOpen])
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
263
|
+
}, [enabled, open, elements, isHoverOpen]);
|
|
264
|
+
React.useLayoutEffect(() => {
|
|
265
|
+
if (!open) {
|
|
266
|
+
pointerTypeRef.current = void 0;
|
|
267
|
+
restTimeoutPendingRef.current = false;
|
|
268
|
+
cleanupMouseMoveHandler();
|
|
269
|
+
clearPointerEvents();
|
|
270
|
+
}
|
|
271
|
+
}, [open]);
|
|
272
|
+
React.useEffect(() => {
|
|
273
|
+
return () => {
|
|
274
|
+
cleanupMouseMoveHandler();
|
|
275
|
+
clearTimeoutIfSet(timeoutRef);
|
|
276
|
+
clearTimeoutIfSet(restTimeoutRef);
|
|
277
|
+
clearPointerEvents();
|
|
278
|
+
};
|
|
165
279
|
}, [enabled, elements.domReference]);
|
|
166
280
|
const reference = React.useMemo(() => {
|
|
167
281
|
function setPointerRef(event) {
|
|
@@ -175,9 +289,26 @@ function useHover(context, props = {}) {
|
|
|
175
289
|
nativeEvent
|
|
176
290
|
} = event;
|
|
177
291
|
function handleMouseMove() {
|
|
178
|
-
!blockMouseMoveRef.current && !openRef.current
|
|
292
|
+
if (!blockMouseMoveRef.current && !openRef.current) {
|
|
293
|
+
stableOnOpenChange(true, nativeEvent, "hover");
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
if (mouseOnly && !isMouseLikePointerType(pointerTypeRef.current)) {
|
|
297
|
+
return;
|
|
298
|
+
}
|
|
299
|
+
if (open || restMsRef.current === 0) {
|
|
300
|
+
return;
|
|
301
|
+
}
|
|
302
|
+
if (restTimeoutPendingRef.current && event.movementX ** 2 + event.movementY ** 2 < 2) {
|
|
303
|
+
return;
|
|
304
|
+
}
|
|
305
|
+
clearTimeoutIfSet(restTimeoutRef);
|
|
306
|
+
if (pointerTypeRef.current === "touch") {
|
|
307
|
+
handleMouseMove();
|
|
308
|
+
} else {
|
|
309
|
+
restTimeoutPendingRef.current = true;
|
|
310
|
+
restTimeoutRef.current = window.setTimeout(handleMouseMove, restMsRef.current);
|
|
179
311
|
}
|
|
180
|
-
mouseOnly && !isMouseLikePointerType(pointerTypeRef.current) || open || restMsRef.current === 0 || restTimeoutPendingRef.current && event.movementX ** 2 + event.movementY ** 2 < 2 || (clearTimeoutIfSet(restTimeoutRef), pointerTypeRef.current === "touch" ? handleMouseMove() : (restTimeoutPendingRef.current = !0, restTimeoutRef.current = window.setTimeout(handleMouseMove, restMsRef.current)));
|
|
181
312
|
}
|
|
182
313
|
};
|
|
183
314
|
}, [mouseOnly, open]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useEvent","clearTimeoutIfSet","contains","getDocument","isElement","isMouseLikePointerType","safePolygonIdentifier","getDelay","value","prop","pointerType","useHover","context","props","open","onOpenChange","dataRef","events","elements","enabled","delay","handleClose","mouseOnly","restMs","move","handleCloseRef","useRef","current","delayRef","openRef","restMsRef","stableOnOpenChange","pointerTypeRef","timeoutRef","handlerRef","restTimeoutRef","blockMouseMoveRef","performedPointerEventsMutationRef","unbindMouseMoveRef","restTimeoutPendingRef","isHoverOpen","type","openEvent","includes","useEffect","onOpenChange2","open2","on","off","closeWithDelay","event","runElseBranch","reason","closeDelay","window","setTimeout","cleanupMouseMoveHandler","handleCloseActiveRef","clearPointerEvents","body","floating","style","pointerEvents","removeAttribute","isClickLikeOpenEvent","onReferenceMouseEnter","openDelay","onReferenceMouseLeave","triggerElements","hasElement","relatedTarget","doc","placement","reference2","domReference","x","clientX","y","clientY","reference","onClose","handler","addEventListener","removeEventListener","onScrollMouseLeave","onFloatingMouseEnter","onFloatingMouseLeave","once","useLayoutEffect","__options","blockPointerEvents","floatingEl","setAttribute","ref","useMemo","setPointerRef","onPointerDown","onPointerEnter","onMouseMove","nativeEvent","handleMouseMove","movementX","movementY"],"sources":["../../../src/interactions/useHover.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","useEvent","clearTimeoutIfSet","contains","getDocument","isElement","isMouseLikePointerType","safePolygonIdentifier","getDelay","value","prop","pointerType","useHover","context","props","open","onOpenChange","dataRef","events","elements","enabled","delay","handleClose","mouseOnly","restMs","move","handleCloseRef","useRef","current","delayRef","openRef","restMsRef","stableOnOpenChange","pointerTypeRef","timeoutRef","handlerRef","restTimeoutRef","blockMouseMoveRef","performedPointerEventsMutationRef","unbindMouseMoveRef","restTimeoutPendingRef","isHoverOpen","type","openEvent","includes","useEffect","onOpenChange2","open2","on","off","closeWithDelay","event","runElseBranch","reason","closeDelay","window","setTimeout","cleanupMouseMoveHandler","handleCloseActiveRef","clearPointerEvents","body","floating","style","pointerEvents","removeAttribute","isClickLikeOpenEvent","onReferenceMouseEnter","openDelay","onReferenceMouseLeave","triggerElements","hasElement","relatedTarget","doc","placement","reference2","domReference","x","clientX","y","clientY","reference","onClose","handler","addEventListener","removeEventListener","shouldClose","onScrollMouseLeave","onFloatingMouseEnter","onFloatingMouseLeave","once","useLayoutEffect","__options","blockPointerEvents","floatingEl","setAttribute","ref","useMemo","setPointerRef","onPointerDown","onPointerEnter","onMouseMove","nativeEvent","handleMouseMove","movementX","movementY"],"sources":["../../../src/interactions/useHover.ts"],"sourcesContent":[null],"mappings":"AAAA,YAAYA,KAAA,MAAW;AACvB,SAASC,QAAA,QAAgB;AASzB,SACEC,iBAAA,EACAC,QAAA,EACAC,WAAA,EACAC,SAAA,EACAC,sBAAA,QACK;AAEP,MAAMC,qBAAA,GAAwB;AAEvB,SAASC,SACdC,KAAA,EACAC,IAAA,EACAC,WAAA,EACA;EACA,IAAIA,WAAA,IAAe,CAACL,sBAAA,CAAuBK,WAAW,GAAG;IACvD,OAAO;EACT;EAEA,IAAI,OAAOF,KAAA,KAAU,UAAU;IAC7B,OAAOA,KAAA;EACT;EAEA,OAAOA,KAAA,GAAQC,IAAI;AACrB;AAUO,SAASE,SACdC,OAAA,EACAC,KAAA,GAAuB,CAAC,GACV;EACd,MAAM;IAAEC,IAAA;IAAMC,YAAA;IAAcC,OAAA;IAASC,MAAA;IAAQC;EAAS,IAAIN,OAAA;EAC1D,MAAM;IACJO,OAAA,GAAU;IACVC,KAAA,GAAQ;IACRC,WAAA,GAAc;IACdC,SAAA,GAAY;IACZC,MAAA,GAAS;IACTC,IAAA,GAAO;EACT,IAAIX,KAAA;EAGJ,MAAMY,cAAA,GAAiB1B,KAAA,CAAM2B,MAAA,CAAOL,WAAW;EAC/CI,cAAA,CAAeE,OAAA,GAAUN,WAAA;EACzB,MAAMO,QAAA,GAAW7B,KAAA,CAAM2B,MAAA,CAAON,KAAK;EACnCQ,QAAA,CAASD,OAAA,GAAUP,KAAA;EACnB,MAAMS,OAAA,GAAU9B,KAAA,CAAM2B,MAAA,CAAOZ,IAAI;EACjCe,OAAA,CAAQF,OAAA,GAAUb,IAAA;EAClB,MAAMgB,SAAA,GAAY/B,KAAA,CAAM2B,MAAA,CAAOH,MAAM;EACrCO,SAAA,CAAUH,OAAA,GAAUJ,MAAA;EAEpB,MAAMQ,kBAAA,GAAqB/B,QAAA,CAASe,YAAY;EAEhD,MAAMiB,cAAA,GAAiBjC,KAAA,CAAM2B,MAAA,CAA2B,MAAS;EACjE,MAAMO,UAAA,GAAalC,KAAA,CAAM2B,MAAA,CAAO,EAAE;EAClC,MAAMQ,UAAA,GAAanC,KAAA,CAAM2B,MAAA,CAAkD,MAAS;EACpF,MAAMS,cAAA,GAAiBpC,KAAA,CAAM2B,MAAA,CAAO,EAAE;EACtC,MAAMU,iBAAA,GAAoBrC,KAAA,CAAM2B,MAAA,CAAO,IAAI;EAC3C,MAAMW,iCAAA,GAAoCtC,KAAA,CAAM2B,MAAA,CAAO,KAAK;EAC5D,MAAMY,kBAAA,GAAqBvC,KAAA,CAAM2B,MAAA,CAAO,MAAM,CAAC,CAAC;EAChD,MAAMa,qBAAA,GAAwBxC,KAAA,CAAM2B,MAAA,CAAO,KAAK;EAEhD,MAAMc,WAAA,GAAcxC,QAAA,CAAS,MAAM;IACjC,MAAMyC,IAAA,GAAOzB,OAAA,CAAQW,OAAA,CAAQe,SAAA,EAAWD,IAAA;IACxC,OAAOA,IAAA,EAAME,QAAA,CAAS,OAAO,KAAKF,IAAA,KAAS;EAC7C,CAAC;EAID1C,KAAA,CAAM6C,SAAA,CAAU,MAAM;IACpB,IAAI,CAACzB,OAAA,EAAS;IACd,IAAI,CAACF,MAAA,EAAQ;IAEb,SAAS4B,cAAa;MAAE/B,IAAA,EAAAgC;IAAK,GAAsB;MACjD,IAAI,CAACA,KAAA,EAAM;QACT7C,iBAAA,CAAkBgC,UAAU;QAC5BhC,iBAAA,CAAkBkC,cAAc;QAChCC,iBAAA,CAAkBT,OAAA,GAAU;QAC5BY,qBAAA,CAAsBZ,OAAA,GAAU;MAClC;IACF;IAEAV,MAAA,CAAO8B,EAAA,CAAG,cAAcF,aAAY;IACpC,OAAO,MAAM;MACX5B,MAAA,CAAO+B,GAAA,CAAI,cAAcH,aAAY;IACvC;EACF,GAAG,CAAC1B,OAAA,EAASF,MAAM,CAAC;EAKpB,MAAMgC,cAAA,GAAiBjD,QAAA,CACrB,CAACkD,KAAA,EAAcC,aAAA,GAAgB,MAAMC,MAAA,GAA2B,YAAY;IAC1E,MAAMC,UAAA,GAAa9C,QAAA,CAASqB,QAAA,CAASD,OAAA,EAAS,SAASK,cAAA,CAAeL,OAAO;IAC7E,IAAI0B,UAAA,IAAc,CAACnB,UAAA,CAAWP,OAAA,EAAS;MACrC1B,iBAAA,CAAkBgC,UAAU;MAC5BA,UAAA,CAAWN,OAAA,GAAU2B,MAAA,CAAOC,UAAA,CAC1B,MAAMxB,kBAAA,CAAmB,OAAOmB,KAAA,EAAOE,MAAM,GAC7CC,UACF;IACF,WAAWF,aAAA,EAAe;MACxBlD,iBAAA,CAAkBgC,UAAU;MAC5BF,kBAAA,CAAmB,OAAOmB,KAAA,EAAOE,MAAM;IACzC;EACF,CACF;EAEA,MAAMI,uBAAA,GAA0BxD,QAAA,CAAS,MAAM;IAC7CsC,kBAAA,CAAmBX,OAAA,CAAQ;IAC3BO,UAAA,CAAWP,OAAA,GAAU;IACrB,IAAIf,OAAA,CAAQ6C,oBAAA,EAAsB;MAChC7C,OAAA,CAAQ6C,oBAAA,CAAqB9B,OAAA,GAAU;IACzC;EACF,CAAC;EAED,MAAM+B,kBAAA,GAAqB1D,QAAA,CAAS,MAAM;IACxC,IAAIqC,iCAAA,CAAkCV,OAAA,EAAS;MAC7C,MAAMgC,IAAA,GAAOxD,WAAA,CAAYe,QAAA,CAAS0C,QAAQ,EAAED,IAAA;MAC5CA,IAAA,CAAKE,KAAA,CAAMC,aAAA,GAAgB;MAC3BH,IAAA,CAAKI,eAAA,CAAgBzD,qBAAqB;MAC1C+B,iCAAA,CAAkCV,OAAA,GAAU;IAC9C;EACF,CAAC;EAED,MAAMqC,oBAAA,GAAuBhE,QAAA,CAAS,MAAM;IAC1C,OAAOgB,OAAA,CAAQW,OAAA,CAAQe,SAAA,GACnB,CAAC,SAAS,WAAW,EAAEC,QAAA,CAAS3B,OAAA,CAAQW,OAAA,CAAQe,SAAA,CAAUD,IAAI,IAC9D;EACN,CAAC;EAKD1C,KAAA,CAAM6C,SAAA,CAAU,MAAM;IACpB,IAAI,CAACzB,OAAA,EAAS;IAEd,SAAS8C,sBAAsBf,KAAA,EAAmB;MAChDjD,iBAAA,CAAkBgC,UAAU;MAC5BG,iBAAA,CAAkBT,OAAA,GAAU;MAE5B,IACGL,SAAA,IAAa,CAACjB,sBAAA,CAAuB2B,cAAA,CAAeL,OAAO,KAC3DG,SAAA,CAAUH,OAAA,GAAU,KAAK,CAACpB,QAAA,CAASqB,QAAA,CAASD,OAAA,EAAS,MAAM,GAC5D;QACA;MACF;MAEA,MAAMuC,SAAA,GAAY3D,QAAA,CAASqB,QAAA,CAASD,OAAA,EAAS,QAAQK,cAAA,CAAeL,OAAO;MAE3E,IAAIuC,SAAA,EAAW;QACbjC,UAAA,CAAWN,OAAA,GAAU2B,MAAA,CAAOC,UAAA,CAAW,MAAM;UAC3C,IAAI,CAAC1B,OAAA,CAAQF,OAAA,EAAS;YACpBI,kBAAA,CAAmB,MAAMmB,KAAA,EAAO,OAAO;UACzC;QACF,GAAGgB,SAAS;MACd,WAAW,CAACpD,IAAA,EAAM;QAChBiB,kBAAA,CAAmB,MAAMmB,KAAA,EAAO,OAAO;MACzC;IACF;IAEA,SAASiB,sBAAsBjB,KAAA,EAAmB;MAChD,IAAIc,oBAAA,CAAqB,GAAG;QAC1BN,kBAAA,CAAmB;QACnB;MACF;MAGA,IAAI9C,OAAA,CAAQwD,eAAA,EAAiBC,UAAA,CAAWnB,KAAA,CAAMoB,aAAwB,GAAG;QACvE;MACF;MAEAhC,kBAAA,CAAmBX,OAAA,CAAQ;MAE3B,MAAM4C,GAAA,GAAMpE,WAAA,CAAYe,QAAA,CAAS0C,QAAQ;MACzC3D,iBAAA,CAAkBkC,cAAc;MAChCI,qBAAA,CAAsBZ,OAAA,GAAU;MAEhC,IAAIF,cAAA,CAAeE,OAAA,EAAS;QAE1B,IAAI,CAACb,IAAA,EAAM;UACTb,iBAAA,CAAkBgC,UAAU;QAC9B;QAEA,MAAMuC,SAAA,GAAYxD,OAAA,CAAQW,OAAA,CAAQ6C,SAAA,IAAa;QAC/C,MAAMC,UAAA,GAAYvD,QAAA,CAASwD,YAAA;QAC3B,MAAMd,QAAA,GAAW1C,QAAA,CAAS0C,QAAA;QAE1B,IAAI,CAACa,UAAA,IAAa,CAACb,QAAA,EAAU;QAK7B1B,UAAA,CAAWP,OAAA,GAAUF,cAAA,CAAeE,OAAA,CAAQ;UAC1CgD,CAAA,EAAGzB,KAAA,CAAM0B,OAAA;UACTC,CAAA,EAAG3B,KAAA,CAAM4B,OAAA;UACTN,SAAA;UACAtD,QAAA,EAAU;YACR6D,SAAA,EAAWN,UAAA;YACXb,QAAA;YACAc,YAAA,EAAcD;UAChB;UACAO,QAAA,EAAU;YACR,IAAIpE,OAAA,CAAQ6C,oBAAA,EAAsB;cAChC7C,OAAA,CAAQ6C,oBAAA,CAAqB9B,OAAA,GAAU;YACzC;YACA+B,kBAAA,CAAmB;YACnBF,uBAAA,CAAwB;YACxB,IAAI,CAACQ,oBAAA,CAAqB,GAAG;cAC3Bf,cAAA,CAAeC,KAAA,EAAO,MAAM,cAAc;YAC5C;UACF;QACF,CAAC;QAED,IAAItC,OAAA,CAAQ6C,oBAAA,EAAsB;UAChC7C,OAAA,CAAQ6C,oBAAA,CAAqB9B,OAAA,GAAU;QACzC;QAEA,MAAMsD,OAAA,GAAU/C,UAAA,CAAWP,OAAA;QAE3B4C,GAAA,CAAIW,gBAAA,CAAiB,aAAaD,OAAO;QACzC3C,kBAAA,CAAmBX,OAAA,GAAU,MAAM;UACjC4C,GAAA,CAAIY,mBAAA,CAAoB,aAAaF,OAAO;QAC9C;QAEA;MACF;MAIA,MAAMG,WAAA,GACJpD,cAAA,CAAeL,OAAA,KAAY,UACvB,CAACzB,QAAA,CAASgB,QAAA,CAAS0C,QAAA,EAAUV,KAAA,CAAMoB,aAA+B,IAClE;MACN,IAAIc,WAAA,EAAa;QACfnC,cAAA,CAAeC,KAAK;MACtB;IACF;IAIA,SAASmC,mBAAmBnC,KAAA,EAAmB;MAC7C,IAAIc,oBAAA,CAAqB,GAAG;MAG5B,IAAIpD,OAAA,CAAQwD,eAAA,EAAiBC,UAAA,CAAWnB,KAAA,CAAMoB,aAAwB,GAAG;QACvE;MACF;MAEA,MAAME,SAAA,GAAYxD,OAAA,CAAQW,OAAA,CAAQ6C,SAAA,IAAa;MAC/C,MAAMC,UAAA,GAAYvD,QAAA,CAASwD,YAAA;MAC3B,MAAMd,QAAA,GAAW1C,QAAA,CAAS0C,QAAA;MAE1B,IAAI,CAACa,UAAA,IAAa,CAACb,QAAA,EAAU;MAI7BnC,cAAA,CAAeE,OAAA,GAAU;QACvBgD,CAAA,EAAGzB,KAAA,CAAM0B,OAAA;QACTC,CAAA,EAAG3B,KAAA,CAAM4B,OAAA;QACTN,SAAA;QACAtD,QAAA,EAAU;UACR6D,SAAA,EAAWN,UAAA;UACXb,QAAA;UACAc,YAAA,EAAcD;QAChB;QACAO,QAAA,EAAU;UACRtB,kBAAA,CAAmB;UACnBF,uBAAA,CAAwB;UACxB,IAAI,CAACQ,oBAAA,CAAqB,GAAG;YAC3Bf,cAAA,CAAeC,KAAK;UACtB;QACF;MACF,CAAC,EAAEA,KAAK;IACV;IAEA,SAASoC,qBAAA,EAAuB;MAC9BrF,iBAAA,CAAkBgC,UAAU;IAC9B;IAEA,SAASsD,qBAAqBrC,KAAA,EAAmB;MAC/C,IAAIc,oBAAA,CAAqB,GAAG;MAG5B,IAAIpD,OAAA,CAAQwD,eAAA,EAAiBC,UAAA,CAAWnB,KAAA,CAAMoB,aAAwB,GAAG;QACvE;MACF;MAEArB,cAAA,CAAeC,KAAA,EAAO,KAAK;IAC7B;IAEA,IAAI9C,SAAA,CAAUc,QAAA,CAASwD,YAAY,GAAG;MACpC,MAAMD,UAAA,GAAYvD,QAAA,CAASwD,YAAA;MAC3B,MAAMd,QAAA,GAAW1C,QAAA,CAAS0C,QAAA;MAE1B,IAAI9C,IAAA,EAAM;QACR2D,UAAA,CAAUS,gBAAA,CAAiB,cAAcG,kBAAkB;MAC7D;MAEA,IAAI7D,IAAA,EAAM;QACRiD,UAAA,CAAUS,gBAAA,CAAiB,aAAajB,qBAAA,EAAuB;UAC7DuB,IAAA,EAAM;QACR,CAAC;MACH;MAEAf,UAAA,CAAUS,gBAAA,CAAiB,cAAcjB,qBAAqB;MAC9DQ,UAAA,CAAUS,gBAAA,CAAiB,cAAcf,qBAAqB;MAE9D,IAAIP,QAAA,EAAU;QACZA,QAAA,CAASsB,gBAAA,CAAiB,cAAcG,kBAAkB;QAC1DzB,QAAA,CAASsB,gBAAA,CAAiB,cAAcI,oBAAoB;QAC5D1B,QAAA,CAASsB,gBAAA,CAAiB,cAAcK,oBAAoB;MAC9D;MAEA,OAAO,MAAM;QACX,IAAIzE,IAAA,EAAM;UACR2D,UAAA,CAAUU,mBAAA,CAAoB,cAAcE,kBAAkB;QAChE;QAEA,IAAI7D,IAAA,EAAM;UACRiD,UAAA,CAAUU,mBAAA,CAAoB,aAAalB,qBAAqB;QAClE;QAEAQ,UAAA,CAAUU,mBAAA,CAAoB,cAAclB,qBAAqB;QACjEQ,UAAA,CAAUU,mBAAA,CAAoB,cAAchB,qBAAqB;QAEjE,IAAIP,QAAA,EAAU;UACZA,QAAA,CAASuB,mBAAA,CAAoB,cAAcE,kBAAkB;UAC7DzB,QAAA,CAASuB,mBAAA,CAAoB,cAAcG,oBAAoB;UAC/D1B,QAAA,CAASuB,mBAAA,CAAoB,cAAcI,oBAAoB;QACjE;QAKA/B,uBAAA,CAAwB;MAC1B;IACF;EACF,GAAG,CAACtC,QAAA,EAAUC,OAAA,EAASP,OAAA,EAASU,SAAA,EAAWE,IAAA,EAAMV,IAAA,EAAME,OAAO,CAAC;EAK/DjB,KAAA,CAAM0F,eAAA,CAAgB,MAAM;IAC1B,IAAI,CAACtE,OAAA,EAAS;IAEd,IAAIL,IAAA,IAAQW,cAAA,CAAeE,OAAA,EAAS+D,SAAA,EAAWC,kBAAA,IAAsBnD,WAAA,CAAY,GAAG;MAClFH,iCAAA,CAAkCV,OAAA,GAAU;MAC5C,MAAMiE,UAAA,GAAa1E,QAAA,CAAS0C,QAAA;MAE5B,IAAIxD,SAAA,CAAUc,QAAA,CAASwD,YAAY,KAAKkB,UAAA,EAAY;QAClD,MAAMjC,IAAA,GAAOxD,WAAA,CAAYe,QAAA,CAAS0C,QAAQ,EAAED,IAAA;QAC5CA,IAAA,CAAKkC,YAAA,CAAavF,qBAAA,EAAuB,EAAE;QAE3C,MAAMwF,GAAA,GAAM5E,QAAA,CAASwD,YAAA;QAErBf,IAAA,CAAKE,KAAA,CAAMC,aAAA,GAAgB;QAC3BgC,GAAA,CAAIjC,KAAA,CAAMC,aAAA,GAAgB;QAC1B8B,UAAA,CAAW/B,KAAA,CAAMC,aAAA,GAAgB;QAEjC,OAAO,MAAM;UACXH,IAAA,CAAKE,KAAA,CAAMC,aAAA,GAAgB;UAC3BgC,GAAA,CAAIjC,KAAA,CAAMC,aAAA,GAAgB;UAC1B8B,UAAA,CAAW/B,KAAA,CAAMC,aAAA,GAAgB;QACnC;MACF;IACF;EACF,GAAG,CAAC3C,OAAA,EAASL,IAAA,EAAMI,QAAA,EAAUsB,WAAW,CAAC;EAEzCzC,KAAA,CAAM0F,eAAA,CAAgB,MAAM;IAC1B,IAAI,CAAC3E,IAAA,EAAM;MACTkB,cAAA,CAAeL,OAAA,GAAU;MACzBY,qBAAA,CAAsBZ,OAAA,GAAU;MAChC6B,uBAAA,CAAwB;MACxBE,kBAAA,CAAmB;IACrB;EACF,GAAG,CAAC5C,IAAI,CAAC;EAETf,KAAA,CAAM6C,SAAA,CAAU,MAAM;IACpB,OAAO,MAAM;MACXY,uBAAA,CAAwB;MACxBvD,iBAAA,CAAkBgC,UAAU;MAC5BhC,iBAAA,CAAkBkC,cAAc;MAChCuB,kBAAA,CAAmB;IACrB;EACF,GAAG,CAACvC,OAAA,EAASD,QAAA,CAASwD,YAAY,CAAC;EAEnC,MAAMK,SAAA,GAAuChF,KAAA,CAAMgG,OAAA,CAAQ,MAAM;IAC/D,SAASC,cAAc9C,KAAA,EAA2B;MAChDlB,cAAA,CAAeL,OAAA,GAAUuB,KAAA,CAAMxC,WAAA;IACjC;IAEA,OAAO;MACLuF,aAAA,EAAeD,aAAA;MACfE,cAAA,EAAgBF,aAAA;MAChBG,YAAYjD,KAAA,EAAyB;QACnC,MAAM;UAAEkD;QAAY,IAAIlD,KAAA;QAExB,SAASmD,gBAAA,EAAkB;UACzB,IAAI,CAACjE,iBAAA,CAAkBT,OAAA,IAAW,CAACE,OAAA,CAAQF,OAAA,EAAS;YAClDI,kBAAA,CAAmB,MAAMqE,WAAA,EAAa,OAAO;UAC/C;QACF;QAEA,IAAI9E,SAAA,IAAa,CAACjB,sBAAA,CAAuB2B,cAAA,CAAeL,OAAO,GAAG;UAChE;QACF;QAEA,IAAIb,IAAA,IAAQgB,SAAA,CAAUH,OAAA,KAAY,GAAG;UACnC;QACF;QAGA,IACEY,qBAAA,CAAsBZ,OAAA,IACtBuB,KAAA,CAAMoD,SAAA,IAAa,IAAIpD,KAAA,CAAMqD,SAAA,IAAa,IAAI,GAC9C;UACA;QACF;QAEAtG,iBAAA,CAAkBkC,cAAc;QAEhC,IAAIH,cAAA,CAAeL,OAAA,KAAY,SAAS;UACtC0E,eAAA,CAAgB;QAClB,OAAO;UACL9D,qBAAA,CAAsBZ,OAAA,GAAU;UAChCQ,cAAA,CAAeR,OAAA,GAAU2B,MAAA,CAAOC,UAAA,CAC9B8C,eAAA,EACAvE,SAAA,CAAUH,OACZ;QACF;MACF;IACF;EACF,GAAG,CAACL,SAAA,EAAWR,IAAI,CAAC;EAEpB,OAAOf,KAAA,CAAMgG,OAAA,CAAQ,MAAO5E,OAAA,GAAU;IAAE4D;EAAU,IAAI,CAAC,GAAI,CAAC5D,OAAA,EAAS4D,SAAS,CAAC;AACjF","ignoreList":[]}
|