@tamagui/core 1.129.5 → 1.129.6-1751237024118
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/dist/cjs/index.cjs +15 -9
- package/dist/cjs/index.js +11 -7
- package/dist/cjs/index.js.map +2 -2
- package/dist/cjs/index.native.js +15 -7
- package/dist/cjs/index.native.js.map +2 -2
- package/dist/esm/index.js +15 -5
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index.mjs +11 -6
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +13 -6
- package/dist/esm/index.native.js.map +1 -1
- package/dist/native.js +427 -356
- package/dist/native.js.map +3 -3
- package/dist/test.native.js +407 -335
- package/dist/test.native.js.map +3 -3
- package/package.json +9 -8
- package/src/index.tsx +19 -3
- package/types/index.d.ts +3 -2
- package/types/index.d.ts.map +1 -1
- package/dist/cjs/helpers/getBoundingClientRect.cjs +0 -41
- package/dist/cjs/helpers/getBoundingClientRect.js +0 -39
- package/dist/cjs/helpers/getBoundingClientRect.js.map +0 -6
- package/dist/cjs/helpers/getBoundingClientRect.native.js +0 -48
- package/dist/cjs/helpers/getBoundingClientRect.native.js.map +0 -6
- package/dist/cjs/helpers/getRect.cjs +0 -44
- package/dist/cjs/helpers/getRect.js +0 -27
- package/dist/cjs/helpers/getRect.js.map +0 -6
- package/dist/cjs/helpers/getRect.native.js +0 -39
- package/dist/cjs/helpers/getRect.native.js.map +0 -6
- package/dist/cjs/hooks/useElementLayout.cjs +0 -203
- package/dist/cjs/hooks/useElementLayout.js +0 -152
- package/dist/cjs/hooks/useElementLayout.js.map +0 -6
- package/dist/cjs/hooks/useElementLayout.native.js +0 -185
- package/dist/cjs/hooks/useElementLayout.native.js.map +0 -6
- package/dist/esm/helpers/getBoundingClientRect.js +0 -23
- package/dist/esm/helpers/getBoundingClientRect.js.map +0 -6
- package/dist/esm/helpers/getBoundingClientRect.mjs +0 -17
- package/dist/esm/helpers/getBoundingClientRect.mjs.map +0 -1
- package/dist/esm/helpers/getBoundingClientRect.native.js +0 -24
- package/dist/esm/helpers/getBoundingClientRect.native.js.map +0 -1
- package/dist/esm/helpers/getRect.js +0 -11
- package/dist/esm/helpers/getRect.js.map +0 -6
- package/dist/esm/helpers/getRect.mjs +0 -21
- package/dist/esm/helpers/getRect.mjs.map +0 -1
- package/dist/esm/helpers/getRect.native.js +0 -22
- package/dist/esm/helpers/getRect.native.js.map +0 -1
- package/dist/esm/hooks/useElementLayout.js +0 -140
- package/dist/esm/hooks/useElementLayout.js.map +0 -6
- package/dist/esm/hooks/useElementLayout.mjs +0 -175
- package/dist/esm/hooks/useElementLayout.mjs.map +0 -1
- package/dist/esm/hooks/useElementLayout.native.js +0 -189
- package/dist/esm/hooks/useElementLayout.native.js.map +0 -1
- package/src/helpers/getBoundingClientRect.tsx +0 -30
- package/src/helpers/getRect.tsx +0 -8
- package/src/hooks/useElementLayout.tsx +0 -292
- package/types/helpers/getBoundingClientRect.d.ts +0 -3
- package/types/helpers/getBoundingClientRect.d.ts.map +0 -1
- package/types/helpers/getRect.d.ts +0 -9
- package/types/helpers/getRect.d.ts.map +0 -1
- package/types/hooks/useElementLayout.d.ts +0 -26
- package/types/hooks/useElementLayout.d.ts.map +0 -1
|
@@ -1,152 +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 useElementLayout_exports = {};
|
|
16
|
-
__export(useElementLayout_exports, {
|
|
17
|
-
getElementLayoutEvent: () => getElementLayoutEvent,
|
|
18
|
-
getElementLayoutEventAsync: () => getElementLayoutEventAsync,
|
|
19
|
-
measureLayout: () => measureLayout,
|
|
20
|
-
measureLayoutAsync: () => measureLayoutAsync,
|
|
21
|
-
setOnLayoutStrategy: () => setOnLayoutStrategy,
|
|
22
|
-
useElementLayout: () => useElementLayout
|
|
23
|
-
});
|
|
24
|
-
module.exports = __toCommonJS(useElementLayout_exports);
|
|
25
|
-
var import_constants = require("@tamagui/constants"), import_web = require("@tamagui/web");
|
|
26
|
-
const LayoutHandlers = /* @__PURE__ */ new WeakMap(), Nodes = /* @__PURE__ */ new Set();
|
|
27
|
-
let strategy = "async";
|
|
28
|
-
function setOnLayoutStrategy(state) {
|
|
29
|
-
strategy = state;
|
|
30
|
-
}
|
|
31
|
-
const NodeRectCache = /* @__PURE__ */ new WeakMap(), ParentRectCache = /* @__PURE__ */ new WeakMap(), DebounceTimers = /* @__PURE__ */ new WeakMap(), LastChangeTime = /* @__PURE__ */ new WeakMap(), rAF = typeof window < "u" ? window.requestAnimationFrame : void 0, DEBOUNCE_DELAY = 32;
|
|
32
|
-
if (import_constants.isClient)
|
|
33
|
-
if (rAF) {
|
|
34
|
-
let layoutOnAnimationFrame = function() {
|
|
35
|
-
const now = Date.now(), timeSinceLastFrame = now - lastFrameAt;
|
|
36
|
-
lastFrameAt = now, strategy !== "off" && (timeSinceLastFrame > 16.67 * numDroppedFramesUntilPause || Nodes.forEach(updateLayoutIfChanged)), rAF(layoutOnAnimationFrame);
|
|
37
|
-
}, avoidUpdates = !0;
|
|
38
|
-
const queuedUpdates = /* @__PURE__ */ new Map();
|
|
39
|
-
let lastFrameAt = Date.now();
|
|
40
|
-
const numDroppedFramesUntilPause = 2;
|
|
41
|
-
(0, import_web.___onDidFinishClientRender)(() => {
|
|
42
|
-
avoidUpdates = !1, queuedUpdates && (queuedUpdates.forEach((cb) => cb()), queuedUpdates.clear());
|
|
43
|
-
});
|
|
44
|
-
async function updateLayoutIfChanged(node) {
|
|
45
|
-
const nodeRect = node.getBoundingClientRect(), parentNode = node.parentElement, parentRect = parentNode?.getBoundingClientRect(), onLayout = LayoutHandlers.get(node);
|
|
46
|
-
if (typeof onLayout != "function") return;
|
|
47
|
-
const cachedRect = NodeRectCache.get(node), cachedParentRect = parentNode ? NodeRectCache.get(parentNode) : null;
|
|
48
|
-
if (!cachedRect || // has changed one rect
|
|
49
|
-
!(0, import_web.isEqualShallow)(cachedRect, nodeRect) && (!cachedParentRect || !(0, import_web.isEqualShallow)(cachedParentRect, parentRect)))
|
|
50
|
-
if (NodeRectCache.set(node, nodeRect), parentRect && parentNode && ParentRectCache.set(parentNode, parentRect), avoidUpdates) {
|
|
51
|
-
const event = getElementLayoutEvent(node);
|
|
52
|
-
queuedUpdates.set(node, () => onLayout(event));
|
|
53
|
-
} else if (strategy === "async") {
|
|
54
|
-
const now = Date.now();
|
|
55
|
-
LastChangeTime.set(node, now);
|
|
56
|
-
const existingTimer = DebounceTimers.get(node);
|
|
57
|
-
existingTimer && clearTimeout(existingTimer);
|
|
58
|
-
const timer = setTimeout(async () => {
|
|
59
|
-
const lastChange = LastChangeTime.get(node) || 0, timeSinceChange = Date.now() - lastChange;
|
|
60
|
-
if (timeSinceChange >= DEBOUNCE_DELAY) {
|
|
61
|
-
const event = await getElementLayoutEventAsync(node);
|
|
62
|
-
onLayout(event), DebounceTimers.delete(node);
|
|
63
|
-
} else {
|
|
64
|
-
const remainingDelay = DEBOUNCE_DELAY - timeSinceChange, newTimer = setTimeout(async () => {
|
|
65
|
-
const event = await getElementLayoutEventAsync(node);
|
|
66
|
-
onLayout(event), DebounceTimers.delete(node);
|
|
67
|
-
}, remainingDelay);
|
|
68
|
-
DebounceTimers.set(node, newTimer);
|
|
69
|
-
}
|
|
70
|
-
}, DEBOUNCE_DELAY);
|
|
71
|
-
DebounceTimers.set(node, timer);
|
|
72
|
-
} else {
|
|
73
|
-
const event = getElementLayoutEvent(node);
|
|
74
|
-
onLayout(event);
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
rAF(layoutOnAnimationFrame);
|
|
78
|
-
} else
|
|
79
|
-
process.env.NODE_ENV === "development" && console.warn(
|
|
80
|
-
"No requestAnimationFrame - please polyfill for onLayout to work correctly"
|
|
81
|
-
);
|
|
82
|
-
const getElementLayoutEvent = (target) => {
|
|
83
|
-
let res = null;
|
|
84
|
-
if (measureLayout(target, null, (x, y, width, height, left, top) => {
|
|
85
|
-
res = {
|
|
86
|
-
nativeEvent: {
|
|
87
|
-
layout: { x, y, width, height, left, top },
|
|
88
|
-
target
|
|
89
|
-
},
|
|
90
|
-
timeStamp: Date.now()
|
|
91
|
-
};
|
|
92
|
-
}), !res)
|
|
93
|
-
throw new Error("\u203C\uFE0F");
|
|
94
|
-
return res;
|
|
95
|
-
}, measureLayout = (node, relativeTo, callback) => {
|
|
96
|
-
const relativeNode = relativeTo || node?.parentElement;
|
|
97
|
-
if (relativeNode instanceof HTMLElement) {
|
|
98
|
-
const nodeDim = node.getBoundingClientRect(), relativeNodeDim = relativeNode.getBoundingClientRect();
|
|
99
|
-
if (relativeNodeDim && nodeDim) {
|
|
100
|
-
const { x, y, width, height, left, top } = getRelativeDimensions(
|
|
101
|
-
nodeDim,
|
|
102
|
-
relativeNodeDim
|
|
103
|
-
);
|
|
104
|
-
callback(x, y, width, height, left, top);
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
}, getElementLayoutEventAsync = async (target) => {
|
|
108
|
-
let res = null;
|
|
109
|
-
if (await measureLayoutAsync(target, null, (x, y, width, height, left, top) => {
|
|
110
|
-
res = {
|
|
111
|
-
nativeEvent: {
|
|
112
|
-
layout: { x, y, width, height, left, top },
|
|
113
|
-
target
|
|
114
|
-
},
|
|
115
|
-
timeStamp: Date.now()
|
|
116
|
-
};
|
|
117
|
-
}), !res)
|
|
118
|
-
throw new Error("\u203C\uFE0F");
|
|
119
|
-
return res;
|
|
120
|
-
}, measureLayoutAsync = async (node, relativeTo, callback) => {
|
|
121
|
-
const relativeNode = relativeTo || node?.parentElement;
|
|
122
|
-
if (relativeNode instanceof HTMLElement) {
|
|
123
|
-
const [nodeDim, relativeNodeDim] = await Promise.all([
|
|
124
|
-
node.getBoundingClientRect(),
|
|
125
|
-
relativeNode.getBoundingClientRect()
|
|
126
|
-
]);
|
|
127
|
-
if (relativeNodeDim && nodeDim) {
|
|
128
|
-
const { x, y, width, height, left, top } = getRelativeDimensions(
|
|
129
|
-
nodeDim,
|
|
130
|
-
relativeNodeDim
|
|
131
|
-
);
|
|
132
|
-
callback(x, y, width, height, left, top);
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
}, getRelativeDimensions = (a, b) => {
|
|
136
|
-
const { height, left, top, width } = a, x = left - b.left, y = top - b.top;
|
|
137
|
-
return { x, y, width, height, left, top };
|
|
138
|
-
};
|
|
139
|
-
function useElementLayout(ref, onLayout) {
|
|
140
|
-
const node = ref.current?.host;
|
|
141
|
-
node && onLayout && LayoutHandlers.set(node, onLayout), (0, import_constants.useIsomorphicLayoutEffect)(() => {
|
|
142
|
-
if (!onLayout) return;
|
|
143
|
-
const node2 = ref.current?.host;
|
|
144
|
-
if (node2)
|
|
145
|
-
return LayoutHandlers.set(node2, onLayout), Nodes.add(node2), onLayout(getElementLayoutEvent(node2)), () => {
|
|
146
|
-
Nodes.delete(node2), LayoutHandlers.delete(node2), NodeRectCache.delete(node2);
|
|
147
|
-
const timer = DebounceTimers.get(node2);
|
|
148
|
-
timer && (clearTimeout(timer), DebounceTimers.delete(node2)), LastChangeTime.delete(node2);
|
|
149
|
-
};
|
|
150
|
-
}, [ref, !!onLayout]);
|
|
151
|
-
}
|
|
152
|
-
//# sourceMappingURL=useElementLayout.js.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/hooks/useElementLayout.tsx"],
|
|
4
|
-
"mappings": "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",
|
|
5
|
-
"names": ["node"]
|
|
6
|
-
}
|
|
@@ -1,185 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __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 __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
|
|
16
|
-
var useElementLayout_exports = {};
|
|
17
|
-
__export(useElementLayout_exports, {
|
|
18
|
-
getElementLayoutEvent: () => getElementLayoutEvent,
|
|
19
|
-
getElementLayoutEventAsync: () => getElementLayoutEventAsync,
|
|
20
|
-
measureLayout: () => measureLayout,
|
|
21
|
-
measureLayoutAsync: () => measureLayoutAsync,
|
|
22
|
-
setOnLayoutStrategy: () => setOnLayoutStrategy,
|
|
23
|
-
useElementLayout: () => useElementLayout
|
|
24
|
-
});
|
|
25
|
-
module.exports = __toCommonJS(useElementLayout_exports);
|
|
26
|
-
var import_constants = require("@tamagui/constants"), import_web = require("@tamagui/web"), LayoutHandlers = /* @__PURE__ */ new WeakMap(), Nodes = /* @__PURE__ */ new Set(), strategy = "async";
|
|
27
|
-
function setOnLayoutStrategy(state) {
|
|
28
|
-
strategy = state;
|
|
29
|
-
}
|
|
30
|
-
var NodeRectCache = /* @__PURE__ */ new WeakMap(), ParentRectCache = /* @__PURE__ */ new WeakMap(), DebounceTimers = /* @__PURE__ */ new WeakMap(), LastChangeTime = /* @__PURE__ */ new WeakMap(), rAF = typeof window < "u" ? window.requestAnimationFrame : void 0, DEBOUNCE_DELAY = 32;
|
|
31
|
-
if (import_constants.isClient)
|
|
32
|
-
if (rAF) {
|
|
33
|
-
let layoutOnAnimationFrame = function() {
|
|
34
|
-
var now = Date.now(), timeSinceLastFrame = now - lastFrameAt;
|
|
35
|
-
if (lastFrameAt = now, strategy !== "off") {
|
|
36
|
-
var expectedFrameTime = 16.67, hasRecentSyncWork = timeSinceLastFrame > expectedFrameTime * numDroppedFramesUntilPause;
|
|
37
|
-
hasRecentSyncWork || Nodes.forEach(updateLayoutIfChanged);
|
|
38
|
-
}
|
|
39
|
-
rAF(layoutOnAnimationFrame);
|
|
40
|
-
};
|
|
41
|
-
var layoutOnAnimationFrame2 = layoutOnAnimationFrame, avoidUpdates = !0, queuedUpdates = /* @__PURE__ */ new Map(), lastFrameAt = Date.now(), numDroppedFramesUntilPause = 2;
|
|
42
|
-
(0, import_web.___onDidFinishClientRender)(function() {
|
|
43
|
-
avoidUpdates = !1, queuedUpdates && (queuedUpdates.forEach(function(cb) {
|
|
44
|
-
return cb();
|
|
45
|
-
}), queuedUpdates.clear());
|
|
46
|
-
});
|
|
47
|
-
async function updateLayoutIfChanged(node) {
|
|
48
|
-
var nodeRect = node.getBoundingClientRect(), parentNode = node.parentElement, parentRect = parentNode == null ? void 0 : parentNode.getBoundingClientRect(), onLayout = LayoutHandlers.get(node);
|
|
49
|
-
if (typeof onLayout == "function") {
|
|
50
|
-
var cachedRect = NodeRectCache.get(node), cachedParentRect = parentNode ? NodeRectCache.get(parentNode) : null;
|
|
51
|
-
if (!cachedRect || // has changed one rect
|
|
52
|
-
!(0, import_web.isEqualShallow)(cachedRect, nodeRect) && (!cachedParentRect || !(0, import_web.isEqualShallow)(cachedParentRect, parentRect)))
|
|
53
|
-
if (NodeRectCache.set(node, nodeRect), parentRect && parentNode && ParentRectCache.set(parentNode, parentRect), avoidUpdates) {
|
|
54
|
-
var event = getElementLayoutEvent(node);
|
|
55
|
-
queuedUpdates.set(node, function() {
|
|
56
|
-
return onLayout(event);
|
|
57
|
-
});
|
|
58
|
-
} else if (strategy === "async") {
|
|
59
|
-
var now = Date.now();
|
|
60
|
-
LastChangeTime.set(node, now);
|
|
61
|
-
var existingTimer = DebounceTimers.get(node);
|
|
62
|
-
existingTimer && clearTimeout(existingTimer);
|
|
63
|
-
var timer = setTimeout(async function() {
|
|
64
|
-
var lastChange = LastChangeTime.get(node) || 0, timeSinceChange = Date.now() - lastChange;
|
|
65
|
-
if (timeSinceChange >= DEBOUNCE_DELAY) {
|
|
66
|
-
var event2 = await getElementLayoutEventAsync(node);
|
|
67
|
-
onLayout(event2), DebounceTimers.delete(node);
|
|
68
|
-
} else {
|
|
69
|
-
var remainingDelay = DEBOUNCE_DELAY - timeSinceChange, newTimer = setTimeout(async function() {
|
|
70
|
-
var event3 = await getElementLayoutEventAsync(node);
|
|
71
|
-
onLayout(event3), DebounceTimers.delete(node);
|
|
72
|
-
}, remainingDelay);
|
|
73
|
-
DebounceTimers.set(node, newTimer);
|
|
74
|
-
}
|
|
75
|
-
}, DEBOUNCE_DELAY);
|
|
76
|
-
DebounceTimers.set(node, timer);
|
|
77
|
-
} else {
|
|
78
|
-
var event1 = getElementLayoutEvent(node);
|
|
79
|
-
onLayout(event1);
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
rAF(layoutOnAnimationFrame);
|
|
84
|
-
} else
|
|
85
|
-
process.env.NODE_ENV === "development" && console.warn("No requestAnimationFrame - please polyfill for onLayout to work correctly");
|
|
86
|
-
var getElementLayoutEvent = function(target) {
|
|
87
|
-
var res = null;
|
|
88
|
-
if (measureLayout(target, null, function(x, y, width, height, left, top) {
|
|
89
|
-
res = {
|
|
90
|
-
nativeEvent: {
|
|
91
|
-
layout: {
|
|
92
|
-
x,
|
|
93
|
-
y,
|
|
94
|
-
width,
|
|
95
|
-
height,
|
|
96
|
-
left,
|
|
97
|
-
top
|
|
98
|
-
},
|
|
99
|
-
target
|
|
100
|
-
},
|
|
101
|
-
timeStamp: Date.now()
|
|
102
|
-
};
|
|
103
|
-
}), !res)
|
|
104
|
-
throw new Error("\u203C\uFE0F");
|
|
105
|
-
return res;
|
|
106
|
-
}, measureLayout = function(node, relativeTo, callback) {
|
|
107
|
-
var relativeNode = relativeTo || (node == null ? void 0 : node.parentElement);
|
|
108
|
-
if (relativeNode instanceof HTMLElement) {
|
|
109
|
-
var nodeDim = node.getBoundingClientRect(), relativeNodeDim = relativeNode.getBoundingClientRect();
|
|
110
|
-
if (relativeNodeDim && nodeDim) {
|
|
111
|
-
var { x, y, width, height, left, top } = getRelativeDimensions(nodeDim, relativeNodeDim);
|
|
112
|
-
callback(x, y, width, height, left, top);
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
}, getElementLayoutEventAsync = async function(target) {
|
|
116
|
-
var res = null;
|
|
117
|
-
if (await measureLayoutAsync(target, null, function(x, y, width, height, left, top) {
|
|
118
|
-
res = {
|
|
119
|
-
nativeEvent: {
|
|
120
|
-
layout: {
|
|
121
|
-
x,
|
|
122
|
-
y,
|
|
123
|
-
width,
|
|
124
|
-
height,
|
|
125
|
-
left,
|
|
126
|
-
top
|
|
127
|
-
},
|
|
128
|
-
target
|
|
129
|
-
},
|
|
130
|
-
timeStamp: Date.now()
|
|
131
|
-
};
|
|
132
|
-
}), !res)
|
|
133
|
-
throw new Error("\u203C\uFE0F");
|
|
134
|
-
return res;
|
|
135
|
-
}, measureLayoutAsync = async function(node, relativeTo, callback) {
|
|
136
|
-
var relativeNode = relativeTo || (node == null ? void 0 : node.parentElement);
|
|
137
|
-
if (relativeNode instanceof HTMLElement) {
|
|
138
|
-
var [nodeDim, relativeNodeDim] = await Promise.all([
|
|
139
|
-
node.getBoundingClientRect(),
|
|
140
|
-
relativeNode.getBoundingClientRect()
|
|
141
|
-
]);
|
|
142
|
-
if (relativeNodeDim && nodeDim) {
|
|
143
|
-
var { x, y, width, height, left, top } = getRelativeDimensions(nodeDim, relativeNodeDim);
|
|
144
|
-
callback(x, y, width, height, left, top);
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
}, getRelativeDimensions = function(a, b) {
|
|
148
|
-
var { height, left, top, width } = a, x = left - b.left, y = top - b.top;
|
|
149
|
-
return {
|
|
150
|
-
x,
|
|
151
|
-
y,
|
|
152
|
-
width,
|
|
153
|
-
height,
|
|
154
|
-
left,
|
|
155
|
-
top
|
|
156
|
-
};
|
|
157
|
-
};
|
|
158
|
-
function useElementLayout(ref, onLayout) {
|
|
159
|
-
var _ref_current, node = (_ref_current = ref.current) === null || _ref_current === void 0 ? void 0 : _ref_current.host;
|
|
160
|
-
node && onLayout && LayoutHandlers.set(node, onLayout), (0, import_constants.useIsomorphicLayoutEffect)(function() {
|
|
161
|
-
var _ref_current2;
|
|
162
|
-
if (onLayout) {
|
|
163
|
-
var node2 = (_ref_current2 = ref.current) === null || _ref_current2 === void 0 ? void 0 : _ref_current2.host;
|
|
164
|
-
if (node2)
|
|
165
|
-
return LayoutHandlers.set(node2, onLayout), Nodes.add(node2), onLayout(getElementLayoutEvent(node2)), function() {
|
|
166
|
-
Nodes.delete(node2), LayoutHandlers.delete(node2), NodeRectCache.delete(node2);
|
|
167
|
-
var timer = DebounceTimers.get(node2);
|
|
168
|
-
timer && (clearTimeout(timer), DebounceTimers.delete(node2)), LastChangeTime.delete(node2);
|
|
169
|
-
};
|
|
170
|
-
}
|
|
171
|
-
}, [
|
|
172
|
-
ref,
|
|
173
|
-
!!onLayout
|
|
174
|
-
]);
|
|
175
|
-
}
|
|
176
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
177
|
-
0 && (module.exports = {
|
|
178
|
-
getElementLayoutEvent,
|
|
179
|
-
getElementLayoutEventAsync,
|
|
180
|
-
measureLayout,
|
|
181
|
-
measureLayoutAsync,
|
|
182
|
-
setOnLayoutStrategy,
|
|
183
|
-
useElementLayout
|
|
184
|
-
});
|
|
185
|
-
//# sourceMappingURL=useElementLayout.js.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/hooks/useElementLayout.tsx"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;AAAA;;;;;;;;;;uBAAoD,+BACpD,aAIO,yBAGDA,iBAAiB,oBAAIC,QAAAA,GACrBC,QAAQ,oBAAIC,IAAAA,GAIdC,WAAsC;AAEnC,SAASC,oBAAoBC,OAAgC;AAClEF,aAAWE;AACb;AAmBA,IAAMC,gBAAgB,oBAAIN,QAAAA,GACpBO,kBAAkB,oBAAIP,QAAAA,GACtBQ,iBAAiB,oBAAIR,QAAAA,GACrBS,iBAAiB,oBAAIT,QAAAA,GAErBU,MAAM,OAAOC,SAAW,MAAcA,OAAOC,wBAAwBC,QACrEC,iBAAiB;AAEvB,IAAIC;AACF,MAAIL,KAAK;AAuFP,QAASM,yBAAT,WAASA;AACP,UAAMC,MAAMC,KAAKD,IAAG,GACdE,qBAAqBF,MAAMG;AAGjC,UAFAA,cAAcH,KAEVd,aAAa,OAAO;AAEtB,YAAMkB,oBAAoB,OACpBC,oBACJH,qBAAqBE,oBAAoBE;AAE3C,QAAKD,qBACHrB,MAAMuB,QAAQC,qBAAAA;MAElB;AACAf,UAAKM,sBAAAA;IACP;AAhBSA,QAAAA,0BAAAA,wBArFLU,eAAe,IACbC,gBAAgB,oBAAIC,IAAAA,GAGtBR,cAAcF,KAAKD,IAAG,GACpBM,6BAA6B;AAEnCM,+CAA2B,WAAA;AACzBH,qBAAe,IACXC,kBACFA,cAAcH,QAAQ,SAACM,IAAAA;eAAOA,GAAAA;UAC9BH,cAAcI,MAAK;IAEvB,CAAA;AAEA,mBAAeN,sBAAsBO,MAAiB;AACpD,UAAMC,WAAWD,KAAKE,sBAAqB,GACrCC,aAAaH,KAAKI,eAClBC,aAAaF,cAAAA,OAAAA,SAAAA,WAAYD,sBAAqB,GAE9CI,WAAWvC,eAAewC,IAAIP,IAAAA;AACpC,UAAI,OAAOM,YAAa,YAExB;YAAME,aAAalC,cAAciC,IAAIP,IAAAA,GAC/BS,mBAAmBN,aAAa7B,cAAciC,IAAIJ,UAAAA,IAAc;AAEtE,YACE,CAACK;QAEA,KAACE,2BAAeF,YAAYP,QAAAA,MAC1B,CAACQ,oBAAoB,KAACC,2BAAeD,kBAAkBJ,UAAAA;AAO1D,cALA/B,cAAcqC,IAAIX,MAAMC,QAAAA,GACpBI,cAAcF,cAChB5B,gBAAgBoC,IAAIR,YAAYE,UAAAA,GAG9BX,cAAc;AAEhB,gBAAMkB,QAAQC,sBAAsBb,IAAAA;AACpCL,0BAAcgB,IAAIX,MAAM,WAAA;qBAAMM,SAASM,KAAAA;;UACzC,WAAWzC,aAAa,SAAS;AAE/B,gBAAMc,MAAMC,KAAKD,IAAG;AACpBR,2BAAekC,IAAIX,MAAMf,GAAAA;AAGzB,gBAAM6B,gBAAgBtC,eAAe+B,IAAIP,IAAAA;AACzC,YAAIc,iBACFC,aAAaD,aAAAA;AAIf,gBAAME,QAAQC,WAAW,iBAAA;AACvB,kBAAMC,aAAazC,eAAe8B,IAAIP,IAAAA,KAAS,GACzCmB,kBAAkBjC,KAAKD,IAAG,IAAKiC;AAGrC,kBAAIC,mBAAmBrC,gBAAgB;AACrC,oBAAM8B,SAAQ,MAAMQ,2BAA2BpB,IAAAA;AAC/CM,yBAASM,MAAAA,GACTpC,eAAe6C,OAAOrB,IAAAA;cACxB,OAAO;AAEL,oBAAMsB,iBAAiBxC,iBAAiBqC,iBAClCI,WAAWN,WAAW,iBAAA;AAC1B,sBAAML,SAAQ,MAAMQ,2BAA2BpB,IAAAA;AAC/CM,2BAASM,MAAAA,GACTpC,eAAe6C,OAAOrB,IAAAA;gBACxB,GAAGsB,cAAAA;AACH9C,+BAAemC,IAAIX,MAAMuB,QAAAA;cAC3B;YACF,GAAGzC,cAAAA;AAEHN,2BAAemC,IAAIX,MAAMgB,KAAAA;UAC3B,OAAO;AAEL,gBAAMJ,SAAQC,sBAAsBb,IAAAA;AACpCM,qBAASM,MAAAA;UACX;;IAEJ;AAGAlC,QAAKM,sBAAAA;EAkBP;AACE,IAAIwC,QAAQC,IAAIC,aAAa,iBAC3BC,QAAQC,KACN,2EAA2E;AAO5E,IAAMf,wBAAwB,SAACgB,QAAAA;AACpC,MAAIC,MAA0B;AAU9B,MATAC,cAAcF,QAAQ,MAAM,SAACG,GAAGC,GAAGC,OAAOC,QAAQC,MAAMC,KAAAA;AACtDP,UAAM;MACJQ,aAAa;QACXC,QAAQ;UAAEP;UAAGC;UAAGC;UAAOC;UAAQC;UAAMC;QAAI;QACzCR;MACF;MACAW,WAAWtD,KAAKD,IAAG;IACrB;EACF,CAAA,GACI,CAAC6C;AACH,UAAM,IAAIW,MAAM,cAAI;AAEtB,SAAOX;AACT,GAEaC,gBAAgB,SAC3B/B,MACA0C,YACAC,UAAAA;AASA,MAAMC,eAAeF,eAAc1C,QAAAA,OAAAA,SAAAA,KAAMI;AACzC,MAAIwC,wBAAwBC,aAAa;AACvC,QAAMC,UAAU9C,KAAKE,sBAAqB,GACpC6C,kBAAkBH,aAAa1C,sBAAqB;AAE1D,QAAI6C,mBAAmBD,SAAS;AAC9B,UAAM,EAAEd,GAAGC,GAAGC,OAAOC,QAAQC,MAAMC,IAAG,IAAKW,sBACzCF,SACAC,eAAAA;AAEFJ,eAASX,GAAGC,GAAGC,OAAOC,QAAQC,MAAMC,GAAAA;IACtC;EACF;AACF,GAEajB,6BAA6B,eACxCS,QAAAA;AAEA,MAAIC,MAA0B;AAU9B,MATA,MAAMmB,mBAAmBpB,QAAQ,MAAM,SAACG,GAAGC,GAAGC,OAAOC,QAAQC,MAAMC,KAAAA;AACjEP,UAAM;MACJQ,aAAa;QACXC,QAAQ;UAAEP;UAAGC;UAAGC;UAAOC;UAAQC;UAAMC;QAAI;QACzCR;MACF;MACAW,WAAWtD,KAAKD,IAAG;IACrB;EACF,CAAA,GACI,CAAC6C;AACH,UAAM,IAAIW,MAAM,cAAI;AAEtB,SAAOX;AACT,GAEamB,qBAAqB,eAChCjD,MACA0C,YACAC,UAAAA;AASA,MAAMC,eAAeF,eAAc1C,QAAAA,OAAAA,SAAAA,KAAMI;AACzC,MAAIwC,wBAAwBC,aAAa;AACvC,QAAM,CAACC,SAASC,eAAAA,IAAmB,MAAMG,QAAQC,IAAI;MACnDnD,KAAKE,sBAAqB;MAC1B0C,aAAa1C,sBAAqB;KACnC;AAED,QAAI6C,mBAAmBD,SAAS;AAC9B,UAAM,EAAEd,GAAGC,GAAGC,OAAOC,QAAQC,MAAMC,IAAG,IAAKW,sBACzCF,SACAC,eAAAA;AAEFJ,eAASX,GAAGC,GAAGC,OAAOC,QAAQC,MAAMC,GAAAA;IACtC;EACF;AACF,GAEMW,wBAAwB,SAACI,GAAoBC,GAAAA;AACjD,MAAM,EAAElB,QAAQC,MAAMC,KAAKH,MAAK,IAAKkB,GAC/BpB,IAAII,OAAOiB,EAAEjB,MACbH,IAAII,MAAMgB,EAAEhB;AAClB,SAAO;IAAEL;IAAGC;IAAGC;IAAOC;IAAQC;IAAMC;EAAI;AAC1C;AAEO,SAASiB,iBACdC,KACAjD,UAA4C;MAG/BiD,cAAPvD,QAAOuD,eAAAA,IAAIC,aAAO,QAAXD,iBAAAA,SAAAA,SAAAA,aAAaE;AAC1B,EAAIzD,QAAQM,YACVvC,eAAe4C,IAAIX,MAAMM,QAAAA,OAG3BoD,4CAA0B,WAAA;QAEXH;AADb,QAAKjD,UACL;UAAMN,SAAOuD,gBAAAA,IAAIC,aAAO,QAAXD,kBAAAA,SAAAA,SAAAA,cAAaE;AAC1B,UAAKzD;AAELjC,8BAAe4C,IAAIX,OAAMM,QAAAA,GACzBrC,MAAM0F,IAAI3D,KAAAA,GACVM,SAASO,sBAAsBb,KAAAA,CAAAA,GAExB,WAAA;AACL/B,gBAAMoD,OAAOrB,KAAAA,GACbjC,eAAesD,OAAOrB,KAAAA,GACtB1B,cAAc+C,OAAOrB,KAAAA;AAGrB,cAAMgB,QAAQxC,eAAe+B,IAAIP,KAAAA;AACjC,UAAIgB,UACFD,aAAaC,KAAAA,GACbxC,eAAe6C,OAAOrB,KAAAA,IAExBvB,eAAe4C,OAAOrB,KAAAA;QACxB;;EACF,GAAG;IAACuD;IAAK,CAAC,CAACjD;GAAS;AACtB;",
|
|
5
|
-
"names": ["LayoutHandlers", "WeakMap", "Nodes", "Set", "strategy", "setOnLayoutStrategy", "state", "NodeRectCache", "ParentRectCache", "DebounceTimers", "LastChangeTime", "rAF", "window", "requestAnimationFrame", "undefined", "DEBOUNCE_DELAY", "isClient", "layoutOnAnimationFrame", "now", "Date", "timeSinceLastFrame", "lastFrameAt", "expectedFrameTime", "hasRecentSyncWork", "numDroppedFramesUntilPause", "forEach", "updateLayoutIfChanged", "avoidUpdates", "queuedUpdates", "Map", "___onDidFinishClientRender", "cb", "clear", "node", "nodeRect", "getBoundingClientRect", "parentNode", "parentElement", "parentRect", "onLayout", "get", "cachedRect", "cachedParentRect", "isEqualShallow", "set", "event", "getElementLayoutEvent", "existingTimer", "clearTimeout", "timer", "setTimeout", "lastChange", "timeSinceChange", "getElementLayoutEventAsync", "delete", "remainingDelay", "newTimer", "process", "env", "NODE_ENV", "console", "warn", "target", "res", "measureLayout", "x", "y", "width", "height", "left", "top", "nativeEvent", "layout", "timeStamp", "Error", "relativeTo", "callback", "relativeNode", "HTMLElement", "nodeDim", "relativeNodeDim", "getRelativeDimensions", "measureLayoutAsync", "Promise", "all", "a", "b", "useElementLayout", "ref", "current", "host", "useIsomorphicLayoutEffect", "add"]
|
|
6
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
const getBoundingClientRect = (node) => {
|
|
2
|
-
if (!(!node || node.nodeType !== 1))
|
|
3
|
-
return node.getBoundingClientRect?.();
|
|
4
|
-
}, getBoundingClientRectAsync = (element) => new Promise((resolve) => {
|
|
5
|
-
let didFallback = !1;
|
|
6
|
-
function fallbackToSync() {
|
|
7
|
-
didFallback = !0, resolve(getBoundingClientRect(element));
|
|
8
|
-
}
|
|
9
|
-
const tm = setTimeout(fallbackToSync, 32);
|
|
10
|
-
new IntersectionObserver(
|
|
11
|
-
(entries, ob) => {
|
|
12
|
-
clearTimeout(tm), ob.disconnect(), didFallback || resolve(entries[0]?.boundingClientRect);
|
|
13
|
-
},
|
|
14
|
-
{
|
|
15
|
-
threshold: 1e-4
|
|
16
|
-
}
|
|
17
|
-
).observe(element);
|
|
18
|
-
});
|
|
19
|
-
export {
|
|
20
|
-
getBoundingClientRect,
|
|
21
|
-
getBoundingClientRectAsync
|
|
22
|
-
};
|
|
23
|
-
//# sourceMappingURL=getBoundingClientRect.js.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/helpers/getBoundingClientRect.tsx"],
|
|
4
|
-
"mappings": "AAAO,MAAM,wBAAwB,CAAC,SAAkD;AACtF,MAAI,GAAC,QAAQ,KAAK,aAAa;AAC/B,WAAO,KAAK,wBAAwB;AACtC,GAEa,6BAA6B,CACxC,YAEO,IAAI,QAAQ,CAAC,YAAY;AAC9B,MAAI,cAAc;AAClB,WAAS,iBAAiB;AACxB,kBAAc,IACd,QAAQ,sBAAsB,OAAO,CAAC;AAAA,EACxC;AACA,QAAM,KAAK,WAAW,gBAAgB,EAAE;AAaxC,EAZiB,IAAI;AAAA,IACnB,CAAC,SAAS,OAAO;AACf,mBAAa,EAAE,GACf,GAAG,WAAW,GACT,eACH,QAAQ,QAAQ,CAAC,GAAG,kBAAkB;AAAA,IAE1C;AAAA,IACA;AAAA,MACE,WAAW;AAAA,IACb;AAAA,EACF,EACS,QAAQ,OAAO;AAC1B,CAAC;",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
const getBoundingClientRect = node => {
|
|
2
|
-
if (!(!node || node.nodeType !== 1)) return node.getBoundingClientRect?.();
|
|
3
|
-
},
|
|
4
|
-
getBoundingClientRectAsync = element => new Promise(resolve => {
|
|
5
|
-
let didFallback = !1;
|
|
6
|
-
function fallbackToSync() {
|
|
7
|
-
didFallback = !0, resolve(getBoundingClientRect(element));
|
|
8
|
-
}
|
|
9
|
-
const tm = setTimeout(fallbackToSync, 32);
|
|
10
|
-
new IntersectionObserver((entries, ob) => {
|
|
11
|
-
clearTimeout(tm), ob.disconnect(), didFallback || resolve(entries[0]?.boundingClientRect);
|
|
12
|
-
}, {
|
|
13
|
-
threshold: 1e-4
|
|
14
|
-
}).observe(element);
|
|
15
|
-
});
|
|
16
|
-
export { getBoundingClientRect, getBoundingClientRectAsync };
|
|
17
|
-
//# sourceMappingURL=getBoundingClientRect.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["getBoundingClientRect","node","nodeType","getBoundingClientRectAsync","element","Promise","resolve","didFallback","fallbackToSync","tm","setTimeout","IntersectionObserver","entries","ob","clearTimeout","disconnect","boundingClientRect","threshold","observe"],"sources":["../../../src/helpers/getBoundingClientRect.tsx"],"sourcesContent":[null],"mappings":"AAAO,MAAMA,qBAAA,GAAyBC,IAAA,IAAkD;IACtF,IAAI,GAACA,IAAA,IAAQA,IAAA,CAAKC,QAAA,KAAa,IAC/B,OAAOD,IAAA,CAAKD,qBAAA,GAAwB;EACtC;EAEaG,0BAAA,GACXC,OAAA,IAEO,IAAIC,OAAA,CAASC,OAAA,IAAY;IAC9B,IAAIC,WAAA,GAAc;IAClB,SAASC,eAAA,EAAiB;MACxBD,WAAA,GAAc,IACdD,OAAA,CAAQN,qBAAA,CAAsBI,OAAO,CAAC;IACxC;IACA,MAAMK,EAAA,GAAKC,UAAA,CAAWF,cAAA,EAAgB,EAAE;IACvB,IAAIG,oBAAA,CACnB,CAACC,OAAA,EAASC,EAAA,KAAO;MACfC,YAAA,CAAaL,EAAE,GACfI,EAAA,CAAGE,UAAA,CAAW,GACTR,WAAA,IACHD,OAAA,CAAQM,OAAA,CAAQ,CAAC,GAAGI,kBAAkB;IAE1C,GACA;MACEC,SAAA,EAAW;IACb,CACF,EACSC,OAAA,CAAQd,OAAO;EAC1B,CAAC","ignoreList":[]}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
var getBoundingClientRect = function (node) {
|
|
2
|
-
var _node_getBoundingClientRect;
|
|
3
|
-
if (!(!node || node.nodeType !== 1)) return (_node_getBoundingClientRect = node.getBoundingClientRect) === null || _node_getBoundingClientRect === void 0 ? void 0 : _node_getBoundingClientRect.call(node);
|
|
4
|
-
},
|
|
5
|
-
getBoundingClientRectAsync = function (element) {
|
|
6
|
-
return new Promise(function (resolve) {
|
|
7
|
-
var didFallback = !1;
|
|
8
|
-
function fallbackToSync() {
|
|
9
|
-
didFallback = !0, resolve(getBoundingClientRect(element));
|
|
10
|
-
}
|
|
11
|
-
var tm = setTimeout(fallbackToSync, 32),
|
|
12
|
-
observer = new IntersectionObserver(function (entries, ob) {
|
|
13
|
-
if (clearTimeout(tm), ob.disconnect(), !didFallback) {
|
|
14
|
-
var _entries_;
|
|
15
|
-
resolve((_entries_ = entries[0]) === null || _entries_ === void 0 ? void 0 : _entries_.boundingClientRect);
|
|
16
|
-
}
|
|
17
|
-
}, {
|
|
18
|
-
threshold: 1e-4
|
|
19
|
-
});
|
|
20
|
-
observer.observe(element);
|
|
21
|
-
});
|
|
22
|
-
};
|
|
23
|
-
export { getBoundingClientRect, getBoundingClientRectAsync };
|
|
24
|
-
//# sourceMappingURL=getBoundingClientRect.native.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["getBoundingClientRect","node","_node_getBoundingClientRect","nodeType","call","getBoundingClientRectAsync","element","Promise","resolve","didFallback","fallbackToSync","tm","setTimeout","observer","IntersectionObserver","entries","ob","clearTimeout","disconnect","_entries_","boundingClientRect","threshold"],"sources":["../../../src/helpers/getBoundingClientRect.tsx"],"sourcesContent":[null],"mappings":"AAAO,IAAAA,qBAAM,YAAAA,CAAyBC,IAAkD;IACtF,IAAIC,2BAAc;IAClB,OAAAD,IAAO,IAAKA,IAAA,CAAAE,QAAA,SAGD,QAAAD,2BACX,GAAAD,IAEO,CAAAD,qBAAa,MAAY,QAAAE,2BAAA,uBAAAA,2BAAA,CAAAE,IAAA,CAAAH,IAAA;EAC9B;EAAAI,0BAAkB,YAAAA,CAAAC,OAAA;IAClB,WAASC,OAAA,WAAiBC,OAAA;MACxB,IAAAC,WAAc,GACd;MACF,SAAAC,eAAA;QACAD,WAAW,OAAWD,OAAA,CAAAR,qBAAkB,CAAAM,OAAA;MACvB;MACf,IAACK,EAAA,GAAAC,UAAgB,CAAAF,cAAA;QAAAG,QAAA,OAAAC,oBAAA,WAAAC,OAAA,EAAAC,EAAA;UACf,IAAAC,YAAe,CAAAN,EACf,GAAGK,EAAA,CAAAE,UACE,KAAAT,WACH;YAEJ,IAAAU,SAAA;YACAX,OAAA,EAAAW,SAAA,GAAAJ,OAAA,iBAAAI,SAAA,uBAAAA,SAAA,CAAAC,kBAAA;UACE;QACF;UAEOC,SAAQ;QAClB","ignoreList":[]}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { getBoundingClientRect } from "./getBoundingClientRect";
|
|
2
|
-
const getRect = (node) => {
|
|
3
|
-
const rect = getBoundingClientRect(node);
|
|
4
|
-
if (!rect) return;
|
|
5
|
-
const { x, y, top, left } = rect;
|
|
6
|
-
return { x, y, width: node.offsetWidth, height: node.offsetHeight, top, left };
|
|
7
|
-
};
|
|
8
|
-
export {
|
|
9
|
-
getRect
|
|
10
|
-
};
|
|
11
|
-
//# sourceMappingURL=getRect.js.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/helpers/getRect.tsx"],
|
|
4
|
-
"mappings": "AAAA,SAAS,6BAA6B;AAE/B,MAAM,UAAU,CAAC,SAAsB;AAC5C,QAAM,OAAO,sBAAsB,IAAI;AACvC,MAAI,CAAC,KAAM;AACX,QAAM,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI;AAC5B,SAAO,EAAE,GAAG,GAAG,OAAO,KAAK,aAAa,QAAQ,KAAK,cAAc,KAAK,KAAK;AAC/E;",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { getBoundingClientRect } from "./getBoundingClientRect.mjs";
|
|
2
|
-
const getRect = node => {
|
|
3
|
-
const rect = getBoundingClientRect(node);
|
|
4
|
-
if (!rect) return;
|
|
5
|
-
const {
|
|
6
|
-
x,
|
|
7
|
-
y,
|
|
8
|
-
top,
|
|
9
|
-
left
|
|
10
|
-
} = rect;
|
|
11
|
-
return {
|
|
12
|
-
x,
|
|
13
|
-
y,
|
|
14
|
-
width: node.offsetWidth,
|
|
15
|
-
height: node.offsetHeight,
|
|
16
|
-
top,
|
|
17
|
-
left
|
|
18
|
-
};
|
|
19
|
-
};
|
|
20
|
-
export { getRect };
|
|
21
|
-
//# sourceMappingURL=getRect.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["getBoundingClientRect","getRect","node","rect","x","y","top","left","width","offsetWidth","height","offsetHeight"],"sources":["../../../src/helpers/getRect.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,qBAAA,QAA6B;AAE/B,MAAMC,OAAA,GAAWC,IAAA,IAAsB;EAC5C,MAAMC,IAAA,GAAOH,qBAAA,CAAsBE,IAAI;EACvC,IAAI,CAACC,IAAA,EAAM;EACX,MAAM;IAAEC,CAAA;IAAGC,CAAA;IAAGC,GAAA;IAAKC;EAAK,IAAIJ,IAAA;EAC5B,OAAO;IAAEC,CAAA;IAAGC,CAAA;IAAGG,KAAA,EAAON,IAAA,CAAKO,WAAA;IAAaC,MAAA,EAAQR,IAAA,CAAKS,YAAA;IAAcL,GAAA;IAAKC;EAAK;AAC/E","ignoreList":[]}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { getBoundingClientRect } from "./getBoundingClientRect.native.js";
|
|
2
|
-
var getRect = function (node) {
|
|
3
|
-
var rect = getBoundingClientRect(node);
|
|
4
|
-
if (rect) {
|
|
5
|
-
var {
|
|
6
|
-
x,
|
|
7
|
-
y,
|
|
8
|
-
top,
|
|
9
|
-
left
|
|
10
|
-
} = rect;
|
|
11
|
-
return {
|
|
12
|
-
x,
|
|
13
|
-
y,
|
|
14
|
-
width: node.offsetWidth,
|
|
15
|
-
height: node.offsetHeight,
|
|
16
|
-
top,
|
|
17
|
-
left
|
|
18
|
-
};
|
|
19
|
-
}
|
|
20
|
-
};
|
|
21
|
-
export { getRect };
|
|
22
|
-
//# sourceMappingURL=getRect.native.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["getBoundingClientRect","getRect","node","rect","x","y","top","left"],"sources":["../../../src/helpers/getRect.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,qBAAA,QAA6B;AAE/B,IAAAC,OAAM,YAAAA,CAAWC,IAAsB;EAC5C,IAAAC,IAAM,GAAAH,qBAAO,CAAAE,IAAsB;EACnC,IAAIC,IAAC,EAAM;IACX,IAAM;MAAEC,CAAA;MAAGC,CAAA;MAAGC,GAAA;MAAKC;IAAK,IAAIJ,IAAA;IAC5B,OAAS;MACXC,CAAA","ignoreList":[]}
|