@krosoft/react 0.0.87 → 0.0.89

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/dist/{AppSubTitle-DaFa30Qp.js → AppSubTitle-RKbtrPJr.js} +1 -1
  2. package/dist/{AppTitle-COtcNGNr.js → AppTitle-DCQpP2qE.js} +27 -27
  3. package/dist/AppVerticalTabs-pK3i9ZTD.js +110 -0
  4. package/dist/FormDialog-CXLQG83d.js +250 -0
  5. package/dist/{MetricCard-L5ETuqBs.js → MetricCard-DB1ME6tD.js} +3 -3
  6. package/dist/{SearchInput-BxnaShYy.js → SearchInput-D_SLIZ2y.js} +37 -37
  7. package/dist/{TableFilter-RzydxKBF.js → TableFilter-DXTOY-oa.js} +22 -22
  8. package/dist/{TableSettings-Bwysm3KH.js → TableSettings-CBtuAPgM.js} +27 -27
  9. package/dist/{ThemeSelector-mZBbr2qt.js → ThemeSelector-CU8JmN2b.js} +14 -15
  10. package/dist/{Topbar-DzFClMWt.js → Topbar-BzZxu1Zi.js} +28 -29
  11. package/dist/{badge-DCS7KMnM.js → badge-DyRSpnOb.js} +3 -3
  12. package/dist/components/core/cards/index.js +1 -1
  13. package/dist/components/core/dialogs/index.js +12 -11
  14. package/dist/components/core/filters/index.js +1 -1
  15. package/dist/components/core/index.js +55 -54
  16. package/dist/components/core/inputs/index.js +1 -1
  17. package/dist/components/core/layouts/index.js +2 -2
  18. package/dist/components/core/navbar/index.js +1 -1
  19. package/dist/components/core/table/index.js +1 -1
  20. package/dist/components/core/tabs/index.js +1 -1
  21. package/dist/components/core/theme/index.js +1 -1
  22. package/dist/components/index.js +136 -108
  23. package/dist/components/ui/index.d.ts +8 -0
  24. package/dist/components/ui/index.d.ts.map +1 -1
  25. package/dist/components/ui/index.js +89 -50
  26. package/dist/ellipsis-vertical-CqrunffH.js +15 -0
  27. package/dist/{select-C6w0ck7-.js → select-B5wF6jxC.js} +6 -6
  28. package/dist/skeleton-CJ1F2tD3.js +8 -0
  29. package/dist/tabs-BYqvMsA6.js +6628 -0
  30. package/dist/tooltip-BzTGwm2E.js +2505 -0
  31. package/package.json +2 -2
  32. package/dist/AppVerticalTabs-aeKDheVe.js +0 -829
  33. package/dist/FormDialog-B3u7bHU_.js +0 -472
  34. package/dist/dropdown-menu-BDcm9kW8.js +0 -1086
  35. package/dist/index-DUnCfjrC.js +0 -2176
  36. package/dist/popover-PsZp711z.js +0 -4533
  37. package/dist/tooltip-CtjaR1qq.js +0 -337
@@ -0,0 +1,2505 @@
1
+ import { c as mn } from "./createLucideIcon-CRdjzt2A.js";
2
+ import { jsx as P, Fragment as hn, jsxs as gn } from "react/jsx-runtime";
3
+ import { a as vn, c as wt } from "./index-gWiv5-6R.js";
4
+ import * as f from "react";
5
+ import { useLayoutEffect as yn } from "react";
6
+ import * as xt from "react-dom";
7
+ const ot = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, rt = vn, wn = (e, t) => (n) => {
8
+ var o;
9
+ if ((t == null ? void 0 : t.variants) == null) return rt(e, n == null ? void 0 : n.class, n == null ? void 0 : n.className);
10
+ const { variants: r, defaultVariants: i } = t, s = Object.keys(r).map((l) => {
11
+ const u = n == null ? void 0 : n[l], d = i == null ? void 0 : i[l];
12
+ if (u === null) return null;
13
+ const m = ot(u) || ot(d);
14
+ return r[l][m];
15
+ }), c = n && Object.entries(n).reduce((l, u) => {
16
+ let [d, m] = u;
17
+ return m === void 0 || (l[d] = m), l;
18
+ }, {}), a = t == null || (o = t.compoundVariants) === null || o === void 0 ? void 0 : o.reduce((l, u) => {
19
+ let { class: d, className: m, ...p } = u;
20
+ return Object.entries(p).every((h) => {
21
+ let [g, v] = h;
22
+ return Array.isArray(v) ? v.includes({
23
+ ...i,
24
+ ...c
25
+ }[g]) : {
26
+ ...i,
27
+ ...c
28
+ }[g] === v;
29
+ }) ? [
30
+ ...l,
31
+ d,
32
+ m
33
+ ] : l;
34
+ }, []);
35
+ return rt(e, s, a, n == null ? void 0 : n.class, n == null ? void 0 : n.className);
36
+ };
37
+ function it(e, t) {
38
+ if (typeof e == "function")
39
+ return e(t);
40
+ e != null && (e.current = t);
41
+ }
42
+ function Fe(...e) {
43
+ return (t) => {
44
+ let n = !1;
45
+ const o = e.map((r) => {
46
+ const i = it(r, t);
47
+ return !n && typeof i == "function" && (n = !0), i;
48
+ });
49
+ if (n)
50
+ return () => {
51
+ for (let r = 0; r < o.length; r++) {
52
+ const i = o[r];
53
+ typeof i == "function" ? i() : it(e[r], null);
54
+ }
55
+ };
56
+ };
57
+ }
58
+ function te(...e) {
59
+ return f.useCallback(Fe(...e), e);
60
+ }
61
+ function Zr(e, t) {
62
+ const n = f.createContext(t), o = (i) => {
63
+ const { children: s, ...c } = i, a = f.useMemo(() => c, Object.values(c));
64
+ return /* @__PURE__ */ P(n.Provider, { value: a, children: s });
65
+ };
66
+ o.displayName = e + "Provider";
67
+ function r(i) {
68
+ const s = f.useContext(n);
69
+ if (s) return s;
70
+ if (t !== void 0) return t;
71
+ throw new Error(`\`${i}\` must be used within \`${e}\``);
72
+ }
73
+ return [o, r];
74
+ }
75
+ function bt(e, t = []) {
76
+ let n = [];
77
+ function o(i, s) {
78
+ const c = f.createContext(s), a = n.length;
79
+ n = [...n, s];
80
+ const l = (d) => {
81
+ var y;
82
+ const { scope: m, children: p, ...h } = d, g = ((y = m == null ? void 0 : m[e]) == null ? void 0 : y[a]) || c, v = f.useMemo(() => h, Object.values(h));
83
+ return /* @__PURE__ */ P(g.Provider, { value: v, children: p });
84
+ };
85
+ l.displayName = i + "Provider";
86
+ function u(d, m) {
87
+ var g;
88
+ const p = ((g = m == null ? void 0 : m[e]) == null ? void 0 : g[a]) || c, h = f.useContext(p);
89
+ if (h) return h;
90
+ if (s !== void 0) return s;
91
+ throw new Error(`\`${d}\` must be used within \`${i}\``);
92
+ }
93
+ return [l, u];
94
+ }
95
+ const r = () => {
96
+ const i = n.map((s) => f.createContext(s));
97
+ return function(c) {
98
+ const a = (c == null ? void 0 : c[e]) || i;
99
+ return f.useMemo(
100
+ () => ({ [`__scope${e}`]: { ...c, [e]: a } }),
101
+ [c, a]
102
+ );
103
+ };
104
+ };
105
+ return r.scopeName = e, [o, xn(r, ...t)];
106
+ }
107
+ function xn(...e) {
108
+ const t = e[0];
109
+ if (e.length === 1) return t;
110
+ const n = () => {
111
+ const o = e.map((r) => ({
112
+ useScope: r(),
113
+ scopeName: r.scopeName
114
+ }));
115
+ return function(i) {
116
+ const s = o.reduce((c, { useScope: a, scopeName: l }) => {
117
+ const d = a(i)[`__scope${l}`];
118
+ return { ...c, ...d };
119
+ }, {});
120
+ return f.useMemo(() => ({ [`__scope${t.scopeName}`]: s }), [s]);
121
+ };
122
+ };
123
+ return n.scopeName = t.scopeName, n;
124
+ }
125
+ function Y(e, t, { checkForDefaultPrevented: n = !0 } = {}) {
126
+ return function(r) {
127
+ if (e == null || e(r), n === !1 || !r.defaultPrevented)
128
+ return t == null ? void 0 : t(r);
129
+ };
130
+ }
131
+ var Q = globalThis != null && globalThis.document ? f.useLayoutEffect : () => {
132
+ }, bn = f[" useInsertionEffect ".trim().toString()] || Q;
133
+ function Cn({
134
+ prop: e,
135
+ defaultProp: t,
136
+ onChange: n = () => {
137
+ },
138
+ caller: o
139
+ }) {
140
+ const [r, i, s] = En({
141
+ defaultProp: t,
142
+ onChange: n
143
+ }), c = e !== void 0, a = c ? e : r;
144
+ {
145
+ const u = f.useRef(e !== void 0);
146
+ f.useEffect(() => {
147
+ const d = u.current;
148
+ d !== c && console.warn(
149
+ `${o} is changing from ${d ? "controlled" : "uncontrolled"} to ${c ? "controlled" : "uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`
150
+ ), u.current = c;
151
+ }, [c, o]);
152
+ }
153
+ const l = f.useCallback(
154
+ (u) => {
155
+ var d;
156
+ if (c) {
157
+ const m = Rn(u) ? u(e) : u;
158
+ m !== e && ((d = s.current) == null || d.call(s, m));
159
+ } else
160
+ i(u);
161
+ },
162
+ [c, e, i, s]
163
+ );
164
+ return [a, l];
165
+ }
166
+ function En({
167
+ defaultProp: e,
168
+ onChange: t
169
+ }) {
170
+ const [n, o] = f.useState(e), r = f.useRef(n), i = f.useRef(t);
171
+ return bn(() => {
172
+ i.current = t;
173
+ }, [t]), f.useEffect(() => {
174
+ var s;
175
+ r.current !== n && ((s = i.current) == null || s.call(i, n), r.current = n);
176
+ }, [n, r]), [n, o, i];
177
+ }
178
+ function Rn(e) {
179
+ return typeof e == "function";
180
+ }
181
+ function Pn(e) {
182
+ const [t, n] = f.useState(void 0);
183
+ return Q(() => {
184
+ if (e) {
185
+ n({ width: e.offsetWidth, height: e.offsetHeight });
186
+ const o = new ResizeObserver((r) => {
187
+ if (!Array.isArray(r) || !r.length)
188
+ return;
189
+ const i = r[0];
190
+ let s, c;
191
+ if ("borderBoxSize" in i) {
192
+ const a = i.borderBoxSize, l = Array.isArray(a) ? a[0] : a;
193
+ s = l.inlineSize, c = l.blockSize;
194
+ } else
195
+ s = e.offsetWidth, c = e.offsetHeight;
196
+ n({ width: s, height: c });
197
+ });
198
+ return o.observe(e, { box: "border-box" }), () => o.unobserve(e);
199
+ } else
200
+ n(void 0);
201
+ }, [e]), t;
202
+ }
203
+ function An(e, t) {
204
+ return f.useReducer((n, o) => t[n][o] ?? n, e);
205
+ }
206
+ var Ct = (e) => {
207
+ const { present: t, children: n } = e, o = On(t), r = typeof n == "function" ? n({ present: o.isPresent }) : f.Children.only(n), i = te(o.ref, Sn(r));
208
+ return typeof n == "function" || o.isPresent ? f.cloneElement(r, { ref: i }) : null;
209
+ };
210
+ Ct.displayName = "Presence";
211
+ function On(e) {
212
+ const [t, n] = f.useState(), o = f.useRef(null), r = f.useRef(e), i = f.useRef("none"), s = e ? "mounted" : "unmounted", [c, a] = An(s, {
213
+ mounted: {
214
+ UNMOUNT: "unmounted",
215
+ ANIMATION_OUT: "unmountSuspended"
216
+ },
217
+ unmountSuspended: {
218
+ MOUNT: "mounted",
219
+ ANIMATION_END: "unmounted"
220
+ },
221
+ unmounted: {
222
+ MOUNT: "mounted"
223
+ }
224
+ });
225
+ return f.useEffect(() => {
226
+ const l = me(o.current);
227
+ i.current = c === "mounted" ? l : "none";
228
+ }, [c]), Q(() => {
229
+ const l = o.current, u = r.current;
230
+ if (u !== e) {
231
+ const m = i.current, p = me(l);
232
+ e ? a("MOUNT") : p === "none" || (l == null ? void 0 : l.display) === "none" ? a("UNMOUNT") : a(u && m !== p ? "ANIMATION_OUT" : "UNMOUNT"), r.current = e;
233
+ }
234
+ }, [e, a]), Q(() => {
235
+ if (t) {
236
+ let l;
237
+ const u = t.ownerDocument.defaultView ?? window, d = (p) => {
238
+ const g = me(o.current).includes(CSS.escape(p.animationName));
239
+ if (p.target === t && g && (a("ANIMATION_END"), !r.current)) {
240
+ const v = t.style.animationFillMode;
241
+ t.style.animationFillMode = "forwards", l = u.setTimeout(() => {
242
+ t.style.animationFillMode === "forwards" && (t.style.animationFillMode = v);
243
+ });
244
+ }
245
+ }, m = (p) => {
246
+ p.target === t && (i.current = me(o.current));
247
+ };
248
+ return t.addEventListener("animationstart", m), t.addEventListener("animationcancel", d), t.addEventListener("animationend", d), () => {
249
+ u.clearTimeout(l), t.removeEventListener("animationstart", m), t.removeEventListener("animationcancel", d), t.removeEventListener("animationend", d);
250
+ };
251
+ } else
252
+ a("ANIMATION_END");
253
+ }, [t, a]), {
254
+ isPresent: ["mounted", "unmountSuspended"].includes(c),
255
+ ref: f.useCallback((l) => {
256
+ o.current = l ? getComputedStyle(l) : null, n(l);
257
+ }, [])
258
+ };
259
+ }
260
+ function me(e) {
261
+ return (e == null ? void 0 : e.animationName) || "none";
262
+ }
263
+ function Sn(e) {
264
+ var o, r;
265
+ let t = (o = Object.getOwnPropertyDescriptor(e.props, "ref")) == null ? void 0 : o.get, n = t && "isReactWarning" in t && t.isReactWarning;
266
+ return n ? e.ref : (t = (r = Object.getOwnPropertyDescriptor(e, "ref")) == null ? void 0 : r.get, n = t && "isReactWarning" in t && t.isReactWarning, n ? e.props.ref : e.props.ref || e.ref);
267
+ }
268
+ // @__NO_SIDE_EFFECTS__
269
+ function Tn(e) {
270
+ const t = /* @__PURE__ */ Dn(e), n = f.forwardRef((o, r) => {
271
+ const { children: i, ...s } = o, c = f.Children.toArray(i), a = c.find(Nn);
272
+ if (a) {
273
+ const l = a.props.children, u = c.map((d) => d === a ? f.Children.count(l) > 1 ? f.Children.only(null) : f.isValidElement(l) ? l.props.children : null : d);
274
+ return /* @__PURE__ */ P(t, { ...s, ref: r, children: f.isValidElement(l) ? f.cloneElement(l, void 0, u) : null });
275
+ }
276
+ return /* @__PURE__ */ P(t, { ...s, ref: r, children: i });
277
+ });
278
+ return n.displayName = `${e}.Slot`, n;
279
+ }
280
+ // @__NO_SIDE_EFFECTS__
281
+ function Dn(e) {
282
+ const t = f.forwardRef((n, o) => {
283
+ const { children: r, ...i } = n;
284
+ if (f.isValidElement(r)) {
285
+ const s = Mn(r), c = _n(i, r.props);
286
+ return r.type !== f.Fragment && (c.ref = o ? Fe(o, s) : s), f.cloneElement(r, c);
287
+ }
288
+ return f.Children.count(r) > 1 ? f.Children.only(null) : null;
289
+ });
290
+ return t.displayName = `${e}.SlotClone`, t;
291
+ }
292
+ var Ln = Symbol("radix.slottable");
293
+ function Nn(e) {
294
+ return f.isValidElement(e) && typeof e.type == "function" && "__radixId" in e.type && e.type.__radixId === Ln;
295
+ }
296
+ function _n(e, t) {
297
+ const n = { ...t };
298
+ for (const o in t) {
299
+ const r = e[o], i = t[o];
300
+ /^on[A-Z]/.test(o) ? r && i ? n[o] = (...c) => {
301
+ const a = i(...c);
302
+ return r(...c), a;
303
+ } : r && (n[o] = r) : o === "style" ? n[o] = { ...r, ...i } : o === "className" && (n[o] = [r, i].filter(Boolean).join(" "));
304
+ }
305
+ return { ...e, ...n };
306
+ }
307
+ function Mn(e) {
308
+ var o, r;
309
+ let t = (o = Object.getOwnPropertyDescriptor(e.props, "ref")) == null ? void 0 : o.get, n = t && "isReactWarning" in t && t.isReactWarning;
310
+ return n ? e.ref : (t = (r = Object.getOwnPropertyDescriptor(e, "ref")) == null ? void 0 : r.get, n = t && "isReactWarning" in t && t.isReactWarning, n ? e.props.ref : e.props.ref || e.ref);
311
+ }
312
+ var $n = [
313
+ "a",
314
+ "button",
315
+ "div",
316
+ "form",
317
+ "h2",
318
+ "h3",
319
+ "img",
320
+ "input",
321
+ "label",
322
+ "li",
323
+ "nav",
324
+ "ol",
325
+ "p",
326
+ "select",
327
+ "span",
328
+ "svg",
329
+ "ul"
330
+ ], ne = $n.reduce((e, t) => {
331
+ const n = /* @__PURE__ */ Tn(`Primitive.${t}`), o = f.forwardRef((r, i) => {
332
+ const { asChild: s, ...c } = r, a = s ? n : t;
333
+ return typeof window < "u" && (window[Symbol.for("radix-ui")] = !0), /* @__PURE__ */ P(a, { ...c, ref: i });
334
+ });
335
+ return o.displayName = `Primitive.${t}`, { ...e, [t]: o };
336
+ }, {});
337
+ function kn(e, t) {
338
+ e && xt.flushSync(() => e.dispatchEvent(t));
339
+ }
340
+ /**
341
+ * @license lucide-react v1.16.0 - ISC
342
+ *
343
+ * This source code is licensed under the ISC license.
344
+ * See the LICENSE file in the root directory of this source tree.
345
+ */
346
+ const In = [["path", { d: "m6 9 6 6 6-6", key: "qrunsl" }]], Jr = mn("chevron-down", In);
347
+ var Wn = Symbol.for("react.lazy"), ve = f[" use ".trim().toString()];
348
+ function Fn(e) {
349
+ return typeof e == "object" && e !== null && "then" in e;
350
+ }
351
+ function Et(e) {
352
+ return e != null && typeof e == "object" && "$$typeof" in e && e.$$typeof === Wn && "_payload" in e && Fn(e._payload);
353
+ }
354
+ // @__NO_SIDE_EFFECTS__
355
+ function Bn(e) {
356
+ const t = /* @__PURE__ */ Vn(e), n = f.forwardRef((o, r) => {
357
+ let { children: i, ...s } = o;
358
+ Et(i) && typeof ve == "function" && (i = ve(i._payload));
359
+ const c = f.Children.toArray(i), a = c.find(jn);
360
+ if (a) {
361
+ const l = a.props.children, u = c.map((d) => d === a ? f.Children.count(l) > 1 ? f.Children.only(null) : f.isValidElement(l) ? l.props.children : null : d);
362
+ return /* @__PURE__ */ P(t, { ...s, ref: r, children: f.isValidElement(l) ? f.cloneElement(l, void 0, u) : null });
363
+ }
364
+ return /* @__PURE__ */ P(t, { ...s, ref: r, children: i });
365
+ });
366
+ return n.displayName = `${e}.Slot`, n;
367
+ }
368
+ var Hn = /* @__PURE__ */ Bn("Slot");
369
+ // @__NO_SIDE_EFFECTS__
370
+ function Vn(e) {
371
+ const t = f.forwardRef((n, o) => {
372
+ let { children: r, ...i } = n;
373
+ if (Et(r) && typeof ve == "function" && (r = ve(r._payload)), f.isValidElement(r)) {
374
+ const s = Yn(r), c = Un(i, r.props);
375
+ return r.type !== f.Fragment && (c.ref = o ? Fe(o, s) : s), f.cloneElement(r, c);
376
+ }
377
+ return f.Children.count(r) > 1 ? f.Children.only(null) : null;
378
+ });
379
+ return t.displayName = `${e}.SlotClone`, t;
380
+ }
381
+ var zn = Symbol("radix.slottable");
382
+ function jn(e) {
383
+ return f.isValidElement(e) && typeof e.type == "function" && "__radixId" in e.type && e.type.__radixId === zn;
384
+ }
385
+ function Un(e, t) {
386
+ const n = { ...t };
387
+ for (const o in t) {
388
+ const r = e[o], i = t[o];
389
+ /^on[A-Z]/.test(o) ? r && i ? n[o] = (...c) => {
390
+ const a = i(...c);
391
+ return r(...c), a;
392
+ } : r && (n[o] = r) : o === "style" ? n[o] = { ...r, ...i } : o === "className" && (n[o] = [r, i].filter(Boolean).join(" "));
393
+ }
394
+ return { ...e, ...n };
395
+ }
396
+ function Yn(e) {
397
+ var o, r;
398
+ let t = (o = Object.getOwnPropertyDescriptor(e.props, "ref")) == null ? void 0 : o.get, n = t && "isReactWarning" in t && t.isReactWarning;
399
+ return n ? e.ref : (t = (r = Object.getOwnPropertyDescriptor(e, "ref")) == null ? void 0 : r.get, n = t && "isReactWarning" in t && t.isReactWarning, n ? e.props.ref : e.props.ref || e.ref);
400
+ }
401
+ const Xn = wn(
402
+ "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
403
+ {
404
+ variants: {
405
+ variant: {
406
+ default: "bg-primary text-primary-foreground hover:bg-primary/90",
407
+ destructive: "bg-destructive text-destructive-foreground hover:bg-destructive/90",
408
+ outline: "border border-input bg-background hover:bg-accent hover:text-accent-foreground",
409
+ secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80",
410
+ ghost: "hover:bg-accent hover:text-accent-foreground",
411
+ link: "text-primary underline-offset-4 hover:underline",
412
+ styled: "bg-gradient-to-r from-slate-900 to-purple-700 hover:from-slate-800 hover:to-purple-600 text-white shadow-lg shadow-purple-500/25 px-6 h-12"
413
+ },
414
+ size: {
415
+ default: "h-10 px-4 py-2",
416
+ sm: "h-9 rounded-md px-3",
417
+ lg: "h-11 rounded-md px-8",
418
+ icon: "h-10 w-10"
419
+ }
420
+ },
421
+ defaultVariants: {
422
+ variant: "default",
423
+ size: "default"
424
+ }
425
+ }
426
+ ), qn = f.forwardRef(({ className: e, variant: t, size: n, asChild: o = !1, ...r }, i) => /* @__PURE__ */ P(o ? Hn : "button", { className: wt(Xn({ variant: t, size: n, className: e })), ref: i, ...r }));
427
+ qn.displayName = "Button";
428
+ function Ce(e) {
429
+ const t = f.useRef(e);
430
+ return f.useEffect(() => {
431
+ t.current = e;
432
+ }), f.useMemo(() => (...n) => {
433
+ var o;
434
+ return (o = t.current) == null ? void 0 : o.call(t, ...n);
435
+ }, []);
436
+ }
437
+ function Gn(e, t = globalThis == null ? void 0 : globalThis.document) {
438
+ const n = Ce(e);
439
+ f.useEffect(() => {
440
+ const o = (r) => {
441
+ r.key === "Escape" && n(r);
442
+ };
443
+ return t.addEventListener("keydown", o, { capture: !0 }), () => t.removeEventListener("keydown", o, { capture: !0 });
444
+ }, [n, t]);
445
+ }
446
+ var Kn = "DismissableLayer", _e = "dismissableLayer.update", Zn = "dismissableLayer.pointerDownOutside", Jn = "dismissableLayer.focusOutside", st, Rt = f.createContext({
447
+ layers: /* @__PURE__ */ new Set(),
448
+ layersWithOutsidePointerEventsDisabled: /* @__PURE__ */ new Set(),
449
+ branches: /* @__PURE__ */ new Set()
450
+ }), Be = f.forwardRef(
451
+ (e, t) => {
452
+ const {
453
+ disableOutsidePointerEvents: n = !1,
454
+ onEscapeKeyDown: o,
455
+ onPointerDownOutside: r,
456
+ onFocusOutside: i,
457
+ onInteractOutside: s,
458
+ onDismiss: c,
459
+ ...a
460
+ } = e, l = f.useContext(Rt), [u, d] = f.useState(null), m = (u == null ? void 0 : u.ownerDocument) ?? (globalThis == null ? void 0 : globalThis.document), [, p] = f.useState({}), h = te(t, (C) => d(C)), g = Array.from(l.layers), [v] = [...l.layersWithOutsidePointerEventsDisabled].slice(-1), y = g.indexOf(v), w = u ? g.indexOf(u) : -1, b = l.layersWithOutsidePointerEventsDisabled.size > 0, x = w >= y, R = eo((C) => {
461
+ const O = C.target, _ = [...l.branches].some((S) => S.contains(O));
462
+ !x || _ || (r == null || r(C), s == null || s(C), C.defaultPrevented || c == null || c());
463
+ }, m), E = to((C) => {
464
+ const O = C.target;
465
+ [...l.branches].some((S) => S.contains(O)) || (i == null || i(C), s == null || s(C), C.defaultPrevented || c == null || c());
466
+ }, m);
467
+ return Gn((C) => {
468
+ w === l.layers.size - 1 && (o == null || o(C), !C.defaultPrevented && c && (C.preventDefault(), c()));
469
+ }, m), f.useEffect(() => {
470
+ if (u)
471
+ return n && (l.layersWithOutsidePointerEventsDisabled.size === 0 && (st = m.body.style.pointerEvents, m.body.style.pointerEvents = "none"), l.layersWithOutsidePointerEventsDisabled.add(u)), l.layers.add(u), ct(), () => {
472
+ n && l.layersWithOutsidePointerEventsDisabled.size === 1 && (m.body.style.pointerEvents = st);
473
+ };
474
+ }, [u, m, n, l]), f.useEffect(() => () => {
475
+ u && (l.layers.delete(u), l.layersWithOutsidePointerEventsDisabled.delete(u), ct());
476
+ }, [u, l]), f.useEffect(() => {
477
+ const C = () => p({});
478
+ return document.addEventListener(_e, C), () => document.removeEventListener(_e, C);
479
+ }, []), /* @__PURE__ */ P(
480
+ ne.div,
481
+ {
482
+ ...a,
483
+ ref: h,
484
+ style: {
485
+ pointerEvents: b ? x ? "auto" : "none" : void 0,
486
+ ...e.style
487
+ },
488
+ onFocusCapture: Y(e.onFocusCapture, E.onFocusCapture),
489
+ onBlurCapture: Y(e.onBlurCapture, E.onBlurCapture),
490
+ onPointerDownCapture: Y(
491
+ e.onPointerDownCapture,
492
+ R.onPointerDownCapture
493
+ )
494
+ }
495
+ );
496
+ }
497
+ );
498
+ Be.displayName = Kn;
499
+ var Qn = "DismissableLayerBranch", Pt = f.forwardRef((e, t) => {
500
+ const n = f.useContext(Rt), o = f.useRef(null), r = te(t, o);
501
+ return f.useEffect(() => {
502
+ const i = o.current;
503
+ if (i)
504
+ return n.branches.add(i), () => {
505
+ n.branches.delete(i);
506
+ };
507
+ }, [n.branches]), /* @__PURE__ */ P(ne.div, { ...e, ref: r });
508
+ });
509
+ Pt.displayName = Qn;
510
+ function eo(e, t = globalThis == null ? void 0 : globalThis.document) {
511
+ const n = Ce(e), o = f.useRef(!1), r = f.useRef(() => {
512
+ });
513
+ return f.useEffect(() => {
514
+ const i = (c) => {
515
+ if (c.target && !o.current) {
516
+ let a = function() {
517
+ At(
518
+ Zn,
519
+ n,
520
+ l,
521
+ { discrete: !0 }
522
+ );
523
+ };
524
+ const l = { originalEvent: c };
525
+ c.pointerType === "touch" ? (t.removeEventListener("click", r.current), r.current = a, t.addEventListener("click", r.current, { once: !0 })) : a();
526
+ } else
527
+ t.removeEventListener("click", r.current);
528
+ o.current = !1;
529
+ }, s = window.setTimeout(() => {
530
+ t.addEventListener("pointerdown", i);
531
+ }, 0);
532
+ return () => {
533
+ window.clearTimeout(s), t.removeEventListener("pointerdown", i), t.removeEventListener("click", r.current);
534
+ };
535
+ }, [t, n]), {
536
+ // ensures we check React component tree (not just DOM tree)
537
+ onPointerDownCapture: () => o.current = !0
538
+ };
539
+ }
540
+ function to(e, t = globalThis == null ? void 0 : globalThis.document) {
541
+ const n = Ce(e), o = f.useRef(!1);
542
+ return f.useEffect(() => {
543
+ const r = (i) => {
544
+ i.target && !o.current && At(Jn, n, { originalEvent: i }, {
545
+ discrete: !1
546
+ });
547
+ };
548
+ return t.addEventListener("focusin", r), () => t.removeEventListener("focusin", r);
549
+ }, [t, n]), {
550
+ onFocusCapture: () => o.current = !0,
551
+ onBlurCapture: () => o.current = !1
552
+ };
553
+ }
554
+ function ct() {
555
+ const e = new CustomEvent(_e);
556
+ document.dispatchEvent(e);
557
+ }
558
+ function At(e, t, n, { discrete: o }) {
559
+ const r = n.originalEvent.target, i = new CustomEvent(e, { bubbles: !1, cancelable: !0, detail: n });
560
+ t && r.addEventListener(e, t, { once: !0 }), o ? kn(r, i) : r.dispatchEvent(i);
561
+ }
562
+ var Qr = Be, ei = Pt, no = Object.freeze({
563
+ // See: https://github.com/twbs/bootstrap/blob/main/scss/mixins/_visually-hidden.scss
564
+ position: "absolute",
565
+ border: 0,
566
+ width: 1,
567
+ height: 1,
568
+ padding: 0,
569
+ margin: -1,
570
+ overflow: "hidden",
571
+ clip: "rect(0, 0, 0, 0)",
572
+ whiteSpace: "nowrap",
573
+ wordWrap: "normal"
574
+ }), oo = "VisuallyHidden", Ot = f.forwardRef(
575
+ (e, t) => /* @__PURE__ */ P(
576
+ ne.span,
577
+ {
578
+ ...e,
579
+ ref: t,
580
+ style: { ...no, ...e.style }
581
+ }
582
+ )
583
+ );
584
+ Ot.displayName = oo;
585
+ var ro = Ot, io = f[" useId ".trim().toString()] || (() => {
586
+ }), so = 0;
587
+ function co(e) {
588
+ const [t, n] = f.useState(io());
589
+ return Q(() => {
590
+ n((o) => o ?? String(so++));
591
+ }, [e]), t ? `radix-${t}` : "";
592
+ }
593
+ const ao = ["top", "right", "bottom", "left"], K = Math.min, W = Math.max, ye = Math.round, he = Math.floor, j = (e) => ({
594
+ x: e,
595
+ y: e
596
+ }), lo = {
597
+ left: "right",
598
+ right: "left",
599
+ bottom: "top",
600
+ top: "bottom"
601
+ };
602
+ function Me(e, t, n) {
603
+ return W(e, K(t, n));
604
+ }
605
+ function X(e, t) {
606
+ return typeof e == "function" ? e(t) : e;
607
+ }
608
+ function q(e) {
609
+ return e.split("-")[0];
610
+ }
611
+ function se(e) {
612
+ return e.split("-")[1];
613
+ }
614
+ function He(e) {
615
+ return e === "x" ? "y" : "x";
616
+ }
617
+ function Ve(e) {
618
+ return e === "y" ? "height" : "width";
619
+ }
620
+ function z(e) {
621
+ const t = e[0];
622
+ return t === "t" || t === "b" ? "y" : "x";
623
+ }
624
+ function ze(e) {
625
+ return He(z(e));
626
+ }
627
+ function uo(e, t, n) {
628
+ n === void 0 && (n = !1);
629
+ const o = se(e), r = ze(e), i = Ve(r);
630
+ let s = r === "x" ? o === (n ? "end" : "start") ? "right" : "left" : o === "start" ? "bottom" : "top";
631
+ return t.reference[i] > t.floating[i] && (s = we(s)), [s, we(s)];
632
+ }
633
+ function fo(e) {
634
+ const t = we(e);
635
+ return [$e(e), t, $e(t)];
636
+ }
637
+ function $e(e) {
638
+ return e.includes("start") ? e.replace("start", "end") : e.replace("end", "start");
639
+ }
640
+ const at = ["left", "right"], lt = ["right", "left"], po = ["top", "bottom"], mo = ["bottom", "top"];
641
+ function ho(e, t, n) {
642
+ switch (e) {
643
+ case "top":
644
+ case "bottom":
645
+ return n ? t ? lt : at : t ? at : lt;
646
+ case "left":
647
+ case "right":
648
+ return t ? po : mo;
649
+ default:
650
+ return [];
651
+ }
652
+ }
653
+ function go(e, t, n, o) {
654
+ const r = se(e);
655
+ let i = ho(q(e), n === "start", o);
656
+ return r && (i = i.map((s) => s + "-" + r), t && (i = i.concat(i.map($e)))), i;
657
+ }
658
+ function we(e) {
659
+ const t = q(e);
660
+ return lo[t] + e.slice(t.length);
661
+ }
662
+ function vo(e) {
663
+ return {
664
+ top: 0,
665
+ right: 0,
666
+ bottom: 0,
667
+ left: 0,
668
+ ...e
669
+ };
670
+ }
671
+ function St(e) {
672
+ return typeof e != "number" ? vo(e) : {
673
+ top: e,
674
+ right: e,
675
+ bottom: e,
676
+ left: e
677
+ };
678
+ }
679
+ function xe(e) {
680
+ const {
681
+ x: t,
682
+ y: n,
683
+ width: o,
684
+ height: r
685
+ } = e;
686
+ return {
687
+ width: o,
688
+ height: r,
689
+ top: n,
690
+ left: t,
691
+ right: t + o,
692
+ bottom: n + r,
693
+ x: t,
694
+ y: n
695
+ };
696
+ }
697
+ function ut(e, t, n) {
698
+ let {
699
+ reference: o,
700
+ floating: r
701
+ } = e;
702
+ const i = z(t), s = ze(t), c = Ve(s), a = q(t), l = i === "y", u = o.x + o.width / 2 - r.width / 2, d = o.y + o.height / 2 - r.height / 2, m = o[c] / 2 - r[c] / 2;
703
+ let p;
704
+ switch (a) {
705
+ case "top":
706
+ p = {
707
+ x: u,
708
+ y: o.y - r.height
709
+ };
710
+ break;
711
+ case "bottom":
712
+ p = {
713
+ x: u,
714
+ y: o.y + o.height
715
+ };
716
+ break;
717
+ case "right":
718
+ p = {
719
+ x: o.x + o.width,
720
+ y: d
721
+ };
722
+ break;
723
+ case "left":
724
+ p = {
725
+ x: o.x - r.width,
726
+ y: d
727
+ };
728
+ break;
729
+ default:
730
+ p = {
731
+ x: o.x,
732
+ y: o.y
733
+ };
734
+ }
735
+ switch (se(t)) {
736
+ case "start":
737
+ p[s] -= m * (n && l ? -1 : 1);
738
+ break;
739
+ case "end":
740
+ p[s] += m * (n && l ? -1 : 1);
741
+ break;
742
+ }
743
+ return p;
744
+ }
745
+ async function yo(e, t) {
746
+ var n;
747
+ t === void 0 && (t = {});
748
+ const {
749
+ x: o,
750
+ y: r,
751
+ platform: i,
752
+ rects: s,
753
+ elements: c,
754
+ strategy: a
755
+ } = e, {
756
+ boundary: l = "clippingAncestors",
757
+ rootBoundary: u = "viewport",
758
+ elementContext: d = "floating",
759
+ altBoundary: m = !1,
760
+ padding: p = 0
761
+ } = X(t, e), h = St(p), v = c[m ? d === "floating" ? "reference" : "floating" : d], y = xe(await i.getClippingRect({
762
+ element: (n = await (i.isElement == null ? void 0 : i.isElement(v))) == null || n ? v : v.contextElement || await (i.getDocumentElement == null ? void 0 : i.getDocumentElement(c.floating)),
763
+ boundary: l,
764
+ rootBoundary: u,
765
+ strategy: a
766
+ })), w = d === "floating" ? {
767
+ x: o,
768
+ y: r,
769
+ width: s.floating.width,
770
+ height: s.floating.height
771
+ } : s.reference, b = await (i.getOffsetParent == null ? void 0 : i.getOffsetParent(c.floating)), x = await (i.isElement == null ? void 0 : i.isElement(b)) ? await (i.getScale == null ? void 0 : i.getScale(b)) || {
772
+ x: 1,
773
+ y: 1
774
+ } : {
775
+ x: 1,
776
+ y: 1
777
+ }, R = xe(i.convertOffsetParentRelativeRectToViewportRelativeRect ? await i.convertOffsetParentRelativeRectToViewportRelativeRect({
778
+ elements: c,
779
+ rect: w,
780
+ offsetParent: b,
781
+ strategy: a
782
+ }) : w);
783
+ return {
784
+ top: (y.top - R.top + h.top) / x.y,
785
+ bottom: (R.bottom - y.bottom + h.bottom) / x.y,
786
+ left: (y.left - R.left + h.left) / x.x,
787
+ right: (R.right - y.right + h.right) / x.x
788
+ };
789
+ }
790
+ const wo = 50, xo = async (e, t, n) => {
791
+ const {
792
+ placement: o = "bottom",
793
+ strategy: r = "absolute",
794
+ middleware: i = [],
795
+ platform: s
796
+ } = n, c = s.detectOverflow ? s : {
797
+ ...s,
798
+ detectOverflow: yo
799
+ }, a = await (s.isRTL == null ? void 0 : s.isRTL(t));
800
+ let l = await s.getElementRects({
801
+ reference: e,
802
+ floating: t,
803
+ strategy: r
804
+ }), {
805
+ x: u,
806
+ y: d
807
+ } = ut(l, o, a), m = o, p = 0;
808
+ const h = {};
809
+ for (let g = 0; g < i.length; g++) {
810
+ const v = i[g];
811
+ if (!v)
812
+ continue;
813
+ const {
814
+ name: y,
815
+ fn: w
816
+ } = v, {
817
+ x: b,
818
+ y: x,
819
+ data: R,
820
+ reset: E
821
+ } = await w({
822
+ x: u,
823
+ y: d,
824
+ initialPlacement: o,
825
+ placement: m,
826
+ strategy: r,
827
+ middlewareData: h,
828
+ rects: l,
829
+ platform: c,
830
+ elements: {
831
+ reference: e,
832
+ floating: t
833
+ }
834
+ });
835
+ u = b ?? u, d = x ?? d, h[y] = {
836
+ ...h[y],
837
+ ...R
838
+ }, E && p < wo && (p++, typeof E == "object" && (E.placement && (m = E.placement), E.rects && (l = E.rects === !0 ? await s.getElementRects({
839
+ reference: e,
840
+ floating: t,
841
+ strategy: r
842
+ }) : E.rects), {
843
+ x: u,
844
+ y: d
845
+ } = ut(l, m, a)), g = -1);
846
+ }
847
+ return {
848
+ x: u,
849
+ y: d,
850
+ placement: m,
851
+ strategy: r,
852
+ middlewareData: h
853
+ };
854
+ }, bo = (e) => ({
855
+ name: "arrow",
856
+ options: e,
857
+ async fn(t) {
858
+ const {
859
+ x: n,
860
+ y: o,
861
+ placement: r,
862
+ rects: i,
863
+ platform: s,
864
+ elements: c,
865
+ middlewareData: a
866
+ } = t, {
867
+ element: l,
868
+ padding: u = 0
869
+ } = X(e, t) || {};
870
+ if (l == null)
871
+ return {};
872
+ const d = St(u), m = {
873
+ x: n,
874
+ y: o
875
+ }, p = ze(r), h = Ve(p), g = await s.getDimensions(l), v = p === "y", y = v ? "top" : "left", w = v ? "bottom" : "right", b = v ? "clientHeight" : "clientWidth", x = i.reference[h] + i.reference[p] - m[p] - i.floating[h], R = m[p] - i.reference[p], E = await (s.getOffsetParent == null ? void 0 : s.getOffsetParent(l));
876
+ let C = E ? E[b] : 0;
877
+ (!C || !await (s.isElement == null ? void 0 : s.isElement(E))) && (C = c.floating[b] || i.floating[h]);
878
+ const O = x / 2 - R / 2, _ = C / 2 - g[h] / 2 - 1, S = K(d[y], _), $ = K(d[w], _), k = S, D = C - g[h] - $, T = C / 2 - g[h] / 2 + O, I = Me(k, T, D), L = !a.arrow && se(r) != null && T !== I && i.reference[h] / 2 - (T < k ? S : $) - g[h] / 2 < 0, N = L ? T < k ? T - k : T - D : 0;
879
+ return {
880
+ [p]: m[p] + N,
881
+ data: {
882
+ [p]: I,
883
+ centerOffset: T - I - N,
884
+ ...L && {
885
+ alignmentOffset: N
886
+ }
887
+ },
888
+ reset: L
889
+ };
890
+ }
891
+ }), Co = function(e) {
892
+ return e === void 0 && (e = {}), {
893
+ name: "flip",
894
+ options: e,
895
+ async fn(t) {
896
+ var n, o;
897
+ const {
898
+ placement: r,
899
+ middlewareData: i,
900
+ rects: s,
901
+ initialPlacement: c,
902
+ platform: a,
903
+ elements: l
904
+ } = t, {
905
+ mainAxis: u = !0,
906
+ crossAxis: d = !0,
907
+ fallbackPlacements: m,
908
+ fallbackStrategy: p = "bestFit",
909
+ fallbackAxisSideDirection: h = "none",
910
+ flipAlignment: g = !0,
911
+ ...v
912
+ } = X(e, t);
913
+ if ((n = i.arrow) != null && n.alignmentOffset)
914
+ return {};
915
+ const y = q(r), w = z(c), b = q(c) === c, x = await (a.isRTL == null ? void 0 : a.isRTL(l.floating)), R = m || (b || !g ? [we(c)] : fo(c)), E = h !== "none";
916
+ !m && E && R.push(...go(c, g, h, x));
917
+ const C = [c, ...R], O = await a.detectOverflow(t, v), _ = [];
918
+ let S = ((o = i.flip) == null ? void 0 : o.overflows) || [];
919
+ if (u && _.push(O[y]), d) {
920
+ const T = uo(r, s, x);
921
+ _.push(O[T[0]], O[T[1]]);
922
+ }
923
+ if (S = [...S, {
924
+ placement: r,
925
+ overflows: _
926
+ }], !_.every((T) => T <= 0)) {
927
+ var $, k;
928
+ const T = ((($ = i.flip) == null ? void 0 : $.index) || 0) + 1, I = C[T];
929
+ if (I && (!(d === "alignment" ? w !== z(I) : !1) || // We leave the current main axis only if every placement on that axis
930
+ // overflows the main axis.
931
+ S.every((A) => z(A.placement) === w ? A.overflows[0] > 0 : !0)))
932
+ return {
933
+ data: {
934
+ index: T,
935
+ overflows: S
936
+ },
937
+ reset: {
938
+ placement: I
939
+ }
940
+ };
941
+ let L = (k = S.filter((N) => N.overflows[0] <= 0).sort((N, A) => N.overflows[1] - A.overflows[1])[0]) == null ? void 0 : k.placement;
942
+ if (!L)
943
+ switch (p) {
944
+ case "bestFit": {
945
+ var D;
946
+ const N = (D = S.filter((A) => {
947
+ if (E) {
948
+ const M = z(A.placement);
949
+ return M === w || // Create a bias to the `y` side axis due to horizontal
950
+ // reading directions favoring greater width.
951
+ M === "y";
952
+ }
953
+ return !0;
954
+ }).map((A) => [A.placement, A.overflows.filter((M) => M > 0).reduce((M, V) => M + V, 0)]).sort((A, M) => A[1] - M[1])[0]) == null ? void 0 : D[0];
955
+ N && (L = N);
956
+ break;
957
+ }
958
+ case "initialPlacement":
959
+ L = c;
960
+ break;
961
+ }
962
+ if (r !== L)
963
+ return {
964
+ reset: {
965
+ placement: L
966
+ }
967
+ };
968
+ }
969
+ return {};
970
+ }
971
+ };
972
+ };
973
+ function ft(e, t) {
974
+ return {
975
+ top: e.top - t.height,
976
+ right: e.right - t.width,
977
+ bottom: e.bottom - t.height,
978
+ left: e.left - t.width
979
+ };
980
+ }
981
+ function dt(e) {
982
+ return ao.some((t) => e[t] >= 0);
983
+ }
984
+ const Eo = function(e) {
985
+ return e === void 0 && (e = {}), {
986
+ name: "hide",
987
+ options: e,
988
+ async fn(t) {
989
+ const {
990
+ rects: n,
991
+ platform: o
992
+ } = t, {
993
+ strategy: r = "referenceHidden",
994
+ ...i
995
+ } = X(e, t);
996
+ switch (r) {
997
+ case "referenceHidden": {
998
+ const s = await o.detectOverflow(t, {
999
+ ...i,
1000
+ elementContext: "reference"
1001
+ }), c = ft(s, n.reference);
1002
+ return {
1003
+ data: {
1004
+ referenceHiddenOffsets: c,
1005
+ referenceHidden: dt(c)
1006
+ }
1007
+ };
1008
+ }
1009
+ case "escaped": {
1010
+ const s = await o.detectOverflow(t, {
1011
+ ...i,
1012
+ altBoundary: !0
1013
+ }), c = ft(s, n.floating);
1014
+ return {
1015
+ data: {
1016
+ escapedOffsets: c,
1017
+ escaped: dt(c)
1018
+ }
1019
+ };
1020
+ }
1021
+ default:
1022
+ return {};
1023
+ }
1024
+ }
1025
+ };
1026
+ }, Tt = /* @__PURE__ */ new Set(["left", "top"]);
1027
+ async function Ro(e, t) {
1028
+ const {
1029
+ placement: n,
1030
+ platform: o,
1031
+ elements: r
1032
+ } = e, i = await (o.isRTL == null ? void 0 : o.isRTL(r.floating)), s = q(n), c = se(n), a = z(n) === "y", l = Tt.has(s) ? -1 : 1, u = i && a ? -1 : 1, d = X(t, e);
1033
+ let {
1034
+ mainAxis: m,
1035
+ crossAxis: p,
1036
+ alignmentAxis: h
1037
+ } = typeof d == "number" ? {
1038
+ mainAxis: d,
1039
+ crossAxis: 0,
1040
+ alignmentAxis: null
1041
+ } : {
1042
+ mainAxis: d.mainAxis || 0,
1043
+ crossAxis: d.crossAxis || 0,
1044
+ alignmentAxis: d.alignmentAxis
1045
+ };
1046
+ return c && typeof h == "number" && (p = c === "end" ? h * -1 : h), a ? {
1047
+ x: p * u,
1048
+ y: m * l
1049
+ } : {
1050
+ x: m * l,
1051
+ y: p * u
1052
+ };
1053
+ }
1054
+ const Po = function(e) {
1055
+ return e === void 0 && (e = 0), {
1056
+ name: "offset",
1057
+ options: e,
1058
+ async fn(t) {
1059
+ var n, o;
1060
+ const {
1061
+ x: r,
1062
+ y: i,
1063
+ placement: s,
1064
+ middlewareData: c
1065
+ } = t, a = await Ro(t, e);
1066
+ return s === ((n = c.offset) == null ? void 0 : n.placement) && (o = c.arrow) != null && o.alignmentOffset ? {} : {
1067
+ x: r + a.x,
1068
+ y: i + a.y,
1069
+ data: {
1070
+ ...a,
1071
+ placement: s
1072
+ }
1073
+ };
1074
+ }
1075
+ };
1076
+ }, Ao = function(e) {
1077
+ return e === void 0 && (e = {}), {
1078
+ name: "shift",
1079
+ options: e,
1080
+ async fn(t) {
1081
+ const {
1082
+ x: n,
1083
+ y: o,
1084
+ placement: r,
1085
+ platform: i
1086
+ } = t, {
1087
+ mainAxis: s = !0,
1088
+ crossAxis: c = !1,
1089
+ limiter: a = {
1090
+ fn: (y) => {
1091
+ let {
1092
+ x: w,
1093
+ y: b
1094
+ } = y;
1095
+ return {
1096
+ x: w,
1097
+ y: b
1098
+ };
1099
+ }
1100
+ },
1101
+ ...l
1102
+ } = X(e, t), u = {
1103
+ x: n,
1104
+ y: o
1105
+ }, d = await i.detectOverflow(t, l), m = z(q(r)), p = He(m);
1106
+ let h = u[p], g = u[m];
1107
+ if (s) {
1108
+ const y = p === "y" ? "top" : "left", w = p === "y" ? "bottom" : "right", b = h + d[y], x = h - d[w];
1109
+ h = Me(b, h, x);
1110
+ }
1111
+ if (c) {
1112
+ const y = m === "y" ? "top" : "left", w = m === "y" ? "bottom" : "right", b = g + d[y], x = g - d[w];
1113
+ g = Me(b, g, x);
1114
+ }
1115
+ const v = a.fn({
1116
+ ...t,
1117
+ [p]: h,
1118
+ [m]: g
1119
+ });
1120
+ return {
1121
+ ...v,
1122
+ data: {
1123
+ x: v.x - n,
1124
+ y: v.y - o,
1125
+ enabled: {
1126
+ [p]: s,
1127
+ [m]: c
1128
+ }
1129
+ }
1130
+ };
1131
+ }
1132
+ };
1133
+ }, Oo = function(e) {
1134
+ return e === void 0 && (e = {}), {
1135
+ options: e,
1136
+ fn(t) {
1137
+ const {
1138
+ x: n,
1139
+ y: o,
1140
+ placement: r,
1141
+ rects: i,
1142
+ middlewareData: s
1143
+ } = t, {
1144
+ offset: c = 0,
1145
+ mainAxis: a = !0,
1146
+ crossAxis: l = !0
1147
+ } = X(e, t), u = {
1148
+ x: n,
1149
+ y: o
1150
+ }, d = z(r), m = He(d);
1151
+ let p = u[m], h = u[d];
1152
+ const g = X(c, t), v = typeof g == "number" ? {
1153
+ mainAxis: g,
1154
+ crossAxis: 0
1155
+ } : {
1156
+ mainAxis: 0,
1157
+ crossAxis: 0,
1158
+ ...g
1159
+ };
1160
+ if (a) {
1161
+ const b = m === "y" ? "height" : "width", x = i.reference[m] - i.floating[b] + v.mainAxis, R = i.reference[m] + i.reference[b] - v.mainAxis;
1162
+ p < x ? p = x : p > R && (p = R);
1163
+ }
1164
+ if (l) {
1165
+ var y, w;
1166
+ const b = m === "y" ? "width" : "height", x = Tt.has(q(r)), R = i.reference[d] - i.floating[b] + (x && ((y = s.offset) == null ? void 0 : y[d]) || 0) + (x ? 0 : v.crossAxis), E = i.reference[d] + i.reference[b] + (x ? 0 : ((w = s.offset) == null ? void 0 : w[d]) || 0) - (x ? v.crossAxis : 0);
1167
+ h < R ? h = R : h > E && (h = E);
1168
+ }
1169
+ return {
1170
+ [m]: p,
1171
+ [d]: h
1172
+ };
1173
+ }
1174
+ };
1175
+ }, So = function(e) {
1176
+ return e === void 0 && (e = {}), {
1177
+ name: "size",
1178
+ options: e,
1179
+ async fn(t) {
1180
+ var n, o;
1181
+ const {
1182
+ placement: r,
1183
+ rects: i,
1184
+ platform: s,
1185
+ elements: c
1186
+ } = t, {
1187
+ apply: a = () => {
1188
+ },
1189
+ ...l
1190
+ } = X(e, t), u = await s.detectOverflow(t, l), d = q(r), m = se(r), p = z(r) === "y", {
1191
+ width: h,
1192
+ height: g
1193
+ } = i.floating;
1194
+ let v, y;
1195
+ d === "top" || d === "bottom" ? (v = d, y = m === (await (s.isRTL == null ? void 0 : s.isRTL(c.floating)) ? "start" : "end") ? "left" : "right") : (y = d, v = m === "end" ? "top" : "bottom");
1196
+ const w = g - u.top - u.bottom, b = h - u.left - u.right, x = K(g - u[v], w), R = K(h - u[y], b), E = !t.middlewareData.shift;
1197
+ let C = x, O = R;
1198
+ if ((n = t.middlewareData.shift) != null && n.enabled.x && (O = b), (o = t.middlewareData.shift) != null && o.enabled.y && (C = w), E && !m) {
1199
+ const S = W(u.left, 0), $ = W(u.right, 0), k = W(u.top, 0), D = W(u.bottom, 0);
1200
+ p ? O = h - 2 * (S !== 0 || $ !== 0 ? S + $ : W(u.left, u.right)) : C = g - 2 * (k !== 0 || D !== 0 ? k + D : W(u.top, u.bottom));
1201
+ }
1202
+ await a({
1203
+ ...t,
1204
+ availableWidth: O,
1205
+ availableHeight: C
1206
+ });
1207
+ const _ = await s.getDimensions(c.floating);
1208
+ return h !== _.width || g !== _.height ? {
1209
+ reset: {
1210
+ rects: !0
1211
+ }
1212
+ } : {};
1213
+ }
1214
+ };
1215
+ };
1216
+ function Ee() {
1217
+ return typeof window < "u";
1218
+ }
1219
+ function ce(e) {
1220
+ return Dt(e) ? (e.nodeName || "").toLowerCase() : "#document";
1221
+ }
1222
+ function F(e) {
1223
+ var t;
1224
+ return (e == null || (t = e.ownerDocument) == null ? void 0 : t.defaultView) || window;
1225
+ }
1226
+ function U(e) {
1227
+ var t;
1228
+ return (t = (Dt(e) ? e.ownerDocument : e.document) || window.document) == null ? void 0 : t.documentElement;
1229
+ }
1230
+ function Dt(e) {
1231
+ return Ee() ? e instanceof Node || e instanceof F(e).Node : !1;
1232
+ }
1233
+ function B(e) {
1234
+ return Ee() ? e instanceof Element || e instanceof F(e).Element : !1;
1235
+ }
1236
+ function G(e) {
1237
+ return Ee() ? e instanceof HTMLElement || e instanceof F(e).HTMLElement : !1;
1238
+ }
1239
+ function pt(e) {
1240
+ return !Ee() || typeof ShadowRoot > "u" ? !1 : e instanceof ShadowRoot || e instanceof F(e).ShadowRoot;
1241
+ }
1242
+ function fe(e) {
1243
+ const {
1244
+ overflow: t,
1245
+ overflowX: n,
1246
+ overflowY: o,
1247
+ display: r
1248
+ } = H(e);
1249
+ return /auto|scroll|overlay|hidden|clip/.test(t + o + n) && r !== "inline" && r !== "contents";
1250
+ }
1251
+ function To(e) {
1252
+ return /^(table|td|th)$/.test(ce(e));
1253
+ }
1254
+ function Re(e) {
1255
+ try {
1256
+ if (e.matches(":popover-open"))
1257
+ return !0;
1258
+ } catch {
1259
+ }
1260
+ try {
1261
+ return e.matches(":modal");
1262
+ } catch {
1263
+ return !1;
1264
+ }
1265
+ }
1266
+ const Do = /transform|translate|scale|rotate|perspective|filter/, Lo = /paint|layout|strict|content/, J = (e) => !!e && e !== "none";
1267
+ let De;
1268
+ function je(e) {
1269
+ const t = B(e) ? H(e) : e;
1270
+ return J(t.transform) || J(t.translate) || J(t.scale) || J(t.rotate) || J(t.perspective) || !Ue() && (J(t.backdropFilter) || J(t.filter)) || Do.test(t.willChange || "") || Lo.test(t.contain || "");
1271
+ }
1272
+ function No(e) {
1273
+ let t = Z(e);
1274
+ for (; G(t) && !re(t); ) {
1275
+ if (je(t))
1276
+ return t;
1277
+ if (Re(t))
1278
+ return null;
1279
+ t = Z(t);
1280
+ }
1281
+ return null;
1282
+ }
1283
+ function Ue() {
1284
+ return De == null && (De = typeof CSS < "u" && CSS.supports && CSS.supports("-webkit-backdrop-filter", "none")), De;
1285
+ }
1286
+ function re(e) {
1287
+ return /^(html|body|#document)$/.test(ce(e));
1288
+ }
1289
+ function H(e) {
1290
+ return F(e).getComputedStyle(e);
1291
+ }
1292
+ function Pe(e) {
1293
+ return B(e) ? {
1294
+ scrollLeft: e.scrollLeft,
1295
+ scrollTop: e.scrollTop
1296
+ } : {
1297
+ scrollLeft: e.scrollX,
1298
+ scrollTop: e.scrollY
1299
+ };
1300
+ }
1301
+ function Z(e) {
1302
+ if (ce(e) === "html")
1303
+ return e;
1304
+ const t = (
1305
+ // Step into the shadow DOM of the parent of a slotted node.
1306
+ e.assignedSlot || // DOM Element detected.
1307
+ e.parentNode || // ShadowRoot detected.
1308
+ pt(e) && e.host || // Fallback.
1309
+ U(e)
1310
+ );
1311
+ return pt(t) ? t.host : t;
1312
+ }
1313
+ function Lt(e) {
1314
+ const t = Z(e);
1315
+ return re(t) ? e.ownerDocument ? e.ownerDocument.body : e.body : G(t) && fe(t) ? t : Lt(t);
1316
+ }
1317
+ function le(e, t, n) {
1318
+ var o;
1319
+ t === void 0 && (t = []), n === void 0 && (n = !0);
1320
+ const r = Lt(e), i = r === ((o = e.ownerDocument) == null ? void 0 : o.body), s = F(r);
1321
+ if (i) {
1322
+ const c = ke(s);
1323
+ return t.concat(s, s.visualViewport || [], fe(r) ? r : [], c && n ? le(c) : []);
1324
+ } else
1325
+ return t.concat(r, le(r, [], n));
1326
+ }
1327
+ function ke(e) {
1328
+ return e.parent && Object.getPrototypeOf(e.parent) ? e.frameElement : null;
1329
+ }
1330
+ function Nt(e) {
1331
+ const t = H(e);
1332
+ let n = parseFloat(t.width) || 0, o = parseFloat(t.height) || 0;
1333
+ const r = G(e), i = r ? e.offsetWidth : n, s = r ? e.offsetHeight : o, c = ye(n) !== i || ye(o) !== s;
1334
+ return c && (n = i, o = s), {
1335
+ width: n,
1336
+ height: o,
1337
+ $: c
1338
+ };
1339
+ }
1340
+ function Ye(e) {
1341
+ return B(e) ? e : e.contextElement;
1342
+ }
1343
+ function oe(e) {
1344
+ const t = Ye(e);
1345
+ if (!G(t))
1346
+ return j(1);
1347
+ const n = t.getBoundingClientRect(), {
1348
+ width: o,
1349
+ height: r,
1350
+ $: i
1351
+ } = Nt(t);
1352
+ let s = (i ? ye(n.width) : n.width) / o, c = (i ? ye(n.height) : n.height) / r;
1353
+ return (!s || !Number.isFinite(s)) && (s = 1), (!c || !Number.isFinite(c)) && (c = 1), {
1354
+ x: s,
1355
+ y: c
1356
+ };
1357
+ }
1358
+ const _o = /* @__PURE__ */ j(0);
1359
+ function _t(e) {
1360
+ const t = F(e);
1361
+ return !Ue() || !t.visualViewport ? _o : {
1362
+ x: t.visualViewport.offsetLeft,
1363
+ y: t.visualViewport.offsetTop
1364
+ };
1365
+ }
1366
+ function Mo(e, t, n) {
1367
+ return t === void 0 && (t = !1), !n || t && n !== F(e) ? !1 : t;
1368
+ }
1369
+ function ee(e, t, n, o) {
1370
+ t === void 0 && (t = !1), n === void 0 && (n = !1);
1371
+ const r = e.getBoundingClientRect(), i = Ye(e);
1372
+ let s = j(1);
1373
+ t && (o ? B(o) && (s = oe(o)) : s = oe(e));
1374
+ const c = Mo(i, n, o) ? _t(i) : j(0);
1375
+ let a = (r.left + c.x) / s.x, l = (r.top + c.y) / s.y, u = r.width / s.x, d = r.height / s.y;
1376
+ if (i) {
1377
+ const m = F(i), p = o && B(o) ? F(o) : o;
1378
+ let h = m, g = ke(h);
1379
+ for (; g && o && p !== h; ) {
1380
+ const v = oe(g), y = g.getBoundingClientRect(), w = H(g), b = y.left + (g.clientLeft + parseFloat(w.paddingLeft)) * v.x, x = y.top + (g.clientTop + parseFloat(w.paddingTop)) * v.y;
1381
+ a *= v.x, l *= v.y, u *= v.x, d *= v.y, a += b, l += x, h = F(g), g = ke(h);
1382
+ }
1383
+ }
1384
+ return xe({
1385
+ width: u,
1386
+ height: d,
1387
+ x: a,
1388
+ y: l
1389
+ });
1390
+ }
1391
+ function Ae(e, t) {
1392
+ const n = Pe(e).scrollLeft;
1393
+ return t ? t.left + n : ee(U(e)).left + n;
1394
+ }
1395
+ function Mt(e, t) {
1396
+ const n = e.getBoundingClientRect(), o = n.left + t.scrollLeft - Ae(e, n), r = n.top + t.scrollTop;
1397
+ return {
1398
+ x: o,
1399
+ y: r
1400
+ };
1401
+ }
1402
+ function $o(e) {
1403
+ let {
1404
+ elements: t,
1405
+ rect: n,
1406
+ offsetParent: o,
1407
+ strategy: r
1408
+ } = e;
1409
+ const i = r === "fixed", s = U(o), c = t ? Re(t.floating) : !1;
1410
+ if (o === s || c && i)
1411
+ return n;
1412
+ let a = {
1413
+ scrollLeft: 0,
1414
+ scrollTop: 0
1415
+ }, l = j(1);
1416
+ const u = j(0), d = G(o);
1417
+ if ((d || !d && !i) && ((ce(o) !== "body" || fe(s)) && (a = Pe(o)), d)) {
1418
+ const p = ee(o);
1419
+ l = oe(o), u.x = p.x + o.clientLeft, u.y = p.y + o.clientTop;
1420
+ }
1421
+ const m = s && !d && !i ? Mt(s, a) : j(0);
1422
+ return {
1423
+ width: n.width * l.x,
1424
+ height: n.height * l.y,
1425
+ x: n.x * l.x - a.scrollLeft * l.x + u.x + m.x,
1426
+ y: n.y * l.y - a.scrollTop * l.y + u.y + m.y
1427
+ };
1428
+ }
1429
+ function ko(e) {
1430
+ return Array.from(e.getClientRects());
1431
+ }
1432
+ function Io(e) {
1433
+ const t = U(e), n = Pe(e), o = e.ownerDocument.body, r = W(t.scrollWidth, t.clientWidth, o.scrollWidth, o.clientWidth), i = W(t.scrollHeight, t.clientHeight, o.scrollHeight, o.clientHeight);
1434
+ let s = -n.scrollLeft + Ae(e);
1435
+ const c = -n.scrollTop;
1436
+ return H(o).direction === "rtl" && (s += W(t.clientWidth, o.clientWidth) - r), {
1437
+ width: r,
1438
+ height: i,
1439
+ x: s,
1440
+ y: c
1441
+ };
1442
+ }
1443
+ const mt = 25;
1444
+ function Wo(e, t) {
1445
+ const n = F(e), o = U(e), r = n.visualViewport;
1446
+ let i = o.clientWidth, s = o.clientHeight, c = 0, a = 0;
1447
+ if (r) {
1448
+ i = r.width, s = r.height;
1449
+ const u = Ue();
1450
+ (!u || u && t === "fixed") && (c = r.offsetLeft, a = r.offsetTop);
1451
+ }
1452
+ const l = Ae(o);
1453
+ if (l <= 0) {
1454
+ const u = o.ownerDocument, d = u.body, m = getComputedStyle(d), p = u.compatMode === "CSS1Compat" && parseFloat(m.marginLeft) + parseFloat(m.marginRight) || 0, h = Math.abs(o.clientWidth - d.clientWidth - p);
1455
+ h <= mt && (i -= h);
1456
+ } else l <= mt && (i += l);
1457
+ return {
1458
+ width: i,
1459
+ height: s,
1460
+ x: c,
1461
+ y: a
1462
+ };
1463
+ }
1464
+ function Fo(e, t) {
1465
+ const n = ee(e, !0, t === "fixed"), o = n.top + e.clientTop, r = n.left + e.clientLeft, i = G(e) ? oe(e) : j(1), s = e.clientWidth * i.x, c = e.clientHeight * i.y, a = r * i.x, l = o * i.y;
1466
+ return {
1467
+ width: s,
1468
+ height: c,
1469
+ x: a,
1470
+ y: l
1471
+ };
1472
+ }
1473
+ function ht(e, t, n) {
1474
+ let o;
1475
+ if (t === "viewport")
1476
+ o = Wo(e, n);
1477
+ else if (t === "document")
1478
+ o = Io(U(e));
1479
+ else if (B(t))
1480
+ o = Fo(t, n);
1481
+ else {
1482
+ const r = _t(e);
1483
+ o = {
1484
+ x: t.x - r.x,
1485
+ y: t.y - r.y,
1486
+ width: t.width,
1487
+ height: t.height
1488
+ };
1489
+ }
1490
+ return xe(o);
1491
+ }
1492
+ function $t(e, t) {
1493
+ const n = Z(e);
1494
+ return n === t || !B(n) || re(n) ? !1 : H(n).position === "fixed" || $t(n, t);
1495
+ }
1496
+ function Bo(e, t) {
1497
+ const n = t.get(e);
1498
+ if (n)
1499
+ return n;
1500
+ let o = le(e, [], !1).filter((c) => B(c) && ce(c) !== "body"), r = null;
1501
+ const i = H(e).position === "fixed";
1502
+ let s = i ? Z(e) : e;
1503
+ for (; B(s) && !re(s); ) {
1504
+ const c = H(s), a = je(s);
1505
+ !a && c.position === "fixed" && (r = null), (i ? !a && !r : !a && c.position === "static" && !!r && (r.position === "absolute" || r.position === "fixed") || fe(s) && !a && $t(e, s)) ? o = o.filter((u) => u !== s) : r = c, s = Z(s);
1506
+ }
1507
+ return t.set(e, o), o;
1508
+ }
1509
+ function Ho(e) {
1510
+ let {
1511
+ element: t,
1512
+ boundary: n,
1513
+ rootBoundary: o,
1514
+ strategy: r
1515
+ } = e;
1516
+ const s = [...n === "clippingAncestors" ? Re(t) ? [] : Bo(t, this._c) : [].concat(n), o], c = ht(t, s[0], r);
1517
+ let a = c.top, l = c.right, u = c.bottom, d = c.left;
1518
+ for (let m = 1; m < s.length; m++) {
1519
+ const p = ht(t, s[m], r);
1520
+ a = W(p.top, a), l = K(p.right, l), u = K(p.bottom, u), d = W(p.left, d);
1521
+ }
1522
+ return {
1523
+ width: l - d,
1524
+ height: u - a,
1525
+ x: d,
1526
+ y: a
1527
+ };
1528
+ }
1529
+ function Vo(e) {
1530
+ const {
1531
+ width: t,
1532
+ height: n
1533
+ } = Nt(e);
1534
+ return {
1535
+ width: t,
1536
+ height: n
1537
+ };
1538
+ }
1539
+ function zo(e, t, n) {
1540
+ const o = G(t), r = U(t), i = n === "fixed", s = ee(e, !0, i, t);
1541
+ let c = {
1542
+ scrollLeft: 0,
1543
+ scrollTop: 0
1544
+ };
1545
+ const a = j(0);
1546
+ function l() {
1547
+ a.x = Ae(r);
1548
+ }
1549
+ if (o || !o && !i)
1550
+ if ((ce(t) !== "body" || fe(r)) && (c = Pe(t)), o) {
1551
+ const p = ee(t, !0, i, t);
1552
+ a.x = p.x + t.clientLeft, a.y = p.y + t.clientTop;
1553
+ } else r && l();
1554
+ i && !o && r && l();
1555
+ const u = r && !o && !i ? Mt(r, c) : j(0), d = s.left + c.scrollLeft - a.x - u.x, m = s.top + c.scrollTop - a.y - u.y;
1556
+ return {
1557
+ x: d,
1558
+ y: m,
1559
+ width: s.width,
1560
+ height: s.height
1561
+ };
1562
+ }
1563
+ function Le(e) {
1564
+ return H(e).position === "static";
1565
+ }
1566
+ function gt(e, t) {
1567
+ if (!G(e) || H(e).position === "fixed")
1568
+ return null;
1569
+ if (t)
1570
+ return t(e);
1571
+ let n = e.offsetParent;
1572
+ return U(e) === n && (n = n.ownerDocument.body), n;
1573
+ }
1574
+ function kt(e, t) {
1575
+ const n = F(e);
1576
+ if (Re(e))
1577
+ return n;
1578
+ if (!G(e)) {
1579
+ let r = Z(e);
1580
+ for (; r && !re(r); ) {
1581
+ if (B(r) && !Le(r))
1582
+ return r;
1583
+ r = Z(r);
1584
+ }
1585
+ return n;
1586
+ }
1587
+ let o = gt(e, t);
1588
+ for (; o && To(o) && Le(o); )
1589
+ o = gt(o, t);
1590
+ return o && re(o) && Le(o) && !je(o) ? n : o || No(e) || n;
1591
+ }
1592
+ const jo = async function(e) {
1593
+ const t = this.getOffsetParent || kt, n = this.getDimensions, o = await n(e.floating);
1594
+ return {
1595
+ reference: zo(e.reference, await t(e.floating), e.strategy),
1596
+ floating: {
1597
+ x: 0,
1598
+ y: 0,
1599
+ width: o.width,
1600
+ height: o.height
1601
+ }
1602
+ };
1603
+ };
1604
+ function Uo(e) {
1605
+ return H(e).direction === "rtl";
1606
+ }
1607
+ const Yo = {
1608
+ convertOffsetParentRelativeRectToViewportRelativeRect: $o,
1609
+ getDocumentElement: U,
1610
+ getClippingRect: Ho,
1611
+ getOffsetParent: kt,
1612
+ getElementRects: jo,
1613
+ getClientRects: ko,
1614
+ getDimensions: Vo,
1615
+ getScale: oe,
1616
+ isElement: B,
1617
+ isRTL: Uo
1618
+ };
1619
+ function It(e, t) {
1620
+ return e.x === t.x && e.y === t.y && e.width === t.width && e.height === t.height;
1621
+ }
1622
+ function Xo(e, t) {
1623
+ let n = null, o;
1624
+ const r = U(e);
1625
+ function i() {
1626
+ var c;
1627
+ clearTimeout(o), (c = n) == null || c.disconnect(), n = null;
1628
+ }
1629
+ function s(c, a) {
1630
+ c === void 0 && (c = !1), a === void 0 && (a = 1), i();
1631
+ const l = e.getBoundingClientRect(), {
1632
+ left: u,
1633
+ top: d,
1634
+ width: m,
1635
+ height: p
1636
+ } = l;
1637
+ if (c || t(), !m || !p)
1638
+ return;
1639
+ const h = he(d), g = he(r.clientWidth - (u + m)), v = he(r.clientHeight - (d + p)), y = he(u), b = {
1640
+ rootMargin: -h + "px " + -g + "px " + -v + "px " + -y + "px",
1641
+ threshold: W(0, K(1, a)) || 1
1642
+ };
1643
+ let x = !0;
1644
+ function R(E) {
1645
+ const C = E[0].intersectionRatio;
1646
+ if (C !== a) {
1647
+ if (!x)
1648
+ return s();
1649
+ C ? s(!1, C) : o = setTimeout(() => {
1650
+ s(!1, 1e-7);
1651
+ }, 1e3);
1652
+ }
1653
+ C === 1 && !It(l, e.getBoundingClientRect()) && s(), x = !1;
1654
+ }
1655
+ try {
1656
+ n = new IntersectionObserver(R, {
1657
+ ...b,
1658
+ // Handle <iframe>s
1659
+ root: r.ownerDocument
1660
+ });
1661
+ } catch {
1662
+ n = new IntersectionObserver(R, b);
1663
+ }
1664
+ n.observe(e);
1665
+ }
1666
+ return s(!0), i;
1667
+ }
1668
+ function qo(e, t, n, o) {
1669
+ o === void 0 && (o = {});
1670
+ const {
1671
+ ancestorScroll: r = !0,
1672
+ ancestorResize: i = !0,
1673
+ elementResize: s = typeof ResizeObserver == "function",
1674
+ layoutShift: c = typeof IntersectionObserver == "function",
1675
+ animationFrame: a = !1
1676
+ } = o, l = Ye(e), u = r || i ? [...l ? le(l) : [], ...t ? le(t) : []] : [];
1677
+ u.forEach((y) => {
1678
+ r && y.addEventListener("scroll", n, {
1679
+ passive: !0
1680
+ }), i && y.addEventListener("resize", n);
1681
+ });
1682
+ const d = l && c ? Xo(l, n) : null;
1683
+ let m = -1, p = null;
1684
+ s && (p = new ResizeObserver((y) => {
1685
+ let [w] = y;
1686
+ w && w.target === l && p && t && (p.unobserve(t), cancelAnimationFrame(m), m = requestAnimationFrame(() => {
1687
+ var b;
1688
+ (b = p) == null || b.observe(t);
1689
+ })), n();
1690
+ }), l && !a && p.observe(l), t && p.observe(t));
1691
+ let h, g = a ? ee(e) : null;
1692
+ a && v();
1693
+ function v() {
1694
+ const y = ee(e);
1695
+ g && !It(g, y) && n(), g = y, h = requestAnimationFrame(v);
1696
+ }
1697
+ return n(), () => {
1698
+ var y;
1699
+ u.forEach((w) => {
1700
+ r && w.removeEventListener("scroll", n), i && w.removeEventListener("resize", n);
1701
+ }), d == null || d(), (y = p) == null || y.disconnect(), p = null, a && cancelAnimationFrame(h);
1702
+ };
1703
+ }
1704
+ const Go = Po, Ko = Ao, Zo = Co, Jo = So, Qo = Eo, vt = bo, er = Oo, tr = (e, t, n) => {
1705
+ const o = /* @__PURE__ */ new Map(), r = {
1706
+ platform: Yo,
1707
+ ...n
1708
+ }, i = {
1709
+ ...r.platform,
1710
+ _c: o
1711
+ };
1712
+ return xo(e, t, {
1713
+ ...r,
1714
+ platform: i
1715
+ });
1716
+ };
1717
+ var nr = typeof document < "u", or = function() {
1718
+ }, ge = nr ? yn : or;
1719
+ function be(e, t) {
1720
+ if (e === t)
1721
+ return !0;
1722
+ if (typeof e != typeof t)
1723
+ return !1;
1724
+ if (typeof e == "function" && e.toString() === t.toString())
1725
+ return !0;
1726
+ let n, o, r;
1727
+ if (e && t && typeof e == "object") {
1728
+ if (Array.isArray(e)) {
1729
+ if (n = e.length, n !== t.length) return !1;
1730
+ for (o = n; o-- !== 0; )
1731
+ if (!be(e[o], t[o]))
1732
+ return !1;
1733
+ return !0;
1734
+ }
1735
+ if (r = Object.keys(e), n = r.length, n !== Object.keys(t).length)
1736
+ return !1;
1737
+ for (o = n; o-- !== 0; )
1738
+ if (!{}.hasOwnProperty.call(t, r[o]))
1739
+ return !1;
1740
+ for (o = n; o-- !== 0; ) {
1741
+ const i = r[o];
1742
+ if (!(i === "_owner" && e.$$typeof) && !be(e[i], t[i]))
1743
+ return !1;
1744
+ }
1745
+ return !0;
1746
+ }
1747
+ return e !== e && t !== t;
1748
+ }
1749
+ function Wt(e) {
1750
+ return typeof window > "u" ? 1 : (e.ownerDocument.defaultView || window).devicePixelRatio || 1;
1751
+ }
1752
+ function yt(e, t) {
1753
+ const n = Wt(e);
1754
+ return Math.round(t * n) / n;
1755
+ }
1756
+ function Ne(e) {
1757
+ const t = f.useRef(e);
1758
+ return ge(() => {
1759
+ t.current = e;
1760
+ }), t;
1761
+ }
1762
+ function rr(e) {
1763
+ e === void 0 && (e = {});
1764
+ const {
1765
+ placement: t = "bottom",
1766
+ strategy: n = "absolute",
1767
+ middleware: o = [],
1768
+ platform: r,
1769
+ elements: {
1770
+ reference: i,
1771
+ floating: s
1772
+ } = {},
1773
+ transform: c = !0,
1774
+ whileElementsMounted: a,
1775
+ open: l
1776
+ } = e, [u, d] = f.useState({
1777
+ x: 0,
1778
+ y: 0,
1779
+ strategy: n,
1780
+ placement: t,
1781
+ middlewareData: {},
1782
+ isPositioned: !1
1783
+ }), [m, p] = f.useState(o);
1784
+ be(m, o) || p(o);
1785
+ const [h, g] = f.useState(null), [v, y] = f.useState(null), w = f.useCallback((A) => {
1786
+ A !== E.current && (E.current = A, g(A));
1787
+ }, []), b = f.useCallback((A) => {
1788
+ A !== C.current && (C.current = A, y(A));
1789
+ }, []), x = i || h, R = s || v, E = f.useRef(null), C = f.useRef(null), O = f.useRef(u), _ = a != null, S = Ne(a), $ = Ne(r), k = Ne(l), D = f.useCallback(() => {
1790
+ if (!E.current || !C.current)
1791
+ return;
1792
+ const A = {
1793
+ placement: t,
1794
+ strategy: n,
1795
+ middleware: m
1796
+ };
1797
+ $.current && (A.platform = $.current), tr(E.current, C.current, A).then((M) => {
1798
+ const V = {
1799
+ ...M,
1800
+ // The floating element's position may be recomputed while it's closed
1801
+ // but still mounted (such as when transitioning out). To ensure
1802
+ // `isPositioned` will be `false` initially on the next open, avoid
1803
+ // setting it to `true` when `open === false` (must be specified).
1804
+ isPositioned: k.current !== !1
1805
+ };
1806
+ T.current && !be(O.current, V) && (O.current = V, xt.flushSync(() => {
1807
+ d(V);
1808
+ }));
1809
+ });
1810
+ }, [m, t, n, $, k]);
1811
+ ge(() => {
1812
+ l === !1 && O.current.isPositioned && (O.current.isPositioned = !1, d((A) => ({
1813
+ ...A,
1814
+ isPositioned: !1
1815
+ })));
1816
+ }, [l]);
1817
+ const T = f.useRef(!1);
1818
+ ge(() => (T.current = !0, () => {
1819
+ T.current = !1;
1820
+ }), []), ge(() => {
1821
+ if (x && (E.current = x), R && (C.current = R), x && R) {
1822
+ if (S.current)
1823
+ return S.current(x, R, D);
1824
+ D();
1825
+ }
1826
+ }, [x, R, D, S, _]);
1827
+ const I = f.useMemo(() => ({
1828
+ reference: E,
1829
+ floating: C,
1830
+ setReference: w,
1831
+ setFloating: b
1832
+ }), [w, b]), L = f.useMemo(() => ({
1833
+ reference: x,
1834
+ floating: R
1835
+ }), [x, R]), N = f.useMemo(() => {
1836
+ const A = {
1837
+ position: n,
1838
+ left: 0,
1839
+ top: 0
1840
+ };
1841
+ if (!L.floating)
1842
+ return A;
1843
+ const M = yt(L.floating, u.x), V = yt(L.floating, u.y);
1844
+ return c ? {
1845
+ ...A,
1846
+ transform: "translate(" + M + "px, " + V + "px)",
1847
+ ...Wt(L.floating) >= 1.5 && {
1848
+ willChange: "transform"
1849
+ }
1850
+ } : {
1851
+ position: n,
1852
+ left: M,
1853
+ top: V
1854
+ };
1855
+ }, [n, c, L.floating, u.x, u.y]);
1856
+ return f.useMemo(() => ({
1857
+ ...u,
1858
+ update: D,
1859
+ refs: I,
1860
+ elements: L,
1861
+ floatingStyles: N
1862
+ }), [u, D, I, L, N]);
1863
+ }
1864
+ const ir = (e) => {
1865
+ function t(n) {
1866
+ return {}.hasOwnProperty.call(n, "current");
1867
+ }
1868
+ return {
1869
+ name: "arrow",
1870
+ options: e,
1871
+ fn(n) {
1872
+ const {
1873
+ element: o,
1874
+ padding: r
1875
+ } = typeof e == "function" ? e(n) : e;
1876
+ return o && t(o) ? o.current != null ? vt({
1877
+ element: o.current,
1878
+ padding: r
1879
+ }).fn(n) : {} : o ? vt({
1880
+ element: o,
1881
+ padding: r
1882
+ }).fn(n) : {};
1883
+ }
1884
+ };
1885
+ }, sr = (e, t) => {
1886
+ const n = Go(e);
1887
+ return {
1888
+ name: n.name,
1889
+ fn: n.fn,
1890
+ options: [e, t]
1891
+ };
1892
+ }, cr = (e, t) => {
1893
+ const n = Ko(e);
1894
+ return {
1895
+ name: n.name,
1896
+ fn: n.fn,
1897
+ options: [e, t]
1898
+ };
1899
+ }, ar = (e, t) => ({
1900
+ fn: er(e).fn,
1901
+ options: [e, t]
1902
+ }), lr = (e, t) => {
1903
+ const n = Zo(e);
1904
+ return {
1905
+ name: n.name,
1906
+ fn: n.fn,
1907
+ options: [e, t]
1908
+ };
1909
+ }, ur = (e, t) => {
1910
+ const n = Jo(e);
1911
+ return {
1912
+ name: n.name,
1913
+ fn: n.fn,
1914
+ options: [e, t]
1915
+ };
1916
+ }, fr = (e, t) => {
1917
+ const n = Qo(e);
1918
+ return {
1919
+ name: n.name,
1920
+ fn: n.fn,
1921
+ options: [e, t]
1922
+ };
1923
+ }, dr = (e, t) => {
1924
+ const n = ir(e);
1925
+ return {
1926
+ name: n.name,
1927
+ fn: n.fn,
1928
+ options: [e, t]
1929
+ };
1930
+ };
1931
+ var pr = "Arrow", Ft = f.forwardRef((e, t) => {
1932
+ const { children: n, width: o = 10, height: r = 5, ...i } = e;
1933
+ return /* @__PURE__ */ P(
1934
+ ne.svg,
1935
+ {
1936
+ ...i,
1937
+ ref: t,
1938
+ width: o,
1939
+ height: r,
1940
+ viewBox: "0 0 30 10",
1941
+ preserveAspectRatio: "none",
1942
+ children: e.asChild ? n : /* @__PURE__ */ P("polygon", { points: "0,0 30,0 15,10" })
1943
+ }
1944
+ );
1945
+ });
1946
+ Ft.displayName = pr;
1947
+ var mr = Ft, Xe = "Popper", [Bt, Ht] = bt(Xe), [hr, Vt] = Bt(Xe), zt = (e) => {
1948
+ const { __scopePopper: t, children: n } = e, [o, r] = f.useState(null);
1949
+ return /* @__PURE__ */ P(hr, { scope: t, anchor: o, onAnchorChange: r, children: n });
1950
+ };
1951
+ zt.displayName = Xe;
1952
+ var jt = "PopperAnchor", Ut = f.forwardRef(
1953
+ (e, t) => {
1954
+ const { __scopePopper: n, virtualRef: o, ...r } = e, i = Vt(jt, n), s = f.useRef(null), c = te(t, s), a = f.useRef(null);
1955
+ return f.useEffect(() => {
1956
+ const l = a.current;
1957
+ a.current = (o == null ? void 0 : o.current) || s.current, l !== a.current && i.onAnchorChange(a.current);
1958
+ }), o ? null : /* @__PURE__ */ P(ne.div, { ...r, ref: c });
1959
+ }
1960
+ );
1961
+ Ut.displayName = jt;
1962
+ var qe = "PopperContent", [gr, vr] = Bt(qe), Yt = f.forwardRef(
1963
+ (e, t) => {
1964
+ var Ke, Ze, Je, Qe, et, tt;
1965
+ const {
1966
+ __scopePopper: n,
1967
+ side: o = "bottom",
1968
+ sideOffset: r = 0,
1969
+ align: i = "center",
1970
+ alignOffset: s = 0,
1971
+ arrowPadding: c = 0,
1972
+ avoidCollisions: a = !0,
1973
+ collisionBoundary: l = [],
1974
+ collisionPadding: u = 0,
1975
+ sticky: d = "partial",
1976
+ hideWhenDetached: m = !1,
1977
+ updatePositionStrategy: p = "optimized",
1978
+ onPlaced: h,
1979
+ ...g
1980
+ } = e, v = Vt(qe, n), [y, w] = f.useState(null), b = te(t, (ae) => w(ae)), [x, R] = f.useState(null), E = Pn(x), C = (E == null ? void 0 : E.width) ?? 0, O = (E == null ? void 0 : E.height) ?? 0, _ = o + (i !== "center" ? "-" + i : ""), S = typeof u == "number" ? u : { top: 0, right: 0, bottom: 0, left: 0, ...u }, $ = Array.isArray(l) ? l : [l], k = $.length > 0, D = {
1981
+ padding: S,
1982
+ boundary: $.filter(wr),
1983
+ // with `strategy: 'fixed'`, this is the only way to get it to respect boundaries
1984
+ altBoundary: k
1985
+ }, { refs: T, floatingStyles: I, placement: L, isPositioned: N, middlewareData: A } = rr({
1986
+ // default to `fixed` strategy so users don't have to pick and we also avoid focus scroll issues
1987
+ strategy: "fixed",
1988
+ placement: _,
1989
+ whileElementsMounted: (...ae) => qo(...ae, {
1990
+ animationFrame: p === "always"
1991
+ }),
1992
+ elements: {
1993
+ reference: v.anchor
1994
+ },
1995
+ middleware: [
1996
+ sr({ mainAxis: r + O, alignmentAxis: s }),
1997
+ a && cr({
1998
+ mainAxis: !0,
1999
+ crossAxis: !1,
2000
+ limiter: d === "partial" ? ar() : void 0,
2001
+ ...D
2002
+ }),
2003
+ a && lr({ ...D }),
2004
+ ur({
2005
+ ...D,
2006
+ apply: ({ elements: ae, rects: nt, availableWidth: un, availableHeight: fn }) => {
2007
+ const { width: dn, height: pn } = nt.reference, pe = ae.floating.style;
2008
+ pe.setProperty("--radix-popper-available-width", `${un}px`), pe.setProperty("--radix-popper-available-height", `${fn}px`), pe.setProperty("--radix-popper-anchor-width", `${dn}px`), pe.setProperty("--radix-popper-anchor-height", `${pn}px`);
2009
+ }
2010
+ }),
2011
+ x && dr({ element: x, padding: c }),
2012
+ xr({ arrowWidth: C, arrowHeight: O }),
2013
+ m && fr({ strategy: "referenceHidden", ...D })
2014
+ ]
2015
+ }), [M, V] = Gt(L), de = Ce(h);
2016
+ Q(() => {
2017
+ N && (de == null || de());
2018
+ }, [N, de]);
2019
+ const rn = (Ke = A.arrow) == null ? void 0 : Ke.x, sn = (Ze = A.arrow) == null ? void 0 : Ze.y, cn = ((Je = A.arrow) == null ? void 0 : Je.centerOffset) !== 0, [an, ln] = f.useState();
2020
+ return Q(() => {
2021
+ y && ln(window.getComputedStyle(y).zIndex);
2022
+ }, [y]), /* @__PURE__ */ P(
2023
+ "div",
2024
+ {
2025
+ ref: T.setFloating,
2026
+ "data-radix-popper-content-wrapper": "",
2027
+ style: {
2028
+ ...I,
2029
+ transform: N ? I.transform : "translate(0, -200%)",
2030
+ // keep off the page when measuring
2031
+ minWidth: "max-content",
2032
+ zIndex: an,
2033
+ "--radix-popper-transform-origin": [
2034
+ (Qe = A.transformOrigin) == null ? void 0 : Qe.x,
2035
+ (et = A.transformOrigin) == null ? void 0 : et.y
2036
+ ].join(" "),
2037
+ // hide the content if using the hide middleware and should be hidden
2038
+ // set visibility to hidden and disable pointer events so the UI behaves
2039
+ // as if the PopperContent isn't there at all
2040
+ ...((tt = A.hide) == null ? void 0 : tt.referenceHidden) && {
2041
+ visibility: "hidden",
2042
+ pointerEvents: "none"
2043
+ }
2044
+ },
2045
+ dir: e.dir,
2046
+ children: /* @__PURE__ */ P(
2047
+ gr,
2048
+ {
2049
+ scope: n,
2050
+ placedSide: M,
2051
+ onArrowChange: R,
2052
+ arrowX: rn,
2053
+ arrowY: sn,
2054
+ shouldHideArrow: cn,
2055
+ children: /* @__PURE__ */ P(
2056
+ ne.div,
2057
+ {
2058
+ "data-side": M,
2059
+ "data-align": V,
2060
+ ...g,
2061
+ ref: b,
2062
+ style: {
2063
+ ...g.style,
2064
+ // if the PopperContent hasn't been placed yet (not all measurements done)
2065
+ // we prevent animations so that users's animation don't kick in too early referring wrong sides
2066
+ animation: N ? void 0 : "none"
2067
+ }
2068
+ }
2069
+ )
2070
+ }
2071
+ )
2072
+ }
2073
+ );
2074
+ }
2075
+ );
2076
+ Yt.displayName = qe;
2077
+ var Xt = "PopperArrow", yr = {
2078
+ top: "bottom",
2079
+ right: "left",
2080
+ bottom: "top",
2081
+ left: "right"
2082
+ }, qt = f.forwardRef(function(t, n) {
2083
+ const { __scopePopper: o, ...r } = t, i = vr(Xt, o), s = yr[i.placedSide];
2084
+ return (
2085
+ // we have to use an extra wrapper because `ResizeObserver` (used by `useSize`)
2086
+ // doesn't report size as we'd expect on SVG elements.
2087
+ // it reports their bounding box which is effectively the largest path inside the SVG.
2088
+ /* @__PURE__ */ P(
2089
+ "span",
2090
+ {
2091
+ ref: i.onArrowChange,
2092
+ style: {
2093
+ position: "absolute",
2094
+ left: i.arrowX,
2095
+ top: i.arrowY,
2096
+ [s]: 0,
2097
+ transformOrigin: {
2098
+ top: "",
2099
+ right: "0 0",
2100
+ bottom: "center 0",
2101
+ left: "100% 0"
2102
+ }[i.placedSide],
2103
+ transform: {
2104
+ top: "translateY(100%)",
2105
+ right: "translateY(50%) rotate(90deg) translateX(-50%)",
2106
+ bottom: "rotate(180deg)",
2107
+ left: "translateY(50%) rotate(-90deg) translateX(50%)"
2108
+ }[i.placedSide],
2109
+ visibility: i.shouldHideArrow ? "hidden" : void 0
2110
+ },
2111
+ children: /* @__PURE__ */ P(
2112
+ mr,
2113
+ {
2114
+ ...r,
2115
+ ref: n,
2116
+ style: {
2117
+ ...r.style,
2118
+ // ensures the element can be measured correctly (mostly for if SVG)
2119
+ display: "block"
2120
+ }
2121
+ }
2122
+ )
2123
+ }
2124
+ )
2125
+ );
2126
+ });
2127
+ qt.displayName = Xt;
2128
+ function wr(e) {
2129
+ return e !== null;
2130
+ }
2131
+ var xr = (e) => ({
2132
+ name: "transformOrigin",
2133
+ options: e,
2134
+ fn(t) {
2135
+ var v, y, w;
2136
+ const { placement: n, rects: o, middlewareData: r } = t, s = ((v = r.arrow) == null ? void 0 : v.centerOffset) !== 0, c = s ? 0 : e.arrowWidth, a = s ? 0 : e.arrowHeight, [l, u] = Gt(n), d = { start: "0%", center: "50%", end: "100%" }[u], m = (((y = r.arrow) == null ? void 0 : y.x) ?? 0) + c / 2, p = (((w = r.arrow) == null ? void 0 : w.y) ?? 0) + a / 2;
2137
+ let h = "", g = "";
2138
+ return l === "bottom" ? (h = s ? d : `${m}px`, g = `${-a}px`) : l === "top" ? (h = s ? d : `${m}px`, g = `${o.floating.height + a}px`) : l === "right" ? (h = `${-a}px`, g = s ? d : `${p}px`) : l === "left" && (h = `${o.floating.width + a}px`, g = s ? d : `${p}px`), { data: { x: h, y: g } };
2139
+ }
2140
+ });
2141
+ function Gt(e) {
2142
+ const [t, n = "center"] = e.split("-");
2143
+ return [t, n];
2144
+ }
2145
+ var br = zt, Cr = Ut, Er = Yt, Rr = qt, Pr = Symbol("radix.slottable");
2146
+ // @__NO_SIDE_EFFECTS__
2147
+ function Ar(e) {
2148
+ const t = ({ children: n }) => /* @__PURE__ */ P(hn, { children: n });
2149
+ return t.displayName = `${e}.Slottable`, t.__radixId = Pr, t;
2150
+ }
2151
+ var [Oe] = bt("Tooltip", [
2152
+ Ht
2153
+ ]), Se = Ht(), Kt = "TooltipProvider", Or = 700, Ie = "tooltip.open", [Sr, Ge] = Oe(Kt), Zt = (e) => {
2154
+ const {
2155
+ __scopeTooltip: t,
2156
+ delayDuration: n = Or,
2157
+ skipDelayDuration: o = 300,
2158
+ disableHoverableContent: r = !1,
2159
+ children: i
2160
+ } = e, s = f.useRef(!0), c = f.useRef(!1), a = f.useRef(0);
2161
+ return f.useEffect(() => {
2162
+ const l = a.current;
2163
+ return () => window.clearTimeout(l);
2164
+ }, []), /* @__PURE__ */ P(
2165
+ Sr,
2166
+ {
2167
+ scope: t,
2168
+ isOpenDelayedRef: s,
2169
+ delayDuration: n,
2170
+ onOpen: f.useCallback(() => {
2171
+ window.clearTimeout(a.current), s.current = !1;
2172
+ }, []),
2173
+ onClose: f.useCallback(() => {
2174
+ window.clearTimeout(a.current), a.current = window.setTimeout(
2175
+ () => s.current = !0,
2176
+ o
2177
+ );
2178
+ }, [o]),
2179
+ isPointerInTransitRef: c,
2180
+ onPointerInTransitChange: f.useCallback((l) => {
2181
+ c.current = l;
2182
+ }, []),
2183
+ disableHoverableContent: r,
2184
+ children: i
2185
+ }
2186
+ );
2187
+ };
2188
+ Zt.displayName = Kt;
2189
+ var ue = "Tooltip", [Tr, Te] = Oe(ue), Jt = (e) => {
2190
+ const {
2191
+ __scopeTooltip: t,
2192
+ children: n,
2193
+ open: o,
2194
+ defaultOpen: r,
2195
+ onOpenChange: i,
2196
+ disableHoverableContent: s,
2197
+ delayDuration: c
2198
+ } = e, a = Ge(ue, e.__scopeTooltip), l = Se(t), [u, d] = f.useState(null), m = co(), p = f.useRef(0), h = s ?? a.disableHoverableContent, g = c ?? a.delayDuration, v = f.useRef(!1), [y, w] = Cn({
2199
+ prop: o,
2200
+ defaultProp: r ?? !1,
2201
+ onChange: (C) => {
2202
+ C ? (a.onOpen(), document.dispatchEvent(new CustomEvent(Ie))) : a.onClose(), i == null || i(C);
2203
+ },
2204
+ caller: ue
2205
+ }), b = f.useMemo(() => y ? v.current ? "delayed-open" : "instant-open" : "closed", [y]), x = f.useCallback(() => {
2206
+ window.clearTimeout(p.current), p.current = 0, v.current = !1, w(!0);
2207
+ }, [w]), R = f.useCallback(() => {
2208
+ window.clearTimeout(p.current), p.current = 0, w(!1);
2209
+ }, [w]), E = f.useCallback(() => {
2210
+ window.clearTimeout(p.current), p.current = window.setTimeout(() => {
2211
+ v.current = !0, w(!0), p.current = 0;
2212
+ }, g);
2213
+ }, [g, w]);
2214
+ return f.useEffect(() => () => {
2215
+ p.current && (window.clearTimeout(p.current), p.current = 0);
2216
+ }, []), /* @__PURE__ */ P(br, { ...l, children: /* @__PURE__ */ P(
2217
+ Tr,
2218
+ {
2219
+ scope: t,
2220
+ contentId: m,
2221
+ open: y,
2222
+ stateAttribute: b,
2223
+ trigger: u,
2224
+ onTriggerChange: d,
2225
+ onTriggerEnter: f.useCallback(() => {
2226
+ a.isOpenDelayedRef.current ? E() : x();
2227
+ }, [a.isOpenDelayedRef, E, x]),
2228
+ onTriggerLeave: f.useCallback(() => {
2229
+ h ? R() : (window.clearTimeout(p.current), p.current = 0);
2230
+ }, [R, h]),
2231
+ onOpen: x,
2232
+ onClose: R,
2233
+ disableHoverableContent: h,
2234
+ children: n
2235
+ }
2236
+ ) });
2237
+ };
2238
+ Jt.displayName = ue;
2239
+ var We = "TooltipTrigger", Qt = f.forwardRef(
2240
+ (e, t) => {
2241
+ const { __scopeTooltip: n, ...o } = e, r = Te(We, n), i = Ge(We, n), s = Se(n), c = f.useRef(null), a = te(t, c, r.onTriggerChange), l = f.useRef(!1), u = f.useRef(!1), d = f.useCallback(() => l.current = !1, []);
2242
+ return f.useEffect(() => () => document.removeEventListener("pointerup", d), [d]), /* @__PURE__ */ P(Cr, { asChild: !0, ...s, children: /* @__PURE__ */ P(
2243
+ ne.button,
2244
+ {
2245
+ "aria-describedby": r.open ? r.contentId : void 0,
2246
+ "data-state": r.stateAttribute,
2247
+ ...o,
2248
+ ref: a,
2249
+ onPointerMove: Y(e.onPointerMove, (m) => {
2250
+ m.pointerType !== "touch" && !u.current && !i.isPointerInTransitRef.current && (r.onTriggerEnter(), u.current = !0);
2251
+ }),
2252
+ onPointerLeave: Y(e.onPointerLeave, () => {
2253
+ r.onTriggerLeave(), u.current = !1;
2254
+ }),
2255
+ onPointerDown: Y(e.onPointerDown, () => {
2256
+ r.open && r.onClose(), l.current = !0, document.addEventListener("pointerup", d, { once: !0 });
2257
+ }),
2258
+ onFocus: Y(e.onFocus, () => {
2259
+ l.current || r.onOpen();
2260
+ }),
2261
+ onBlur: Y(e.onBlur, r.onClose),
2262
+ onClick: Y(e.onClick, r.onClose)
2263
+ }
2264
+ ) });
2265
+ }
2266
+ );
2267
+ Qt.displayName = We;
2268
+ var Dr = "TooltipPortal", [ti, Lr] = Oe(Dr, {
2269
+ forceMount: void 0
2270
+ }), ie = "TooltipContent", en = f.forwardRef(
2271
+ (e, t) => {
2272
+ const n = Lr(ie, e.__scopeTooltip), { forceMount: o = n.forceMount, side: r = "top", ...i } = e, s = Te(ie, e.__scopeTooltip);
2273
+ return /* @__PURE__ */ P(Ct, { present: o || s.open, children: s.disableHoverableContent ? /* @__PURE__ */ P(tn, { side: r, ...i, ref: t }) : /* @__PURE__ */ P(Nr, { side: r, ...i, ref: t }) });
2274
+ }
2275
+ ), Nr = f.forwardRef((e, t) => {
2276
+ const n = Te(ie, e.__scopeTooltip), o = Ge(ie, e.__scopeTooltip), r = f.useRef(null), i = te(t, r), [s, c] = f.useState(null), { trigger: a, onClose: l } = n, u = r.current, { onPointerInTransitChange: d } = o, m = f.useCallback(() => {
2277
+ c(null), d(!1);
2278
+ }, [d]), p = f.useCallback(
2279
+ (h, g) => {
2280
+ const v = h.currentTarget, y = { x: h.clientX, y: h.clientY }, w = Ir(y, v.getBoundingClientRect()), b = Wr(y, w), x = Fr(g.getBoundingClientRect()), R = Hr([...b, ...x]);
2281
+ c(R), d(!0);
2282
+ },
2283
+ [d]
2284
+ );
2285
+ return f.useEffect(() => () => m(), [m]), f.useEffect(() => {
2286
+ if (a && u) {
2287
+ const h = (v) => p(v, u), g = (v) => p(v, a);
2288
+ return a.addEventListener("pointerleave", h), u.addEventListener("pointerleave", g), () => {
2289
+ a.removeEventListener("pointerleave", h), u.removeEventListener("pointerleave", g);
2290
+ };
2291
+ }
2292
+ }, [a, u, p, m]), f.useEffect(() => {
2293
+ if (s) {
2294
+ const h = (g) => {
2295
+ const v = g.target, y = { x: g.clientX, y: g.clientY }, w = (a == null ? void 0 : a.contains(v)) || (u == null ? void 0 : u.contains(v)), b = !Br(y, s);
2296
+ w ? m() : b && (m(), l());
2297
+ };
2298
+ return document.addEventListener("pointermove", h), () => document.removeEventListener("pointermove", h);
2299
+ }
2300
+ }, [a, u, s, l, m]), /* @__PURE__ */ P(tn, { ...e, ref: i });
2301
+ }), [_r, Mr] = Oe(ue, { isInside: !1 }), $r = /* @__PURE__ */ Ar("TooltipContent"), tn = f.forwardRef(
2302
+ (e, t) => {
2303
+ const {
2304
+ __scopeTooltip: n,
2305
+ children: o,
2306
+ "aria-label": r,
2307
+ onEscapeKeyDown: i,
2308
+ onPointerDownOutside: s,
2309
+ ...c
2310
+ } = e, a = Te(ie, n), l = Se(n), { onClose: u } = a;
2311
+ return f.useEffect(() => (document.addEventListener(Ie, u), () => document.removeEventListener(Ie, u)), [u]), f.useEffect(() => {
2312
+ if (a.trigger) {
2313
+ const d = (m) => {
2314
+ const p = m.target;
2315
+ p != null && p.contains(a.trigger) && u();
2316
+ };
2317
+ return window.addEventListener("scroll", d, { capture: !0 }), () => window.removeEventListener("scroll", d, { capture: !0 });
2318
+ }
2319
+ }, [a.trigger, u]), /* @__PURE__ */ P(
2320
+ Be,
2321
+ {
2322
+ asChild: !0,
2323
+ disableOutsidePointerEvents: !1,
2324
+ onEscapeKeyDown: i,
2325
+ onPointerDownOutside: s,
2326
+ onFocusOutside: (d) => d.preventDefault(),
2327
+ onDismiss: u,
2328
+ children: /* @__PURE__ */ gn(
2329
+ Er,
2330
+ {
2331
+ "data-state": a.stateAttribute,
2332
+ ...l,
2333
+ ...c,
2334
+ ref: t,
2335
+ style: {
2336
+ ...c.style,
2337
+ "--radix-tooltip-content-transform-origin": "var(--radix-popper-transform-origin)",
2338
+ "--radix-tooltip-content-available-width": "var(--radix-popper-available-width)",
2339
+ "--radix-tooltip-content-available-height": "var(--radix-popper-available-height)",
2340
+ "--radix-tooltip-trigger-width": "var(--radix-popper-anchor-width)",
2341
+ "--radix-tooltip-trigger-height": "var(--radix-popper-anchor-height)"
2342
+ },
2343
+ children: [
2344
+ /* @__PURE__ */ P($r, { children: o }),
2345
+ /* @__PURE__ */ P(_r, { scope: n, isInside: !0, children: /* @__PURE__ */ P(ro, { id: a.contentId, role: "tooltip", children: r || o }) })
2346
+ ]
2347
+ }
2348
+ )
2349
+ }
2350
+ );
2351
+ }
2352
+ );
2353
+ en.displayName = ie;
2354
+ var nn = "TooltipArrow", kr = f.forwardRef(
2355
+ (e, t) => {
2356
+ const { __scopeTooltip: n, ...o } = e, r = Se(n);
2357
+ return Mr(
2358
+ nn,
2359
+ n
2360
+ ).isInside ? null : /* @__PURE__ */ P(Rr, { ...r, ...o, ref: t });
2361
+ }
2362
+ );
2363
+ kr.displayName = nn;
2364
+ function Ir(e, t) {
2365
+ const n = Math.abs(t.top - e.y), o = Math.abs(t.bottom - e.y), r = Math.abs(t.right - e.x), i = Math.abs(t.left - e.x);
2366
+ switch (Math.min(n, o, r, i)) {
2367
+ case i:
2368
+ return "left";
2369
+ case r:
2370
+ return "right";
2371
+ case n:
2372
+ return "top";
2373
+ case o:
2374
+ return "bottom";
2375
+ default:
2376
+ throw new Error("unreachable");
2377
+ }
2378
+ }
2379
+ function Wr(e, t, n = 5) {
2380
+ const o = [];
2381
+ switch (t) {
2382
+ case "top":
2383
+ o.push(
2384
+ { x: e.x - n, y: e.y + n },
2385
+ { x: e.x + n, y: e.y + n }
2386
+ );
2387
+ break;
2388
+ case "bottom":
2389
+ o.push(
2390
+ { x: e.x - n, y: e.y - n },
2391
+ { x: e.x + n, y: e.y - n }
2392
+ );
2393
+ break;
2394
+ case "left":
2395
+ o.push(
2396
+ { x: e.x + n, y: e.y - n },
2397
+ { x: e.x + n, y: e.y + n }
2398
+ );
2399
+ break;
2400
+ case "right":
2401
+ o.push(
2402
+ { x: e.x - n, y: e.y - n },
2403
+ { x: e.x - n, y: e.y + n }
2404
+ );
2405
+ break;
2406
+ }
2407
+ return o;
2408
+ }
2409
+ function Fr(e) {
2410
+ const { top: t, right: n, bottom: o, left: r } = e;
2411
+ return [
2412
+ { x: r, y: t },
2413
+ { x: n, y: t },
2414
+ { x: n, y: o },
2415
+ { x: r, y: o }
2416
+ ];
2417
+ }
2418
+ function Br(e, t) {
2419
+ const { x: n, y: o } = e;
2420
+ let r = !1;
2421
+ for (let i = 0, s = t.length - 1; i < t.length; s = i++) {
2422
+ const c = t[i], a = t[s], l = c.x, u = c.y, d = a.x, m = a.y;
2423
+ u > o != m > o && n < (d - l) * (o - u) / (m - u) + l && (r = !r);
2424
+ }
2425
+ return r;
2426
+ }
2427
+ function Hr(e) {
2428
+ const t = e.slice();
2429
+ return t.sort((n, o) => n.x < o.x ? -1 : n.x > o.x ? 1 : n.y < o.y ? -1 : n.y > o.y ? 1 : 0), Vr(t);
2430
+ }
2431
+ function Vr(e) {
2432
+ if (e.length <= 1) return e.slice();
2433
+ const t = [];
2434
+ for (let o = 0; o < e.length; o++) {
2435
+ const r = e[o];
2436
+ for (; t.length >= 2; ) {
2437
+ const i = t[t.length - 1], s = t[t.length - 2];
2438
+ if ((i.x - s.x) * (r.y - s.y) >= (i.y - s.y) * (r.x - s.x)) t.pop();
2439
+ else break;
2440
+ }
2441
+ t.push(r);
2442
+ }
2443
+ t.pop();
2444
+ const n = [];
2445
+ for (let o = e.length - 1; o >= 0; o--) {
2446
+ const r = e[o];
2447
+ for (; n.length >= 2; ) {
2448
+ const i = n[n.length - 1], s = n[n.length - 2];
2449
+ if ((i.x - s.x) * (r.y - s.y) >= (i.y - s.y) * (r.x - s.x)) n.pop();
2450
+ else break;
2451
+ }
2452
+ n.push(r);
2453
+ }
2454
+ return n.pop(), t.length === 1 && n.length === 1 && t[0].x === n[0].x && t[0].y === n[0].y ? t : t.concat(n);
2455
+ }
2456
+ var zr = Zt, jr = Jt, Ur = Qt, on = en;
2457
+ const ni = zr, oi = jr, ri = Ur, Yr = f.forwardRef(
2458
+ ({ className: e, sideOffset: t = 4, ...n }, o) => /* @__PURE__ */ P(
2459
+ on,
2460
+ {
2461
+ ref: o,
2462
+ sideOffset: t,
2463
+ className: wt(
2464
+ "z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
2465
+ e
2466
+ ),
2467
+ ...n
2468
+ }
2469
+ )
2470
+ );
2471
+ Yr.displayName = on.displayName;
2472
+ export {
2473
+ Cr as A,
2474
+ qn as B,
2475
+ Jr as C,
2476
+ Be as D,
2477
+ ne as P,
2478
+ br as R,
2479
+ oi as T,
2480
+ no as V,
2481
+ Yr as a,
2482
+ ni as b,
2483
+ ri as c,
2484
+ Xn as d,
2485
+ wn as e,
2486
+ Fe as f,
2487
+ bt as g,
2488
+ Q as h,
2489
+ Ce as i,
2490
+ Y as j,
2491
+ co as k,
2492
+ Ht as l,
2493
+ Er as m,
2494
+ Cn as n,
2495
+ Rr as o,
2496
+ Ct as p,
2497
+ Pn as q,
2498
+ ei as r,
2499
+ Ot as s,
2500
+ Qr as t,
2501
+ te as u,
2502
+ kn as v,
2503
+ Bn as w,
2504
+ Zr as x
2505
+ };