@hanzogui/floating 3.0.6 → 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.
Files changed (117) hide show
  1. package/dist/cjs/Floating.cjs +7 -5
  2. package/dist/cjs/Floating.native.js +18 -16
  3. package/dist/cjs/Floating.native.js.map +1 -1
  4. package/dist/cjs/index.cjs +28 -26
  5. package/dist/cjs/index.native.js +28 -26
  6. package/dist/cjs/index.native.js.map +1 -1
  7. package/dist/cjs/interactions/PopupTriggerMap.cjs +21 -12
  8. package/dist/cjs/interactions/PopupTriggerMap.native.js +51 -27
  9. package/dist/cjs/interactions/PopupTriggerMap.native.js.map +1 -1
  10. package/dist/cjs/interactions/createFloatingEvents.cjs +21 -12
  11. package/dist/cjs/interactions/createFloatingEvents.native.js +22 -13
  12. package/dist/cjs/interactions/createFloatingEvents.native.js.map +1 -1
  13. package/dist/cjs/interactions/safePolygon.cjs +213 -131
  14. package/dist/cjs/interactions/safePolygon.native.js +182 -103
  15. package/dist/cjs/interactions/safePolygon.native.js.map +1 -1
  16. package/dist/cjs/interactions/types.cjs +7 -5
  17. package/dist/cjs/interactions/types.native.js +7 -5
  18. package/dist/cjs/interactions/types.native.js.map +1 -1
  19. package/dist/cjs/interactions/useClick.cjs +91 -49
  20. package/dist/cjs/interactions/useClick.native.js +96 -54
  21. package/dist/cjs/interactions/useClick.native.js.map +1 -1
  22. package/dist/cjs/interactions/useDelayGroup.cjs +63 -44
  23. package/dist/cjs/interactions/useDelayGroup.native.js +74 -58
  24. package/dist/cjs/interactions/useDelayGroup.native.js.map +1 -1
  25. package/dist/cjs/interactions/useFocus.cjs +73 -44
  26. package/dist/cjs/interactions/useFocus.native.js +75 -49
  27. package/dist/cjs/interactions/useFocus.native.js.map +1 -1
  28. package/dist/cjs/interactions/useHover.cjs +242 -109
  29. package/dist/cjs/interactions/useHover.native.js +268 -143
  30. package/dist/cjs/interactions/useHover.native.js.map +1 -1
  31. package/dist/cjs/interactions/useInnerOffset.cjs +88 -64
  32. package/dist/cjs/interactions/useInnerOffset.native.js +88 -65
  33. package/dist/cjs/interactions/useInnerOffset.native.js.map +1 -1
  34. package/dist/cjs/interactions/useInteractions.cjs +60 -31
  35. package/dist/cjs/interactions/useInteractions.native.js +133 -81
  36. package/dist/cjs/interactions/useInteractions.native.js.map +1 -1
  37. package/dist/cjs/interactions/useListNavigation.cjs +346 -181
  38. package/dist/cjs/interactions/useListNavigation.native.js +350 -214
  39. package/dist/cjs/interactions/useListNavigation.native.js.map +1 -1
  40. package/dist/cjs/interactions/useRole.cjs +83 -73
  41. package/dist/cjs/interactions/useRole.native.js +107 -99
  42. package/dist/cjs/interactions/useRole.native.js.map +1 -1
  43. package/dist/cjs/interactions/useTypeahead.cjs +115 -65
  44. package/dist/cjs/interactions/useTypeahead.native.js +122 -77
  45. package/dist/cjs/interactions/useTypeahead.native.js.map +1 -1
  46. package/dist/cjs/interactions/utils.cjs +68 -38
  47. package/dist/cjs/interactions/utils.native.js +93 -54
  48. package/dist/cjs/interactions/utils.native.js.map +1 -1
  49. package/dist/cjs/middleware/inner.cjs +80 -67
  50. package/dist/cjs/middleware/inner.native.js +87 -76
  51. package/dist/cjs/middleware/inner.native.js.map +1 -1
  52. package/dist/cjs/useFloating.cjs +48 -45
  53. package/dist/cjs/useFloating.native.js +50 -48
  54. package/dist/cjs/useFloating.native.js.map +1 -1
  55. package/dist/esm/Floating.native.js +5 -5
  56. package/dist/esm/Floating.native.js.map +1 -1
  57. package/dist/esm/interactions/PopupTriggerMap.mjs +9 -2
  58. package/dist/esm/interactions/PopupTriggerMap.mjs.map +1 -1
  59. package/dist/esm/interactions/PopupTriggerMap.native.js +39 -17
  60. package/dist/esm/interactions/PopupTriggerMap.native.js.map +1 -1
  61. package/dist/esm/interactions/createFloatingEvents.mjs +9 -2
  62. package/dist/esm/interactions/createFloatingEvents.mjs.map +1 -1
  63. package/dist/esm/interactions/createFloatingEvents.native.js +10 -3
  64. package/dist/esm/interactions/createFloatingEvents.native.js.map +1 -1
  65. package/dist/esm/interactions/safePolygon.mjs +201 -121
  66. package/dist/esm/interactions/safePolygon.mjs.map +1 -1
  67. package/dist/esm/interactions/safePolygon.native.js +170 -93
  68. package/dist/esm/interactions/safePolygon.native.js.map +1 -1
  69. package/dist/esm/interactions/useClick.mjs +79 -39
  70. package/dist/esm/interactions/useClick.mjs.map +1 -1
  71. package/dist/esm/interactions/useClick.native.js +82 -42
  72. package/dist/esm/interactions/useClick.native.js.map +1 -1
  73. package/dist/esm/interactions/useDelayGroup.mjs +39 -22
  74. package/dist/esm/interactions/useDelayGroup.mjs.map +1 -1
  75. package/dist/esm/interactions/useDelayGroup.native.js +42 -28
  76. package/dist/esm/interactions/useDelayGroup.native.js.map +1 -1
  77. package/dist/esm/interactions/useFocus.mjs +59 -32
  78. package/dist/esm/interactions/useFocus.mjs.map +1 -1
  79. package/dist/esm/interactions/useFocus.native.js +61 -37
  80. package/dist/esm/interactions/useFocus.native.js.map +1 -1
  81. package/dist/esm/interactions/useHover.mjs +215 -84
  82. package/dist/esm/interactions/useHover.mjs.map +1 -1
  83. package/dist/esm/interactions/useHover.native.js +240 -117
  84. package/dist/esm/interactions/useHover.native.js.map +1 -1
  85. package/dist/esm/interactions/useInnerOffset.mjs +61 -39
  86. package/dist/esm/interactions/useInnerOffset.mjs.map +1 -1
  87. package/dist/esm/interactions/useInnerOffset.native.js +61 -40
  88. package/dist/esm/interactions/useInnerOffset.native.js.map +1 -1
  89. package/dist/esm/interactions/useInteractions.mjs +48 -21
  90. package/dist/esm/interactions/useInteractions.mjs.map +1 -1
  91. package/dist/esm/interactions/useInteractions.native.js +121 -71
  92. package/dist/esm/interactions/useInteractions.native.js.map +1 -1
  93. package/dist/esm/interactions/useListNavigation.mjs +331 -168
  94. package/dist/esm/interactions/useListNavigation.mjs.map +1 -1
  95. package/dist/esm/interactions/useListNavigation.native.js +335 -201
  96. package/dist/esm/interactions/useListNavigation.native.js.map +1 -1
  97. package/dist/esm/interactions/useRole.mjs +59 -51
  98. package/dist/esm/interactions/useRole.mjs.map +1 -1
  99. package/dist/esm/interactions/useRole.native.js +82 -76
  100. package/dist/esm/interactions/useRole.native.js.map +1 -1
  101. package/dist/esm/interactions/useTypeahead.mjs +100 -52
  102. package/dist/esm/interactions/useTypeahead.mjs.map +1 -1
  103. package/dist/esm/interactions/useTypeahead.native.js +107 -64
  104. package/dist/esm/interactions/useTypeahead.native.js.map +1 -1
  105. package/dist/esm/interactions/utils.mjs +56 -28
  106. package/dist/esm/interactions/utils.mjs.map +1 -1
  107. package/dist/esm/interactions/utils.native.js +81 -44
  108. package/dist/esm/interactions/utils.native.js.map +1 -1
  109. package/dist/esm/middleware/inner.mjs +54 -43
  110. package/dist/esm/middleware/inner.mjs.map +1 -1
  111. package/dist/esm/middleware/inner.native.js +61 -52
  112. package/dist/esm/middleware/inner.native.js.map +1 -1
  113. package/dist/esm/useFloating.mjs +22 -21
  114. package/dist/esm/useFloating.mjs.map +1 -1
  115. package/dist/esm/useFloating.native.js +24 -24
  116. package/dist/esm/useFloating.native.js.map +1 -1
  117. package/package.json +1 -1
@@ -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
- open,
10
- onOpenChange,
11
- events,
12
- dataRef,
13
- elements
14
- } = context,
15
- {
16
- enabled = !0,
17
- visibleOnly = !0
18
- } = props,
19
- blockFocusRef = useRef(!1),
20
- timeoutRef = useRef(-1),
21
- keyboardModalityRef = useRef(!0);
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)) && (blockFocusRef.current = !0);
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 = !0;
31
+ keyboardModalityRef.current = true;
30
32
  }
31
33
  function onPointerDown() {
32
- keyboardModalityRef.current = !1;
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 win.addEventListener("blur", onBlur), isMacSafari() && (win.addEventListener("keydown", onKeyDown, !0), win.addEventListener("pointerdown", onPointerDown, !0)), function () {
35
- win.removeEventListener("blur", onBlur), isMacSafari() && (win.removeEventListener("keydown", onKeyDown, !0), win.removeEventListener("pointerdown", onPointerDown, !0));
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]), useEffect(function () {
38
- if (!enabled || !events) return;
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") && (blockFocusRef.current = !0);
56
+ if (reason === "reference-press" || reason === "escape-key") {
57
+ blockFocusRef.current = true;
58
+ }
44
59
  }
45
- return events.on("openchange", handleOpenChange), function () {
60
+ events.on("openchange", handleOpenChange);
61
+ return function () {
46
62
  events.off("openchange", handleOpenChange);
47
63
  };
48
- }, [events, enabled]), useEffect(function () {
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 = !1;
73
+ blockFocusRef.current = false;
57
74
  },
58
75
  onFocus(event) {
59
- if (!blockFocusRef.current) {
60
- var target = getTarget(event.nativeEvent);
61
- if (visibleOnly && isElement(target)) {
62
- if (isMacSafari() && !event.relatedTarget) {
63
- if (!keyboardModalityRef.current && !isTypeableElement(target)) return;
64
- } else if (!matchesFocusVisible(target)) return;
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 = !1;
71
- var relatedTarget = event.relatedTarget,
72
- nativeEvent = event.nativeEvent;
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 || contains(context.refs.floating.current, activeEl) || contains(elements.domReference, activeEl) || onOpenChange(!1, nativeEvent, "focus");
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;IAAA;MAAAE,IAAA;MAAAC,YAAA;MAAAC,MAAA;MAAAC,OAAA;MAAAC;IAAA,IAAAR,OAAA;IAAA;MAAAS,OAAA;MAAAC,WAAA;IAAA,IAAAT,KAAA;IAAAU,aAAA,GAAAzB,MAAA;IAAA0B,UAAA,GAAA1B,MAAA;IAAA2B,mBAAA,GAAA3B,MAAA;EACAF,SAAA;IACA,KAAAyB,OAAA;IACA,IAAAK,GAAA,GAAAxB,WAAA,CAAAkB,QAAA,CAAAO,YAAA,EAAAC,WAAA,IAAAC,MAAA;IACA,SAAAC,OAAA;MACA,CAAAd,IAAA,IAAAX,aAAA,CAAAe,QAAA,CAAAO,YAAA,KAAAP,QAAA,CAAAO,YAAA,KAAA5B,aAAA,CAAAG,WAAA,CAAAkB,QAAA,CAAAO,YAAA,OAAAJ,aAAA,CAAAQ,OAAA;IACA;IAAA,SACKC,UAAA;MAEPP,mBAAuB,CAAAM,OAAA;IACrB;IACF,SAAAE,cAAA;MAIOR,mBACL,CAAAM,OACA,GAAwB;IAExB;IAUA,OAAAL,GAAU,CAAAQ,gBAAM,SAAAJ,MAAA,GAAApB,WAAA,OAAAgB,GAAA,CAAAQ,gBAAA,YAAAF,SAAA,OAAAN,GAAA,CAAAQ,gBAAA,gBAAAD,aAAA;MACdP,GAAK,CAAAS,mBAAS,SAAAL,MAAA,GAAApB,WAAA,OAAAgB,GAAA,CAAAS,mBAAA,YAAAH,SAAA,OAAAN,GAAA,CAAAS,mBAAA,gBAAAF,aAAA;IAEd;EAEA,IACEb,QACG,CAAAO,YACD,EAKJX,IAAA,EAEAK,OAAA,CACE,GAAAzB,SAAA,aAAoB;IACtB,KAAAyB,OAAA,KAAAH,MAAA;IAEA,SAASkB,gBAAgBA,CAAAC,KAAA;MACvB;QAAAC;MAAA,IAAAD,KAAoB;MACtB,CAAAC,MAAA,0BAAAA,MAAA,uBAAAf,aAAA,CAAAQ,OAAA;IAEA;IAQE,OAAIb,MAAA,CAAAqB,EAAA,aAAoB,EAAAH,gBAEpB,eACF;MAGJlB,MAAA,CAAAsB,GAAA,eAAAJ,gBAAA;IACF,CAAG;EAMD,IAEAlB,MAAA,EACEG,OAAI,CACsB,CAE5B,EAAAzB,SAAA;IAEA,mBAAU;MAERI,iBAAW,CAAAwB,UAAc;IAC3B;EACF,GAAG,EAAC;EAKA,IAAAiB,SAAA,GAAA5C,OAAkB,aAAU;IAC9B,OACG;MAEL6C,YAAMA,CAAA,EAAuC;QAC3CnB,aAAO,CAAAQ,OAAA;MACL;MACEY,QAAAC,KAAA;QACF,KAAArB,aAAA,CAAAQ,OAAA;UACA,IAAQc,MAAA,GAAY1C,SAAA,CAAAyC,KAAA,CAAAE,WAAA;UAClB,IAAIxB,WAAA,IAAclB,SAAS,CAAAyC,MAAA;YAE3B,IAAMnC,WAAS,MAAU,CAAAkC,KAAM,CAAAG,aAAW;cAEtC,KAAAtB,mBAAyB,CAAAM,OAAM,KAAAvB,iBAAA,CAAAqC,MAAA,GAG7B;YACF,OAAK,KAAApC,mBAAoB,CAAAoC,MAAY,GACnC;UAAA;UAGF5B,YAAA,KAAA2B,KAAA,CAAAE,WAAA;QAAA;MAIJ;MACFhB,OAAAc,KAAA;QACArB,aAAmB,CAAAQ,OAAA;QACjB,IAAAgB,aAAc,GAAAH,KAAU,CAAAG,aAAA;UAAAD,WAAA,GAAAF,KAAA,CAAAE,WAAA;QACxBtB,UAAM,CAAAO,OAAA,GAAAF,MAAgB,CAAMmB,UAAA,aACtB;UAGN,IAAAC,QAAW,GAAAlD,aAAiB,CAAAqB,QAAW,CAAAO,YAAM,GAAAP,QAAA,CAAAO,YAAA,CAAAuB,aAAA,GAAAC,QAAA;UAC3C,CAAAJ,aAAM,IAAWE,QAAA,KAAA7B,QAAA,CAAAO,YAAA,IAAA1B,QAAA,CAAAW,OAAA,CAAAwC,IAAA,CAAAC,QAAA,CAAAtB,OAAA,EAAAkB,QAAA,KAAAhD,QAAA,CAAAmB,QAAA,CAAAO,YAAA,EAAAsB,QAAA,KAAAhC,YAAA,KAAA6B,WAAA;QAAA;MAC+C;IAIhE;EAYwC,IACzClC,OACH,CAAAwC,IAAA,CAAAC,QAAA,EACFjC,QAAA,CAAAO,YAAA,EACAV,YAAS,EACXK,WAAA,CAEA;EACF,OAAAzB,OAAA","ignoreList":[]}
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
- return pointerType && !isMouseLikePointerType(pointerType) ? 0 : typeof value == "number" ? value : value?.[prop];
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
- open,
11
- onOpenChange,
12
- dataRef,
13
- events,
14
- elements
15
- } = context,
16
- {
17
- enabled = !0,
18
- delay = 0,
19
- handleClose = null,
20
- mouseOnly = !1,
21
- restMs = 0,
22
- move = !0
23
- } = props,
24
- handleCloseRef = React.useRef(handleClose);
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
- pointerTypeRef = React.useRef(void 0),
34
- timeoutRef = React.useRef(-1),
35
- handlerRef = React.useRef(void 0),
36
- restTimeoutRef = React.useRef(-1),
37
- blockMouseMoveRef = React.useRef(!0),
38
- performedPointerEventsMutationRef = React.useRef(!1),
39
- unbindMouseMoveRef = React.useRef(() => {}),
40
- restTimeoutPendingRef = React.useRef(!1),
41
- isHoverOpen = useEvent(() => {
42
- const type = dataRef.current.openEvent?.type;
43
- return type?.includes("mouse") && type !== "mousedown";
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 || !events) return;
52
+ if (!enabled) return;
53
+ if (!events) return;
47
54
  function onOpenChange2({
48
55
  open: open2
49
56
  }) {
50
- open2 || (clearTimeoutIfSet(timeoutRef), clearTimeoutIfSet(restTimeoutRef), blockMouseMoveRef.current = !0, restTimeoutPendingRef.current = !1);
57
+ if (!open2) {
58
+ clearTimeoutIfSet(timeoutRef);
59
+ clearTimeoutIfSet(restTimeoutRef);
60
+ blockMouseMoveRef.current = true;
61
+ restTimeoutPendingRef.current = false;
62
+ }
51
63
  }
52
- return events.on("openchange", onOpenChange2), () => {
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 = !0, reason = "hover") => {
57
- const closeDelay = getDelay(delayRef.current, "close", pointerTypeRef.current);
58
- closeDelay && !handlerRef.current ? (clearTimeoutIfSet(timeoutRef), timeoutRef.current = window.setTimeout(() => stableOnOpenChange(!1, event, reason), closeDelay)) : runElseBranch && (clearTimeoutIfSet(timeoutRef), stableOnOpenChange(!1, event, reason));
59
- }),
60
- cleanupMouseMoveHandler = useEvent(() => {
61
- unbindMouseMoveRef.current(), handlerRef.current = void 0, context.handleCloseActiveRef && (context.handleCloseActiveRef.current = !1);
62
- }),
63
- clearPointerEvents = useEvent(() => {
64
- if (performedPointerEventsMutationRef.current) {
65
- const body = getDocument(elements.floating).body;
66
- body.style.pointerEvents = "", body.removeAttribute(safePolygonIdentifier), performedPointerEventsMutationRef.current = !1;
67
- }
68
- }),
69
- isClickLikeOpenEvent = useEvent(() => dataRef.current.openEvent ? ["click", "mousedown"].includes(dataRef.current.openEvent.type) : !1);
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
- if (clearTimeoutIfSet(timeoutRef), blockMouseMoveRef.current = !1, mouseOnly && !isMouseLikePointerType(pointerTypeRef.current) || restMsRef.current > 0 && !getDelay(delayRef.current, "open")) return;
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
- openDelay ? timeoutRef.current = window.setTimeout(() => {
76
- openRef.current || stableOnOpenChange(!0, event, "hover");
77
- }, openDelay) : open || stableOnOpenChange(!0, event, "hover");
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)) return;
121
+ if (context.triggerElements?.hasElement(event.relatedTarget)) {
122
+ return;
123
+ }
85
124
  unbindMouseMoveRef.current();
86
125
  const doc = getDocument(elements.floating);
87
- if (clearTimeoutIfSet(restTimeoutRef), restTimeoutPendingRef.current = !1, handleCloseRef.current) {
88
- open || clearTimeoutIfSet(timeoutRef);
89
- const placement = dataRef.current.placement || "bottom",
90
- reference2 = elements.domReference,
91
- floating = elements.floating;
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
- context.handleCloseActiveRef && (context.handleCloseActiveRef.current = !1), clearPointerEvents(), cleanupMouseMoveHandler(), isClickLikeOpenEvent() || closeWithDelay(event, !0, "safe-polygon");
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
- }), context.handleCloseActiveRef && (context.handleCloseActiveRef.current = !0);
155
+ });
156
+ if (context.handleCloseActiveRef) {
157
+ context.handleCloseActiveRef.current = true;
158
+ }
106
159
  const handler = handlerRef.current;
107
- doc.addEventListener("mousemove", handler), unbindMouseMoveRef.current = () => {
160
+ doc.addEventListener("mousemove", handler);
161
+ unbindMouseMoveRef.current = () => {
108
162
  doc.removeEventListener("mousemove", handler);
109
163
  };
110
164
  return;
111
165
  }
112
- (pointerTypeRef.current !== "touch" || !contains(elements.floating, event.relatedTarget)) && closeWithDelay(event);
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() || context.triggerElements?.hasElement(event.relatedTarget)) return;
116
- const placement = dataRef.current.placement || "bottom",
117
- reference2 = elements.domReference,
118
- floating = elements.floating;
119
- !reference2 || !floating || handleCloseRef.current?.({
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(), cleanupMouseMoveHandler(), isClickLikeOpenEvent() || closeWithDelay(event);
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() || context.triggerElements?.hasElement(event.relatedTarget) || closeWithDelay(event, !1);
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
- floating = elements.floating;
142
- return open && reference2.addEventListener("mouseleave", onScrollMouseLeave), move && reference2.addEventListener("mousemove", onReferenceMouseEnter, {
143
- once: !0
144
- }), reference2.addEventListener("mouseenter", onReferenceMouseEnter), reference2.addEventListener("mouseleave", onReferenceMouseLeave), floating && (floating.addEventListener("mouseleave", onScrollMouseLeave), floating.addEventListener("mouseenter", onFloatingMouseEnter), floating.addEventListener("mouseleave", onFloatingMouseLeave)), () => {
145
- open && reference2.removeEventListener("mouseleave", onScrollMouseLeave), move && reference2.removeEventListener("mousemove", onReferenceMouseEnter), reference2.removeEventListener("mouseenter", onReferenceMouseEnter), reference2.removeEventListener("mouseleave", onReferenceMouseLeave), floating && (floating.removeEventListener("mouseleave", onScrollMouseLeave), floating.removeEventListener("mouseenter", onFloatingMouseEnter), floating.removeEventListener("mouseleave", onFloatingMouseLeave)), cleanupMouseMoveHandler();
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]), React.useLayoutEffect(() => {
149
- if (enabled && open && handleCloseRef.current?.__options?.blockPointerEvents && isHoverOpen()) {
150
- performedPointerEventsMutationRef.current = !0;
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
- return body.style.pointerEvents = "none", ref.style.pointerEvents = "auto", floatingEl.style.pointerEvents = "auto", () => {
157
- body.style.pointerEvents = "", ref.style.pointerEvents = "", floatingEl.style.pointerEvents = "";
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]), React.useLayoutEffect(() => {
162
- open || (pointerTypeRef.current = void 0, restTimeoutPendingRef.current = !1, cleanupMouseMoveHandler(), clearPointerEvents());
163
- }, [open]), React.useEffect(() => () => {
164
- cleanupMouseMoveHandler(), clearTimeoutIfSet(timeoutRef), clearTimeoutIfSet(restTimeoutRef), clearPointerEvents();
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 && stableOnOpenChange(!0, nativeEvent, "hover");
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":"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","ignoreList":[]}