@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.
- package/package.json +3 -3
- package/dist/cjs/Floating.js +0 -15
- package/dist/cjs/Floating.js.map +0 -6
- package/dist/cjs/interactions/PopupTriggerMap.js +0 -35
- package/dist/cjs/interactions/PopupTriggerMap.js.map +0 -6
- package/dist/cjs/interactions/createFloatingEvents.js +0 -36
- package/dist/cjs/interactions/createFloatingEvents.js.map +0 -6
- package/dist/cjs/interactions/safePolygon.js +0 -226
- package/dist/cjs/interactions/safePolygon.js.map +0 -6
- package/dist/cjs/interactions/types.js +0 -14
- package/dist/cjs/interactions/types.js.map +0 -6
- package/dist/cjs/interactions/useClick.js +0 -81
- package/dist/cjs/interactions/useClick.js.map +0 -6
- package/dist/cjs/interactions/useDelayGroup.js +0 -85
- package/dist/cjs/interactions/useDelayGroup.js.map +0 -6
- package/dist/cjs/interactions/useFocus.js +0 -84
- package/dist/cjs/interactions/useFocus.js.map +0 -6
- package/dist/cjs/interactions/useHover.js +0 -195
- package/dist/cjs/interactions/useHover.js.map +0 -6
- package/dist/cjs/interactions/useInnerOffset.js +0 -77
- package/dist/cjs/interactions/useInnerOffset.js.map +0 -6
- package/dist/cjs/interactions/useInteractions.js +0 -68
- package/dist/cjs/interactions/useInteractions.js.map +0 -6
- package/dist/cjs/interactions/useListNavigation.js +0 -238
- package/dist/cjs/interactions/useListNavigation.js.map +0 -6
- package/dist/cjs/interactions/useRole.js +0 -81
- package/dist/cjs/interactions/useRole.js.map +0 -6
- package/dist/cjs/interactions/useTypeahead.js +0 -87
- package/dist/cjs/interactions/useTypeahead.js.map +0 -6
- package/dist/cjs/interactions/utils.js +0 -165
- package/dist/cjs/interactions/utils.js.map +0 -6
- package/dist/cjs/middleware/inner.js +0 -97
- package/dist/cjs/middleware/inner.js.map +0 -6
- package/dist/cjs/useFloating.js +0 -51
- package/dist/cjs/useFloating.js.map +0 -6
- package/dist/esm/Floating.js +0 -2
- package/dist/esm/Floating.js.map +0 -6
- package/dist/esm/interactions/PopupTriggerMap.js +0 -19
- package/dist/esm/interactions/PopupTriggerMap.js.map +0 -6
- package/dist/esm/interactions/createFloatingEvents.js +0 -20
- package/dist/esm/interactions/createFloatingEvents.js.map +0 -6
- package/dist/esm/interactions/safePolygon.js +0 -210
- package/dist/esm/interactions/safePolygon.js.map +0 -6
- package/dist/esm/interactions/types.js +0 -1
- package/dist/esm/interactions/types.js.map +0 -6
- package/dist/esm/interactions/useClick.js +0 -66
- package/dist/esm/interactions/useClick.js.map +0 -6
- package/dist/esm/interactions/useDelayGroup.js +0 -61
- package/dist/esm/interactions/useDelayGroup.js.map +0 -6
- package/dist/esm/interactions/useFocus.js +0 -81
- package/dist/esm/interactions/useFocus.js.map +0 -6
- package/dist/esm/interactions/useHover.js +0 -179
- package/dist/esm/interactions/useHover.js.map +0 -6
- package/dist/esm/interactions/useInnerOffset.js +0 -55
- package/dist/esm/interactions/useInnerOffset.js.map +0 -6
- package/dist/esm/interactions/useInteractions.js +0 -52
- package/dist/esm/interactions/useInteractions.js.map +0 -6
- package/dist/esm/interactions/useListNavigation.js +0 -236
- package/dist/esm/interactions/useListNavigation.js.map +0 -6
- package/dist/esm/interactions/useRole.js +0 -57
- package/dist/esm/interactions/useRole.js.map +0 -6
- package/dist/esm/interactions/useTypeahead.js +0 -73
- package/dist/esm/interactions/useTypeahead.js.map +0 -6
- package/dist/esm/interactions/utils.js +0 -149
- package/dist/esm/interactions/utils.js.map +0 -6
- package/dist/esm/middleware/inner.js +0 -74
- package/dist/esm/middleware/inner.js.map +0 -6
- package/dist/esm/useFloating.js +0 -28
- 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
|
},
|
package/dist/cjs/Floating.js
DELETED
|
@@ -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
|
package/dist/cjs/Floating.js.map
DELETED
|
@@ -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,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
|
-
}
|