@annotorious/react 3.4.4 → 3.4.5
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/annotorious-react.es10.js +11 -10
- package/dist/annotorious-react.es10.js.map +1 -1
- package/dist/annotorious-react.es13.js.map +1 -1
- package/dist/annotorious-react.es16.js +59 -58
- package/dist/annotorious-react.es16.js.map +1 -1
- package/dist/annotorious-react.es18.js +12 -11
- package/dist/annotorious-react.es18.js.map +1 -1
- package/dist/annotorious-react.es24.js +136 -138
- package/dist/annotorious-react.es24.js.map +1 -1
- package/package.json +8 -8
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { inline as I, offset as J, flip as K, shift as N, arrow as
|
|
2
|
-
import { autoUpdate as
|
|
3
|
-
import * as
|
|
4
|
-
import { useLayoutEffect as T
|
|
5
|
-
import * as
|
|
6
|
-
var
|
|
1
|
+
import { inline as I, offset as J, flip as K, shift as N, arrow as L, computePosition as Q } from "./annotorious-react.es15.js";
|
|
2
|
+
import { autoUpdate as ce, platform as ae } from "./annotorious-react.es15.js";
|
|
3
|
+
import * as o from "react";
|
|
4
|
+
import { useLayoutEffect as T } from "react";
|
|
5
|
+
import * as X from "react-dom";
|
|
6
|
+
var Y = typeof document < "u", Z = function() {
|
|
7
|
+
}, R = Y ? T : Z;
|
|
7
8
|
function h(e, t) {
|
|
8
9
|
if (e === t)
|
|
9
10
|
return !0;
|
|
@@ -41,13 +42,13 @@ function A(e, t) {
|
|
|
41
42
|
const n = q(e);
|
|
42
43
|
return Math.round(t * n) / n;
|
|
43
44
|
}
|
|
44
|
-
function
|
|
45
|
-
const t =
|
|
45
|
+
function k(e) {
|
|
46
|
+
const t = o.useRef(e);
|
|
46
47
|
return R(() => {
|
|
47
48
|
t.current = e;
|
|
48
49
|
}), t;
|
|
49
50
|
}
|
|
50
|
-
function
|
|
51
|
+
function ne(e) {
|
|
51
52
|
e === void 0 && (e = {});
|
|
52
53
|
const {
|
|
53
54
|
placement: t = "bottom",
|
|
@@ -58,53 +59,53 @@ function te(e) {
|
|
|
58
59
|
reference: p,
|
|
59
60
|
floating: B
|
|
60
61
|
} = {},
|
|
61
|
-
transform:
|
|
62
|
-
whileElementsMounted:
|
|
62
|
+
transform: D = !0,
|
|
63
|
+
whileElementsMounted: E,
|
|
63
64
|
open: x
|
|
64
|
-
} = e, [i,
|
|
65
|
+
} = e, [i, C] = o.useState({
|
|
65
66
|
x: 0,
|
|
66
67
|
y: 0,
|
|
67
68
|
strategy: n,
|
|
68
69
|
placement: t,
|
|
69
70
|
middlewareData: {},
|
|
70
71
|
isPositioned: !1
|
|
71
|
-
}), [M, U] =
|
|
72
|
+
}), [M, U] = o.useState(r);
|
|
72
73
|
h(M, r) || U(r);
|
|
73
|
-
const [V, W] =
|
|
74
|
-
|
|
75
|
-
}, []),
|
|
76
|
-
|
|
77
|
-
}, []), u = p || V, l = B || z, a =
|
|
74
|
+
const [V, W] = o.useState(null), [z, G] = o.useState(null), O = o.useCallback((f) => {
|
|
75
|
+
f !== a.current && (a.current = f, W(f));
|
|
76
|
+
}, []), _ = o.useCallback((f) => {
|
|
77
|
+
f !== d.current && (d.current = f, G(f));
|
|
78
|
+
}, []), u = p || V, l = B || z, a = o.useRef(null), d = o.useRef(null), y = o.useRef(i), H = E != null, P = k(E), S = k(s), v = k(x), g = o.useCallback(() => {
|
|
78
79
|
if (!a.current || !d.current)
|
|
79
80
|
return;
|
|
80
|
-
const
|
|
81
|
+
const f = {
|
|
81
82
|
placement: t,
|
|
82
83
|
strategy: n,
|
|
83
84
|
middleware: M
|
|
84
85
|
};
|
|
85
|
-
S.current && (
|
|
86
|
+
S.current && (f.platform = S.current), Q(a.current, d.current, f).then((w) => {
|
|
86
87
|
const m = {
|
|
87
88
|
...w,
|
|
88
89
|
// The floating element's position may be recomputed while it's closed
|
|
89
90
|
// but still mounted (such as when transitioning out). To ensure
|
|
90
91
|
// `isPositioned` will be `false` initially on the next open, avoid
|
|
91
92
|
// setting it to `true` when `open === false` (must be specified).
|
|
92
|
-
isPositioned:
|
|
93
|
+
isPositioned: v.current !== !1
|
|
93
94
|
};
|
|
94
|
-
|
|
95
|
-
|
|
95
|
+
$.current && !h(y.current, m) && (y.current = m, X.flushSync(() => {
|
|
96
|
+
C(m);
|
|
96
97
|
}));
|
|
97
98
|
});
|
|
98
|
-
}, [M, t, n, S,
|
|
99
|
+
}, [M, t, n, S, v]);
|
|
99
100
|
R(() => {
|
|
100
|
-
x === !1 && y.current.isPositioned && (y.current.isPositioned = !1,
|
|
101
|
-
...
|
|
101
|
+
x === !1 && y.current.isPositioned && (y.current.isPositioned = !1, C((f) => ({
|
|
102
|
+
...f,
|
|
102
103
|
isPositioned: !1
|
|
103
104
|
})));
|
|
104
105
|
}, [x]);
|
|
105
|
-
const
|
|
106
|
-
R(() => (
|
|
107
|
-
|
|
106
|
+
const $ = o.useRef(!1);
|
|
107
|
+
R(() => ($.current = !0, () => {
|
|
108
|
+
$.current = !1;
|
|
108
109
|
}), []), R(() => {
|
|
109
110
|
if (u && (a.current = u), l && (d.current = l), u && l) {
|
|
110
111
|
if (P.current)
|
|
@@ -112,25 +113,25 @@ function te(e) {
|
|
|
112
113
|
g();
|
|
113
114
|
}
|
|
114
115
|
}, [u, l, g, P, H]);
|
|
115
|
-
const
|
|
116
|
+
const F = o.useMemo(() => ({
|
|
116
117
|
reference: a,
|
|
117
118
|
floating: d,
|
|
118
|
-
setReference:
|
|
119
|
-
setFloating:
|
|
120
|
-
}), [
|
|
119
|
+
setReference: O,
|
|
120
|
+
setFloating: _
|
|
121
|
+
}), [O, _]), c = o.useMemo(() => ({
|
|
121
122
|
reference: u,
|
|
122
123
|
floating: l
|
|
123
|
-
}), [u, l]),
|
|
124
|
-
const
|
|
124
|
+
}), [u, l]), j = o.useMemo(() => {
|
|
125
|
+
const f = {
|
|
125
126
|
position: n,
|
|
126
127
|
left: 0,
|
|
127
128
|
top: 0
|
|
128
129
|
};
|
|
129
130
|
if (!c.floating)
|
|
130
|
-
return
|
|
131
|
+
return f;
|
|
131
132
|
const w = A(c.floating, i.x), m = A(c.floating, i.y);
|
|
132
|
-
return
|
|
133
|
-
...
|
|
133
|
+
return D ? {
|
|
134
|
+
...f,
|
|
134
135
|
transform: "translate(" + w + "px, " + m + "px)",
|
|
135
136
|
...q(c.floating) >= 1.5 && {
|
|
136
137
|
willChange: "transform"
|
|
@@ -140,16 +141,16 @@ function te(e) {
|
|
|
140
141
|
left: w,
|
|
141
142
|
top: m
|
|
142
143
|
};
|
|
143
|
-
}, [n,
|
|
144
|
-
return
|
|
144
|
+
}, [n, D, c.floating, i.x, i.y]);
|
|
145
|
+
return o.useMemo(() => ({
|
|
145
146
|
...i,
|
|
146
147
|
update: g,
|
|
147
|
-
refs:
|
|
148
|
+
refs: F,
|
|
148
149
|
elements: c,
|
|
149
|
-
floatingStyles:
|
|
150
|
-
}), [i, g,
|
|
150
|
+
floatingStyles: j
|
|
151
|
+
}), [i, g, F, c, j]);
|
|
151
152
|
}
|
|
152
|
-
const
|
|
153
|
+
const b = (e) => {
|
|
153
154
|
function t(n) {
|
|
154
155
|
return {}.hasOwnProperty.call(n, "current");
|
|
155
156
|
}
|
|
@@ -161,40 +162,40 @@ const Z = (e) => {
|
|
|
161
162
|
element: r,
|
|
162
163
|
padding: s
|
|
163
164
|
} = typeof e == "function" ? e(n) : e;
|
|
164
|
-
return r && t(r) ? r.current != null ?
|
|
165
|
+
return r && t(r) ? r.current != null ? L({
|
|
165
166
|
element: r.current,
|
|
166
167
|
padding: s
|
|
167
|
-
}).fn(n) : {} : r ?
|
|
168
|
+
}).fn(n) : {} : r ? L({
|
|
168
169
|
element: r,
|
|
169
170
|
padding: s
|
|
170
171
|
}).fn(n) : {};
|
|
171
172
|
}
|
|
172
173
|
};
|
|
173
|
-
},
|
|
174
|
+
}, re = (e, t) => ({
|
|
174
175
|
...J(e),
|
|
175
176
|
options: [e, t]
|
|
176
|
-
}),
|
|
177
|
+
}), oe = (e, t) => ({
|
|
177
178
|
...N(e),
|
|
178
179
|
options: [e, t]
|
|
179
180
|
}), fe = (e, t) => ({
|
|
180
181
|
...K(e),
|
|
181
182
|
options: [e, t]
|
|
182
|
-
}),
|
|
183
|
+
}), se = (e, t) => ({
|
|
183
184
|
...I(e),
|
|
184
185
|
options: [e, t]
|
|
185
|
-
}),
|
|
186
|
-
...
|
|
186
|
+
}), ie = (e, t) => ({
|
|
187
|
+
...b(e),
|
|
187
188
|
options: [e, t]
|
|
188
189
|
});
|
|
189
190
|
export {
|
|
190
|
-
|
|
191
|
-
|
|
191
|
+
ie as arrow,
|
|
192
|
+
ce as autoUpdate,
|
|
192
193
|
Q as computePosition,
|
|
193
194
|
fe as flip,
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
195
|
+
se as inline,
|
|
196
|
+
re as offset,
|
|
197
|
+
ae as platform,
|
|
198
|
+
oe as shift,
|
|
199
|
+
ne as useFloating
|
|
199
200
|
};
|
|
200
201
|
//# sourceMappingURL=annotorious-react.es16.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"annotorious-react.es16.js","sources":["../../../node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs"],"sourcesContent":["import { computePosition, arrow as arrow$2, offset as offset$1, shift as shift$1, limitShift as limitShift$1, flip as flip$1, size as size$1, autoPlacement as autoPlacement$1, hide as hide$1, inline as inline$1 } from '@floating-ui/dom';\nexport { autoUpdate, computePosition, detectOverflow, getOverflowAncestors, platform } from '@floating-ui/dom';\nimport * as React from 'react';\nimport { useLayoutEffect, useEffect } from 'react';\nimport * as ReactDOM from 'react-dom';\n\nvar index = typeof document !== 'undefined' ? useLayoutEffect : useEffect;\n\n// Fork of `fast-deep-equal` that only does the comparisons we need and compares\n// functions\nfunction deepEqual(a, b) {\n if (a === b) {\n return true;\n }\n if (typeof a !== typeof b) {\n return false;\n }\n if (typeof a === 'function' && a.toString() === b.toString()) {\n return true;\n }\n let length;\n let i;\n let keys;\n if (a && b && typeof a === 'object') {\n if (Array.isArray(a)) {\n length = a.length;\n if (length !== b.length) return false;\n for (i = length; i-- !== 0;) {\n if (!deepEqual(a[i], b[i])) {\n return false;\n }\n }\n return true;\n }\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) {\n return false;\n }\n for (i = length; i-- !== 0;) {\n if (!{}.hasOwnProperty.call(b, keys[i])) {\n return false;\n }\n }\n for (i = length; i-- !== 0;) {\n const key = keys[i];\n if (key === '_owner' && a.$$typeof) {\n continue;\n }\n if (!deepEqual(a[key], b[key])) {\n return false;\n }\n }\n return true;\n }\n return a !== a && b !== b;\n}\n\nfunction getDPR(element) {\n if (typeof window === 'undefined') {\n return 1;\n }\n const win = element.ownerDocument.defaultView || window;\n return win.devicePixelRatio || 1;\n}\n\nfunction roundByDPR(element, value) {\n const dpr = getDPR(element);\n return Math.round(value * dpr) / dpr;\n}\n\nfunction useLatestRef(value) {\n const ref = React.useRef(value);\n index(() => {\n ref.current = value;\n });\n return ref;\n}\n\n/**\n * Provides data to position a floating element.\n * @see https://floating-ui.com/docs/useFloating\n */\nfunction useFloating(options) {\n if (options === void 0) {\n options = {};\n }\n const {\n placement = 'bottom',\n strategy = 'absolute',\n middleware = [],\n platform,\n elements: {\n reference: externalReference,\n floating: externalFloating\n } = {},\n transform = true,\n whileElementsMounted,\n open\n } = options;\n const [data, setData] = React.useState({\n x: 0,\n y: 0,\n strategy,\n placement,\n middlewareData: {},\n isPositioned: false\n });\n const [latestMiddleware, setLatestMiddleware] = React.useState(middleware);\n if (!deepEqual(latestMiddleware, middleware)) {\n setLatestMiddleware(middleware);\n }\n const [_reference, _setReference] = React.useState(null);\n const [_floating, _setFloating] = React.useState(null);\n const setReference = React.useCallback(node => {\n if (node !== referenceRef.current) {\n referenceRef.current = node;\n _setReference(node);\n }\n }, []);\n const setFloating = React.useCallback(node => {\n if (node !== floatingRef.current) {\n floatingRef.current = node;\n _setFloating(node);\n }\n }, []);\n const referenceEl = externalReference || _reference;\n const floatingEl = externalFloating || _floating;\n const referenceRef = React.useRef(null);\n const floatingRef = React.useRef(null);\n const dataRef = React.useRef(data);\n const hasWhileElementsMounted = whileElementsMounted != null;\n const whileElementsMountedRef = useLatestRef(whileElementsMounted);\n const platformRef = useLatestRef(platform);\n const openRef = useLatestRef(open);\n const update = React.useCallback(() => {\n if (!referenceRef.current || !floatingRef.current) {\n return;\n }\n const config = {\n placement,\n strategy,\n middleware: latestMiddleware\n };\n if (platformRef.current) {\n config.platform = platformRef.current;\n }\n computePosition(referenceRef.current, floatingRef.current, config).then(data => {\n const fullData = {\n ...data,\n // The floating element's position may be recomputed while it's closed\n // but still mounted (such as when transitioning out). To ensure\n // `isPositioned` will be `false` initially on the next open, avoid\n // setting it to `true` when `open === false` (must be specified).\n isPositioned: openRef.current !== false\n };\n if (isMountedRef.current && !deepEqual(dataRef.current, fullData)) {\n dataRef.current = fullData;\n ReactDOM.flushSync(() => {\n setData(fullData);\n });\n }\n });\n }, [latestMiddleware, placement, strategy, platformRef, openRef]);\n index(() => {\n if (open === false && dataRef.current.isPositioned) {\n dataRef.current.isPositioned = false;\n setData(data => ({\n ...data,\n isPositioned: false\n }));\n }\n }, [open]);\n const isMountedRef = React.useRef(false);\n index(() => {\n isMountedRef.current = true;\n return () => {\n isMountedRef.current = false;\n };\n }, []);\n index(() => {\n if (referenceEl) referenceRef.current = referenceEl;\n if (floatingEl) floatingRef.current = floatingEl;\n if (referenceEl && floatingEl) {\n if (whileElementsMountedRef.current) {\n return whileElementsMountedRef.current(referenceEl, floatingEl, update);\n }\n update();\n }\n }, [referenceEl, floatingEl, update, whileElementsMountedRef, hasWhileElementsMounted]);\n const refs = React.useMemo(() => ({\n reference: referenceRef,\n floating: floatingRef,\n setReference,\n setFloating\n }), [setReference, setFloating]);\n const elements = React.useMemo(() => ({\n reference: referenceEl,\n floating: floatingEl\n }), [referenceEl, floatingEl]);\n const floatingStyles = React.useMemo(() => {\n const initialStyles = {\n position: strategy,\n left: 0,\n top: 0\n };\n if (!elements.floating) {\n return initialStyles;\n }\n const x = roundByDPR(elements.floating, data.x);\n const y = roundByDPR(elements.floating, data.y);\n if (transform) {\n return {\n ...initialStyles,\n transform: \"translate(\" + x + \"px, \" + y + \"px)\",\n ...(getDPR(elements.floating) >= 1.5 && {\n willChange: 'transform'\n })\n };\n }\n return {\n position: strategy,\n left: x,\n top: y\n };\n }, [strategy, transform, elements.floating, data.x, data.y]);\n return React.useMemo(() => ({\n ...data,\n update,\n refs,\n elements,\n floatingStyles\n }), [data, update, refs, elements, floatingStyles]);\n}\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * This wraps the core `arrow` middleware to allow React refs as the element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow$1 = options => {\n function isRef(value) {\n return {}.hasOwnProperty.call(value, 'current');\n }\n return {\n name: 'arrow',\n options,\n fn(state) {\n const {\n element,\n padding\n } = typeof options === 'function' ? options(state) : options;\n if (element && isRef(element)) {\n if (element.current != null) {\n return arrow$2({\n element: element.current,\n padding\n }).fn(state);\n }\n return {};\n }\n if (element) {\n return arrow$2({\n element,\n padding\n }).fn(state);\n }\n return {};\n }\n };\n};\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = (options, deps) => ({\n ...offset$1(options),\n options: [options, deps]\n});\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = (options, deps) => ({\n ...shift$1(options),\n options: [options, deps]\n});\n\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = (options, deps) => ({\n ...limitShift$1(options),\n options: [options, deps]\n});\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = (options, deps) => ({\n ...flip$1(options),\n options: [options, deps]\n});\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = (options, deps) => ({\n ...size$1(options),\n options: [options, deps]\n});\n\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = (options, deps) => ({\n ...autoPlacement$1(options),\n options: [options, deps]\n});\n\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = (options, deps) => ({\n ...hide$1(options),\n options: [options, deps]\n});\n\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = (options, deps) => ({\n ...inline$1(options),\n options: [options, deps]\n});\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * This wraps the core `arrow` middleware to allow React refs as the element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = (options, deps) => ({\n ...arrow$1(options),\n options: [options, deps]\n});\n\nexport { arrow, autoPlacement, flip, hide, inline, limitShift, offset, shift, size, useFloating };\n"],"names":["index","useLayoutEffect","useEffect","deepEqual","a","b","length","i","keys","key","getDPR","element","roundByDPR","value","dpr","useLatestRef","ref","React","useFloating","options","placement","strategy","middleware","platform","externalReference","externalFloating","transform","whileElementsMounted","open","data","setData","latestMiddleware","setLatestMiddleware","_reference","_setReference","_floating","_setFloating","setReference","node","referenceRef","setFloating","floatingRef","referenceEl","floatingEl","dataRef","hasWhileElementsMounted","whileElementsMountedRef","platformRef","openRef","update","config","computePosition","fullData","isMountedRef","ReactDOM","refs","elements","floatingStyles","initialStyles","x","y","arrow$1","isRef","state","padding","arrow$2","offset","deps","offset$1","shift","shift$1","flip","flip$1","inline","inline$1","arrow"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"annotorious-react.es16.js","sources":["../../../node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs"],"sourcesContent":["import { computePosition, arrow as arrow$2, autoPlacement as autoPlacement$1, flip as flip$1, hide as hide$1, inline as inline$1, limitShift as limitShift$1, offset as offset$1, shift as shift$1, size as size$1 } from '@floating-ui/dom';\nexport { autoUpdate, computePosition, detectOverflow, getOverflowAncestors, platform } from '@floating-ui/dom';\nimport * as React from 'react';\nimport { useLayoutEffect } from 'react';\nimport * as ReactDOM from 'react-dom';\n\nvar isClient = typeof document !== 'undefined';\n\nvar noop = function noop() {};\nvar index = isClient ? useLayoutEffect : noop;\n\n// Fork of `fast-deep-equal` that only does the comparisons we need and compares\n// functions\nfunction deepEqual(a, b) {\n if (a === b) {\n return true;\n }\n if (typeof a !== typeof b) {\n return false;\n }\n if (typeof a === 'function' && a.toString() === b.toString()) {\n return true;\n }\n let length;\n let i;\n let keys;\n if (a && b && typeof a === 'object') {\n if (Array.isArray(a)) {\n length = a.length;\n if (length !== b.length) return false;\n for (i = length; i-- !== 0;) {\n if (!deepEqual(a[i], b[i])) {\n return false;\n }\n }\n return true;\n }\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) {\n return false;\n }\n for (i = length; i-- !== 0;) {\n if (!{}.hasOwnProperty.call(b, keys[i])) {\n return false;\n }\n }\n for (i = length; i-- !== 0;) {\n const key = keys[i];\n if (key === '_owner' && a.$$typeof) {\n continue;\n }\n if (!deepEqual(a[key], b[key])) {\n return false;\n }\n }\n return true;\n }\n return a !== a && b !== b;\n}\n\nfunction getDPR(element) {\n if (typeof window === 'undefined') {\n return 1;\n }\n const win = element.ownerDocument.defaultView || window;\n return win.devicePixelRatio || 1;\n}\n\nfunction roundByDPR(element, value) {\n const dpr = getDPR(element);\n return Math.round(value * dpr) / dpr;\n}\n\nfunction useLatestRef(value) {\n const ref = React.useRef(value);\n index(() => {\n ref.current = value;\n });\n return ref;\n}\n\n/**\n * Provides data to position a floating element.\n * @see https://floating-ui.com/docs/useFloating\n */\nfunction useFloating(options) {\n if (options === void 0) {\n options = {};\n }\n const {\n placement = 'bottom',\n strategy = 'absolute',\n middleware = [],\n platform,\n elements: {\n reference: externalReference,\n floating: externalFloating\n } = {},\n transform = true,\n whileElementsMounted,\n open\n } = options;\n const [data, setData] = React.useState({\n x: 0,\n y: 0,\n strategy,\n placement,\n middlewareData: {},\n isPositioned: false\n });\n const [latestMiddleware, setLatestMiddleware] = React.useState(middleware);\n if (!deepEqual(latestMiddleware, middleware)) {\n setLatestMiddleware(middleware);\n }\n const [_reference, _setReference] = React.useState(null);\n const [_floating, _setFloating] = React.useState(null);\n const setReference = React.useCallback(node => {\n if (node !== referenceRef.current) {\n referenceRef.current = node;\n _setReference(node);\n }\n }, []);\n const setFloating = React.useCallback(node => {\n if (node !== floatingRef.current) {\n floatingRef.current = node;\n _setFloating(node);\n }\n }, []);\n const referenceEl = externalReference || _reference;\n const floatingEl = externalFloating || _floating;\n const referenceRef = React.useRef(null);\n const floatingRef = React.useRef(null);\n const dataRef = React.useRef(data);\n const hasWhileElementsMounted = whileElementsMounted != null;\n const whileElementsMountedRef = useLatestRef(whileElementsMounted);\n const platformRef = useLatestRef(platform);\n const openRef = useLatestRef(open);\n const update = React.useCallback(() => {\n if (!referenceRef.current || !floatingRef.current) {\n return;\n }\n const config = {\n placement,\n strategy,\n middleware: latestMiddleware\n };\n if (platformRef.current) {\n config.platform = platformRef.current;\n }\n computePosition(referenceRef.current, floatingRef.current, config).then(data => {\n const fullData = {\n ...data,\n // The floating element's position may be recomputed while it's closed\n // but still mounted (such as when transitioning out). To ensure\n // `isPositioned` will be `false` initially on the next open, avoid\n // setting it to `true` when `open === false` (must be specified).\n isPositioned: openRef.current !== false\n };\n if (isMountedRef.current && !deepEqual(dataRef.current, fullData)) {\n dataRef.current = fullData;\n ReactDOM.flushSync(() => {\n setData(fullData);\n });\n }\n });\n }, [latestMiddleware, placement, strategy, platformRef, openRef]);\n index(() => {\n if (open === false && dataRef.current.isPositioned) {\n dataRef.current.isPositioned = false;\n setData(data => ({\n ...data,\n isPositioned: false\n }));\n }\n }, [open]);\n const isMountedRef = React.useRef(false);\n index(() => {\n isMountedRef.current = true;\n return () => {\n isMountedRef.current = false;\n };\n }, []);\n index(() => {\n if (referenceEl) referenceRef.current = referenceEl;\n if (floatingEl) floatingRef.current = floatingEl;\n if (referenceEl && floatingEl) {\n if (whileElementsMountedRef.current) {\n return whileElementsMountedRef.current(referenceEl, floatingEl, update);\n }\n update();\n }\n }, [referenceEl, floatingEl, update, whileElementsMountedRef, hasWhileElementsMounted]);\n const refs = React.useMemo(() => ({\n reference: referenceRef,\n floating: floatingRef,\n setReference,\n setFloating\n }), [setReference, setFloating]);\n const elements = React.useMemo(() => ({\n reference: referenceEl,\n floating: floatingEl\n }), [referenceEl, floatingEl]);\n const floatingStyles = React.useMemo(() => {\n const initialStyles = {\n position: strategy,\n left: 0,\n top: 0\n };\n if (!elements.floating) {\n return initialStyles;\n }\n const x = roundByDPR(elements.floating, data.x);\n const y = roundByDPR(elements.floating, data.y);\n if (transform) {\n return {\n ...initialStyles,\n transform: \"translate(\" + x + \"px, \" + y + \"px)\",\n ...(getDPR(elements.floating) >= 1.5 && {\n willChange: 'transform'\n })\n };\n }\n return {\n position: strategy,\n left: x,\n top: y\n };\n }, [strategy, transform, elements.floating, data.x, data.y]);\n return React.useMemo(() => ({\n ...data,\n update,\n refs,\n elements,\n floatingStyles\n }), [data, update, refs, elements, floatingStyles]);\n}\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * This wraps the core `arrow` middleware to allow React refs as the element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow$1 = options => {\n function isRef(value) {\n return {}.hasOwnProperty.call(value, 'current');\n }\n return {\n name: 'arrow',\n options,\n fn(state) {\n const {\n element,\n padding\n } = typeof options === 'function' ? options(state) : options;\n if (element && isRef(element)) {\n if (element.current != null) {\n return arrow$2({\n element: element.current,\n padding\n }).fn(state);\n }\n return {};\n }\n if (element) {\n return arrow$2({\n element,\n padding\n }).fn(state);\n }\n return {};\n }\n };\n};\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = (options, deps) => ({\n ...offset$1(options),\n options: [options, deps]\n});\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = (options, deps) => ({\n ...shift$1(options),\n options: [options, deps]\n});\n\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = (options, deps) => ({\n ...limitShift$1(options),\n options: [options, deps]\n});\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = (options, deps) => ({\n ...flip$1(options),\n options: [options, deps]\n});\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = (options, deps) => ({\n ...size$1(options),\n options: [options, deps]\n});\n\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = (options, deps) => ({\n ...autoPlacement$1(options),\n options: [options, deps]\n});\n\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = (options, deps) => ({\n ...hide$1(options),\n options: [options, deps]\n});\n\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = (options, deps) => ({\n ...inline$1(options),\n options: [options, deps]\n});\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * This wraps the core `arrow` middleware to allow React refs as the element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = (options, deps) => ({\n ...arrow$1(options),\n options: [options, deps]\n});\n\nexport { arrow, autoPlacement, flip, hide, inline, limitShift, offset, shift, size, useFloating };\n"],"names":["isClient","noop","index","useLayoutEffect","deepEqual","a","b","length","i","keys","key","getDPR","element","roundByDPR","value","dpr","useLatestRef","ref","React","useFloating","options","placement","strategy","middleware","platform","externalReference","externalFloating","transform","whileElementsMounted","open","data","setData","latestMiddleware","setLatestMiddleware","_reference","_setReference","_floating","_setFloating","setReference","node","referenceRef","setFloating","floatingRef","referenceEl","floatingEl","dataRef","hasWhileElementsMounted","whileElementsMountedRef","platformRef","openRef","update","config","computePosition","fullData","isMountedRef","ReactDOM","refs","elements","floatingStyles","initialStyles","x","y","arrow$1","isRef","state","padding","arrow$2","offset","deps","offset$1","shift","shift$1","flip","flip$1","inline","inline$1","arrow"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -1,24 +1,25 @@
|
|
|
1
1
|
import * as r from "react";
|
|
2
|
-
import { useLayoutEffect as u
|
|
3
|
-
var
|
|
4
|
-
|
|
2
|
+
import { useLayoutEffect as u } from "react";
|
|
3
|
+
var c = typeof document < "u", s = function() {
|
|
4
|
+
}, l = c ? u : s;
|
|
5
|
+
const a = {
|
|
5
6
|
...r
|
|
6
|
-
},
|
|
7
|
-
function
|
|
7
|
+
}, i = a.useInsertionEffect, E = i || ((e) => e());
|
|
8
|
+
function p(e) {
|
|
8
9
|
const t = r.useRef(() => {
|
|
9
10
|
if (process.env.NODE_ENV !== "production")
|
|
10
11
|
throw new Error("Cannot call an event handler while rendering.");
|
|
11
12
|
});
|
|
12
|
-
return
|
|
13
|
-
t.current =
|
|
13
|
+
return E(() => {
|
|
14
|
+
t.current = e;
|
|
14
15
|
}), r.useCallback(function() {
|
|
15
|
-
for (var o = arguments.length, f = new Array(o),
|
|
16
|
-
f[
|
|
16
|
+
for (var o = arguments.length, f = new Array(o), n = 0; n < o; n++)
|
|
17
|
+
f[n] = arguments[n];
|
|
17
18
|
return t.current == null ? void 0 : t.current(...f);
|
|
18
19
|
}, []);
|
|
19
20
|
}
|
|
20
21
|
export {
|
|
21
|
-
|
|
22
|
-
|
|
22
|
+
p as useEffectEvent,
|
|
23
|
+
l as useModernLayoutEffect
|
|
23
24
|
};
|
|
24
25
|
//# sourceMappingURL=annotorious-react.es18.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"annotorious-react.es18.js","sources":["../../../node_modules/@floating-ui/react/dist/floating-ui.react.utils.mjs"],"sourcesContent":["import { isShadowRoot, isHTMLElement } from '@floating-ui/utils/dom';\nimport * as React from 'react';\nimport { useLayoutEffect, useEffect } from 'react';\nimport { floor } from '@floating-ui/utils';\nimport { tabbable } from 'tabbable';\n\n// Avoid Chrome DevTools blue warning.\nfunction getPlatform() {\n const uaData = navigator.userAgentData;\n if (uaData != null && uaData.platform) {\n return uaData.platform;\n }\n return navigator.platform;\n}\nfunction getUserAgent() {\n const uaData = navigator.userAgentData;\n if (uaData && Array.isArray(uaData.brands)) {\n return uaData.brands.map(_ref => {\n let {\n brand,\n version\n } = _ref;\n return brand + \"/\" + version;\n }).join(' ');\n }\n return navigator.userAgent;\n}\nfunction isSafari() {\n // Chrome DevTools does not complain about navigator.vendor\n return /apple/i.test(navigator.vendor);\n}\nfunction isAndroid() {\n const re = /android/i;\n return re.test(getPlatform()) || re.test(getUserAgent());\n}\nfunction isMac() {\n return getPlatform().toLowerCase().startsWith('mac') && !navigator.maxTouchPoints;\n}\nfunction isJSDOM() {\n return getUserAgent().includes('jsdom/');\n}\n\nconst FOCUSABLE_ATTRIBUTE = 'data-floating-ui-focusable';\nconst TYPEABLE_SELECTOR = \"input:not([type='hidden']):not([disabled]),\" + \"[contenteditable]:not([contenteditable='false']),textarea:not([disabled])\";\nconst ARROW_LEFT = 'ArrowLeft';\nconst ARROW_RIGHT = 'ArrowRight';\nconst ARROW_UP = 'ArrowUp';\nconst ARROW_DOWN = 'ArrowDown';\n\nfunction activeElement(doc) {\n let activeElement = doc.activeElement;\n while (((_activeElement = activeElement) == null || (_activeElement = _activeElement.shadowRoot) == null ? void 0 : _activeElement.activeElement) != null) {\n var _activeElement;\n activeElement = activeElement.shadowRoot.activeElement;\n }\n return activeElement;\n}\nfunction contains(parent, child) {\n if (!parent || !child) {\n return false;\n }\n const rootNode = child.getRootNode == null ? void 0 : child.getRootNode();\n\n // First, attempt with faster native method\n if (parent.contains(child)) {\n return true;\n }\n\n // then fallback to custom implementation with Shadow DOM support\n if (rootNode && isShadowRoot(rootNode)) {\n let next = child;\n while (next) {\n if (parent === next) {\n return true;\n }\n // @ts-ignore\n next = next.parentNode || next.host;\n }\n }\n\n // Give up, the result is false\n return false;\n}\nfunction getTarget(event) {\n if ('composedPath' in event) {\n return event.composedPath()[0];\n }\n\n // TS thinks `event` is of type never as it assumes all browsers support\n // `composedPath()`, but browsers without shadow DOM don't.\n return event.target;\n}\nfunction isEventTargetWithin(event, node) {\n if (node == null) {\n return false;\n }\n if ('composedPath' in event) {\n return event.composedPath().includes(node);\n }\n\n // TS thinks `event` is of type never as it assumes all browsers support composedPath, but browsers without shadow dom don't\n const e = event;\n return e.target != null && node.contains(e.target);\n}\nfunction isRootElement(element) {\n return element.matches('html,body');\n}\nfunction getDocument(node) {\n return (node == null ? void 0 : node.ownerDocument) || document;\n}\nfunction isTypeableElement(element) {\n return isHTMLElement(element) && element.matches(TYPEABLE_SELECTOR);\n}\nfunction isTypeableCombobox(element) {\n if (!element) return false;\n return element.getAttribute('role') === 'combobox' && isTypeableElement(element);\n}\nfunction matchesFocusVisible(element) {\n // We don't want to block focus from working with `visibleOnly`\n // (JSDOM doesn't match `:focus-visible` when the element has `:focus`)\n if (!element || isJSDOM()) return true;\n try {\n return element.matches(':focus-visible');\n } catch (_e) {\n return true;\n }\n}\nfunction getFloatingFocusElement(floatingElement) {\n if (!floatingElement) {\n return null;\n }\n // Try to find the element that has `{...getFloatingProps()}` spread on it.\n // This indicates the floating element is acting as a positioning wrapper, and\n // so focus should be managed on the child element with the event handlers and\n // aria props.\n return floatingElement.hasAttribute(FOCUSABLE_ATTRIBUTE) ? floatingElement : floatingElement.querySelector(\"[\" + FOCUSABLE_ATTRIBUTE + \"]\") || floatingElement;\n}\n\nfunction getNodeChildren(nodes, id, onlyOpenChildren) {\n if (onlyOpenChildren === void 0) {\n onlyOpenChildren = true;\n }\n let allChildren = nodes.filter(node => {\n var _node$context;\n return node.parentId === id && ((_node$context = node.context) == null ? void 0 : _node$context.open);\n });\n let currentChildren = allChildren;\n while (currentChildren.length) {\n currentChildren = onlyOpenChildren ? nodes.filter(node => {\n var _currentChildren;\n return (_currentChildren = currentChildren) == null ? void 0 : _currentChildren.some(n => {\n var _node$context2;\n return node.parentId === n.id && ((_node$context2 = node.context) == null ? void 0 : _node$context2.open);\n });\n }) : nodes;\n allChildren = allChildren.concat(currentChildren);\n }\n return allChildren;\n}\nfunction getDeepestNode(nodes, id) {\n let deepestNodeId;\n let maxDepth = -1;\n function findDeepest(nodeId, depth) {\n if (depth > maxDepth) {\n deepestNodeId = nodeId;\n maxDepth = depth;\n }\n const children = getNodeChildren(nodes, nodeId);\n children.forEach(child => {\n findDeepest(child.id, depth + 1);\n });\n }\n findDeepest(id, 0);\n return nodes.find(node => node.id === deepestNodeId);\n}\nfunction getNodeAncestors(nodes, id) {\n var _nodes$find;\n let allAncestors = [];\n let currentParentId = (_nodes$find = nodes.find(node => node.id === id)) == null ? void 0 : _nodes$find.parentId;\n while (currentParentId) {\n const currentNode = nodes.find(node => node.id === currentParentId);\n currentParentId = currentNode == null ? void 0 : currentNode.parentId;\n if (currentNode) {\n allAncestors = allAncestors.concat(currentNode);\n }\n }\n return allAncestors;\n}\n\nfunction stopEvent(event) {\n event.preventDefault();\n event.stopPropagation();\n}\nfunction isReactEvent(event) {\n return 'nativeEvent' in event;\n}\n\n// License: https://github.com/adobe/react-spectrum/blob/b35d5c02fe900badccd0cf1a8f23bb593419f238/packages/@react-aria/utils/src/isVirtualEvent.ts\nfunction isVirtualClick(event) {\n // FIXME: Firefox is now emitting a deprecation warning for `mozInputSource`.\n // Try to find a workaround for this. `react-aria` source still has the check.\n if (event.mozInputSource === 0 && event.isTrusted) {\n return true;\n }\n if (isAndroid() && event.pointerType) {\n return event.type === 'click' && event.buttons === 1;\n }\n return event.detail === 0 && !event.pointerType;\n}\nfunction isVirtualPointerEvent(event) {\n if (isJSDOM()) return false;\n return !isAndroid() && event.width === 0 && event.height === 0 || isAndroid() && event.width === 1 && event.height === 1 && event.pressure === 0 && event.detail === 0 && event.pointerType === 'mouse' ||\n // iOS VoiceOver returns 0.333• for width/height.\n event.width < 1 && event.height < 1 && event.pressure === 0 && event.detail === 0 && event.pointerType === 'touch';\n}\nfunction isMouseLikePointerType(pointerType, strict) {\n // On some Linux machines with Chromium, mouse inputs return a `pointerType`\n // of \"pen\": https://github.com/floating-ui/floating-ui/issues/2015\n const values = ['mouse', 'pen'];\n if (!strict) {\n values.push('', undefined);\n }\n return values.includes(pointerType);\n}\n\nvar index = typeof document !== 'undefined' ? useLayoutEffect : useEffect;\n\n// https://github.com/mui/material-ui/issues/41190#issuecomment-2040873379\nconst SafeReact = {\n ...React\n};\n\nfunction useLatestRef(value) {\n const ref = React.useRef(value);\n index(() => {\n ref.current = value;\n });\n return ref;\n}\nconst useInsertionEffect = SafeReact.useInsertionEffect;\nconst useSafeInsertionEffect = useInsertionEffect || (fn => fn());\nfunction useEffectEvent(callback) {\n const ref = React.useRef(() => {\n if (process.env.NODE_ENV !== \"production\") {\n throw new Error('Cannot call an event handler while rendering.');\n }\n });\n useSafeInsertionEffect(() => {\n ref.current = callback;\n });\n return React.useCallback(function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return ref.current == null ? void 0 : ref.current(...args);\n }, []);\n}\n\nfunction isDifferentGridRow(index, cols, prevRow) {\n return Math.floor(index / cols) !== prevRow;\n}\nfunction isIndexOutOfListBounds(listRef, index) {\n return index < 0 || index >= listRef.current.length;\n}\nfunction getMinListIndex(listRef, disabledIndices) {\n return findNonDisabledListIndex(listRef, {\n disabledIndices\n });\n}\nfunction getMaxListIndex(listRef, disabledIndices) {\n return findNonDisabledListIndex(listRef, {\n decrement: true,\n startingIndex: listRef.current.length,\n disabledIndices\n });\n}\nfunction findNonDisabledListIndex(listRef, _temp) {\n let {\n startingIndex = -1,\n decrement = false,\n disabledIndices,\n amount = 1\n } = _temp === void 0 ? {} : _temp;\n let index = startingIndex;\n do {\n index += decrement ? -amount : amount;\n } while (index >= 0 && index <= listRef.current.length - 1 && isListIndexDisabled(listRef, index, disabledIndices));\n return index;\n}\nfunction getGridNavigatedIndex(listRef, _ref) {\n let {\n event,\n orientation,\n loop,\n rtl,\n cols,\n disabledIndices,\n minIndex,\n maxIndex,\n prevIndex,\n stopEvent: stop = false\n } = _ref;\n let nextIndex = prevIndex;\n if (event.key === ARROW_UP) {\n stop && stopEvent(event);\n if (prevIndex === -1) {\n nextIndex = maxIndex;\n } else {\n nextIndex = findNonDisabledListIndex(listRef, {\n startingIndex: nextIndex,\n amount: cols,\n decrement: true,\n disabledIndices\n });\n if (loop && (prevIndex - cols < minIndex || nextIndex < 0)) {\n const col = prevIndex % cols;\n const maxCol = maxIndex % cols;\n const offset = maxIndex - (maxCol - col);\n if (maxCol === col) {\n nextIndex = maxIndex;\n } else {\n nextIndex = maxCol > col ? offset : offset - cols;\n }\n }\n }\n if (isIndexOutOfListBounds(listRef, nextIndex)) {\n nextIndex = prevIndex;\n }\n }\n if (event.key === ARROW_DOWN) {\n stop && stopEvent(event);\n if (prevIndex === -1) {\n nextIndex = minIndex;\n } else {\n nextIndex = findNonDisabledListIndex(listRef, {\n startingIndex: prevIndex,\n amount: cols,\n disabledIndices\n });\n if (loop && prevIndex + cols > maxIndex) {\n nextIndex = findNonDisabledListIndex(listRef, {\n startingIndex: prevIndex % cols - cols,\n amount: cols,\n disabledIndices\n });\n }\n }\n if (isIndexOutOfListBounds(listRef, nextIndex)) {\n nextIndex = prevIndex;\n }\n }\n\n // Remains on the same row/column.\n if (orientation === 'both') {\n const prevRow = floor(prevIndex / cols);\n if (event.key === (rtl ? ARROW_LEFT : ARROW_RIGHT)) {\n stop && stopEvent(event);\n if (prevIndex % cols !== cols - 1) {\n nextIndex = findNonDisabledListIndex(listRef, {\n startingIndex: prevIndex,\n disabledIndices\n });\n if (loop && isDifferentGridRow(nextIndex, cols, prevRow)) {\n nextIndex = findNonDisabledListIndex(listRef, {\n startingIndex: prevIndex - prevIndex % cols - 1,\n disabledIndices\n });\n }\n } else if (loop) {\n nextIndex = findNonDisabledListIndex(listRef, {\n startingIndex: prevIndex - prevIndex % cols - 1,\n disabledIndices\n });\n }\n if (isDifferentGridRow(nextIndex, cols, prevRow)) {\n nextIndex = prevIndex;\n }\n }\n if (event.key === (rtl ? ARROW_RIGHT : ARROW_LEFT)) {\n stop && stopEvent(event);\n if (prevIndex % cols !== 0) {\n nextIndex = findNonDisabledListIndex(listRef, {\n startingIndex: prevIndex,\n decrement: true,\n disabledIndices\n });\n if (loop && isDifferentGridRow(nextIndex, cols, prevRow)) {\n nextIndex = findNonDisabledListIndex(listRef, {\n startingIndex: prevIndex + (cols - prevIndex % cols),\n decrement: true,\n disabledIndices\n });\n }\n } else if (loop) {\n nextIndex = findNonDisabledListIndex(listRef, {\n startingIndex: prevIndex + (cols - prevIndex % cols),\n decrement: true,\n disabledIndices\n });\n }\n if (isDifferentGridRow(nextIndex, cols, prevRow)) {\n nextIndex = prevIndex;\n }\n }\n const lastRow = floor(maxIndex / cols) === prevRow;\n if (isIndexOutOfListBounds(listRef, nextIndex)) {\n if (loop && lastRow) {\n nextIndex = event.key === (rtl ? ARROW_RIGHT : ARROW_LEFT) ? maxIndex : findNonDisabledListIndex(listRef, {\n startingIndex: prevIndex - prevIndex % cols - 1,\n disabledIndices\n });\n } else {\n nextIndex = prevIndex;\n }\n }\n }\n return nextIndex;\n}\n\n/** For each cell index, gets the item index that occupies that cell */\nfunction createGridCellMap(sizes, cols, dense) {\n const cellMap = [];\n let startIndex = 0;\n sizes.forEach((_ref2, index) => {\n let {\n width,\n height\n } = _ref2;\n if (width > cols) {\n if (process.env.NODE_ENV !== \"production\") {\n throw new Error(\"[Floating UI]: Invalid grid - item width at index \" + index + \" is greater than grid columns\");\n }\n }\n let itemPlaced = false;\n if (dense) {\n startIndex = 0;\n }\n while (!itemPlaced) {\n const targetCells = [];\n for (let i = 0; i < width; i++) {\n for (let j = 0; j < height; j++) {\n targetCells.push(startIndex + i + j * cols);\n }\n }\n if (startIndex % cols + width <= cols && targetCells.every(cell => cellMap[cell] == null)) {\n targetCells.forEach(cell => {\n cellMap[cell] = index;\n });\n itemPlaced = true;\n } else {\n startIndex++;\n }\n }\n });\n\n // convert into a non-sparse array\n return [...cellMap];\n}\n\n/** Gets cell index of an item's corner or -1 when index is -1. */\nfunction getGridCellIndexOfCorner(index, sizes, cellMap, cols, corner) {\n if (index === -1) return -1;\n const firstCellIndex = cellMap.indexOf(index);\n const sizeItem = sizes[index];\n switch (corner) {\n case 'tl':\n return firstCellIndex;\n case 'tr':\n if (!sizeItem) {\n return firstCellIndex;\n }\n return firstCellIndex + sizeItem.width - 1;\n case 'bl':\n if (!sizeItem) {\n return firstCellIndex;\n }\n return firstCellIndex + (sizeItem.height - 1) * cols;\n case 'br':\n return cellMap.lastIndexOf(index);\n }\n}\n\n/** Gets all cell indices that correspond to the specified indices */\nfunction getGridCellIndices(indices, cellMap) {\n return cellMap.flatMap((index, cellIndex) => indices.includes(index) ? [cellIndex] : []);\n}\nfunction isListIndexDisabled(listRef, index, disabledIndices) {\n if (typeof disabledIndices === 'function') {\n return disabledIndices(index);\n } else if (disabledIndices) {\n return disabledIndices.includes(index);\n }\n const element = listRef.current[index];\n return element == null || element.hasAttribute('disabled') || element.getAttribute('aria-disabled') === 'true';\n}\n\nconst getTabbableOptions = () => ({\n getShadowRoot: true,\n displayCheck:\n // JSDOM does not support the `tabbable` library. To solve this we can\n // check if `ResizeObserver` is a real function (not polyfilled), which\n // determines if the current environment is JSDOM-like.\n typeof ResizeObserver === 'function' && ResizeObserver.toString().includes('[native code]') ? 'full' : 'none'\n});\nfunction getTabbableIn(container, dir) {\n const list = tabbable(container, getTabbableOptions());\n const len = list.length;\n if (len === 0) return;\n const active = activeElement(getDocument(container));\n const index = list.indexOf(active);\n const nextIndex = index === -1 ? dir === 1 ? 0 : len - 1 : index + dir;\n return list[nextIndex];\n}\nfunction getNextTabbable(referenceElement) {\n return getTabbableIn(getDocument(referenceElement).body, 1) || referenceElement;\n}\nfunction getPreviousTabbable(referenceElement) {\n return getTabbableIn(getDocument(referenceElement).body, -1) || referenceElement;\n}\nfunction isOutsideEvent(event, container) {\n const containerElement = container || event.currentTarget;\n const relatedTarget = event.relatedTarget;\n return !relatedTarget || !contains(containerElement, relatedTarget);\n}\nfunction disableFocusInside(container) {\n const tabbableElements = tabbable(container, getTabbableOptions());\n tabbableElements.forEach(element => {\n element.dataset.tabindex = element.getAttribute('tabindex') || '';\n element.setAttribute('tabindex', '-1');\n });\n}\nfunction enableFocusInside(container) {\n const elements = container.querySelectorAll('[data-tabindex]');\n elements.forEach(element => {\n const tabindex = element.dataset.tabindex;\n delete element.dataset.tabindex;\n if (tabindex) {\n element.setAttribute('tabindex', tabindex);\n } else {\n element.removeAttribute('tabindex');\n }\n });\n}\n\nexport { activeElement, contains, createGridCellMap, disableFocusInside, enableFocusInside, findNonDisabledListIndex, getDeepestNode, getDocument, getFloatingFocusElement, getGridCellIndexOfCorner, getGridCellIndices, getGridNavigatedIndex, getMaxListIndex, getMinListIndex, getNextTabbable, getNodeAncestors, getNodeChildren, getPlatform, getPreviousTabbable, getTabbableOptions, getTarget, getUserAgent, isAndroid, isDifferentGridRow, isEventTargetWithin, isIndexOutOfListBounds, isJSDOM, isListIndexDisabled, isMac, isMouseLikePointerType, isOutsideEvent, isReactEvent, isRootElement, isSafari, isTypeableCombobox, isTypeableElement, isVirtualClick, isVirtualPointerEvent, matchesFocusVisible, stopEvent, useEffectEvent, useLatestRef, index as useModernLayoutEffect };\n"],"names":["index","useLayoutEffect","useEffect","SafeReact","React","useInsertionEffect","useSafeInsertionEffect","fn","useEffectEvent","callback","ref","_len","args","_key"],"mappings":";;AAiOG,IAACA,IAAQ,OAAO,WAAa,MAAcC,IAAkBC;AAGhE,MAAMC,IAAY;AAAA,EAChB,GAAGC;AACL,GASMC,IAAqBF,EAAU,oBAC/BG,IAAyBD,MAAuB,CAAAE,MAAMA;AAC5D,SAASC,EAAeC,GAAU;AAChC,QAAMC,IAAMN,EAAM,OAAO,MAAM;AAC7B,QAAI,QAAQ,IAAI,aAAa;AAC3B,YAAM,IAAI,MAAM,+CAA+C;AAAA,EAErE,CAAG;AACD,SAAAE,EAAuB,MAAM;AAC3B,IAAAI,EAAI,UAAUD;AAAA,EAClB,CAAG,GACML,EAAM,YAAY,WAAY;AACnC,aAASO,IAAO,UAAU,QAAQC,IAAO,IAAI,MAAMD,CAAI,GAAGE,IAAO,GAAGA,IAAOF,GAAME;AAC/E,MAAAD,EAAKC,CAAI,IAAI,UAAUA,CAAI;AAE7B,WAAOH,EAAI,WAAW,OAAO,SAASA,EAAI,QAAQ,GAAGE,CAAI;AAAA,EAC1D,GAAE,EAAE;AACP;","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"annotorious-react.es18.js","sources":["../../../node_modules/@floating-ui/react/dist/floating-ui.react.utils.mjs"],"sourcesContent":["import { isShadowRoot, isHTMLElement } from '@floating-ui/utils/dom';\nimport * as React from 'react';\nimport { useLayoutEffect } from 'react';\nimport { floor } from '@floating-ui/utils';\nimport { tabbable } from 'tabbable';\n\n// Avoid Chrome DevTools blue warning.\nfunction getPlatform() {\n const uaData = navigator.userAgentData;\n if (uaData != null && uaData.platform) {\n return uaData.platform;\n }\n return navigator.platform;\n}\nfunction getUserAgent() {\n const uaData = navigator.userAgentData;\n if (uaData && Array.isArray(uaData.brands)) {\n return uaData.brands.map(_ref => {\n let {\n brand,\n version\n } = _ref;\n return brand + \"/\" + version;\n }).join(' ');\n }\n return navigator.userAgent;\n}\nfunction isSafari() {\n // Chrome DevTools does not complain about navigator.vendor\n return /apple/i.test(navigator.vendor);\n}\nfunction isAndroid() {\n const re = /android/i;\n return re.test(getPlatform()) || re.test(getUserAgent());\n}\nfunction isMac() {\n return getPlatform().toLowerCase().startsWith('mac') && !navigator.maxTouchPoints;\n}\nfunction isJSDOM() {\n return getUserAgent().includes('jsdom/');\n}\n\nconst FOCUSABLE_ATTRIBUTE = 'data-floating-ui-focusable';\nconst TYPEABLE_SELECTOR = \"input:not([type='hidden']):not([disabled]),\" + \"[contenteditable]:not([contenteditable='false']),textarea:not([disabled])\";\nconst ARROW_LEFT = 'ArrowLeft';\nconst ARROW_RIGHT = 'ArrowRight';\nconst ARROW_UP = 'ArrowUp';\nconst ARROW_DOWN = 'ArrowDown';\n\nfunction activeElement(doc) {\n let activeElement = doc.activeElement;\n while (((_activeElement = activeElement) == null || (_activeElement = _activeElement.shadowRoot) == null ? void 0 : _activeElement.activeElement) != null) {\n var _activeElement;\n activeElement = activeElement.shadowRoot.activeElement;\n }\n return activeElement;\n}\nfunction contains(parent, child) {\n if (!parent || !child) {\n return false;\n }\n const rootNode = child.getRootNode == null ? void 0 : child.getRootNode();\n\n // First, attempt with faster native method\n if (parent.contains(child)) {\n return true;\n }\n\n // then fallback to custom implementation with Shadow DOM support\n if (rootNode && isShadowRoot(rootNode)) {\n let next = child;\n while (next) {\n if (parent === next) {\n return true;\n }\n // @ts-ignore\n next = next.parentNode || next.host;\n }\n }\n\n // Give up, the result is false\n return false;\n}\nfunction getTarget(event) {\n if ('composedPath' in event) {\n return event.composedPath()[0];\n }\n\n // TS thinks `event` is of type never as it assumes all browsers support\n // `composedPath()`, but browsers without shadow DOM don't.\n return event.target;\n}\nfunction isEventTargetWithin(event, node) {\n if (node == null) {\n return false;\n }\n if ('composedPath' in event) {\n return event.composedPath().includes(node);\n }\n\n // TS thinks `event` is of type never as it assumes all browsers support composedPath, but browsers without shadow dom don't\n const e = event;\n return e.target != null && node.contains(e.target);\n}\nfunction isRootElement(element) {\n return element.matches('html,body');\n}\nfunction getDocument(node) {\n return (node == null ? void 0 : node.ownerDocument) || document;\n}\nfunction isTypeableElement(element) {\n return isHTMLElement(element) && element.matches(TYPEABLE_SELECTOR);\n}\nfunction isTypeableCombobox(element) {\n if (!element) return false;\n return element.getAttribute('role') === 'combobox' && isTypeableElement(element);\n}\nfunction matchesFocusVisible(element) {\n // We don't want to block focus from working with `visibleOnly`\n // (JSDOM doesn't match `:focus-visible` when the element has `:focus`)\n if (!element || isJSDOM()) return true;\n try {\n return element.matches(':focus-visible');\n } catch (_e) {\n return true;\n }\n}\nfunction getFloatingFocusElement(floatingElement) {\n if (!floatingElement) {\n return null;\n }\n // Try to find the element that has `{...getFloatingProps()}` spread on it.\n // This indicates the floating element is acting as a positioning wrapper, and\n // so focus should be managed on the child element with the event handlers and\n // aria props.\n return floatingElement.hasAttribute(FOCUSABLE_ATTRIBUTE) ? floatingElement : floatingElement.querySelector(\"[\" + FOCUSABLE_ATTRIBUTE + \"]\") || floatingElement;\n}\n\nfunction getNodeChildren(nodes, id) {\n let allChildren = nodes.filter(node => {\n var _node$context;\n return node.parentId === id && ((_node$context = node.context) == null ? void 0 : _node$context.open);\n });\n let currentChildren = allChildren;\n while (currentChildren.length) {\n currentChildren = nodes.filter(node => {\n var _currentChildren;\n return (_currentChildren = currentChildren) == null ? void 0 : _currentChildren.some(n => {\n var _node$context2;\n return node.parentId === n.id && ((_node$context2 = node.context) == null ? void 0 : _node$context2.open);\n });\n });\n allChildren = allChildren.concat(currentChildren);\n }\n return allChildren;\n}\nfunction getDeepestNode(nodes, id) {\n let deepestNodeId;\n let maxDepth = -1;\n function findDeepest(nodeId, depth) {\n if (depth > maxDepth) {\n deepestNodeId = nodeId;\n maxDepth = depth;\n }\n const children = getNodeChildren(nodes, nodeId);\n children.forEach(child => {\n findDeepest(child.id, depth + 1);\n });\n }\n findDeepest(id, 0);\n return nodes.find(node => node.id === deepestNodeId);\n}\nfunction getNodeAncestors(nodes, id) {\n var _nodes$find;\n let allAncestors = [];\n let currentParentId = (_nodes$find = nodes.find(node => node.id === id)) == null ? void 0 : _nodes$find.parentId;\n while (currentParentId) {\n const currentNode = nodes.find(node => node.id === currentParentId);\n currentParentId = currentNode == null ? void 0 : currentNode.parentId;\n if (currentNode) {\n allAncestors = allAncestors.concat(currentNode);\n }\n }\n return allAncestors;\n}\n\nfunction stopEvent(event) {\n event.preventDefault();\n event.stopPropagation();\n}\nfunction isReactEvent(event) {\n return 'nativeEvent' in event;\n}\n\n// License: https://github.com/adobe/react-spectrum/blob/b35d5c02fe900badccd0cf1a8f23bb593419f238/packages/@react-aria/utils/src/isVirtualEvent.ts\nfunction isVirtualClick(event) {\n // FIXME: Firefox is now emitting a deprecation warning for `mozInputSource`.\n // Try to find a workaround for this. `react-aria` source still has the check.\n if (event.mozInputSource === 0 && event.isTrusted) {\n return true;\n }\n if (isAndroid() && event.pointerType) {\n return event.type === 'click' && event.buttons === 1;\n }\n return event.detail === 0 && !event.pointerType;\n}\nfunction isVirtualPointerEvent(event) {\n if (isJSDOM()) return false;\n return !isAndroid() && event.width === 0 && event.height === 0 || isAndroid() && event.width === 1 && event.height === 1 && event.pressure === 0 && event.detail === 0 && event.pointerType === 'mouse' ||\n // iOS VoiceOver returns 0.333• for width/height.\n event.width < 1 && event.height < 1 && event.pressure === 0 && event.detail === 0 && event.pointerType === 'touch';\n}\nfunction isMouseLikePointerType(pointerType, strict) {\n // On some Linux machines with Chromium, mouse inputs return a `pointerType`\n // of \"pen\": https://github.com/floating-ui/floating-ui/issues/2015\n const values = ['mouse', 'pen'];\n if (!strict) {\n values.push('', undefined);\n }\n return values.includes(pointerType);\n}\n\nvar isClient = typeof document !== 'undefined';\n\nvar noop = function noop() {};\nvar index = isClient ? useLayoutEffect : noop;\n\n// https://github.com/mui/material-ui/issues/41190#issuecomment-2040873379\nconst SafeReact = {\n ...React\n};\n\nfunction useLatestRef(value) {\n const ref = React.useRef(value);\n index(() => {\n ref.current = value;\n });\n return ref;\n}\nconst useInsertionEffect = SafeReact.useInsertionEffect;\nconst useSafeInsertionEffect = useInsertionEffect || (fn => fn());\nfunction useEffectEvent(callback) {\n const ref = React.useRef(() => {\n if (process.env.NODE_ENV !== \"production\") {\n throw new Error('Cannot call an event handler while rendering.');\n }\n });\n useSafeInsertionEffect(() => {\n ref.current = callback;\n });\n return React.useCallback(function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return ref.current == null ? void 0 : ref.current(...args);\n }, []);\n}\n\nfunction isDifferentGridRow(index, cols, prevRow) {\n return Math.floor(index / cols) !== prevRow;\n}\nfunction isIndexOutOfListBounds(listRef, index) {\n return index < 0 || index >= listRef.current.length;\n}\nfunction getMinListIndex(listRef, disabledIndices) {\n return findNonDisabledListIndex(listRef, {\n disabledIndices\n });\n}\nfunction getMaxListIndex(listRef, disabledIndices) {\n return findNonDisabledListIndex(listRef, {\n decrement: true,\n startingIndex: listRef.current.length,\n disabledIndices\n });\n}\nfunction findNonDisabledListIndex(listRef, _temp) {\n let {\n startingIndex = -1,\n decrement = false,\n disabledIndices,\n amount = 1\n } = _temp === void 0 ? {} : _temp;\n let index = startingIndex;\n do {\n index += decrement ? -amount : amount;\n } while (index >= 0 && index <= listRef.current.length - 1 && isListIndexDisabled(listRef, index, disabledIndices));\n return index;\n}\nfunction getGridNavigatedIndex(listRef, _ref) {\n let {\n event,\n orientation,\n loop,\n rtl,\n cols,\n disabledIndices,\n minIndex,\n maxIndex,\n prevIndex,\n stopEvent: stop = false\n } = _ref;\n let nextIndex = prevIndex;\n if (event.key === ARROW_UP) {\n stop && stopEvent(event);\n if (prevIndex === -1) {\n nextIndex = maxIndex;\n } else {\n nextIndex = findNonDisabledListIndex(listRef, {\n startingIndex: nextIndex,\n amount: cols,\n decrement: true,\n disabledIndices\n });\n if (loop && (prevIndex - cols < minIndex || nextIndex < 0)) {\n const col = prevIndex % cols;\n const maxCol = maxIndex % cols;\n const offset = maxIndex - (maxCol - col);\n if (maxCol === col) {\n nextIndex = maxIndex;\n } else {\n nextIndex = maxCol > col ? offset : offset - cols;\n }\n }\n }\n if (isIndexOutOfListBounds(listRef, nextIndex)) {\n nextIndex = prevIndex;\n }\n }\n if (event.key === ARROW_DOWN) {\n stop && stopEvent(event);\n if (prevIndex === -1) {\n nextIndex = minIndex;\n } else {\n nextIndex = findNonDisabledListIndex(listRef, {\n startingIndex: prevIndex,\n amount: cols,\n disabledIndices\n });\n if (loop && prevIndex + cols > maxIndex) {\n nextIndex = findNonDisabledListIndex(listRef, {\n startingIndex: prevIndex % cols - cols,\n amount: cols,\n disabledIndices\n });\n }\n }\n if (isIndexOutOfListBounds(listRef, nextIndex)) {\n nextIndex = prevIndex;\n }\n }\n\n // Remains on the same row/column.\n if (orientation === 'both') {\n const prevRow = floor(prevIndex / cols);\n if (event.key === (rtl ? ARROW_LEFT : ARROW_RIGHT)) {\n stop && stopEvent(event);\n if (prevIndex % cols !== cols - 1) {\n nextIndex = findNonDisabledListIndex(listRef, {\n startingIndex: prevIndex,\n disabledIndices\n });\n if (loop && isDifferentGridRow(nextIndex, cols, prevRow)) {\n nextIndex = findNonDisabledListIndex(listRef, {\n startingIndex: prevIndex - prevIndex % cols - 1,\n disabledIndices\n });\n }\n } else if (loop) {\n nextIndex = findNonDisabledListIndex(listRef, {\n startingIndex: prevIndex - prevIndex % cols - 1,\n disabledIndices\n });\n }\n if (isDifferentGridRow(nextIndex, cols, prevRow)) {\n nextIndex = prevIndex;\n }\n }\n if (event.key === (rtl ? ARROW_RIGHT : ARROW_LEFT)) {\n stop && stopEvent(event);\n if (prevIndex % cols !== 0) {\n nextIndex = findNonDisabledListIndex(listRef, {\n startingIndex: prevIndex,\n decrement: true,\n disabledIndices\n });\n if (loop && isDifferentGridRow(nextIndex, cols, prevRow)) {\n nextIndex = findNonDisabledListIndex(listRef, {\n startingIndex: prevIndex + (cols - prevIndex % cols),\n decrement: true,\n disabledIndices\n });\n }\n } else if (loop) {\n nextIndex = findNonDisabledListIndex(listRef, {\n startingIndex: prevIndex + (cols - prevIndex % cols),\n decrement: true,\n disabledIndices\n });\n }\n if (isDifferentGridRow(nextIndex, cols, prevRow)) {\n nextIndex = prevIndex;\n }\n }\n const lastRow = floor(maxIndex / cols) === prevRow;\n if (isIndexOutOfListBounds(listRef, nextIndex)) {\n if (loop && lastRow) {\n nextIndex = event.key === (rtl ? ARROW_RIGHT : ARROW_LEFT) ? maxIndex : findNonDisabledListIndex(listRef, {\n startingIndex: prevIndex - prevIndex % cols - 1,\n disabledIndices\n });\n } else {\n nextIndex = prevIndex;\n }\n }\n }\n return nextIndex;\n}\n\n/** For each cell index, gets the item index that occupies that cell */\nfunction createGridCellMap(sizes, cols, dense) {\n const cellMap = [];\n let startIndex = 0;\n sizes.forEach((_ref2, index) => {\n let {\n width,\n height\n } = _ref2;\n if (width > cols) {\n if (process.env.NODE_ENV !== \"production\") {\n throw new Error(\"[Floating UI]: Invalid grid - item width at index \" + index + \" is greater than grid columns\");\n }\n }\n let itemPlaced = false;\n if (dense) {\n startIndex = 0;\n }\n while (!itemPlaced) {\n const targetCells = [];\n for (let i = 0; i < width; i++) {\n for (let j = 0; j < height; j++) {\n targetCells.push(startIndex + i + j * cols);\n }\n }\n if (startIndex % cols + width <= cols && targetCells.every(cell => cellMap[cell] == null)) {\n targetCells.forEach(cell => {\n cellMap[cell] = index;\n });\n itemPlaced = true;\n } else {\n startIndex++;\n }\n }\n });\n\n // convert into a non-sparse array\n return [...cellMap];\n}\n\n/** Gets cell index of an item's corner or -1 when index is -1. */\nfunction getGridCellIndexOfCorner(index, sizes, cellMap, cols, corner) {\n if (index === -1) return -1;\n const firstCellIndex = cellMap.indexOf(index);\n const sizeItem = sizes[index];\n switch (corner) {\n case 'tl':\n return firstCellIndex;\n case 'tr':\n if (!sizeItem) {\n return firstCellIndex;\n }\n return firstCellIndex + sizeItem.width - 1;\n case 'bl':\n if (!sizeItem) {\n return firstCellIndex;\n }\n return firstCellIndex + (sizeItem.height - 1) * cols;\n case 'br':\n return cellMap.lastIndexOf(index);\n }\n}\n\n/** Gets all cell indices that correspond to the specified indices */\nfunction getGridCellIndices(indices, cellMap) {\n return cellMap.flatMap((index, cellIndex) => indices.includes(index) ? [cellIndex] : []);\n}\nfunction isListIndexDisabled(listRef, index, disabledIndices) {\n if (typeof disabledIndices === 'function') {\n return disabledIndices(index);\n } else if (disabledIndices) {\n return disabledIndices.includes(index);\n }\n const element = listRef.current[index];\n return element == null || element.hasAttribute('disabled') || element.getAttribute('aria-disabled') === 'true';\n}\n\nconst getTabbableOptions = () => ({\n getShadowRoot: true,\n displayCheck:\n // JSDOM does not support the `tabbable` library. To solve this we can\n // check if `ResizeObserver` is a real function (not polyfilled), which\n // determines if the current environment is JSDOM-like.\n typeof ResizeObserver === 'function' && ResizeObserver.toString().includes('[native code]') ? 'full' : 'none'\n});\nfunction getTabbableIn(container, dir) {\n const list = tabbable(container, getTabbableOptions());\n const len = list.length;\n if (len === 0) return;\n const active = activeElement(getDocument(container));\n const index = list.indexOf(active);\n const nextIndex = index === -1 ? dir === 1 ? 0 : len - 1 : index + dir;\n return list[nextIndex];\n}\nfunction getNextTabbable(referenceElement) {\n return getTabbableIn(getDocument(referenceElement).body, 1) || referenceElement;\n}\nfunction getPreviousTabbable(referenceElement) {\n return getTabbableIn(getDocument(referenceElement).body, -1) || referenceElement;\n}\nfunction isOutsideEvent(event, container) {\n const containerElement = container || event.currentTarget;\n const relatedTarget = event.relatedTarget;\n return !relatedTarget || !contains(containerElement, relatedTarget);\n}\nfunction disableFocusInside(container) {\n const tabbableElements = tabbable(container, getTabbableOptions());\n tabbableElements.forEach(element => {\n element.dataset.tabindex = element.getAttribute('tabindex') || '';\n element.setAttribute('tabindex', '-1');\n });\n}\nfunction enableFocusInside(container) {\n const elements = container.querySelectorAll('[data-tabindex]');\n elements.forEach(element => {\n const tabindex = element.dataset.tabindex;\n delete element.dataset.tabindex;\n if (tabindex) {\n element.setAttribute('tabindex', tabindex);\n } else {\n element.removeAttribute('tabindex');\n }\n });\n}\n\nexport { activeElement, contains, createGridCellMap, disableFocusInside, enableFocusInside, findNonDisabledListIndex, getDeepestNode, getDocument, getFloatingFocusElement, getGridCellIndexOfCorner, getGridCellIndices, getGridNavigatedIndex, getMaxListIndex, getMinListIndex, getNextTabbable, getNodeAncestors, getNodeChildren, getPlatform, getPreviousTabbable, getTabbableOptions, getTarget, getUserAgent, isAndroid, isDifferentGridRow, isEventTargetWithin, isIndexOutOfListBounds, isJSDOM, isListIndexDisabled, isMac, isMouseLikePointerType, isOutsideEvent, isReactEvent, isRootElement, isSafari, isTypeableCombobox, isTypeableElement, isVirtualClick, isVirtualPointerEvent, matchesFocusVisible, stopEvent, useEffectEvent, useLatestRef, index as useModernLayoutEffect };\n"],"names":["isClient","noop","index","useLayoutEffect","SafeReact","React","useInsertionEffect","useSafeInsertionEffect","fn","useEffectEvent","callback","ref","_len","args","_key"],"mappings":";;AA8NA,IAAIA,IAAW,OAAO,WAAa,KAE/BC,IAAO,WAAgB;AAAE,GACzBC,IAAQF,IAAWG,IAAkBF;AAGzC,MAAMG,IAAY;AAAA,EAChB,GAAGC;AACL,GASMC,IAAqBF,EAAU,oBAC/BG,IAAyBD,MAAuB,CAAAE,MAAMA;AAC5D,SAASC,EAAeC,GAAU;AAChC,QAAMC,IAAMN,EAAM,OAAO,MAAM;AAC7B,QAAI,QAAQ,IAAI,aAAa;AAC3B,YAAM,IAAI,MAAM,+CAA+C;AAAA,EAErE,CAAG;AACD,SAAAE,EAAuB,MAAM;AAC3B,IAAAI,EAAI,UAAUD;AAAA,EAClB,CAAG,GACML,EAAM,YAAY,WAAY;AACnC,aAASO,IAAO,UAAU,QAAQC,IAAO,IAAI,MAAMD,CAAI,GAAGE,IAAO,GAAGA,IAAOF,GAAME;AAC/E,MAAAD,EAAKC,CAAI,IAAI,UAAUA,CAAI;AAE7B,WAAOH,EAAI,WAAW,OAAO,SAASA,EAAI,QAAQ,GAAGE,CAAI;AAAA,EAC1D,GAAE,EAAE;AACP;","x_google_ignoreList":[0]}
|