@tamagui/floating 2.0.0-rc.26 → 2.0.0-rc.26-1773452370596

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 (69) hide show
  1. package/package.json +3 -3
  2. package/dist/cjs/Floating.js +0 -15
  3. package/dist/cjs/Floating.js.map +0 -6
  4. package/dist/cjs/interactions/PopupTriggerMap.js +0 -35
  5. package/dist/cjs/interactions/PopupTriggerMap.js.map +0 -6
  6. package/dist/cjs/interactions/createFloatingEvents.js +0 -36
  7. package/dist/cjs/interactions/createFloatingEvents.js.map +0 -6
  8. package/dist/cjs/interactions/safePolygon.js +0 -226
  9. package/dist/cjs/interactions/safePolygon.js.map +0 -6
  10. package/dist/cjs/interactions/types.js +0 -14
  11. package/dist/cjs/interactions/types.js.map +0 -6
  12. package/dist/cjs/interactions/useClick.js +0 -81
  13. package/dist/cjs/interactions/useClick.js.map +0 -6
  14. package/dist/cjs/interactions/useDelayGroup.js +0 -85
  15. package/dist/cjs/interactions/useDelayGroup.js.map +0 -6
  16. package/dist/cjs/interactions/useFocus.js +0 -84
  17. package/dist/cjs/interactions/useFocus.js.map +0 -6
  18. package/dist/cjs/interactions/useHover.js +0 -195
  19. package/dist/cjs/interactions/useHover.js.map +0 -6
  20. package/dist/cjs/interactions/useInnerOffset.js +0 -77
  21. package/dist/cjs/interactions/useInnerOffset.js.map +0 -6
  22. package/dist/cjs/interactions/useInteractions.js +0 -68
  23. package/dist/cjs/interactions/useInteractions.js.map +0 -6
  24. package/dist/cjs/interactions/useListNavigation.js +0 -238
  25. package/dist/cjs/interactions/useListNavigation.js.map +0 -6
  26. package/dist/cjs/interactions/useRole.js +0 -81
  27. package/dist/cjs/interactions/useRole.js.map +0 -6
  28. package/dist/cjs/interactions/useTypeahead.js +0 -87
  29. package/dist/cjs/interactions/useTypeahead.js.map +0 -6
  30. package/dist/cjs/interactions/utils.js +0 -165
  31. package/dist/cjs/interactions/utils.js.map +0 -6
  32. package/dist/cjs/middleware/inner.js +0 -97
  33. package/dist/cjs/middleware/inner.js.map +0 -6
  34. package/dist/cjs/useFloating.js +0 -51
  35. package/dist/cjs/useFloating.js.map +0 -6
  36. package/dist/esm/Floating.js +0 -2
  37. package/dist/esm/Floating.js.map +0 -6
  38. package/dist/esm/interactions/PopupTriggerMap.js +0 -19
  39. package/dist/esm/interactions/PopupTriggerMap.js.map +0 -6
  40. package/dist/esm/interactions/createFloatingEvents.js +0 -20
  41. package/dist/esm/interactions/createFloatingEvents.js.map +0 -6
  42. package/dist/esm/interactions/safePolygon.js +0 -210
  43. package/dist/esm/interactions/safePolygon.js.map +0 -6
  44. package/dist/esm/interactions/types.js +0 -1
  45. package/dist/esm/interactions/types.js.map +0 -6
  46. package/dist/esm/interactions/useClick.js +0 -66
  47. package/dist/esm/interactions/useClick.js.map +0 -6
  48. package/dist/esm/interactions/useDelayGroup.js +0 -61
  49. package/dist/esm/interactions/useDelayGroup.js.map +0 -6
  50. package/dist/esm/interactions/useFocus.js +0 -81
  51. package/dist/esm/interactions/useFocus.js.map +0 -6
  52. package/dist/esm/interactions/useHover.js +0 -179
  53. package/dist/esm/interactions/useHover.js.map +0 -6
  54. package/dist/esm/interactions/useInnerOffset.js +0 -55
  55. package/dist/esm/interactions/useInnerOffset.js.map +0 -6
  56. package/dist/esm/interactions/useInteractions.js +0 -52
  57. package/dist/esm/interactions/useInteractions.js.map +0 -6
  58. package/dist/esm/interactions/useListNavigation.js +0 -236
  59. package/dist/esm/interactions/useListNavigation.js.map +0 -6
  60. package/dist/esm/interactions/useRole.js +0 -57
  61. package/dist/esm/interactions/useRole.js.map +0 -6
  62. package/dist/esm/interactions/useTypeahead.js +0 -73
  63. package/dist/esm/interactions/useTypeahead.js.map +0 -6
  64. package/dist/esm/interactions/utils.js +0 -149
  65. package/dist/esm/interactions/utils.js.map +0 -6
  66. package/dist/esm/middleware/inner.js +0 -74
  67. package/dist/esm/middleware/inner.js.map +0 -6
  68. package/dist/esm/useFloating.js +0 -28
  69. package/dist/esm/useFloating.js.map +0 -6
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tamagui/floating",
3
- "version": "2.0.0-rc.26",
3
+ "version": "2.0.0-rc.26-1773452370596",
4
4
  "source": "src/index.ts",
5
5
  "files": [
6
6
  "src",
@@ -36,10 +36,10 @@
36
36
  "dependencies": {
37
37
  "@floating-ui/react-dom": "^2.1.6",
38
38
  "@floating-ui/react-native": "^0.10.7",
39
- "@tamagui/use-event": "2.0.0-rc.26"
39
+ "@tamagui/use-event": "2.0.0-rc.26-1773452370596"
40
40
  },
41
41
  "devDependencies": {
42
- "@tamagui/build": "2.0.0-rc.26",
42
+ "@tamagui/build": "2.0.0-rc.26-1773452370596",
43
43
  "react": ">=19",
44
44
  "react-native": "0.81.5"
45
45
  },
@@ -1,15 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __copyProps = (to, from, except, desc) => {
6
- if (from && typeof from == "object" || typeof from == "function")
7
- for (let key of __getOwnPropNames(from))
8
- !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
9
- return to;
10
- }, __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
11
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
12
- var Floating_exports = {};
13
- module.exports = __toCommonJS(Floating_exports);
14
- __reExport(Floating_exports, require("@floating-ui/react-dom"), module.exports);
15
- //# sourceMappingURL=Floating.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/Floating.tsx"],
4
- "mappings": ";;;;;;;;;;;AAAA;AAAA;AAAA,6BAAc,mCAAd;",
5
- "names": []
6
- }
@@ -1,35 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __export = (target, all) => {
6
- for (var name in all)
7
- __defProp(target, name, { get: all[name], enumerable: !0 });
8
- }, __copyProps = (to, from, except, desc) => {
9
- if (from && typeof from == "object" || typeof from == "function")
10
- for (let key of __getOwnPropNames(from))
11
- !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
12
- return to;
13
- };
14
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
15
- var PopupTriggerMap_exports = {};
16
- __export(PopupTriggerMap_exports, {
17
- PopupTriggerMap: () => PopupTriggerMap
18
- });
19
- module.exports = __toCommonJS(PopupTriggerMap_exports);
20
- class PopupTriggerMap {
21
- map = /* @__PURE__ */ new Map();
22
- elements = /* @__PURE__ */ new Set();
23
- add(id, element) {
24
- const prev = this.map.get(id);
25
- prev && this.elements.delete(prev), this.map.set(id, element), this.elements.add(element);
26
- }
27
- delete(id) {
28
- const el = this.map.get(id);
29
- el && (this.elements.delete(el), this.map.delete(id));
30
- }
31
- hasElement(element) {
32
- return this.elements.has(element);
33
- }
34
- }
35
- //# sourceMappingURL=PopupTriggerMap.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/interactions/PopupTriggerMap.ts"],
4
- "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAKO,MAAM,gBAAgB;AAAA,EACnB,MAAM,oBAAI,IAAqB;AAAA,EAC/B,WAAW,oBAAI,IAAa;AAAA,EAEpC,IAAI,IAAY,SAAkB;AAChC,UAAM,OAAO,KAAK,IAAI,IAAI,EAAE;AAC5B,IAAI,QACF,KAAK,SAAS,OAAO,IAAI,GAE3B,KAAK,IAAI,IAAI,IAAI,OAAO,GACxB,KAAK,SAAS,IAAI,OAAO;AAAA,EAC3B;AAAA,EAEA,OAAO,IAAY;AACjB,UAAM,KAAK,KAAK,IAAI,IAAI,EAAE;AAC1B,IAAI,OACF,KAAK,SAAS,OAAO,EAAE,GACvB,KAAK,IAAI,OAAO,EAAE;AAAA,EAEtB;AAAA,EAEA,WAAW,SAA2B;AACpC,WAAO,KAAK,SAAS,IAAI,OAAO;AAAA,EAClC;AACF;",
5
- "names": []
6
- }
@@ -1,36 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __export = (target, all) => {
6
- for (var name in all)
7
- __defProp(target, name, { get: all[name], enumerable: !0 });
8
- }, __copyProps = (to, from, except, desc) => {
9
- if (from && typeof from == "object" || typeof from == "function")
10
- for (let key of __getOwnPropNames(from))
11
- !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
12
- return to;
13
- };
14
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
15
- var createFloatingEvents_exports = {};
16
- __export(createFloatingEvents_exports, {
17
- createFloatingEvents: () => createFloatingEvents
18
- });
19
- module.exports = __toCommonJS(createFloatingEvents_exports);
20
- function createFloatingEvents() {
21
- const listeners = /* @__PURE__ */ new Map();
22
- return {
23
- emit(event, data) {
24
- listeners.get(event)?.forEach((fn) => fn(data));
25
- },
26
- on(event, handler) {
27
- let set = listeners.get(event);
28
- set || (set = /* @__PURE__ */ new Set(), listeners.set(event, set)), set.add(handler);
29
- },
30
- off(event, handler) {
31
- const set = listeners.get(event);
32
- set && (set.delete(handler), set.size === 0 && listeners.delete(event));
33
- }
34
- };
35
- }
36
- //# sourceMappingURL=createFloatingEvents.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/interactions/createFloatingEvents.ts"],
4
- "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAUO,SAAS,uBAAuC;AACrD,QAAM,YAAY,oBAAI,IAAuC;AAE7D,SAAO;AAAA,IACL,KAAK,OAAO,MAAM;AAChB,gBAAU,IAAI,KAAK,GAAG,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;AAAA,IAChD;AAAA,IACA,GAAG,OAAO,SAAS;AACjB,UAAI,MAAM,UAAU,IAAI,KAAK;AAC7B,MAAK,QACH,MAAM,oBAAI,IAAI,GACd,UAAU,IAAI,OAAO,GAAG,IAE1B,IAAI,IAAI,OAAO;AAAA,IACjB;AAAA,IACA,IAAI,OAAO,SAAS;AAClB,YAAM,MAAM,UAAU,IAAI,KAAK;AAC/B,MAAI,QACF,IAAI,OAAO,OAAO,GACd,IAAI,SAAS,KAAG,UAAU,OAAO,KAAK;AAAA,IAE9C;AAAA,EACF;AACF;",
5
- "names": []
6
- }
@@ -1,226 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __export = (target, all) => {
6
- for (var name in all)
7
- __defProp(target, name, { get: all[name], enumerable: !0 });
8
- }, __copyProps = (to, from, except, desc) => {
9
- if (from && typeof from == "object" || typeof from == "function")
10
- for (let key of __getOwnPropNames(from))
11
- !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
12
- return to;
13
- };
14
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
15
- var safePolygon_exports = {};
16
- __export(safePolygon_exports, {
17
- safePolygon: () => safePolygon
18
- });
19
- module.exports = __toCommonJS(safePolygon_exports);
20
- var import_utils = require("./utils");
21
- function isPointInPolygon(point, polygon) {
22
- const [x, y] = point;
23
- let isInside2 = !1;
24
- const length = polygon.length;
25
- for (let i = 0, j = length - 1; i < length; j = i++) {
26
- const [xi, yi] = polygon[i] || [0, 0], [xj, yj] = polygon[j] || [0, 0];
27
- yi >= y != yj >= y && x <= (xj - xi) * (y - yi) / (yj - yi) + xi && (isInside2 = !isInside2);
28
- }
29
- return isInside2;
30
- }
31
- function isInside(point, rect) {
32
- return point[0] >= rect.x && point[0] <= rect.x + rect.width && point[1] >= rect.y && point[1] <= rect.y + rect.height;
33
- }
34
- let debugSvg = null;
35
- function debugDrawPolygon(polygon, trough, cursor, anchor) {
36
- if (debugSvg || (debugSvg = document.createElementNS("http://www.w3.org/2000/svg", "svg"), debugSvg.id = "__safe-polygon-debug", Object.assign(debugSvg.style, {
37
- position: "fixed",
38
- inset: "0",
39
- width: "100vw",
40
- height: "100vh",
41
- pointerEvents: "none",
42
- zIndex: "999999"
43
- }), document.body.appendChild(debugSvg)), debugSvg.innerHTML = "", trough.length) {
44
- const troughEl = document.createElementNS("http://www.w3.org/2000/svg", "polygon");
45
- troughEl.setAttribute("points", trough.map((p) => p.join(",")).join(" ")), troughEl.setAttribute("fill", "rgba(0,100,255,0.15)"), troughEl.setAttribute("stroke", "rgba(0,100,255,0.6)"), troughEl.setAttribute("stroke-width", "1"), debugSvg.appendChild(troughEl);
46
- }
47
- if (polygon.length) {
48
- const polyEl = document.createElementNS("http://www.w3.org/2000/svg", "polygon");
49
- polyEl.setAttribute("points", polygon.map((p) => p.join(",")).join(" ")), polyEl.setAttribute("fill", "rgba(255,50,50,0.2)"), polyEl.setAttribute("stroke", "rgba(255,50,50,0.8)"), polyEl.setAttribute("stroke-width", "1.5"), debugSvg.appendChild(polyEl);
50
- }
51
- const anchorCircle = document.createElementNS("http://www.w3.org/2000/svg", "circle");
52
- anchorCircle.setAttribute("cx", String(anchor[0])), anchorCircle.setAttribute("cy", String(anchor[1])), anchorCircle.setAttribute("r", "5"), anchorCircle.setAttribute("fill", "lime"), anchorCircle.setAttribute("stroke", "darkgreen"), anchorCircle.setAttribute("stroke-width", "1.5"), debugSvg.appendChild(anchorCircle);
53
- const cursorCircle = document.createElementNS("http://www.w3.org/2000/svg", "circle");
54
- cursorCircle.setAttribute("cx", String(cursor[0])), cursorCircle.setAttribute("cy", String(cursor[1])), cursorCircle.setAttribute("r", "4"), cursorCircle.setAttribute("fill", "yellow"), cursorCircle.setAttribute("stroke", "orange"), cursorCircle.setAttribute("stroke-width", "1.5"), debugSvg.appendChild(cursorCircle);
55
- }
56
- function debugClear() {
57
- debugSvg && (debugSvg.remove(), debugSvg = null);
58
- }
59
- function safePolygon(options = {}) {
60
- const {
61
- buffer = 0.5,
62
- blockPointerEvents = !1,
63
- requireIntent = !0,
64
- __debug = !1
65
- } = options, timeoutRef = { current: -1 };
66
- let hasLanded = !1, lastX = null, lastY = null, lastCursorTime = typeof performance < "u" ? performance.now() : 0;
67
- function getCursorSpeed(x, y) {
68
- const currentTime = performance.now(), elapsedTime = currentTime - lastCursorTime;
69
- if (lastX === null || lastY === null || elapsedTime === 0)
70
- return lastX = x, lastY = y, lastCursorTime = currentTime, null;
71
- const deltaX = x - lastX, deltaY = y - lastY, speed = Math.sqrt(deltaX * deltaX + deltaY * deltaY) / elapsedTime;
72
- return lastX = x, lastY = y, lastCursorTime = currentTime, speed;
73
- }
74
- const fn = ({ x, y, placement, elements, onClose }) => (hasLanded = !1, lastX = null, lastY = null, function(event) {
75
- function close() {
76
- (0, import_utils.clearTimeoutIfSet)(timeoutRef), onClose();
77
- }
78
- (0, import_utils.clearTimeoutIfSet)(timeoutRef);
79
- const domReference = elements.domReference ?? elements.reference;
80
- if (!domReference || !elements.floating || placement == null || x == null || y == null)
81
- return;
82
- const { clientX, clientY } = event, clientPoint = [clientX, clientY], target = (0, import_utils.getTarget)(event), isLeave = event.type === "mouseleave", isOverFloatingEl = (0, import_utils.contains)(elements.floating, target), isOverReferenceEl = (0, import_utils.contains)(domReference, target), refRect = domReference.getBoundingClientRect(), rect = elements.floating.getBoundingClientRect(), side = placement.split("-")[0], cursorLeaveFromRight = x > rect.right - rect.width / 2, cursorLeaveFromBottom = y > rect.bottom - rect.height / 2, isOverReferenceRect = isInside(clientPoint, refRect), isFloatingWider = rect.width > refRect.width, isFloatingTaller = rect.height > refRect.height, left = (isFloatingWider ? refRect : rect).left, right = (isFloatingWider ? refRect : rect).right, top = (isFloatingTaller ? refRect : rect).top, bottom = (isFloatingTaller ? refRect : rect).bottom;
83
- if (isOverFloatingEl && (hasLanded = !0, !isLeave))
84
- return;
85
- if (isOverReferenceEl && (hasLanded = !1), isOverReferenceEl && !isLeave) {
86
- hasLanded = !0;
87
- return;
88
- }
89
- if (!isOverReferenceEl && isOverReferenceRect && !isLeave || isLeave && event.relatedTarget && (0, import_utils.contains)(elements.floating, event.relatedTarget))
90
- return;
91
- if (side === "top" && y >= refRect.bottom - 1 || side === "bottom" && y <= refRect.top + 1 || side === "left" && x >= refRect.right - 1 || side === "right" && x <= refRect.left + 1)
92
- return close();
93
- let rectPoly = [];
94
- switch (side) {
95
- case "top":
96
- rectPoly = [
97
- [left, refRect.top + 1],
98
- [left, rect.bottom - 1],
99
- [right, rect.bottom - 1],
100
- [right, refRect.top + 1]
101
- ];
102
- break;
103
- case "bottom":
104
- rectPoly = [
105
- [left, rect.top + 1],
106
- [left, refRect.bottom - 1],
107
- [right, refRect.bottom - 1],
108
- [right, rect.top + 1]
109
- ];
110
- break;
111
- case "left":
112
- rectPoly = [
113
- [rect.right - 1, bottom],
114
- [rect.right - 1, top],
115
- [refRect.left + 1, top],
116
- [refRect.left + 1, bottom]
117
- ];
118
- break;
119
- case "right":
120
- rectPoly = [
121
- [refRect.right - 1, bottom],
122
- [refRect.right - 1, top],
123
- [rect.left + 1, top],
124
- [rect.left + 1, bottom]
125
- ];
126
- break;
127
- }
128
- function getPolygon([x2, y2]) {
129
- switch (side) {
130
- case "top": {
131
- const cursorPointOne = [
132
- isFloatingWider ? x2 + buffer / 2 : cursorLeaveFromRight ? x2 + buffer * 4 : x2 - buffer * 4,
133
- y2 + buffer + 1
134
- ], cursorPointTwo = [
135
- isFloatingWider ? x2 - buffer / 2 : cursorLeaveFromRight ? x2 + buffer * 4 : x2 - buffer * 4,
136
- y2 + buffer + 1
137
- ], commonPoints = [
138
- [
139
- rect.left,
140
- cursorLeaveFromRight || isFloatingWider ? rect.bottom - buffer : rect.top
141
- ],
142
- [
143
- rect.right,
144
- cursorLeaveFromRight ? isFloatingWider ? rect.bottom - buffer : rect.top : rect.bottom - buffer
145
- ]
146
- ];
147
- return [cursorPointOne, cursorPointTwo, ...commonPoints];
148
- }
149
- case "bottom": {
150
- const cursorPointOne = [
151
- isFloatingWider ? x2 + buffer / 2 : cursorLeaveFromRight ? x2 + buffer * 4 : x2 - buffer * 4,
152
- y2 - buffer
153
- ], cursorPointTwo = [
154
- isFloatingWider ? x2 - buffer / 2 : cursorLeaveFromRight ? x2 + buffer * 4 : x2 - buffer * 4,
155
- y2 - buffer
156
- ], commonPoints = [
157
- [
158
- rect.left,
159
- cursorLeaveFromRight || isFloatingWider ? rect.top + buffer : rect.bottom
160
- ],
161
- [
162
- rect.right,
163
- cursorLeaveFromRight ? isFloatingWider ? rect.top + buffer : rect.bottom : rect.top + buffer
164
- ]
165
- ];
166
- return [cursorPointOne, cursorPointTwo, ...commonPoints];
167
- }
168
- case "left": {
169
- const cursorPointOne = [
170
- x2 + buffer + 1,
171
- isFloatingTaller ? y2 + buffer / 2 : cursorLeaveFromBottom ? y2 + buffer * 4 : y2 - buffer * 4
172
- ], cursorPointTwo = [
173
- x2 + buffer + 1,
174
- isFloatingTaller ? y2 - buffer / 2 : cursorLeaveFromBottom ? y2 + buffer * 4 : y2 - buffer * 4
175
- ];
176
- return [...[
177
- [
178
- cursorLeaveFromBottom || isFloatingTaller ? rect.right - buffer : rect.left,
179
- rect.top
180
- ],
181
- [
182
- cursorLeaveFromBottom ? isFloatingTaller ? rect.right - buffer : rect.left : rect.right - buffer,
183
- rect.bottom
184
- ]
185
- ], cursorPointOne, cursorPointTwo];
186
- }
187
- case "right": {
188
- const cursorPointOne = [
189
- x2 - buffer,
190
- isFloatingTaller ? y2 + buffer / 2 : cursorLeaveFromBottom ? y2 + buffer * 4 : y2 - buffer * 4
191
- ], cursorPointTwo = [
192
- x2 - buffer,
193
- isFloatingTaller ? y2 - buffer / 2 : cursorLeaveFromBottom ? y2 + buffer * 4 : y2 - buffer * 4
194
- ], commonPoints = [
195
- [
196
- cursorLeaveFromBottom || isFloatingTaller ? rect.left + buffer : rect.right,
197
- rect.top
198
- ],
199
- [
200
- cursorLeaveFromBottom ? isFloatingTaller ? rect.left + buffer : rect.right : rect.left + buffer,
201
- rect.bottom
202
- ]
203
- ];
204
- return [cursorPointOne, cursorPointTwo, ...commonPoints];
205
- }
206
- }
207
- }
208
- const poly = getPolygon([x, y]);
209
- if (__debug && debugDrawPolygon(poly, rectPoly, clientPoint, [x, y]), !isPointInPolygon([clientX, clientY], rectPoly)) {
210
- if (hasLanded && !isOverReferenceRect)
211
- return __debug && debugClear(), close();
212
- if (!isPointInPolygon([clientX, clientY], poly)) {
213
- if (!isLeave && requireIntent) {
214
- const cursorSpeed = getCursorSpeed(clientX, clientY);
215
- if (cursorSpeed !== null && cursorSpeed < 0.1)
216
- return __debug && debugClear(), close();
217
- }
218
- __debug && debugClear(), close();
219
- }
220
- }
221
- });
222
- return fn.__options = {
223
- blockPointerEvents
224
- }, fn;
225
- }
226
- //# sourceMappingURL=safePolygon.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/interactions/safePolygon.ts"],
4
- "mappings": "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",
5
- "names": ["isInside", "x", "y"]
6
- }
@@ -1,14 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __copyProps = (to, from, except, desc) => {
6
- if (from && typeof from == "object" || typeof from == "function")
7
- for (let key of __getOwnPropNames(from))
8
- !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
9
- return to;
10
- };
11
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
12
- var types_exports = {};
13
- module.exports = __toCommonJS(types_exports);
14
- //# sourceMappingURL=types.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/interactions/types.ts"],
4
- "mappings": ";;;;;;;;;;;AAAA;AAAA;",
5
- "names": []
6
- }
@@ -1,81 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __export = (target, all) => {
6
- for (var name in all)
7
- __defProp(target, name, { get: all[name], enumerable: !0 });
8
- }, __copyProps = (to, from, except, desc) => {
9
- if (from && typeof from == "object" || typeof from == "function")
10
- for (let key of __getOwnPropNames(from))
11
- !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
12
- return to;
13
- };
14
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
15
- var useClick_exports = {};
16
- __export(useClick_exports, {
17
- useClick: () => useClick
18
- });
19
- module.exports = __toCommonJS(useClick_exports);
20
- var import_react = require("react"), import_utils = require("./utils");
21
- function isButtonTarget(event) {
22
- return (0, import_utils.isHTMLElement)(event.target) && event.target.tagName === "BUTTON";
23
- }
24
- function isAnchorTarget(event) {
25
- return (0, import_utils.isHTMLElement)(event.target) && event.target.tagName === "A";
26
- }
27
- function isSpaceIgnored(element) {
28
- return (0, import_utils.isTypeableElement)(element);
29
- }
30
- function useClick(context, props = {}) {
31
- const {
32
- open,
33
- onOpenChange,
34
- dataRef,
35
- elements: { domReference }
36
- } = context, {
37
- enabled = !0,
38
- event: eventOption = "click",
39
- toggle = !0,
40
- ignoreMouse = !1,
41
- keyboardHandlers = !0,
42
- stickIfOpen = !0
43
- } = props, pointerTypeRef = (0, import_react.useRef)(void 0), didKeyDownRef = (0, import_react.useRef)(!1), reference = (0, import_react.useMemo)(
44
- () => ({
45
- onPointerDown(event) {
46
- pointerTypeRef.current = event.pointerType;
47
- },
48
- onMouseDown(event) {
49
- const pointerType = pointerTypeRef.current;
50
- event.button === 0 && eventOption !== "click" && ((0, import_utils.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"))));
51
- },
52
- onClick(event) {
53
- const pointerType = pointerTypeRef.current;
54
- if (eventOption === "mousedown" && pointerTypeRef.current) {
55
- pointerTypeRef.current = void 0;
56
- return;
57
- }
58
- (0, import_utils.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"));
59
- },
60
- onKeyDown(event) {
61
- 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"));
62
- },
63
- onKeyUp(event) {
64
- event.defaultPrevented || !keyboardHandlers || isButtonTarget(event) || isSpaceIgnored(domReference) || event.key === " " && didKeyDownRef.current && (didKeyDownRef.current = !1, onOpenChange(!(open && toggle), event.nativeEvent || event, "click"));
65
- }
66
- }),
67
- [
68
- dataRef,
69
- domReference,
70
- eventOption,
71
- ignoreMouse,
72
- keyboardHandlers,
73
- onOpenChange,
74
- open,
75
- stickIfOpen,
76
- toggle
77
- ]
78
- );
79
- return (0, import_react.useMemo)(() => enabled ? { reference } : {}, [enabled, reference]);
80
- }
81
- //# sourceMappingURL=useClick.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/interactions/useClick.ts"],
4
- "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAgC,kBAChC,eAAyE;AAGzE,SAAS,eAAe,OAAqC;AAC3D,aAAO,4BAAc,MAAM,MAAM,KAAK,MAAM,OAAO,YAAY;AACjE;AAEA,SAAS,eAAe,OAAqC;AAC3D,aAAO,4BAAc,MAAM,MAAM,KAAK,MAAM,OAAO,YAAY;AACjE;AAEA,SAAS,eAAe,SAAyB;AAC/C,aAAO,gCAAkB,OAAO;AAClC;AAGO,SAAS,SACd,SACA,QAAuB,CAAC,GACV;AACd,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA,UAAU,EAAE,aAAa;AAAA,EAC3B,IAAI,SACE;AAAA,IACJ,UAAU;AAAA,IACV,OAAO,cAAc;AAAA,IACrB,SAAS;AAAA,IACT,cAAc;AAAA,IACd,mBAAmB;AAAA,IACnB,cAAc;AAAA,EAChB,IAAI,OAEE,qBAAiB,qBAA8C,MAAS,GACxE,oBAAgB,qBAAO,EAAK,GAE5B,gBAAuC;AAAA,IAC3C,OAAO;AAAA,MACL,cAAc,OAAY;AACxB,uBAAe,UAAU,MAAM;AAAA,MACjC;AAAA,MACA,YAAY,OAAY;AACtB,cAAM,cAAc,eAAe;AAGnC,QAAI,MAAM,WAAW,KACjB,gBAAgB,gBAChB,qCAAuB,aAAa,EAAI,KAAK,gBAG/C,QACA,WACC,UAAQ,QAAQ,aAAa,gBAC1B,QAAQ,QAAQ,UAAU,SAAS,eAGvC,aAAa,IAAO,MAAM,eAAe,OAAO,OAAO,KAGvD,MAAM,eAAe,GACrB,aAAa,IAAM,MAAM,eAAe,OAAO,OAAO;AAAA,MAE1D;AAAA,MACA,QAAQ,OAAY;AAClB,cAAM,cAAc,eAAe;AAEnC,YAAI,gBAAgB,eAAe,eAAe,SAAS;AACzD,yBAAe,UAAU;AACzB;AAAA,QACF;AAEA,YAAI,qCAAuB,aAAa,EAAI,KAAK,gBAG/C,QACA,WACC,UAAQ,QAAQ,aAAa,gBAC1B,QAAQ,QAAQ,UAAU,SAAS,WAGvC,aAAa,IAAO,MAAM,eAAe,OAAO,OAAO,IAEvD,aAAa,IAAM,MAAM,eAAe,OAAO,OAAO;AAAA,MAE1D;AAAA,MACA,UAAU,OAAY;AAGpB,QAFA,eAAe,UAAU,QAErB,QAAM,oBAAoB,CAAC,oBAAoB,eAAe,KAAK,OAInE,MAAM,QAAQ,OAAO,CAAC,eAAe,YAAY,MAEnD,MAAM,eAAe,GACrB,cAAc,UAAU,KAGtB,gBAAe,KAAK,KAIpB,MAAM,QAAQ,WAEd,aADE,UAAQ,SACU,MAAM,eAAe,OAAO,OAAO;AAAA,MAK7D;AAAA,MACA,QAAQ,OAAY;AAClB,QACE,MAAM,oBACN,CAAC,oBACD,eAAe,KAAK,KACpB,eAAe,YAAY,KAKzB,MAAM,QAAQ,OAAO,cAAc,YACrC,cAAc,UAAU,IAEtB,aADE,UAAQ,SACU,MAAM,eAAe,OAAO,OAAO;AAAA,MAK7D;AAAA,IACF;AAAA,IACA;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAEA,aAAO,sBAAQ,MAAO,UAAU,EAAE,UAAU,IAAI,CAAC,GAAI,CAAC,SAAS,SAAS,CAAC;AAC3E;",
5
- "names": []
6
- }
@@ -1,85 +0,0 @@
1
- var __create = Object.create;
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf, __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: !0 });
9
- }, __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from == "object" || typeof from == "function")
11
- for (let key of __getOwnPropNames(from))
12
- !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
13
- return to;
14
- };
15
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
16
- // If the importer is in node compatibility mode or this is not an ESM
17
- // file that has been converted to a CommonJS file using a Babel-
18
- // compatible transform (i.e. "__esModule" has not been set), then set
19
- // "default" to the CommonJS "module.exports" for node compatibility.
20
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: !0 }) : target,
21
- mod
22
- )), __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
23
- var useDelayGroup_exports = {};
24
- __export(useDelayGroup_exports, {
25
- FloatingDelayGroup: () => FloatingDelayGroup,
26
- useDelayGroup: () => useDelayGroup,
27
- useDelayGroupContext: () => useDelayGroupContext
28
- });
29
- module.exports = __toCommonJS(useDelayGroup_exports);
30
- var React = __toESM(require("react"), 1);
31
- const DelayGroupContext = React.createContext({
32
- currentId: null,
33
- setCurrentId: () => {
34
- },
35
- delay: 0,
36
- timeoutMs: 0,
37
- initialDelay: 0
38
- });
39
- function useDelayGroupContext() {
40
- return React.useContext(DelayGroupContext);
41
- }
42
- function FloatingDelayGroup({
43
- children,
44
- delay,
45
- timeoutMs = 0
46
- }) {
47
- const [currentId, setCurrentIdRaw] = React.useState(null), timeoutRef = React.useRef(void 0), setCurrentId = React.useCallback(
48
- (id) => {
49
- clearTimeout(timeoutRef.current), id == null && timeoutMs > 0 ? timeoutRef.current = setTimeout(() => {
50
- setCurrentIdRaw(null);
51
- }, timeoutMs) : setCurrentIdRaw(id);
52
- },
53
- [timeoutMs]
54
- );
55
- React.useEffect(() => () => clearTimeout(timeoutRef.current), []);
56
- const value = React.useMemo(
57
- () => ({
58
- currentId,
59
- setCurrentId,
60
- delay,
61
- timeoutMs,
62
- initialDelay: delay
63
- }),
64
- [currentId, setCurrentId, delay, timeoutMs]
65
- );
66
- return React.createElement(DelayGroupContext.Provider, { value }, children);
67
- }
68
- function useDelayGroup(context, options = {}) {
69
- const { id } = options, groupContext = React.useContext(DelayGroupContext);
70
- return React.useEffect(() => {
71
- !context.open && groupContext.currentId === id && groupContext.setCurrentId(null);
72
- }, [context.open, id]), React.useEffect(() => {
73
- groupContext.currentId != null && groupContext.currentId !== id && context.open && context.onOpenChange(!1);
74
- }, [groupContext.currentId, id, context.open]), groupContext.currentId != null ? {
75
- delay: { open: 1, close: getClose(groupContext.initialDelay) },
76
- currentId: groupContext.currentId
77
- } : {
78
- delay: groupContext.initialDelay,
79
- currentId: groupContext.currentId
80
- };
81
- }
82
- function getClose(delay) {
83
- return typeof delay == "number" ? delay : delay?.close ?? 0;
84
- }
85
- //# sourceMappingURL=useDelayGroup.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/interactions/useDelayGroup.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAAuB;AAWvB,MAAM,oBAAoB,MAAM,cAAsC;AAAA,EACpE,WAAW;AAAA,EACX,cAAc,MAAM;AAAA,EAAC;AAAA,EACrB,OAAO;AAAA,EACP,WAAW;AAAA,EACX,cAAc;AAChB,CAAC;AAEM,SAAS,uBAAuB;AACrC,SAAO,MAAM,WAAW,iBAAiB;AAC3C;AAKO,SAAS,mBAAmB;AAAA,EACjC;AAAA,EACA;AAAA,EACA,YAAY;AACd,GAIG;AACD,QAAM,CAAC,WAAW,eAAe,IAAI,MAAM,SAAoC,IAAI,GAC7E,aAAa,MAAM,OAAsC,MAAS,GAElE,eAAe,MAAM;AAAA,IACzB,CAAC,OAAkC;AACjC,mBAAa,WAAW,OAAO,GAC3B,MAAM,QAAQ,YAAY,IAE5B,WAAW,UAAU,WAAW,MAAM;AACpC,wBAAgB,IAAI;AAAA,MACtB,GAAG,SAAS,IAEZ,gBAAgB,EAAE;AAAA,IAEtB;AAAA,IACA,CAAC,SAAS;AAAA,EACZ;AAEA,QAAM,UAAU,MACP,MAAM,aAAa,WAAW,OAAO,GAC3C,CAAC,CAAC;AAEL,QAAM,QAAQ,MAAM;AAAA,IAClB,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,cAAc;AAAA,IAChB;AAAA,IACA,CAAC,WAAW,cAAc,OAAO,SAAS;AAAA,EAC5C;AAEA,SAAO,MAAM,cAAc,kBAAkB,UAAU,EAAE,MAAM,GAAG,QAAQ;AAC5E;AAIO,SAAS,cACd,SACA,UAA2B,CAAC,GAC4B;AACxD,QAAM,EAAE,GAAG,IAAI,SACT,eAAe,MAAM,WAAW,iBAAiB;AAmBvD,SAhBA,MAAM,UAAU,MAAM;AACpB,IAAI,CAAC,QAAQ,QAAQ,aAAa,cAAc,MAC9C,aAAa,aAAa,IAAI;AAAA,EAElC,GAAG,CAAC,QAAQ,MAAM,EAAE,CAAC,GAIrB,MAAM,UAAU,MAAM;AACpB,IAAI,aAAa,aAAa,QAAQ,aAAa,cAAc,MAAM,QAAQ,QAC7E,QAAQ,aAAa,EAAK;AAAA,EAE9B,GAAG,CAAC,aAAa,WAAW,IAAI,QAAQ,IAAI,CAAC,GAIzC,aAAa,aAAa,OACrB;AAAA,IACL,OAAO,EAAE,MAAM,GAAG,OAAO,SAAS,aAAa,YAAY,EAAE;AAAA,IAC7D,WAAW,aAAa;AAAA,EAC1B,IAGK;AAAA,IACL,OAAO,aAAa;AAAA,IACpB,WAAW,aAAa;AAAA,EAC1B;AACF;AAEA,SAAS,SAAS,OAAsB;AACtC,SAAI,OAAO,SAAU,WAAiB,QAC/B,OAAO,SAAS;AACzB;",
5
- "names": []
6
- }