@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,64 +4,72 @@ var __create = Object.create;
4
4
  var __defProp = Object.defineProperty;
5
5
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
6
  var __getOwnPropNames = Object.getOwnPropertyNames;
7
- var __getProtoOf = Object.getPrototypeOf,
8
- __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __getProtoOf = Object.getPrototypeOf;
8
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
9
9
  var __export = (target, all) => {
10
- for (var name in all) __defProp(target, name, {
11
- get: all[name],
12
- enumerable: !0
13
- });
14
- },
15
- __copyProps = (to, from, except, desc) => {
16
- if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
10
+ for (var name in all) __defProp(target, name, {
11
+ get: all[name],
12
+ enumerable: true
13
+ });
14
+ };
15
+ var __copyProps = (to, from, except, desc) => {
16
+ if (from && typeof from === "object" || typeof from === "function") {
17
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
17
18
  get: () => from[key],
18
19
  enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
19
20
  });
20
- return to;
21
- };
21
+ }
22
+ return to;
23
+ };
22
24
  var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
23
- // If the importer is in node compatibility mode or this is not an ESM
24
- // file that has been converted to a CommonJS file using a Babel-
25
- // compatible transform (i.e. "__esModule" has not been set), then set
26
- // "default" to the CommonJS "module.exports" for node compatibility.
27
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
28
- value: mod,
29
- enumerable: !0
30
- }) : target, mod)),
31
- __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
32
- value: !0
33
- }), mod);
25
+ // If the importer is in node compatibility mode or this is not an ESM
26
+ // file that has been converted to a CommonJS file using a Babel-
27
+ // compatible transform (i.e. "__esModule" has not been set), then set
28
+ // "default" to the CommonJS "module.exports" for node compatibility.
29
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
30
+ value: mod,
31
+ enumerable: true
32
+ }) : target, mod));
33
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
34
+ value: true
35
+ }), mod);
34
36
  var useHover_exports = {};
35
37
  __export(useHover_exports, {
36
38
  getDelay: () => getDelay,
37
39
  useHover: () => useHover
38
40
  });
39
41
  module.exports = __toCommonJS(useHover_exports);
40
- var React = __toESM(require("react"), 1),
41
- import_use_event = require("@hanzogui/use-event"),
42
- import_utils = require("./utils.native.js"),
43
- safePolygonIdentifier = "data-floating-ui-safe-polygon";
42
+ var React = __toESM(require("react"), 1);
43
+ var import_use_event = require("@hanzogui/use-event");
44
+ var import_utils = require("./utils.native.js");
45
+ var safePolygonIdentifier = "data-floating-ui-safe-polygon";
44
46
  function getDelay(value, prop, pointerType) {
45
- return pointerType && !(0, import_utils.isMouseLikePointerType)(pointerType) ? 0 : typeof value == "number" ? value : value?.[prop];
47
+ if (pointerType && !(0, import_utils.isMouseLikePointerType)(pointerType)) {
48
+ return 0;
49
+ }
50
+ if (typeof value === "number") {
51
+ return value;
52
+ }
53
+ return value === null || value === void 0 ? void 0 : value[prop];
46
54
  }
47
55
  function useHover(context) {
48
- var props = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {},
49
- {
50
- open,
51
- onOpenChange,
52
- dataRef,
53
- events,
54
- elements
55
- } = context,
56
- {
57
- enabled = !0,
58
- delay = 0,
59
- handleClose = null,
60
- mouseOnly = !1,
61
- restMs = 0,
62
- move = !0
63
- } = props,
64
- handleCloseRef = React.useRef(handleClose);
56
+ var props = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
57
+ var {
58
+ open,
59
+ onOpenChange,
60
+ dataRef,
61
+ events,
62
+ elements
63
+ } = context;
64
+ var {
65
+ enabled = true,
66
+ delay = 0,
67
+ handleClose = null,
68
+ mouseOnly = false,
69
+ restMs = 0,
70
+ move = true
71
+ } = props;
72
+ var handleCloseRef = React.useRef(handleClose);
65
73
  handleCloseRef.current = handleClose;
66
74
  var delayRef = React.useRef(delay);
67
75
  delayRef.current = delay;
@@ -69,60 +77,88 @@ function useHover(context) {
69
77
  openRef.current = open;
70
78
  var restMsRef = React.useRef(restMs);
71
79
  restMsRef.current = restMs;
72
- var stableOnOpenChange = (0, import_use_event.useEvent)(onOpenChange),
73
- pointerTypeRef = React.useRef(void 0),
74
- timeoutRef = React.useRef(-1),
75
- handlerRef = React.useRef(void 0),
76
- restTimeoutRef = React.useRef(-1),
77
- blockMouseMoveRef = React.useRef(!0),
78
- performedPointerEventsMutationRef = React.useRef(!1),
79
- unbindMouseMoveRef = React.useRef(function () {}),
80
- restTimeoutPendingRef = React.useRef(!1),
81
- isHoverOpen = (0, import_use_event.useEvent)(function () {
82
- var _dataRef_current_openEvent,
83
- type = (_dataRef_current_openEvent = dataRef.current.openEvent) === null || _dataRef_current_openEvent === void 0 ? void 0 : _dataRef_current_openEvent.type;
84
- return type?.includes("mouse") && type !== "mousedown";
85
- });
80
+ var stableOnOpenChange = (0, import_use_event.useEvent)(onOpenChange);
81
+ var pointerTypeRef = React.useRef(void 0);
82
+ var timeoutRef = React.useRef(-1);
83
+ var handlerRef = React.useRef(void 0);
84
+ var restTimeoutRef = React.useRef(-1);
85
+ var blockMouseMoveRef = React.useRef(true);
86
+ var performedPointerEventsMutationRef = React.useRef(false);
87
+ var unbindMouseMoveRef = React.useRef(function () {});
88
+ var restTimeoutPendingRef = React.useRef(false);
89
+ var isHoverOpen = (0, import_use_event.useEvent)(function () {
90
+ var _dataRef_current_openEvent;
91
+ var type = (_dataRef_current_openEvent = dataRef.current.openEvent) === null || _dataRef_current_openEvent === void 0 ? void 0 : _dataRef_current_openEvent.type;
92
+ return (type === null || type === void 0 ? void 0 : type.includes("mouse")) && type !== "mousedown";
93
+ });
86
94
  React.useEffect(function () {
87
- if (!enabled || !events) return;
95
+ if (!enabled) return;
96
+ if (!events) return;
88
97
  function onOpenChange2(param) {
89
98
  var {
90
99
  open: open2
91
100
  } = param;
92
- open2 || ((0, import_utils.clearTimeoutIfSet)(timeoutRef), (0, import_utils.clearTimeoutIfSet)(restTimeoutRef), blockMouseMoveRef.current = !0, restTimeoutPendingRef.current = !1);
101
+ if (!open2) {
102
+ (0, import_utils.clearTimeoutIfSet)(timeoutRef);
103
+ (0, import_utils.clearTimeoutIfSet)(restTimeoutRef);
104
+ blockMouseMoveRef.current = true;
105
+ restTimeoutPendingRef.current = false;
106
+ }
93
107
  }
94
- return events.on("openchange", onOpenChange2), function () {
108
+ events.on("openchange", onOpenChange2);
109
+ return function () {
95
110
  events.off("openchange", onOpenChange2);
96
111
  };
97
112
  }, [enabled, events]);
98
113
  var closeWithDelay = (0, import_use_event.useEvent)(function (event) {
99
- var runElseBranch = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0,
100
- reason = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : "hover",
101
- closeDelay = getDelay(delayRef.current, "close", pointerTypeRef.current);
102
- closeDelay && !handlerRef.current ? ((0, import_utils.clearTimeoutIfSet)(timeoutRef), timeoutRef.current = window.setTimeout(function () {
103
- return stableOnOpenChange(!1, event, reason);
104
- }, closeDelay)) : runElseBranch && ((0, import_utils.clearTimeoutIfSet)(timeoutRef), stableOnOpenChange(!1, event, reason));
105
- }),
106
- cleanupMouseMoveHandler = (0, import_use_event.useEvent)(function () {
107
- unbindMouseMoveRef.current(), handlerRef.current = void 0, context.handleCloseActiveRef && (context.handleCloseActiveRef.current = !1);
108
- }),
109
- clearPointerEvents = (0, import_use_event.useEvent)(function () {
110
- if (performedPointerEventsMutationRef.current) {
111
- var body = (0, import_utils.getDocument)(elements.floating).body;
112
- body.style.pointerEvents = "", body.removeAttribute(safePolygonIdentifier), performedPointerEventsMutationRef.current = !1;
113
- }
114
- }),
115
- isClickLikeOpenEvent = (0, import_use_event.useEvent)(function () {
116
- return dataRef.current.openEvent ? ["click", "mousedown"].includes(dataRef.current.openEvent.type) : !1;
117
- });
114
+ var runElseBranch = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : true,
115
+ reason = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : "hover";
116
+ var closeDelay = getDelay(delayRef.current, "close", pointerTypeRef.current);
117
+ if (closeDelay && !handlerRef.current) {
118
+ (0, import_utils.clearTimeoutIfSet)(timeoutRef);
119
+ timeoutRef.current = window.setTimeout(function () {
120
+ return stableOnOpenChange(false, event, reason);
121
+ }, closeDelay);
122
+ } else if (runElseBranch) {
123
+ (0, import_utils.clearTimeoutIfSet)(timeoutRef);
124
+ stableOnOpenChange(false, event, reason);
125
+ }
126
+ });
127
+ var cleanupMouseMoveHandler = (0, import_use_event.useEvent)(function () {
128
+ unbindMouseMoveRef.current();
129
+ handlerRef.current = void 0;
130
+ if (context.handleCloseActiveRef) {
131
+ context.handleCloseActiveRef.current = false;
132
+ }
133
+ });
134
+ var clearPointerEvents = (0, import_use_event.useEvent)(function () {
135
+ if (performedPointerEventsMutationRef.current) {
136
+ var body = (0, import_utils.getDocument)(elements.floating).body;
137
+ body.style.pointerEvents = "";
138
+ body.removeAttribute(safePolygonIdentifier);
139
+ performedPointerEventsMutationRef.current = false;
140
+ }
141
+ });
142
+ var isClickLikeOpenEvent = (0, import_use_event.useEvent)(function () {
143
+ return dataRef.current.openEvent ? ["click", "mousedown"].includes(dataRef.current.openEvent.type) : false;
144
+ });
118
145
  React.useEffect(function () {
119
146
  if (!enabled) return;
120
147
  function onReferenceMouseEnter(event) {
121
- if ((0, import_utils.clearTimeoutIfSet)(timeoutRef), blockMouseMoveRef.current = !1, !(mouseOnly && !(0, import_utils.isMouseLikePointerType)(pointerTypeRef.current) || restMsRef.current > 0 && !getDelay(delayRef.current, "open"))) {
122
- var openDelay = getDelay(delayRef.current, "open", pointerTypeRef.current);
123
- openDelay ? timeoutRef.current = window.setTimeout(function () {
124
- openRef.current || stableOnOpenChange(!0, event, "hover");
125
- }, openDelay) : open || stableOnOpenChange(!0, event, "hover");
148
+ (0, import_utils.clearTimeoutIfSet)(timeoutRef);
149
+ blockMouseMoveRef.current = false;
150
+ if (mouseOnly && !(0, import_utils.isMouseLikePointerType)(pointerTypeRef.current) || restMsRef.current > 0 && !getDelay(delayRef.current, "open")) {
151
+ return;
152
+ }
153
+ var openDelay = getDelay(delayRef.current, "open", pointerTypeRef.current);
154
+ if (openDelay) {
155
+ timeoutRef.current = window.setTimeout(function () {
156
+ if (!openRef.current) {
157
+ stableOnOpenChange(true, event, "hover");
158
+ }
159
+ }, openDelay);
160
+ } else if (!open) {
161
+ stableOnOpenChange(true, event, "hover");
126
162
  }
127
163
  }
128
164
  function onReferenceMouseLeave(event) {
@@ -131,45 +167,22 @@ function useHover(context) {
131
167
  clearPointerEvents();
132
168
  return;
133
169
  }
134
- if (!(!((_context_triggerElements = context.triggerElements) === null || _context_triggerElements === void 0) && _context_triggerElements.hasElement(event.relatedTarget))) {
135
- unbindMouseMoveRef.current();
136
- var doc = (0, import_utils.getDocument)(elements.floating);
137
- if ((0, import_utils.clearTimeoutIfSet)(restTimeoutRef), restTimeoutPendingRef.current = !1, handleCloseRef.current) {
138
- open || (0, import_utils.clearTimeoutIfSet)(timeoutRef);
139
- var placement = dataRef.current.placement || "bottom",
140
- reference3 = elements.domReference,
141
- floating2 = elements.floating;
142
- if (!reference3 || !floating2) return;
143
- handlerRef.current = handleCloseRef.current({
144
- x: event.clientX,
145
- y: event.clientY,
146
- placement,
147
- elements: {
148
- reference: reference3,
149
- floating: floating2,
150
- domReference: reference3
151
- },
152
- onClose() {
153
- context.handleCloseActiveRef && (context.handleCloseActiveRef.current = !1), clearPointerEvents(), cleanupMouseMoveHandler(), isClickLikeOpenEvent() || closeWithDelay(event, !0, "safe-polygon");
154
- }
155
- }), context.handleCloseActiveRef && (context.handleCloseActiveRef.current = !0);
156
- var handler = handlerRef.current;
157
- doc.addEventListener("mousemove", handler), unbindMouseMoveRef.current = function () {
158
- doc.removeEventListener("mousemove", handler);
159
- };
160
- return;
161
- }
162
- var shouldClose = pointerTypeRef.current === "touch" ? !(0, import_utils.contains)(elements.floating, event.relatedTarget) : !0;
163
- shouldClose && closeWithDelay(event);
170
+ if ((_context_triggerElements = context.triggerElements) === null || _context_triggerElements === void 0 ? void 0 : _context_triggerElements.hasElement(event.relatedTarget)) {
171
+ return;
164
172
  }
165
- }
166
- function onScrollMouseLeave(event) {
167
- var _context_triggerElements, _handleCloseRef_current;
168
- if (!isClickLikeOpenEvent() && !(!((_context_triggerElements = context.triggerElements) === null || _context_triggerElements === void 0) && _context_triggerElements.hasElement(event.relatedTarget))) {
169
- var placement = dataRef.current.placement || "bottom",
170
- reference3 = elements.domReference,
171
- floating2 = elements.floating;
172
- !reference3 || !floating2 || (_handleCloseRef_current = handleCloseRef.current) === null || _handleCloseRef_current === void 0 || _handleCloseRef_current.call(handleCloseRef, {
173
+ unbindMouseMoveRef.current();
174
+ var doc = (0, import_utils.getDocument)(elements.floating);
175
+ (0, import_utils.clearTimeoutIfSet)(restTimeoutRef);
176
+ restTimeoutPendingRef.current = false;
177
+ if (handleCloseRef.current) {
178
+ if (!open) {
179
+ (0, import_utils.clearTimeoutIfSet)(timeoutRef);
180
+ }
181
+ var placement = dataRef.current.placement || "bottom";
182
+ var reference3 = elements.domReference;
183
+ var floating2 = elements.floating;
184
+ if (!reference3 || !floating2) return;
185
+ handlerRef.current = handleCloseRef.current({
173
186
  x: event.clientX,
174
187
  y: event.clientY,
175
188
  placement,
@@ -179,46 +192,141 @@ function useHover(context) {
179
192
  domReference: reference3
180
193
  },
181
194
  onClose() {
182
- clearPointerEvents(), cleanupMouseMoveHandler(), isClickLikeOpenEvent() || closeWithDelay(event);
195
+ if (context.handleCloseActiveRef) {
196
+ context.handleCloseActiveRef.current = false;
197
+ }
198
+ clearPointerEvents();
199
+ cleanupMouseMoveHandler();
200
+ if (!isClickLikeOpenEvent()) {
201
+ closeWithDelay(event, true, "safe-polygon");
202
+ }
183
203
  }
184
- })(event);
204
+ });
205
+ if (context.handleCloseActiveRef) {
206
+ context.handleCloseActiveRef.current = true;
207
+ }
208
+ var handler = handlerRef.current;
209
+ doc.addEventListener("mousemove", handler);
210
+ unbindMouseMoveRef.current = function () {
211
+ doc.removeEventListener("mousemove", handler);
212
+ };
213
+ return;
214
+ }
215
+ var shouldClose = pointerTypeRef.current === "touch" ? !(0, import_utils.contains)(elements.floating, event.relatedTarget) : true;
216
+ if (shouldClose) {
217
+ closeWithDelay(event);
185
218
  }
186
219
  }
220
+ function onScrollMouseLeave(event) {
221
+ var _context_triggerElements, _handleCloseRef_current;
222
+ if (isClickLikeOpenEvent()) return;
223
+ if ((_context_triggerElements = context.triggerElements) === null || _context_triggerElements === void 0 ? void 0 : _context_triggerElements.hasElement(event.relatedTarget)) {
224
+ return;
225
+ }
226
+ var placement = dataRef.current.placement || "bottom";
227
+ var reference3 = elements.domReference;
228
+ var floating2 = elements.floating;
229
+ if (!reference3 || !floating2) return;
230
+ (_handleCloseRef_current = handleCloseRef.current) === null || _handleCloseRef_current === void 0 ? void 0 : _handleCloseRef_current.call(handleCloseRef, {
231
+ x: event.clientX,
232
+ y: event.clientY,
233
+ placement,
234
+ elements: {
235
+ reference: reference3,
236
+ floating: floating2,
237
+ domReference: reference3
238
+ },
239
+ onClose() {
240
+ clearPointerEvents();
241
+ cleanupMouseMoveHandler();
242
+ if (!isClickLikeOpenEvent()) {
243
+ closeWithDelay(event);
244
+ }
245
+ }
246
+ })(event);
247
+ }
187
248
  function onFloatingMouseEnter() {
188
249
  (0, import_utils.clearTimeoutIfSet)(timeoutRef);
189
250
  }
190
251
  function onFloatingMouseLeave(event) {
191
252
  var _context_triggerElements;
192
- isClickLikeOpenEvent() || !((_context_triggerElements = context.triggerElements) === null || _context_triggerElements === void 0) && _context_triggerElements.hasElement(event.relatedTarget) || closeWithDelay(event, !1);
253
+ if (isClickLikeOpenEvent()) return;
254
+ if ((_context_triggerElements = context.triggerElements) === null || _context_triggerElements === void 0 ? void 0 : _context_triggerElements.hasElement(event.relatedTarget)) {
255
+ return;
256
+ }
257
+ closeWithDelay(event, false);
193
258
  }
194
259
  if ((0, import_utils.isElement)(elements.domReference)) {
195
- var reference2 = elements.domReference,
196
- floating = elements.floating;
197
- return open && reference2.addEventListener("mouseleave", onScrollMouseLeave), move && reference2.addEventListener("mousemove", onReferenceMouseEnter, {
198
- once: !0
199
- }), reference2.addEventListener("mouseenter", onReferenceMouseEnter), reference2.addEventListener("mouseleave", onReferenceMouseLeave), floating && (floating.addEventListener("mouseleave", onScrollMouseLeave), floating.addEventListener("mouseenter", onFloatingMouseEnter), floating.addEventListener("mouseleave", onFloatingMouseLeave)), function () {
200
- 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();
260
+ var reference2 = elements.domReference;
261
+ var floating = elements.floating;
262
+ if (open) {
263
+ reference2.addEventListener("mouseleave", onScrollMouseLeave);
264
+ }
265
+ if (move) {
266
+ reference2.addEventListener("mousemove", onReferenceMouseEnter, {
267
+ once: true
268
+ });
269
+ }
270
+ reference2.addEventListener("mouseenter", onReferenceMouseEnter);
271
+ reference2.addEventListener("mouseleave", onReferenceMouseLeave);
272
+ if (floating) {
273
+ floating.addEventListener("mouseleave", onScrollMouseLeave);
274
+ floating.addEventListener("mouseenter", onFloatingMouseEnter);
275
+ floating.addEventListener("mouseleave", onFloatingMouseLeave);
276
+ }
277
+ return function () {
278
+ if (open) {
279
+ reference2.removeEventListener("mouseleave", onScrollMouseLeave);
280
+ }
281
+ if (move) {
282
+ reference2.removeEventListener("mousemove", onReferenceMouseEnter);
283
+ }
284
+ reference2.removeEventListener("mouseenter", onReferenceMouseEnter);
285
+ reference2.removeEventListener("mouseleave", onReferenceMouseLeave);
286
+ if (floating) {
287
+ floating.removeEventListener("mouseleave", onScrollMouseLeave);
288
+ floating.removeEventListener("mouseenter", onFloatingMouseEnter);
289
+ floating.removeEventListener("mouseleave", onFloatingMouseLeave);
290
+ }
291
+ cleanupMouseMoveHandler();
201
292
  };
202
293
  }
203
- }, [elements, enabled, context, mouseOnly, move, open, dataRef]), React.useLayoutEffect(function () {
294
+ }, [elements, enabled, context, mouseOnly, move, open, dataRef]);
295
+ React.useLayoutEffect(function () {
204
296
  var _handleCloseRef_current___options, _handleCloseRef_current;
205
- if (enabled && open && !((_handleCloseRef_current = handleCloseRef.current) === null || _handleCloseRef_current === void 0 || (_handleCloseRef_current___options = _handleCloseRef_current.__options) === null || _handleCloseRef_current___options === void 0) && _handleCloseRef_current___options.blockPointerEvents && isHoverOpen()) {
206
- performedPointerEventsMutationRef.current = !0;
297
+ if (!enabled) return;
298
+ if (open && ((_handleCloseRef_current = handleCloseRef.current) === null || _handleCloseRef_current === void 0 ? void 0 : (_handleCloseRef_current___options = _handleCloseRef_current.__options) === null || _handleCloseRef_current___options === void 0 ? void 0 : _handleCloseRef_current___options.blockPointerEvents) && isHoverOpen()) {
299
+ performedPointerEventsMutationRef.current = true;
207
300
  var floatingEl = elements.floating;
208
301
  if ((0, import_utils.isElement)(elements.domReference) && floatingEl) {
209
302
  var body = (0, import_utils.getDocument)(elements.floating).body;
210
303
  body.setAttribute(safePolygonIdentifier, "");
211
304
  var ref = elements.domReference;
212
- return body.style.pointerEvents = "none", ref.style.pointerEvents = "auto", floatingEl.style.pointerEvents = "auto", function () {
213
- body.style.pointerEvents = "", ref.style.pointerEvents = "", floatingEl.style.pointerEvents = "";
305
+ body.style.pointerEvents = "none";
306
+ ref.style.pointerEvents = "auto";
307
+ floatingEl.style.pointerEvents = "auto";
308
+ return function () {
309
+ body.style.pointerEvents = "";
310
+ ref.style.pointerEvents = "";
311
+ floatingEl.style.pointerEvents = "";
214
312
  };
215
313
  }
216
314
  }
217
- }, [enabled, open, elements, isHoverOpen]), React.useLayoutEffect(function () {
218
- open || (pointerTypeRef.current = void 0, restTimeoutPendingRef.current = !1, cleanupMouseMoveHandler(), clearPointerEvents());
219
- }, [open]), React.useEffect(function () {
315
+ }, [enabled, open, elements, isHoverOpen]);
316
+ React.useLayoutEffect(function () {
317
+ if (!open) {
318
+ pointerTypeRef.current = void 0;
319
+ restTimeoutPendingRef.current = false;
320
+ cleanupMouseMoveHandler();
321
+ clearPointerEvents();
322
+ }
323
+ }, [open]);
324
+ React.useEffect(function () {
220
325
  return function () {
221
- cleanupMouseMoveHandler(), (0, import_utils.clearTimeoutIfSet)(timeoutRef), (0, import_utils.clearTimeoutIfSet)(restTimeoutRef), clearPointerEvents();
326
+ cleanupMouseMoveHandler();
327
+ (0, import_utils.clearTimeoutIfSet)(timeoutRef);
328
+ (0, import_utils.clearTimeoutIfSet)(restTimeoutRef);
329
+ clearPointerEvents();
222
330
  };
223
331
  }, [enabled, elements.domReference]);
224
332
  var reference = React.useMemo(function () {
@@ -233,9 +341,26 @@ function useHover(context) {
233
341
  nativeEvent
234
342
  } = event;
235
343
  function handleMouseMove() {
236
- !blockMouseMoveRef.current && !openRef.current && stableOnOpenChange(!0, nativeEvent, "hover");
344
+ if (!blockMouseMoveRef.current && !openRef.current) {
345
+ stableOnOpenChange(true, nativeEvent, "hover");
346
+ }
347
+ }
348
+ if (mouseOnly && !(0, import_utils.isMouseLikePointerType)(pointerTypeRef.current)) {
349
+ return;
350
+ }
351
+ if (open || restMsRef.current === 0) {
352
+ return;
353
+ }
354
+ if (restTimeoutPendingRef.current && Math.pow(event.movementX, 2) + Math.pow(event.movementY, 2) < 2) {
355
+ return;
356
+ }
357
+ (0, import_utils.clearTimeoutIfSet)(restTimeoutRef);
358
+ if (pointerTypeRef.current === "touch") {
359
+ handleMouseMove();
360
+ } else {
361
+ restTimeoutPendingRef.current = true;
362
+ restTimeoutRef.current = window.setTimeout(handleMouseMove, restMsRef.current);
237
363
  }
238
- mouseOnly && !(0, import_utils.isMouseLikePointerType)(pointerTypeRef.current) || open || restMsRef.current === 0 || restTimeoutPendingRef.current && Math.pow(event.movementX, 2) + Math.pow(event.movementY, 2) < 2 || ((0, import_utils.clearTimeoutIfSet)(restTimeoutRef), pointerTypeRef.current === "touch" ? handleMouseMove() : (restTimeoutPendingRef.current = !0, restTimeoutRef.current = window.setTimeout(handleMouseMove, restMsRef.current)));
239
364
  }
240
365
  };
241
366
  }, [mouseOnly, open]);
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","useHover_exports","__export","getDelay","useHover","module","exports","React","__toESM","require","import_use_event","import_utils","safePolygonIdentifier","prop","pointerType","isMouseLikePointerType","context","props","arguments","length","open","onOpenChange","dataRef","events","elements","enabled","delay","handleClose","mouseOnly","restMs","move","handleCloseRef","useRef","current","delayRef","openRef","restMsRef","stableOnOpenChange","useEvent","pointerTypeRef","timeoutRef","handlerRef","restTimeoutRef","blockMouseMoveRef","performedPointerEventsMutationRef","unbindMouseMoveRef","restTimeoutPendingRef","isHoverOpen","_dataRef_current_openEvent","type","openEvent","includes","useEffect","onOpenChange2","param","open2","clearTimeoutIfSet","on","off","closeWithDelay","event","runElseBranch","reason","closeDelay","window","setTimeout","cleanupMouseMoveHandler","handleCloseActiveRef","clearPointerEvents","body","getDocument","floating","style","pointerEvents","removeAttribute","isClickLikeOpenEvent","onReferenceMouseEnter","openDelay","onReferenceMouseLeave","_context_triggerElements","triggerElements","hasElement","relatedTarget","doc","placement","reference3","domReference","floating2","x","clientX","y","clientY","reference","onClose","handler","addEventListener","removeEventListener","shouldClose","contains","onScrollMouseLeave","_handleCloseRef_current","call","onFloatingMouseEnter","onFloatingMouseLeave","isElement","reference2","once","useLayoutEffect","_handleCloseRef_current___options","__options","blockPointerEvents","floatingEl","setAttribute","ref"],"sources":["../../../src/interactions/useHover.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","useHover_exports","__export","getDelay","useHover","module","exports","React","__toESM","require","import_use_event","import_utils","safePolygonIdentifier","prop","pointerType","isMouseLikePointerType","context","props","arguments","length","open","onOpenChange","dataRef","events","elements","enabled","delay","handleClose","mouseOnly","restMs","move","handleCloseRef","useRef","current","delayRef","openRef","restMsRef","stableOnOpenChange","useEvent","pointerTypeRef","timeoutRef","handlerRef","restTimeoutRef","blockMouseMoveRef","performedPointerEventsMutationRef","unbindMouseMoveRef","restTimeoutPendingRef","isHoverOpen","_dataRef_current_openEvent","type","openEvent","includes","useEffect","onOpenChange2","param","open2","clearTimeoutIfSet","on","off","closeWithDelay","event","runElseBranch","reason","closeDelay","window","setTimeout","cleanupMouseMoveHandler","handleCloseActiveRef","clearPointerEvents","body","getDocument","floating","style","pointerEvents","removeAttribute","isClickLikeOpenEvent","onReferenceMouseEnter","openDelay","onReferenceMouseLeave","_context_triggerElements","triggerElements","hasElement","relatedTarget","doc","placement","reference3","domReference","floating2","x","clientX","y","clientY","reference","onClose","handler","addEventListener","removeEventListener","shouldClose","contains","onScrollMouseLeave","_handleCloseRef_current","call","onFloatingMouseEnter","onFloatingMouseLeave","isElement","reference2","once","useLayoutEffect","_handleCloseRef_current___options","__options","blockPointerEvents","floatingEl","setAttribute","ref","useMemo","setPointerRef","onPointerDown","onPointerEnter","onMouseMove","nativeEvent","handleMouseMove"],"sources":["../../../src/interactions/useHover.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}