@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.
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 +3 -3
@@ -1 +1 @@
1
- {"version":3,"names":["useMemo","useRef","isHTMLElement","isMouseLikePointerType","isTypeableElement","isButtonTarget","event","target","tagName","isAnchorTarget","isSpaceIgnored","element","useClick","context","props","open","onOpenChange","dataRef","elements","domReference","enabled","eventOption","toggle","ignoreMouse","keyboardHandlers","stickIfOpen","pointerTypeRef","didKeyDownRef","reference","onPointerDown","current","pointerType","onMouseDown","button","openEvent","type","nativeEvent","preventDefault","onClick","onKeyDown","defaultPrevented","key","onKeyUp"],"sources":["../../../src/interactions/useClick.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useMemo","useRef","isHTMLElement","isMouseLikePointerType","isTypeableElement","isButtonTarget","event","target","tagName","isAnchorTarget","isSpaceIgnored","element","useClick","context","props","open","onOpenChange","dataRef","elements","domReference","enabled","eventOption","toggle","ignoreMouse","keyboardHandlers","stickIfOpen","pointerTypeRef","didKeyDownRef","reference","onPointerDown","current","pointerType","onMouseDown","button","openEvent","type","nativeEvent","preventDefault","onClick","onKeyDown","defaultPrevented","key","onKeyUp"],"sources":["../../../src/interactions/useClick.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -10,50 +10,90 @@ function isSpaceIgnored(element) {
10
10
  return isTypeableElement(element);
11
11
  }
12
12
  function useClick(context) {
13
- var props = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {},
14
- {
15
- open,
16
- onOpenChange,
17
- dataRef,
18
- elements: {
19
- domReference
20
- }
21
- } = context,
22
- {
23
- enabled = !0,
24
- event: eventOption = "click",
25
- toggle = !0,
26
- ignoreMouse = !1,
27
- keyboardHandlers = !0,
28
- stickIfOpen = !0
29
- } = props,
30
- pointerTypeRef = useRef(void 0),
31
- didKeyDownRef = useRef(!1),
32
- reference = useMemo(function () {
33
- return {
34
- onPointerDown(event) {
35
- pointerTypeRef.current = event.pointerType;
36
- },
37
- onMouseDown(event) {
38
- var pointerType = pointerTypeRef.current;
39
- event.button === 0 && eventOption !== "click" && (isMouseLikePointerType(pointerType, !0) && ignoreMouse || (open && toggle && (!(dataRef.current.openEvent && stickIfOpen) || dataRef.current.openEvent.type === "mousedown") ? onOpenChange(!1, event.nativeEvent || event, "click") : (event.preventDefault(), onOpenChange(!0, event.nativeEvent || event, "click"))));
40
- },
41
- onClick(event) {
42
- var pointerType = pointerTypeRef.current;
43
- if (eventOption === "mousedown" && pointerTypeRef.current) {
44
- pointerTypeRef.current = void 0;
45
- return;
13
+ var props = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
14
+ var {
15
+ open,
16
+ onOpenChange,
17
+ dataRef,
18
+ elements: {
19
+ domReference
20
+ }
21
+ } = context;
22
+ var {
23
+ enabled = true,
24
+ event: eventOption = "click",
25
+ toggle = true,
26
+ ignoreMouse = false,
27
+ keyboardHandlers = true,
28
+ stickIfOpen = true
29
+ } = props;
30
+ var pointerTypeRef = useRef(void 0);
31
+ var didKeyDownRef = useRef(false);
32
+ var reference = useMemo(function () {
33
+ return {
34
+ onPointerDown(event) {
35
+ pointerTypeRef.current = event.pointerType;
36
+ },
37
+ onMouseDown(event) {
38
+ var pointerType = pointerTypeRef.current;
39
+ if (event.button !== 0) return;
40
+ if (eventOption === "click") return;
41
+ if (isMouseLikePointerType(pointerType, true) && ignoreMouse) return;
42
+ if (open && toggle && (dataRef.current.openEvent && stickIfOpen ? dataRef.current.openEvent.type === "mousedown" : true)) {
43
+ onOpenChange(false, event.nativeEvent || event, "click");
44
+ } else {
45
+ event.preventDefault();
46
+ onOpenChange(true, event.nativeEvent || event, "click");
47
+ }
48
+ },
49
+ onClick(event) {
50
+ var pointerType = pointerTypeRef.current;
51
+ if (eventOption === "mousedown" && pointerTypeRef.current) {
52
+ pointerTypeRef.current = void 0;
53
+ return;
54
+ }
55
+ if (isMouseLikePointerType(pointerType, true) && ignoreMouse) return;
56
+ if (open && toggle && (dataRef.current.openEvent && stickIfOpen ? dataRef.current.openEvent.type === "click" : true)) {
57
+ onOpenChange(false, event.nativeEvent || event, "click");
58
+ } else {
59
+ onOpenChange(true, event.nativeEvent || event, "click");
60
+ }
61
+ },
62
+ onKeyDown(event) {
63
+ pointerTypeRef.current = void 0;
64
+ if (event.defaultPrevented || !keyboardHandlers || isButtonTarget(event)) {
65
+ return;
66
+ }
67
+ if (event.key === " " && !isSpaceIgnored(domReference)) {
68
+ event.preventDefault();
69
+ didKeyDownRef.current = true;
70
+ }
71
+ if (isAnchorTarget(event)) {
72
+ return;
73
+ }
74
+ if (event.key === "Enter") {
75
+ if (open && toggle) {
76
+ onOpenChange(false, event.nativeEvent || event, "click");
77
+ } else {
78
+ onOpenChange(true, event.nativeEvent || event, "click");
46
79
  }
47
- isMouseLikePointerType(pointerType, !0) && ignoreMouse || (open && toggle && (!(dataRef.current.openEvent && stickIfOpen) || dataRef.current.openEvent.type === "click") ? onOpenChange(!1, event.nativeEvent || event, "click") : onOpenChange(!0, event.nativeEvent || event, "click"));
48
- },
49
- onKeyDown(event) {
50
- pointerTypeRef.current = void 0, !(event.defaultPrevented || !keyboardHandlers || isButtonTarget(event)) && (event.key === " " && !isSpaceIgnored(domReference) && (event.preventDefault(), didKeyDownRef.current = !0), !isAnchorTarget(event) && event.key === "Enter" && onOpenChange(!(open && toggle), event.nativeEvent || event, "click"));
51
- },
52
- onKeyUp(event) {
53
- event.defaultPrevented || !keyboardHandlers || isButtonTarget(event) || isSpaceIgnored(domReference) || event.key === " " && didKeyDownRef.current && (didKeyDownRef.current = !1, onOpenChange(!(open && toggle), event.nativeEvent || event, "click"));
54
80
  }
55
- };
56
- }, [dataRef, domReference, eventOption, ignoreMouse, keyboardHandlers, onOpenChange, open, stickIfOpen, toggle]);
81
+ },
82
+ onKeyUp(event) {
83
+ if (event.defaultPrevented || !keyboardHandlers || isButtonTarget(event) || isSpaceIgnored(domReference)) {
84
+ return;
85
+ }
86
+ if (event.key === " " && didKeyDownRef.current) {
87
+ didKeyDownRef.current = false;
88
+ if (open && toggle) {
89
+ onOpenChange(false, event.nativeEvent || event, "click");
90
+ } else {
91
+ onOpenChange(true, event.nativeEvent || event, "click");
92
+ }
93
+ }
94
+ }
95
+ };
96
+ }, [dataRef, domReference, eventOption, ignoreMouse, keyboardHandlers, onOpenChange, open, stickIfOpen, toggle]);
57
97
  return useMemo(function () {
58
98
  return enabled ? {
59
99
  reference
@@ -1 +1 @@
1
- {"version":3,"names":["useMemo","useRef","isHTMLElement","isMouseLikePointerType","isTypeableElement","isButtonTarget","event","target","tagName","isAnchorTarget","isSpaceIgnored","element","useClick","context","props","arguments","length","open","onOpenChange","dataRef","elements","domReference","enabled","eventOption","toggle","ignoreMouse","keyboardHandlers","stickIfOpen","pointerTypeRef","didKeyDownRef","reference","onPointerDown","current","pointerType","onMouseDown","button","openEvent","type","nativeEvent","preventDefault","onClick","onKeyDown","defaultPrevented","key","onKeyUp"],"sources":["../../../src/interactions/useClick.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useMemo","useRef","isHTMLElement","isMouseLikePointerType","isTypeableElement","isButtonTarget","event","target","tagName","isAnchorTarget","isSpaceIgnored","element","useClick","context","props","arguments","length","open","onOpenChange","dataRef","elements","domReference","enabled","eventOption","toggle","ignoreMouse","keyboardHandlers","stickIfOpen","pointerTypeRef","didKeyDownRef","reference","onPointerDown","current","pointerType","onMouseDown","button","openEvent","type","nativeEvent","preventDefault","onClick","onKeyDown","defaultPrevented","key","onKeyUp"],"sources":["../../../src/interactions/useClick.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -14,14 +14,21 @@ function FloatingDelayGroup({
14
14
  delay,
15
15
  timeoutMs = 0
16
16
  }) {
17
- const [currentId, setCurrentIdRaw] = React.useState(null),
18
- timeoutRef = React.useRef(void 0),
19
- setCurrentId = React.useCallback(id => {
20
- clearTimeout(timeoutRef.current), id == null && timeoutMs > 0 ? timeoutRef.current = setTimeout(() => {
17
+ const [currentId, setCurrentIdRaw] = React.useState(null);
18
+ const timeoutRef = React.useRef(void 0);
19
+ const setCurrentId = React.useCallback(id => {
20
+ clearTimeout(timeoutRef.current);
21
+ if (id == null && timeoutMs > 0) {
22
+ timeoutRef.current = setTimeout(() => {
21
23
  setCurrentIdRaw(null);
22
- }, timeoutMs) : setCurrentIdRaw(id);
23
- }, [timeoutMs]);
24
- React.useEffect(() => () => clearTimeout(timeoutRef.current), []);
24
+ }, timeoutMs);
25
+ } else {
26
+ setCurrentIdRaw(id);
27
+ }
28
+ }, [timeoutMs]);
29
+ React.useEffect(() => {
30
+ return () => clearTimeout(timeoutRef.current);
31
+ }, []);
25
32
  const value = React.useMemo(() => ({
26
33
  currentId,
27
34
  setCurrentId,
@@ -35,26 +42,36 @@ function FloatingDelayGroup({
35
42
  }
36
43
  function useDelayGroup(context, options = {}) {
37
44
  const {
38
- id
39
- } = options,
40
- groupContext = React.useContext(DelayGroupContext);
41
- return React.useEffect(() => {
42
- !context.open && groupContext.currentId === id && groupContext.setCurrentId(null);
43
- }, [context.open, id]), React.useEffect(() => {
44
- groupContext.currentId != null && groupContext.currentId !== id && context.open && context.onOpenChange(!1);
45
- }, [groupContext.currentId, id, context.open]), groupContext.currentId != null ? {
46
- delay: {
47
- open: 1,
48
- close: getClose(groupContext.initialDelay)
49
- },
50
- currentId: groupContext.currentId
51
- } : {
45
+ id
46
+ } = options;
47
+ const groupContext = React.useContext(DelayGroupContext);
48
+ React.useEffect(() => {
49
+ if (!context.open && groupContext.currentId === id) {
50
+ groupContext.setCurrentId(null);
51
+ }
52
+ }, [context.open, id]);
53
+ React.useEffect(() => {
54
+ if (groupContext.currentId != null && groupContext.currentId !== id && context.open) {
55
+ context.onOpenChange(false);
56
+ }
57
+ }, [groupContext.currentId, id, context.open]);
58
+ if (groupContext.currentId != null) {
59
+ return {
60
+ delay: {
61
+ open: 1,
62
+ close: getClose(groupContext.initialDelay)
63
+ },
64
+ currentId: groupContext.currentId
65
+ };
66
+ }
67
+ return {
52
68
  delay: groupContext.initialDelay,
53
69
  currentId: groupContext.currentId
54
70
  };
55
71
  }
56
72
  function getClose(delay) {
57
- return typeof delay == "number" ? delay : delay?.close ?? 0;
73
+ if (typeof delay === "number") return delay;
74
+ return delay?.close ?? 0;
58
75
  }
59
76
  export { FloatingDelayGroup, useDelayGroup, useDelayGroupContext };
60
77
  //# sourceMappingURL=useDelayGroup.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","DelayGroupContext","createContext","currentId","setCurrentId","delay","timeoutMs","initialDelay","useDelayGroupContext","useContext","FloatingDelayGroup","children","setCurrentIdRaw","useState","timeoutRef","useRef","useCallback","id","clearTimeout","current","setTimeout","useEffect","value","useMemo","createElement","Provider","useDelayGroup","context","options","groupContext","open","onOpenChange","close","getClose"],"sources":["../../../src/interactions/useDelayGroup.ts"],"sourcesContent":[null],"mappings":"AAAA,YAAYA,KAAA,MAAW;AAWvB,MAAMC,iBAAA,GAAoBD,KAAA,CAAME,aAAA,CAAsC;EACpEC,SAAA,EAAW;EACXC,YAAA,EAAcA,CAAA,KAAM,CAAC;EACrBC,KAAA,EAAO;EACPC,SAAA,EAAW;EACXC,YAAA,EAAc;AAChB,CAAC;AAEM,SAASC,qBAAA,EAAuB;EACrC,OAAOR,KAAA,CAAMS,UAAA,CAAWR,iBAAiB;AAC3C;AAKO,SAASS,mBAAmB;EACjCC,QAAA;EACAN,KAAA;EACAC,SAAA,GAAY;AACd,GAIG;EACD,MAAM,CAACH,SAAA,EAAWS,eAAe,IAAIZ,KAAA,CAAMa,QAAA,CAAoC,IAAI;IAC7EC,UAAA,GAAad,KAAA,CAAMe,MAAA,CAAsC,MAAS;IAElEX,YAAA,GAAeJ,KAAA,CAAMgB,WAAA,CACxBC,EAAA,IAAkC;MACjCC,YAAA,CAAaJ,UAAA,CAAWK,OAAO,GAC3BF,EAAA,IAAM,QAAQX,SAAA,GAAY,IAE5BQ,UAAA,CAAWK,OAAA,GAAUC,UAAA,CAAW,MAAM;QACpCR,eAAA,CAAgB,IAAI;MACtB,GAAGN,SAAS,IAEZM,eAAA,CAAgBK,EAAE;IAEtB,GACA,CAACX,SAAS,CACZ;EAEAN,KAAA,CAAMqB,SAAA,CAAU,MACP,MAAMH,YAAA,CAAaJ,UAAA,CAAWK,OAAO,GAC3C,EAAE;EAEL,MAAMG,KAAA,GAAQtB,KAAA,CAAMuB,OAAA,CAClB,OAAO;IACLpB,SAAA;IACAC,YAAA;IACAC,KAAA;IACAC,SAAA;IACAC,YAAA,EAAcF;EAChB,IACA,CAACF,SAAA,EAAWC,YAAA,EAAcC,KAAA,EAAOC,SAAS,CAC5C;EAEA,OAAON,KAAA,CAAMwB,aAAA,CAAcvB,iBAAA,CAAkBwB,QAAA,EAAU;IAAEH;EAAM,GAAGX,QAAQ;AAC5E;AAIO,SAASe,cACdC,OAAA,EACAC,OAAA,GAA2B,CAAC,GAC4B;EACxD,MAAM;MAAEX;IAAG,IAAIW,OAAA;IACTC,YAAA,GAAe7B,KAAA,CAAMS,UAAA,CAAWR,iBAAiB;EAmBvD,OAhBAD,KAAA,CAAMqB,SAAA,CAAU,MAAM;IAChB,CAACM,OAAA,CAAQG,IAAA,IAAQD,YAAA,CAAa1B,SAAA,KAAcc,EAAA,IAC9CY,YAAA,CAAazB,YAAA,CAAa,IAAI;EAElC,GAAG,CAACuB,OAAA,CAAQG,IAAA,EAAMb,EAAE,CAAC,GAIrBjB,KAAA,CAAMqB,SAAA,CAAU,MAAM;IAChBQ,YAAA,CAAa1B,SAAA,IAAa,QAAQ0B,YAAA,CAAa1B,SAAA,KAAcc,EAAA,IAAMU,OAAA,CAAQG,IAAA,IAC7EH,OAAA,CAAQI,YAAA,CAAa,EAAK;EAE9B,GAAG,CAACF,YAAA,CAAa1B,SAAA,EAAWc,EAAA,EAAIU,OAAA,CAAQG,IAAI,CAAC,GAIzCD,YAAA,CAAa1B,SAAA,IAAa,OACrB;IACLE,KAAA,EAAO;MAAEyB,IAAA,EAAM;MAAGE,KAAA,EAAOC,QAAA,CAASJ,YAAA,CAAatB,YAAY;IAAE;IAC7DJ,SAAA,EAAW0B,YAAA,CAAa1B;EAC1B,IAGK;IACLE,KAAA,EAAOwB,YAAA,CAAatB,YAAA;IACpBJ,SAAA,EAAW0B,YAAA,CAAa1B;EAC1B;AACF;AAEA,SAAS8B,SAAS5B,KAAA,EAAsB;EACtC,OAAI,OAAOA,KAAA,IAAU,WAAiBA,KAAA,GAC/BA,KAAA,EAAO2B,KAAA,IAAS;AACzB","ignoreList":[]}
1
+ {"version":3,"names":["React","DelayGroupContext","createContext","currentId","setCurrentId","delay","timeoutMs","initialDelay","useDelayGroupContext","useContext","FloatingDelayGroup","children","setCurrentIdRaw","useState","timeoutRef","useRef","useCallback","id","clearTimeout","current","setTimeout","useEffect","value","useMemo","createElement","Provider","useDelayGroup","context","options","groupContext","open","onOpenChange","close","getClose"],"sources":["../../../src/interactions/useDelayGroup.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -11,17 +11,22 @@ function useDelayGroupContext() {
11
11
  }
12
12
  function FloatingDelayGroup(param) {
13
13
  var {
14
- children,
15
- delay,
16
- timeoutMs = 0
17
- } = param,
18
- [currentId, setCurrentIdRaw] = React.useState(null),
19
- timeoutRef = React.useRef(void 0),
20
- setCurrentId = React.useCallback(function (id) {
21
- clearTimeout(timeoutRef.current), id == null && timeoutMs > 0 ? timeoutRef.current = setTimeout(function () {
14
+ children,
15
+ delay,
16
+ timeoutMs = 0
17
+ } = param;
18
+ var [currentId, setCurrentIdRaw] = React.useState(null);
19
+ var timeoutRef = React.useRef(void 0);
20
+ var setCurrentId = React.useCallback(function (id) {
21
+ clearTimeout(timeoutRef.current);
22
+ if (id == null && timeoutMs > 0) {
23
+ timeoutRef.current = setTimeout(function () {
22
24
  setCurrentIdRaw(null);
23
- }, timeoutMs) : setCurrentIdRaw(id);
24
- }, [timeoutMs]);
25
+ }, timeoutMs);
26
+ } else {
27
+ setCurrentIdRaw(id);
28
+ }
29
+ }, [timeoutMs]);
25
30
  React.useEffect(function () {
26
31
  return function () {
27
32
  return clearTimeout(timeoutRef.current);
@@ -41,30 +46,39 @@ function FloatingDelayGroup(param) {
41
46
  }, children);
42
47
  }
43
48
  function useDelayGroup(context) {
44
- var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {},
45
- {
46
- id
47
- } = options,
48
- groupContext = React.useContext(DelayGroupContext);
49
- return React.useEffect(function () {
50
- !context.open && groupContext.currentId === id && groupContext.setCurrentId(null);
51
- }, [context.open, id]), React.useEffect(function () {
52
- groupContext.currentId != null && groupContext.currentId !== id && context.open && context.onOpenChange(!1);
53
- }, [groupContext.currentId, id, context.open]), groupContext.currentId != null ? {
54
- delay: {
55
- open: 1,
56
- close: getClose(groupContext.initialDelay)
57
- },
58
- currentId: groupContext.currentId
59
- } : {
49
+ var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
50
+ var {
51
+ id
52
+ } = options;
53
+ var groupContext = React.useContext(DelayGroupContext);
54
+ React.useEffect(function () {
55
+ if (!context.open && groupContext.currentId === id) {
56
+ groupContext.setCurrentId(null);
57
+ }
58
+ }, [context.open, id]);
59
+ React.useEffect(function () {
60
+ if (groupContext.currentId != null && groupContext.currentId !== id && context.open) {
61
+ context.onOpenChange(false);
62
+ }
63
+ }, [groupContext.currentId, id, context.open]);
64
+ if (groupContext.currentId != null) {
65
+ return {
66
+ delay: {
67
+ open: 1,
68
+ close: getClose(groupContext.initialDelay)
69
+ },
70
+ currentId: groupContext.currentId
71
+ };
72
+ }
73
+ return {
60
74
  delay: groupContext.initialDelay,
61
75
  currentId: groupContext.currentId
62
76
  };
63
77
  }
64
78
  function getClose(delay) {
65
- if (typeof delay == "number") return delay;
79
+ if (typeof delay === "number") return delay;
66
80
  var _delay_close;
67
- return (_delay_close = delay?.close) !== null && _delay_close !== void 0 ? _delay_close : 0;
81
+ return (_delay_close = delay === null || delay === void 0 ? void 0 : delay.close) !== null && _delay_close !== void 0 ? _delay_close : 0;
68
82
  }
69
83
  export { FloatingDelayGroup, useDelayGroup, useDelayGroupContext };
70
84
  //# sourceMappingURL=useDelayGroup.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","DelayGroupContext","createContext","currentId","setCurrentId","delay","timeoutMs","initialDelay","useDelayGroupContext","useContext","FloatingDelayGroup","param","children","setCurrentIdRaw","useState","timeoutRef","useRef","useCallback","id","clearTimeout","current","setTimeout","useEffect","value","useMemo","createElement","Provider","useDelayGroup","context","options","arguments","length","groupContext","open","onOpenChange"],"sources":["../../../src/interactions/useDelayGroup.ts"],"sourcesContent":[null],"mappings":"AAAA,YAAYA,KAAA,MAAW;AAWvB,IAAAC,iBAAM,GAAAD,KAAoB,CAAAE,aAAM;EAC9BC,SAAA,EAAW;EACXC,YAAA,EAAc,SAAAA,CAAA,EAAM,CAAC;EACrBC,KAAA,EAAO;EACPC,SAAA,EAAW;EACXC,YAAA,EAAc;AAChB,CAAC;AAEM,SAASC,qBAAA,EAAuB;EACrC,OAAOR,KAAA,CAAMS,UAAA,CAAWR,iBAAiB;AAC3C;AAKO,SAASS,mBAAmBC,KAAA;EACjC;MAAAC,QAAA;MAAAP,KAAA;MAAAC,SAAA;IAAA,IAAAK,KAAA;IAAA,CAAAR,SAAA,EAAAU,eAAA,IAAAb,KAAA,CAAAc,QAAA;IAAAC,UAAA,GAAAf,KAAA,CAAAgB,MAAA;IAAAZ,YAAA,GAAAJ,KAAA,CAAAiB,WAAA,WAAAC,EAAA;MACAC,YAAA,CAAAJ,UAAA,CAAAK,OAAA,GAAAF,EAAA,YAAAZ,SAAA,OAAAS,UAAA,CAAAK,OAAA,GAAAC,UAAA;QACAR,eAAY;MAKX,GAAAP,SAAA,IAAAO,eAAA,CAAAK,EAAA;IACD,IAIEZ,SAAmC,CACjC;EAIIN,KAAA,CAAAsB,SAAA,aAAoB;IAAA,OACnB,YAEH;MAEJ,OAAAH,YAAA,CAAAJ,UAAA,CAAAK,OAAA;IACA,CAAC;EACH;EAEA,IAAAG,KAAM,GAAAvB,KAAU,CAAAwB,OACP,aAAM;IAGf,OAAM;MACJrB,SAAO;MACLC,YAAA;MACAC,KAAA;MACAC,SAAA;MACAC,YAAA,EAAAF;IAAA;EACc,GAChB,CACAF,SAAC,EACHC,YAAA,EAEAC,KAAO,EACTC,SAAA,CAIO;EAIL,OAAMN,KAAK,CAAAyB,aACL,CAAAxB,iBAAe,CAAMyB,QAAA;IAmB3BH;EAfE,GAAKX,QAAQ;AACmB;AAOhC,SAAIe,aAAaA,CAAAC,OAAa;EAGhC,IAAIC,OAAA,GAAAC,SAAa,CAAAC,MAAW,GAAI,KAAAD,SAAa,CAIzC,aAAa,GAAAA,SAAA,CAAa,OACrB;IAAA;MAAAZ;IAAA,IAAAW,OAAA;IAAAG,YAAA,GAAAhC,KAAA,CAAAS,UAAA,CAAAR,iBAAA;EAAA,OACLD,KAAS,CAAAsB,SAAS,aAAO;IACzB,CAAAM,OAAA,CAAAK,IAAW,IAAAD,YAAa,CAAA7B,SAAA,KAAAe,EAAA,IAAAc,YAAA,CAAA5B,YAAA;EAC1B,IAIAwB,OAAO,CAAAK,IAAA,EACPf,EAAA,CACF,GAAAlB,KAAA,CAAAsB,SAAA;IACFU,YAAA,CAAA7B,SAAA,YAAA6B,YAAA,CAAA7B,SAAA,KAAAe,EAAA,IAAAU,OAAA,CAAAK,IAAA,IAAAL,OAAA,CAAAM,YAAA;EAEA,IACEF,YAAW,CAAA7B,SAAU,EAEvBe,EAAA,E","ignoreList":[]}
1
+ {"version":3,"names":["React","DelayGroupContext","createContext","currentId","setCurrentId","delay","timeoutMs","initialDelay","useDelayGroupContext","useContext","FloatingDelayGroup","param","children","setCurrentIdRaw","useState","timeoutRef","useRef","useCallback","id","clearTimeout","current","setTimeout","useEffect","value","useMemo","createElement","Provider","useDelayGroup","context","options","arguments","length","groupContext","open","onOpenChange"],"sources":["../../../src/interactions/useDelayGroup.ts"],"sourcesContent":[null],"mappings":"AAAA,YAAYA,KAAA,MAAW;AAWvB,IAAAC,iBAAM,GAAAD,KAAoB,CAAAE,aAAM;EAC9BC,SAAA,EAAW;EACXC,YAAA,EAAc,SAAAA,CAAA,EAAM,CAAC;EACrBC,KAAA,EAAO;EACPC,SAAA,EAAW;EACXC,YAAA,EAAc;AAChB,CAAC;AAEM,SAASC,qBAAA,EAAuB;EACrC,OAAOR,KAAA,CAAMS,UAAA,CAAWR,iBAAiB;AAC3C;AAKO,SAASS,mBAAmBC,KAAA;EACjC;IAAAC,QAAA;IAAAP,KAAA;IAAAC,SAAA;EAAA,IAAAK,KAAA;EACA,KAAAR,SAAA,EAAAU,eAAA,IAAAb,KAAA,CAAAc,QAAA;EACA,IAAAC,UAAY,GAAAf,KAAA,CAAAgB,MAAA;EACd,IAIGZ,YAAA,GAAAJ,KAAA,CAAAiB,WAAA,WAAAC,EAAA;IACDC,YAAO,CAAAJ,UAAW,CAAAK,OAAe;IACjC,IAAMF,EAAA,YAAaZ,SAAM,GAAsC;MAE/DS,UAAM,CAAAK,OAAe,GAAAC,UAAM;QACxBR,eAAkC;MACjC,GAAAP,SAAA,CAAa;IACb,OAAI;MAEFO,eAAW,CAAAK,EAAA;IACT;EAAoB,IACVZ,SACP,CACL;EAAkBN,KACpB,CAAAsB,SAAA;IACF;MACC,OAAAH,YAAS,CAAAJ,UAAA,CAAAK,OAAA;IACZ;EAEA,MAAM;EACJ,IAAAG,KAAO,GAAAvB,KAAM,CAAAwB,OAAA,aAAa;IAC5B,OAAK;MAELrB,SAAM;MACJC,YAAO;MACLC,KAAA;MACAC,SAAA;MACAC,YAAA,EAAAF;IAAA;EACA,IAEFF,SAAA,EACAC,YAAY,EACdC,KAAA,EAEAC,SAAO,CACT;EAIO,OAASN,KAAA,CAAAyB,aACd,CAAAxB,iBAEwD,CAAAyB,QAAA;IACxDH;EACA,GAAAX,QAAM;AAGN;AACE,SAAKe,aAAQA,CAAAC,OAAQ;EACnB,IAAAC,OAAA,GAAAC,SAAa,CAAAC,MAAa,IAAI,IAAAD,SAAA,iBAAAA,SAAA;EAAA,IAChC;IAAAZ;EAAA,IAAAW,OAAA;EACF,IAAIG,YAAQ,GAAMhC,KAAG,CAAAS,UAAA,CAAAR,iBAAA;EAIrBD,KAAA,CAAMsB,SAAA,CAAU,YAAM;IACpB,IAAI,CAAAM,OAAA,CAAAK,IAAa,IAAAD,YAAa,CAAA7B,SAAQ,KAAAe,EAAA,EAAa;MACjDc,YAAQ,CAAA5B,YAAa,CAAK;IAC5B;EACF,GAAG,CAIHwB,OAAI,CAAAK,IAAA,EACFf,EAAA,CAAO;EACwDlB,KAC7D,CAAAsB,SAAW;IACb,IAAAU,YAAA,CAAA7B,SAAA,YAAA6B,YAAA,CAAA7B,SAAA,KAAAe,EAAA,IAAAU,OAAA,CAAAK,IAAA;MACFL,OAAA,CAAAM,YAAA;IAEA;EAAO,GACL,CACAF,YAAW,CAAA7B,SAAA,EACbe,EAAA,EACFU,OAAA,CAAAK,IAAA,CAEA;EACE,IAAID,YAAO,CAAA7B,SAAU,IAAU;IAC/B,OAAO;MACTE,KAAA","ignoreList":[]}
@@ -5,68 +5,95 @@ function isMacSafari() {
5
5
  }
6
6
  function useFocus(context, props = {}) {
7
7
  const {
8
- open,
9
- onOpenChange,
10
- events,
11
- dataRef,
12
- elements
13
- } = context,
14
- {
15
- enabled = !0,
16
- visibleOnly = !0
17
- } = props,
18
- blockFocusRef = useRef(!1),
19
- timeoutRef = useRef(-1),
20
- keyboardModalityRef = useRef(!0);
8
+ open,
9
+ onOpenChange,
10
+ events,
11
+ dataRef,
12
+ elements
13
+ } = context;
14
+ const {
15
+ enabled = true,
16
+ visibleOnly = true
17
+ } = props;
18
+ const blockFocusRef = useRef(false);
19
+ const timeoutRef = useRef(-1);
20
+ const keyboardModalityRef = useRef(true);
21
21
  useEffect(() => {
22
22
  if (!enabled) return;
23
23
  const win = getDocument(elements.domReference).defaultView || window;
24
24
  function onBlur() {
25
- !open && isHTMLElement(elements.domReference) && elements.domReference === activeElement(getDocument(elements.domReference)) && (blockFocusRef.current = !0);
25
+ if (!open && isHTMLElement(elements.domReference) && elements.domReference === activeElement(getDocument(elements.domReference))) {
26
+ blockFocusRef.current = true;
27
+ }
26
28
  }
27
29
  function onKeyDown() {
28
- keyboardModalityRef.current = !0;
30
+ keyboardModalityRef.current = true;
29
31
  }
30
32
  function onPointerDown() {
31
- keyboardModalityRef.current = !1;
33
+ keyboardModalityRef.current = false;
34
+ }
35
+ win.addEventListener("blur", onBlur);
36
+ if (isMacSafari()) {
37
+ win.addEventListener("keydown", onKeyDown, true);
38
+ win.addEventListener("pointerdown", onPointerDown, true);
32
39
  }
33
- return win.addEventListener("blur", onBlur), isMacSafari() && (win.addEventListener("keydown", onKeyDown, !0), win.addEventListener("pointerdown", onPointerDown, !0)), () => {
34
- win.removeEventListener("blur", onBlur), isMacSafari() && (win.removeEventListener("keydown", onKeyDown, !0), win.removeEventListener("pointerdown", onPointerDown, !0));
40
+ return () => {
41
+ win.removeEventListener("blur", onBlur);
42
+ if (isMacSafari()) {
43
+ win.removeEventListener("keydown", onKeyDown, true);
44
+ win.removeEventListener("pointerdown", onPointerDown, true);
45
+ }
35
46
  };
36
- }, [elements.domReference, open, enabled]), useEffect(() => {
37
- if (!enabled || !events) return;
47
+ }, [elements.domReference, open, enabled]);
48
+ useEffect(() => {
49
+ if (!enabled) return;
50
+ if (!events) return;
38
51
  function handleOpenChange({
39
52
  reason
40
53
  }) {
41
- (reason === "reference-press" || reason === "escape-key") && (blockFocusRef.current = !0);
54
+ if (reason === "reference-press" || reason === "escape-key") {
55
+ blockFocusRef.current = true;
56
+ }
42
57
  }
43
- return events.on("openchange", handleOpenChange), () => {
58
+ events.on("openchange", handleOpenChange);
59
+ return () => {
44
60
  events.off("openchange", handleOpenChange);
45
61
  };
46
- }, [events, enabled]), useEffect(() => () => {
47
- clearTimeoutIfSet(timeoutRef);
62
+ }, [events, enabled]);
63
+ useEffect(() => {
64
+ return () => {
65
+ clearTimeoutIfSet(timeoutRef);
66
+ };
48
67
  }, []);
49
68
  const reference = useMemo(() => ({
50
69
  onMouseLeave() {
51
- blockFocusRef.current = !1;
70
+ blockFocusRef.current = false;
52
71
  },
53
72
  onFocus(event) {
54
73
  if (blockFocusRef.current) return;
55
74
  const target = getTarget(event.nativeEvent);
56
75
  if (visibleOnly && isElement(target)) {
57
76
  if (isMacSafari() && !event.relatedTarget) {
58
- if (!keyboardModalityRef.current && !isTypeableElement(target)) return;
59
- } else if (!matchesFocusVisible(target)) return;
77
+ if (!keyboardModalityRef.current && !isTypeableElement(target)) {
78
+ return;
79
+ }
80
+ } else if (!matchesFocusVisible(target)) {
81
+ return;
82
+ }
60
83
  }
61
- onOpenChange(!0, event.nativeEvent, "focus");
84
+ onOpenChange(true, event.nativeEvent, "focus");
62
85
  },
63
86
  onBlur(event) {
64
- blockFocusRef.current = !1;
65
- const relatedTarget = event.relatedTarget,
66
- nativeEvent = event.nativeEvent;
87
+ blockFocusRef.current = false;
88
+ const relatedTarget = event.relatedTarget;
89
+ const nativeEvent = event.nativeEvent;
67
90
  timeoutRef.current = window.setTimeout(() => {
68
91
  const activeEl = activeElement(elements.domReference ? elements.domReference.ownerDocument : document);
69
- !relatedTarget && activeEl === elements.domReference || contains(context.refs.floating.current, activeEl) || contains(elements.domReference, activeEl) || onOpenChange(!1, nativeEvent, "focus");
92
+ if (!relatedTarget && activeEl === elements.domReference) return;
93
+ if (contains(context.refs.floating.current, activeEl) || contains(elements.domReference, activeEl)) {
94
+ return;
95
+ }
96
+ onOpenChange(false, nativeEvent, "focus");
70
97
  });
71
98
  }
72
99
  }), [context.refs.floating, elements.domReference, onOpenChange, visibleOnly]);
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","useMemo","useRef","activeElement","clearTimeoutIfSet","contains","getDocument","getTarget","isElement","isHTMLElement","isMac","isSafari","isTypeableElement","matchesFocusVisible","isMacSafari","useFocus","context","props","open","onOpenChange","events","dataRef","elements","enabled","visibleOnly","blockFocusRef","timeoutRef","keyboardModalityRef","win","domReference","defaultView","window","onBlur","current","onKeyDown","onPointerDown","addEventListener","removeEventListener","handleOpenChange","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":[]}
1
+ {"version":3,"names":["useEffect","useMemo","useRef","activeElement","clearTimeoutIfSet","contains","getDocument","getTarget","isElement","isHTMLElement","isMac","isSafari","isTypeableElement","matchesFocusVisible","isMacSafari","useFocus","context","props","open","onOpenChange","events","dataRef","elements","enabled","visibleOnly","blockFocusRef","timeoutRef","keyboardModalityRef","win","domReference","defaultView","window","onBlur","current","onKeyDown","onPointerDown","addEventListener","removeEventListener","handleOpenChange","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":[]}