@oomol-lab/open-flow 0.1.0-beta.10 → 0.1.0-beta.12

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 (65) hide show
  1. package/dist/browser/DesignerIcon-ckcKnxxJ.js +2267 -0
  2. package/dist/browser/createResourceDialog-2pESP2wA.js +111 -0
  3. package/dist/browser/{dist-meg_oHVR.js → dist-BZ5PTFAs.js} +335 -335
  4. package/dist/browser/dist-Bmb2mZvW.js +795 -0
  5. package/dist/browser/{dist-Cc0y2Pli.js → dist-Ce71Szg7.js} +622 -622
  6. package/dist/browser/dist-DSe6KRsr.js +1224 -0
  7. package/dist/browser/{dist-Dg_VXC8f.js → dist-DY4qlXTK.js} +134 -134
  8. package/dist/browser/{esm-yhVU_KbQ.js → esm-BPZ0P6x4.js} +59 -59
  9. package/dist/browser/flow-authoring-node.d.ts +11 -4
  10. package/dist/browser/flow-authoring.d.ts +1 -1
  11. package/dist/browser/flow-authoring.js +5032 -275
  12. package/dist/browser/flow-change-schema.d.ts +6 -0
  13. package/dist/browser/flow-change.d.ts +21 -8
  14. package/dist/browser/flow-change.js +5048 -155
  15. package/dist/browser/{flowChanges-B2ttnaj9.js → flowChanges-CHPdBmZb.js} +4433 -3786
  16. package/dist/browser/{flowRunInputEditorStore-DDidwd8h.js → flowRunInputEditorStore-NPGePkvP.js} +679 -689
  17. package/dist/browser/flowWorkspace-BLGcgnHj.js +158418 -0
  18. package/dist/browser/{getPseudoElementBounds-5LArT6Xc.js → getPseudoElementBounds-Dfqo78k7.js} +691 -687
  19. package/dist/browser/host-conformance.d.ts +7 -0
  20. package/dist/browser/host-conformance.js +33 -0
  21. package/dist/browser/{languages-DgJehE1g.js → languages-i3Xmpt6S.js} +6 -15
  22. package/dist/browser/licenses.md +82 -0
  23. package/dist/browser/{markdownContent-DUfLdnUt.js → markdownContent-BawLYUjh.js} +23 -23
  24. package/dist/browser/select-Dn3vpjGC.js +6872 -0
  25. package/dist/browser/theme.css +34 -34
  26. package/dist/browser/{typeScriptSession-_TgJ_7Oq.js → typeScriptSession-BoV-FDl3.js} +257 -257
  27. package/dist/browser/waitNotificationInputs-BFbQUOyp.js +29 -0
  28. package/dist/browser/workbench-contract.d.ts +8 -2
  29. package/dist/browser/workbench.css +1 -1
  30. package/dist/browser/workbench.js +1277 -1021
  31. package/dist/browser/workbenchSelect-DzF8oik9.js +435 -0
  32. package/dist/common/control-api-conformance.d.ts +6 -0
  33. package/dist/common/control-api-conformance.js +300 -85
  34. package/dist/common/control-api.d.ts +37 -10
  35. package/dist/common/control-api.js +5199 -437
  36. package/dist/common/control-requests.d.ts +68 -0
  37. package/dist/common/control-requests.js +4913 -0
  38. package/dist/common/engine-contract.d.ts +1 -1
  39. package/dist/common/flow-encoding.d.ts +3 -1
  40. package/dist/common/flow-encoding.js +4761 -63
  41. package/dist/common/flow-graph.d.ts +6 -0
  42. package/dist/common/flow-json.d.ts +2 -0
  43. package/dist/common/flow-modules.d.ts +20 -0
  44. package/dist/common/flow-schema.d.ts +8 -0
  45. package/dist/common/flow-semantics.d.ts +6 -5
  46. package/dist/common/flow-semantics.js +14641 -9800
  47. package/dist/common/integration-trigger.d.ts +1 -0
  48. package/dist/common/mcp-conformance.d.ts +2 -0
  49. package/dist/common/mcp.d.ts +545 -0
  50. package/dist/common/mcp.js +4964 -0
  51. package/dist/common/run-events.d.ts +2 -2
  52. package/dist/common/run-events.js +8 -15
  53. package/dist/common/runtime-contract.d.ts +9 -1
  54. package/dist/common/runtime-contract.js +137 -27
  55. package/dist/common/scheduler.d.ts +11 -33
  56. package/dist/common/scheduler.js +7241 -428
  57. package/dist/index.d.ts +5 -5
  58. package/package.json +13 -1
  59. package/dist/browser/DesignerIcon-DjgOMYI5.js +0 -2065
  60. package/dist/browser/createResourceDialog-DNBueSYZ.js +0 -505
  61. package/dist/browser/dist-BMRLCebL.js +0 -1893
  62. package/dist/browser/flowWorkspace-Dr8-Hut9.js +0 -45541
  63. package/dist/browser/icons-KIOgjHpD.js +0 -730
  64. package/dist/browser/waitNotificationInputs-BPulOxYt.js +0 -26
  65. package/dist/browser/workbenchSelect-CbXrdwxW.js +0 -1375
@@ -0,0 +1,2267 @@
1
+ import { a as e, f as t, r as n } from "./dist-C46JByB-.js";
2
+ import { $ as r, An as i, At as a, B as o, Bn as s, Cn as c, Dn as l, Dt as u, En as d, Et as f, F as p, Fn as m, G as h, Gn as g, Gt as _, H as v, I as y, In as b, Jn as x, Jt as S, K as C, Kn as w, L as T, Ln as E, Lt as D, Mt as O, N as k, Nn as A, Nt as j, On as M, P as N, Pn as ee, Qn as P, Qt as te, Rn as ne, Rt as F, St as I, Tn as L, Tt as R, U as z, Un as B, Ut as re, V, Vt as ie, W as ae, Wt as H, X as oe, Xn as U, Xt as W, Y as G, Yt as se, Zn as K, Zt as ce, _ as le, _t as q, a as ue, an as de, at as fe, bt as pe, c as me, cn as he, cr as ge, ct as _e, d as ve, dr as ye, dt as be, en as xe, er as Se, f as Ce, fr as we, g as Te, gt as Ee, h as De, ht as Oe, i as ke, in as Ae, ir as je, it as Me, jn as Ne, kn as Pe, kt as Fe, l as Ie, lr as Le, lt as Re, mt as ze, n as Be, nn as Ve, nr as He, nt as Ue, o as We, on as Ge, or as J, ot as Ke, p as qe, qn as Je, r as Ye, rn as Xe, rr as Ze, rt as Qe, s as $e, sn as et, sr as tt, st as nt, t as rt, tr as Y, ur as X, ut as it, vt as at, w as ot, wn as st, xn as ct, xt as lt, yn as ut, yt as dt, z as ft, zn as pt, zt as mt } from "./getPseudoElementBounds-Dfqo78k7.js";
3
+ import * as Z from "react";
4
+ import { createContext as ht, useCallback as gt, useContext as _t, useEffect as vt, useLayoutEffect as yt, useMemo as bt, useRef as xt, useState as St } from "react";
5
+ import { jsx as Q, jsxs as Ct } from "react/jsx-runtime";
6
+ import * as wt from "react-dom";
7
+ //#region ../../node_modules/.bun/@base-ui+react@1.4.1+b87d06724be9db7a/node_modules/@base-ui/react/esm/internals/labelable-provider/useAriaLabelledBy.js
8
+ function Tt(e, t, n, r = !0, i) {
9
+ let [a, o] = Z.useState(), s = b(i ? `${i}-label` : void 0), c = e ?? t ?? a;
10
+ return Ze(() => {
11
+ let i = e || t || !r ? void 0 : Et(n.current, s);
12
+ a !== i && o(i);
13
+ }), c;
14
+ }
15
+ function Et(e, t) {
16
+ let n = Dt(e);
17
+ if (n) return !n.id && t && (n.id = t), n.id || void 0;
18
+ }
19
+ function Dt(e) {
20
+ if (!e) return;
21
+ let t = e.parentElement;
22
+ if (t && t.tagName === "LABEL") return t;
23
+ let n = e.id;
24
+ if (n) {
25
+ let t = e.nextElementSibling;
26
+ if (t && t.htmlFor === n) return t;
27
+ }
28
+ let r = e.labels;
29
+ return r && r[0];
30
+ }
31
+ //#endregion
32
+ //#region ../../node_modules/.bun/lucide-react@0.468.0+f4eacebf2041cd4f/node_modules/lucide-react/dist/esm/icons/chevron-right.js
33
+ var Ot = a("ChevronRight", [["path", {
34
+ d: "m9 18 6-6-6-6",
35
+ key: "mthhwq"
36
+ }]]), kt = (e, t = {}, n = "") => {
37
+ for (let [r, i] of Object.entries(e)) typeof i == "string" ? t[n + r] = i : kt(i, t, n + r + ".");
38
+ return t;
39
+ }, At = (e) => {
40
+ let t = [], n = [], r = /{{(\S+?)}}/gi, i, a = 0;
41
+ for (; i = r.exec(e);) t.push(e.slice(a, i.index), ""), n.push(i[1]), a = i.index + i[0].length;
42
+ return t.push(e.slice(a)), n.length <= 0 ? !1 : (e) => {
43
+ for (let r = n.length - 1; r >= 0; r--) t[r * 2 + 1] = e[n[r]] ?? n[r];
44
+ return t.join("");
45
+ };
46
+ }, jt = class r {
47
+ constructor(r, i, a) {
48
+ this.t = (e, t) => this.t$.get()(e, t), this.fetcher = a?.fetcher;
49
+ let o = /* @__PURE__ */ new Map();
50
+ this.locales$ = t(i), this.lang$ = t(r), this.locale$ = n([this.lang$, this.locales$], ([e, t]) => t[e] || {}), this.a = e(this.locale$, kt), this.t$ = e(this.a, (e) => ((e, t, n) => {
51
+ if (n) {
52
+ let r = n["@"];
53
+ if (r != null) {
54
+ let n = `${t}@${r}`;
55
+ e[n] && (t = n);
56
+ } else {
57
+ let r = n[":option"];
58
+ if (r != null) {
59
+ let n;
60
+ t = e[n = `${t}.${r}`] || e[n = `${t}.other`] ? n : t;
61
+ }
62
+ }
63
+ if (e[t]) {
64
+ let r = o.get(t);
65
+ if (r ?? o.set(t, r = At(e[t])), r) return r(n);
66
+ }
67
+ }
68
+ return e[t] || t;
69
+ }).bind(o.clear(), e));
70
+ }
71
+ static async preload(e, t) {
72
+ return new r(e, { [e]: await t(e) }, { fetcher: t });
73
+ }
74
+ get lang() {
75
+ return this.lang$.value;
76
+ }
77
+ get locales() {
78
+ return this.locales$.value;
79
+ }
80
+ get locale() {
81
+ return this.locale$.value;
82
+ }
83
+ async switchLang(e) {
84
+ !this.locales$.value[e] && this.fetcher && this.addLocale(e, await this.fetcher(e)), this.lang$.set(e);
85
+ }
86
+ hasKey(e) {
87
+ return !!this.a.value[e];
88
+ }
89
+ addLocale(e, t) {
90
+ this.locales$.set({
91
+ ...this.locales,
92
+ [e]: t
93
+ });
94
+ }
95
+ dispose() {
96
+ this.lang$.dispose(), this.t$.dispose(), this.locales$.dispose(), this.locale$.dispose(), this.a.dispose();
97
+ }
98
+ };
99
+ //#endregion
100
+ //#region ../../node_modules/.bun/@base-ui+react@1.4.1+b87d06724be9db7a/node_modules/@base-ui/react/esm/floating-ui-react/hooks/useHoverShared.js
101
+ function Mt(e, t) {
102
+ return t != null && !ut(t) ? 0 : typeof e == "function" ? e() : e;
103
+ }
104
+ function Nt(e, t, n) {
105
+ let r = Mt(e, n);
106
+ return typeof r == "number" ? r : r?.[t];
107
+ }
108
+ function Pt(e) {
109
+ return typeof e == "function" ? e() : e;
110
+ }
111
+ function Ft(e, t) {
112
+ return t || e === "click" || e === "mousedown";
113
+ }
114
+ //#endregion
115
+ //#region ../../node_modules/.bun/@base-ui+react@1.4.1+b87d06724be9db7a/node_modules/@base-ui/react/esm/floating-ui-react/hooks/useFocus.js
116
+ var It = i && Ne;
117
+ function Lt(e, t = {}) {
118
+ let n = "rootStore" in e ? e.rootStore : e, { events: r, dataRef: i } = n.context, { enabled: a = !0, delay: o } = t, s = Z.useRef(!1), c = Z.useRef(null), u = Xe(), f = Z.useRef(!0);
119
+ Z.useEffect(() => {
120
+ let e = n.select("domReferenceElement");
121
+ if (!a) return;
122
+ let t = Le(e);
123
+ function r() {
124
+ let e = n.select("domReferenceElement");
125
+ !n.select("open") && ye(e) && e === l(A(e)) && (s.current = !0);
126
+ }
127
+ function i() {
128
+ f.current = !0;
129
+ }
130
+ function o() {
131
+ f.current = !1;
132
+ }
133
+ return lt(I(t, "blur", r), It && I(t, "keydown", i, !0), It && I(t, "pointerdown", o, !0));
134
+ }, [n, a]), Z.useEffect(() => {
135
+ if (!a) return;
136
+ function e(e) {
137
+ if (e.reason === "trigger-press" || e.reason === "escape-key") {
138
+ let e = n.select("domReferenceElement");
139
+ X(e) && (c.current = e, s.current = !0);
140
+ }
141
+ }
142
+ return r.on("openchange", e), () => {
143
+ r.off("openchange", e);
144
+ };
145
+ }, [
146
+ r,
147
+ a,
148
+ n
149
+ ]);
150
+ let p = Z.useMemo(() => ({
151
+ onMouseLeave() {
152
+ s.current = !1, c.current = null;
153
+ },
154
+ onFocus(e) {
155
+ let t = e.currentTarget;
156
+ if (s.current) {
157
+ if (c.current === t) return;
158
+ s.current = !1, c.current = null;
159
+ }
160
+ let r = Pe(e.nativeEvent);
161
+ if (X(r)) {
162
+ if (It && !e.relatedTarget) {
163
+ if (!f.current && !L(r)) return;
164
+ } else if (!d(r)) return;
165
+ }
166
+ let i = st(e.relatedTarget, n.context.triggerElements), { nativeEvent: a, currentTarget: l } = e, p = typeof o == "function" ? o() : o;
167
+ if (n.select("open") && i || p === 0 || p === void 0) {
168
+ n.setOpen(!0, O(H, a, l));
169
+ return;
170
+ }
171
+ u.start(p, () => {
172
+ s.current || n.setOpen(!0, O(H, a, l));
173
+ });
174
+ },
175
+ onBlur(e) {
176
+ s.current = !1, c.current = null;
177
+ let t = e.relatedTarget, r = e.nativeEvent, a = X(t) && t.hasAttribute(Ee("focus-guard")) && t.getAttribute("data-type") === "outside";
178
+ u.start(0, () => {
179
+ let e = n.select("domReferenceElement"), o = l(A(e));
180
+ !t && o === e || M(i.current.floatingContext?.refs.floating.current, o) || M(e, o) || a || st(t ?? o, n.context.triggerElements) || n.setOpen(!1, O(H, r));
181
+ });
182
+ }
183
+ }), [
184
+ i,
185
+ n,
186
+ u,
187
+ o
188
+ ]);
189
+ return Z.useMemo(() => a ? {
190
+ reference: p,
191
+ trigger: p
192
+ } : {}, [a, p]);
193
+ }
194
+ //#endregion
195
+ //#region ../../node_modules/.bun/@base-ui+react@1.4.1+b87d06724be9db7a/node_modules/@base-ui/react/esm/floating-ui-react/hooks/useHoverInteractionSharedState.js
196
+ var Rt = class e {
197
+ constructor() {
198
+ this.pointerType = void 0, this.interactedInside = !1, this.handler = void 0, this.blockMouseMove = !0, this.performedPointerEventsMutation = !1, this.pointerEventsScopeElement = null, this.pointerEventsReferenceElement = null, this.pointerEventsFloatingElement = null, this.restTimeoutPending = !1, this.openChangeTimeout = new Ve(), this.restTimeout = new Ve(), this.handleCloseOptions = void 0;
199
+ }
200
+ static create() {
201
+ return new e();
202
+ }
203
+ dispose = () => {
204
+ this.openChangeTimeout.clear(), this.restTimeout.clear();
205
+ };
206
+ disposeEffect = () => this.dispose;
207
+ }, zt = /* @__PURE__ */ new WeakMap();
208
+ function Bt(e) {
209
+ if (!e.performedPointerEventsMutation) return;
210
+ let t = e.pointerEventsScopeElement;
211
+ t && zt.get(t) === e && (e.pointerEventsScopeElement?.style.removeProperty("pointer-events"), e.pointerEventsReferenceElement?.style.removeProperty("pointer-events"), e.pointerEventsFloatingElement?.style.removeProperty("pointer-events"), zt.delete(t)), e.performedPointerEventsMutation = !1, e.pointerEventsScopeElement = null, e.pointerEventsReferenceElement = null, e.pointerEventsFloatingElement = null;
212
+ }
213
+ function Vt(e, t) {
214
+ let { scopeElement: n, referenceElement: r, floatingElement: i } = t, a = zt.get(n);
215
+ a && a !== e && Bt(a), Bt(e), e.performedPointerEventsMutation = !0, e.pointerEventsScopeElement = n, e.pointerEventsReferenceElement = r, e.pointerEventsFloatingElement = i, zt.set(n, e), n.style.pointerEvents = "none", r.style.pointerEvents = "auto", i.style.pointerEvents = "auto";
216
+ }
217
+ function Ht(e) {
218
+ let t = tt(Rt.create).current, n = e.context.dataRef.current;
219
+ return n.hoverInteractionState ||= t, Ae(n.hoverInteractionState.disposeEffect), n.hoverInteractionState;
220
+ }
221
+ //#endregion
222
+ //#region ../../node_modules/.bun/@base-ui+react@1.4.1+b87d06724be9db7a/node_modules/@base-ui/react/esm/floating-ui-react/hooks/useHoverFloatingInteraction.js
223
+ function Ut(e, t = {}) {
224
+ let n = "rootStore" in e ? e.rootStore : e, r = n.useState("open"), i = n.useState("floatingElement"), a = n.useState("domReferenceElement"), { dataRef: o } = n.context, { enabled: s = !0, closeDelay: l = 0, nodeId: u } = t, d = Ht(n), f = Re(), p = _e(), m = J(() => Ft(o.current.openEvent?.type, d.interactedInside)), h = J(() => {
225
+ let e = o.current.openEvent?.type;
226
+ return e?.includes("mouse") && e !== "mousedown";
227
+ }), g = J((e) => st(e, n.context.triggerElements)), v = Z.useCallback((e) => {
228
+ let t = Nt(l, "close", d.pointerType), r = () => {
229
+ n.setOpen(!1, O(_, e)), f?.events.emit("floating.closed", e);
230
+ };
231
+ t ? d.openChangeTimeout.start(t, r) : (d.openChangeTimeout.clear(), r());
232
+ }, [
233
+ l,
234
+ n,
235
+ d,
236
+ f
237
+ ]), y = J(() => {
238
+ Bt(d);
239
+ }), b = J((e) => {
240
+ let t = Pe(e);
241
+ if (!c(t)) {
242
+ d.interactedInside = !1;
243
+ return;
244
+ }
245
+ d.interactedInside = t?.closest("[aria-haspopup]") != null;
246
+ });
247
+ Ze(() => {
248
+ r || (d.pointerType = void 0, d.restTimeoutPending = !1, d.interactedInside = !1, y());
249
+ }, [
250
+ r,
251
+ d,
252
+ y
253
+ ]), Z.useEffect(() => y, [y]), Ze(() => {
254
+ if (s && r && d.handleCloseOptions?.blockPointerEvents && h() && X(a) && i) {
255
+ let e = a, t = i, n = A(i), r = f?.nodesRef.current.find((e) => e.id === p)?.context?.elements.floating;
256
+ r && (r.style.pointerEvents = "");
257
+ let o = d.handleCloseOptions?.getScope?.() ?? d.pointerEventsScopeElement ?? r ?? e.closest("[data-rootownerid]") ?? n.body;
258
+ return Vt(d, {
259
+ scopeElement: o,
260
+ referenceElement: e,
261
+ floatingElement: t
262
+ }), () => {
263
+ y();
264
+ };
265
+ }
266
+ }, [
267
+ s,
268
+ r,
269
+ a,
270
+ i,
271
+ d,
272
+ h,
273
+ f,
274
+ p,
275
+ y
276
+ ]);
277
+ let x = Xe();
278
+ Z.useEffect(() => {
279
+ if (!s) return;
280
+ function e() {
281
+ d.openChangeTimeout.clear(), x.clear(), f?.events.off("floating.closed", r), y();
282
+ }
283
+ function t(e) {
284
+ if (f && p && ct(f.nodesRef.current, p).length > 0) {
285
+ f.events.on("floating.closed", r);
286
+ return;
287
+ }
288
+ if (g(e.relatedTarget)) return;
289
+ let t = o.current.floatingContext?.nodeId ?? u, n = e.relatedTarget;
290
+ if (!(f && t && X(n) && ct(f.nodesRef.current, t, !1).some((e) => M(e.context?.elements.floating, n)))) {
291
+ if (d.handler) {
292
+ d.handler(e);
293
+ return;
294
+ }
295
+ y(), m() || v(e);
296
+ }
297
+ }
298
+ function r(e) {
299
+ !f || !p || ct(f.nodesRef.current, p).length > 0 || x.start(0, () => {
300
+ f.events.off("floating.closed", r), n.setOpen(!1, O(_, e)), f.events.emit("floating.closed", e);
301
+ });
302
+ }
303
+ let a = i;
304
+ return lt(a && I(a, "mouseenter", e), a && I(a, "mouseleave", t), a && I(a, "pointerdown", b, !0), () => {
305
+ f?.events.off("floating.closed", r);
306
+ });
307
+ }, [
308
+ s,
309
+ i,
310
+ n,
311
+ o,
312
+ u,
313
+ m,
314
+ g,
315
+ v,
316
+ y,
317
+ b,
318
+ d,
319
+ f,
320
+ p,
321
+ x
322
+ ]);
323
+ }
324
+ //#endregion
325
+ //#region ../../node_modules/.bun/@base-ui+react@1.4.1+b87d06724be9db7a/node_modules/@base-ui/react/esm/floating-ui-react/hooks/useHoverReferenceInteraction.js
326
+ var Wt = { current: null };
327
+ function Gt(e, t = {}) {
328
+ let n = "rootStore" in e ? e.rootStore : e, { dataRef: r, events: i } = n.context, { enabled: a = !0, delay: o = 0, handleClose: s = null, mouseOnly: c = !1, restMs: l = 0, move: u = !0, triggerElementRef: d = Wt, externalTree: f, isActiveTrigger: p = !0, getHandleCloseContext: m, isClosing: h } = t, g = Re(f), v = Ht(n), y = Z.useRef(!1), b = pe(s), x = pe(o), S = pe(l), C = pe(a), w = pe(h);
329
+ p && (v.handleCloseOptions = b.current?.__options);
330
+ let T = J(() => Ft(r.current.openEvent?.type, v.interactedInside)), E = J((e) => st(e, n.context.triggerElements)), D = J((e, t, r) => {
331
+ let i = n.context.triggerElements;
332
+ if (i.hasElement(t)) return !e || !M(e, t);
333
+ if (!X(r)) return !1;
334
+ let a = r;
335
+ return i.hasMatchingElement((e) => M(e, a)) && (!e || !M(e, a));
336
+ }), k = J((e, t = !0) => {
337
+ let r = Nt(x.current, "close", v.pointerType);
338
+ r ? v.openChangeTimeout.start(r, () => {
339
+ n.setOpen(!1, O(_, e)), g?.events.emit("floating.closed", e);
340
+ }) : t && (v.openChangeTimeout.clear(), n.setOpen(!1, O(_, e)), g?.events.emit("floating.closed", e));
341
+ }), j = J(() => {
342
+ v.handler &&= (A(n.select("domReferenceElement")).removeEventListener("mousemove", v.handler), void 0);
343
+ }), N = J(() => {
344
+ Bt(v);
345
+ });
346
+ return Z.useEffect(() => j, [j]), Z.useEffect(() => {
347
+ if (!a) return;
348
+ function e(e) {
349
+ e.open ? y.current = !1 : (y.current = e.reason === _, j(), v.openChangeTimeout.clear(), v.restTimeout.clear(), v.blockMouseMove = !0, v.restTimeoutPending = !1);
350
+ }
351
+ return i.on("openchange", e), () => {
352
+ i.off("openchange", e);
353
+ };
354
+ }, [
355
+ a,
356
+ i,
357
+ v,
358
+ j
359
+ ]), Z.useEffect(() => {
360
+ if (!a) return;
361
+ let e = d.current ?? (p ? n.select("domReferenceElement") : null);
362
+ if (!X(e)) return;
363
+ function t(e) {
364
+ if (v.openChangeTimeout.clear(), v.blockMouseMove = !1, c && !ut(v.pointerType)) return;
365
+ let t = Pt(S.current), r = Nt(x.current, "open", v.pointerType), i = Pe(e), a = e.currentTarget ?? null, o = n.select("domReferenceElement"), s = a;
366
+ if (X(i) && !n.context.triggerElements.hasElement(i)) {
367
+ for (let e of n.context.triggerElements.elements()) if (M(e, i)) {
368
+ s = e;
369
+ break;
370
+ }
371
+ }
372
+ X(a) && X(o) && !n.context.triggerElements.hasElement(a) && M(a, o) && (s = o);
373
+ let l = s != null && D(o, s, i), u = n.select("open"), d = w.current?.() ?? n.select("transitionStatus") === "ending", f = !u && d && y.current, p = !l && X(s) && X(o) && M(o, s) && f, m = t > 0 && !r, h = l && (u || f) || p, g = !u || l;
374
+ if (h) {
375
+ n.setOpen(!0, O(_, e, s));
376
+ return;
377
+ }
378
+ m || (r ? v.openChangeTimeout.start(r, () => {
379
+ g && n.setOpen(!0, O(_, e, s));
380
+ }) : g && n.setOpen(!0, O(_, e, s)));
381
+ }
382
+ function i(e) {
383
+ if (T()) {
384
+ N();
385
+ return;
386
+ }
387
+ j();
388
+ let t = n.select("domReferenceElement"), i = A(t);
389
+ v.restTimeout.clear(), v.restTimeoutPending = !1;
390
+ let a = r.current.floatingContext ?? m?.();
391
+ if (!E(e.relatedTarget)) {
392
+ if (b.current && a) {
393
+ n.select("open") || v.openChangeTimeout.clear();
394
+ let t = d.current;
395
+ v.handler = b.current({
396
+ ...a,
397
+ tree: g,
398
+ x: e.clientX,
399
+ y: e.clientY,
400
+ onClose() {
401
+ N(), j(), C.current && !T() && t === n.select("domReferenceElement") && k(e, !0);
402
+ }
403
+ }), i.addEventListener("mousemove", v.handler), v.handler(e);
404
+ return;
405
+ }
406
+ (v.pointerType !== "touch" || !M(n.select("floatingElement"), e.relatedTarget)) && k(e);
407
+ }
408
+ }
409
+ return u ? lt(I(e, "mousemove", t, { once: !0 }), I(e, "mouseenter", t), I(e, "mouseleave", i)) : lt(I(e, "mouseenter", t), I(e, "mouseleave", i));
410
+ }, [
411
+ j,
412
+ N,
413
+ r,
414
+ x,
415
+ k,
416
+ n,
417
+ a,
418
+ b,
419
+ v,
420
+ p,
421
+ D,
422
+ T,
423
+ E,
424
+ c,
425
+ u,
426
+ S,
427
+ d,
428
+ g,
429
+ C,
430
+ m,
431
+ w
432
+ ]), Z.useMemo(() => {
433
+ if (!a) return;
434
+ function e(e) {
435
+ v.pointerType = e.pointerType;
436
+ }
437
+ return {
438
+ onPointerDown: e,
439
+ onPointerEnter: e,
440
+ onMouseMove(e) {
441
+ let { nativeEvent: t } = e, r = e.currentTarget, i = n.select("domReferenceElement"), a = n.select("open"), o = D(i, r, e.target);
442
+ if (c && !ut(v.pointerType)) return;
443
+ if (a && o && v.handleCloseOptions?.blockPointerEvents) {
444
+ let e = n.select("floatingElement");
445
+ if (e) {
446
+ let t = v.handleCloseOptions?.getScope?.() ?? r.ownerDocument.body;
447
+ Vt(v, {
448
+ scopeElement: t,
449
+ referenceElement: r,
450
+ floatingElement: e
451
+ });
452
+ }
453
+ }
454
+ let s = Pt(S.current);
455
+ if (a && !o || s === 0 || !o && v.restTimeoutPending && e.movementX ** 2 + e.movementY ** 2 < 2) return;
456
+ v.restTimeout.clear();
457
+ function l() {
458
+ if (v.restTimeoutPending = !1, T()) return;
459
+ let e = n.select("open");
460
+ !v.blockMouseMove && (!e || o) && n.setOpen(!0, O(_, t, r));
461
+ }
462
+ v.pointerType === "touch" ? wt.flushSync(() => {
463
+ l();
464
+ }) : o && a ? l() : (v.restTimeoutPending = !0, v.restTimeout.start(s, l));
465
+ }
466
+ };
467
+ }, [
468
+ a,
469
+ v,
470
+ T,
471
+ D,
472
+ c,
473
+ n,
474
+ S
475
+ ]);
476
+ }
477
+ //#endregion
478
+ //#region ../../node_modules/.bun/@base-ui+react@1.4.1+b87d06724be9db7a/node_modules/@base-ui/react/esm/floating-ui-react/safePolygon.js
479
+ var Kt = .1, qt = Kt * Kt, $ = .5;
480
+ function Jt(e, t, n, r, i, a) {
481
+ return r >= t != a >= t && e <= (i - n) * (t - r) / (a - r) + n;
482
+ }
483
+ function Yt(e, t, n, r, i, a, o, s, c, l) {
484
+ let u = !1;
485
+ return Jt(e, t, n, r, i, a) && (u = !u), Jt(e, t, i, a, o, s) && (u = !u), Jt(e, t, o, s, c, l) && (u = !u), Jt(e, t, c, l, n, r) && (u = !u), u;
486
+ }
487
+ function Xt(e, t, n) {
488
+ return e >= n.x && e <= n.x + n.width && t >= n.y && t <= n.y + n.height;
489
+ }
490
+ function Zt(e, t, n, r, i, a) {
491
+ return e >= Math.min(n, i) && e <= Math.max(n, i) && t >= Math.min(r, a) && t <= Math.max(r, a);
492
+ }
493
+ function Qt(e = {}) {
494
+ let { blockPointerEvents: t = !1 } = e, n = new Ve(), r = ({ x: e, y: t, placement: r, elements: i, onClose: a, nodeId: o, tree: s }) => {
495
+ let c = r?.split("-")[0], l = !1, u = null, d = null, f = typeof performance < "u" ? performance.now() : 0;
496
+ function p(e, t) {
497
+ let n = performance.now(), r = n - f;
498
+ if (u === null || d === null || r === 0) return u = e, d = t, f = n, !1;
499
+ let i = e - u, a = t - d, o = i * i + a * a, s = r * r * qt;
500
+ return u = e, d = t, f = n, o < s;
501
+ }
502
+ function m() {
503
+ n.clear(), a();
504
+ }
505
+ return function(r) {
506
+ n.clear();
507
+ let a = i.domReference, u = i.floating;
508
+ if (!a || !u || c == null || e == null || t == null) return;
509
+ let { clientX: d, clientY: f } = r, h = Pe(r), g = r.type === "mouseleave", _ = M(u, h), v = M(a, h);
510
+ if (_ && (l = !0, !g)) return;
511
+ if (v && (l = !1, !g)) {
512
+ l = !0;
513
+ return;
514
+ }
515
+ if (g && X(r.relatedTarget) && M(u, r.relatedTarget)) return;
516
+ function y() {
517
+ return !!(s && ct(s.nodesRef.current, o).length > 0);
518
+ }
519
+ function b() {
520
+ y() || m();
521
+ }
522
+ if (y()) return;
523
+ let x = a.getBoundingClientRect(), S = u.getBoundingClientRect(), C = e > S.right - S.width / 2, w = t > S.bottom - S.height / 2, T = S.width > x.width, E = S.height > x.height, D = (T ? x : S).left, O = (T ? x : S).right, k = (E ? x : S).top, A = (E ? x : S).bottom;
524
+ if (c === "top" && t >= x.bottom - 1 || c === "bottom" && t <= x.top + 1 || c === "left" && e >= x.right - 1 || c === "right" && e <= x.left + 1) {
525
+ b();
526
+ return;
527
+ }
528
+ let j = !1;
529
+ switch (c) {
530
+ case "top":
531
+ j = Zt(d, f, D, x.top + 1, O, S.bottom - 1);
532
+ break;
533
+ case "bottom":
534
+ j = Zt(d, f, D, S.top + 1, O, x.bottom - 1);
535
+ break;
536
+ case "left":
537
+ j = Zt(d, f, S.right - 1, A, x.left + 1, k);
538
+ break;
539
+ case "right": j = Zt(d, f, x.right - 1, A, S.left + 1, k);
540
+ }
541
+ if (j) return;
542
+ if (l && !Xt(d, f, x)) {
543
+ b();
544
+ return;
545
+ }
546
+ if (!g && p(d, f)) {
547
+ b();
548
+ return;
549
+ }
550
+ let N = !1;
551
+ switch (c) {
552
+ case "top": {
553
+ let n = T ? $ / 2 : $ * 4, r = T || C ? e + n : e - n, i = T ? e - n : C ? e + n : e - n, a = t + $ + 1, o = C || T ? S.bottom - $ : S.top, s = C ? T ? S.bottom - $ : S.top : S.bottom - $;
554
+ N = Yt(d, f, r, a, i, a, S.left, o, S.right, s);
555
+ break;
556
+ }
557
+ case "bottom": {
558
+ let n = T ? $ / 2 : $ * 4, r = T || C ? e + n : e - n, i = T ? e - n : C ? e + n : e - n, a = t - $, o = C || T ? S.top + $ : S.bottom, s = C ? T ? S.top + $ : S.bottom : S.top + $;
559
+ N = Yt(d, f, r, a, i, a, S.left, o, S.right, s);
560
+ break;
561
+ }
562
+ case "left": {
563
+ let n = E ? $ / 2 : $ * 4, r = E || w ? t + n : t - n, i = E ? t - n : w ? t + n : t - n, a = e + $ + 1, o = w || E ? S.right - $ : S.left, s = w ? E ? S.right - $ : S.left : S.right - $;
564
+ N = Yt(d, f, o, S.top, s, S.bottom, a, r, a, i);
565
+ break;
566
+ }
567
+ case "right": {
568
+ let n = E ? $ / 2 : $ * 4, r = E || w ? t + n : t - n, i = E ? t - n : w ? t + n : t - n, a = e - $, o = w || E ? S.left + $ : S.right, s = w ? E ? S.left + $ : S.right : S.left + $;
569
+ N = Yt(d, f, a, r, a, i, o, S.top, s, S.bottom);
570
+ break;
571
+ }
572
+ }
573
+ N ? l || n.start(40, b) : b();
574
+ };
575
+ };
576
+ return r.__options = {
577
+ ...e,
578
+ blockPointerEvents: t
579
+ }, r;
580
+ }
581
+ //#endregion
582
+ //#region ../../node_modules/.bun/@base-ui+react@1.4.1+b87d06724be9db7a/node_modules/@base-ui/react/esm/menu/positioner/MenuPositionerContext.js
583
+ var $t = /*#__PURE__*/ Z.createContext(void 0);
584
+ process.env.NODE_ENV !== "production" && ($t.displayName = "MenuPositionerContext");
585
+ function en(e) {
586
+ let t = Z.useContext($t);
587
+ if (t === void 0 && !e) throw Error(process.env.NODE_ENV === "production" ? Y(33) : "Base UI: MenuPositionerContext is missing. MenuPositioner parts must be placed within <Menu.Positioner>.");
588
+ return t;
589
+ }
590
+ //#endregion
591
+ //#region ../../node_modules/.bun/@base-ui+react@1.4.1+b87d06724be9db7a/node_modules/@base-ui/react/esm/menu/root/MenuRootContext.js
592
+ var tn = /*#__PURE__*/ Z.createContext(void 0);
593
+ process.env.NODE_ENV !== "production" && (tn.displayName = "MenuRootContext");
594
+ function nn(e) {
595
+ let t = Z.useContext(tn);
596
+ if (t === void 0 && !e) throw Error(process.env.NODE_ENV === "production" ? Y(36) : "Base UI: MenuRootContext is missing. Menu parts must be placed within <Menu.Root>.");
597
+ return t;
598
+ }
599
+ //#endregion
600
+ //#region ../../node_modules/.bun/@base-ui+react@1.4.1+b87d06724be9db7a/node_modules/@base-ui/react/esm/context-menu/root/ContextMenuRootContext.js
601
+ var rn = /*#__PURE__*/ Z.createContext(void 0);
602
+ process.env.NODE_ENV !== "production" && (rn.displayName = "ContextMenuRootContext");
603
+ function an(e = !0) {
604
+ let t = Z.useContext(rn);
605
+ if (t === void 0 && !e) throw Error(process.env.NODE_ENV === "production" ? Y(25) : "Base UI: ContextMenuRootContext is missing. ContextMenu parts must be placed within <ContextMenu.Root>.");
606
+ return t;
607
+ }
608
+ //#endregion
609
+ //#region ../../node_modules/.bun/@base-ui+react@1.4.1+b87d06724be9db7a/node_modules/@base-ui/react/esm/menu/checkbox-item/MenuCheckboxItemContext.js
610
+ var on = /*#__PURE__*/ Z.createContext(void 0);
611
+ process.env.NODE_ENV !== "production" && (on.displayName = "MenuCheckboxItemContext");
612
+ function sn() {
613
+ let e = Z.useContext(on);
614
+ if (e === void 0) throw Error(process.env.NODE_ENV === "production" ? Y(30) : "Base UI: MenuCheckboxItemContext is missing. MenuCheckboxItem parts must be placed within <Menu.CheckboxItem>.");
615
+ return e;
616
+ }
617
+ //#endregion
618
+ //#region ../../node_modules/.bun/@base-ui+react@1.4.1+b87d06724be9db7a/node_modules/@base-ui/react/esm/menu/item/useMenuItemCommonProps.js
619
+ function cn(e) {
620
+ let { closeOnClick: t, highlighted: n, id: r, nodeId: a, store: o, typingRef: s, itemRef: c, itemMetadata: l } = e, { events: u } = o.useState("floatingTreeRoot"), d = an(!0), f = d !== void 0;
621
+ return Z.useMemo(() => ({
622
+ id: r,
623
+ role: "menuitem",
624
+ tabIndex: n ? 0 : -1,
625
+ onKeyDown(e) {
626
+ e.key === " " && s?.current && e.preventDefault();
627
+ },
628
+ onMouseMove(e) {
629
+ a && u.emit("itemhover", {
630
+ nodeId: a,
631
+ target: e.currentTarget
632
+ });
633
+ },
634
+ onClick(e) {
635
+ t && u.emit("close", {
636
+ domEvent: e,
637
+ reason: mt
638
+ });
639
+ },
640
+ onMouseUp(e) {
641
+ if (d) {
642
+ let t = d.initialCursorPointRef.current;
643
+ if (d.initialCursorPointRef.current = null, f && t && Math.abs(e.clientX - t.x) <= 1 && Math.abs(e.clientY - t.y) <= 1 || f && !i && e.button === 2) return;
644
+ }
645
+ c.current && o.context.allowMouseUpTriggerRef.current && (!f || e.button === 2) && (!l || l.type === "regular-item") && c.current.click();
646
+ }
647
+ }), [
648
+ t,
649
+ n,
650
+ r,
651
+ u,
652
+ a,
653
+ o,
654
+ s,
655
+ c,
656
+ d,
657
+ f,
658
+ l
659
+ ]);
660
+ }
661
+ //#endregion
662
+ //#region ../../node_modules/.bun/@base-ui+react@1.4.1+b87d06724be9db7a/node_modules/@base-ui/react/esm/menu/item/useMenuItem.js
663
+ var ln = { type: "regular-item" };
664
+ function un(e) {
665
+ let { closeOnClick: t, disabled: n = !1, highlighted: r, id: i, store: a, typingRef: o = a.context.typingRef, nativeButton: s, itemMetadata: c, nodeId: l } = e, u = Z.useRef(null), { getButtonProps: d, buttonRef: f } = P({
666
+ disabled: n,
667
+ focusableWhenDisabled: !0,
668
+ native: s,
669
+ composite: !0
670
+ }), p = cn({
671
+ closeOnClick: t,
672
+ highlighted: r,
673
+ id: i,
674
+ nodeId: l,
675
+ store: a,
676
+ typingRef: o,
677
+ itemRef: u,
678
+ itemMetadata: c
679
+ }), m = Z.useCallback((e) => He(p, { onMouseEnter() {
680
+ c.type === "submenu-trigger" && c.setActive();
681
+ } }, e, d), [
682
+ p,
683
+ d,
684
+ c
685
+ ]), h = K(u, f);
686
+ return Z.useMemo(() => ({
687
+ getItemProps: m,
688
+ itemRef: h
689
+ }), [m, h]);
690
+ }
691
+ //#endregion
692
+ //#region ../../node_modules/.bun/@base-ui+react@1.4.1+b87d06724be9db7a/node_modules/@base-ui/react/esm/menu/checkbox-item/MenuCheckboxItemDataAttributes.js
693
+ var dn = /*#__PURE__*/ function(e) {
694
+ return e.checked = "data-checked", e.unchecked = "data-unchecked", e.disabled = "data-disabled", e.highlighted = "data-highlighted", e;
695
+ }({}), fn = {
696
+ checked(e) {
697
+ return e ? { [dn.checked]: "" } : { [dn.unchecked]: "" };
698
+ },
699
+ ...xe
700
+ }, pn = /*#__PURE__*/ Z.forwardRef(function(e, t) {
701
+ let { render: n, className: r, id: i, label: a, nativeButton: o = !1, disabled: s = !1, closeOnClick: c = !1, checked: l, defaultChecked: u, onCheckedChange: d, style: f, ...p } = e, m = ve({ label: a }), h = en(!0), g = b(i), { store: _ } = nn(), v = _.useState("isActive", m.index), y = _.useState("itemProps"), [x, S] = se({
702
+ controlled: l,
703
+ default: u ?? !1,
704
+ name: "MenuCheckboxItem",
705
+ state: "checked"
706
+ }), { getItemProps: C, itemRef: T } = un({
707
+ closeOnClick: c,
708
+ disabled: s,
709
+ highlighted: v,
710
+ id: g,
711
+ store: _,
712
+ nativeButton: o,
713
+ nodeId: h?.context.nodeId,
714
+ itemMetadata: ln
715
+ }), E = Z.useMemo(() => ({
716
+ disabled: s,
717
+ highlighted: v,
718
+ checked: x
719
+ }), [
720
+ s,
721
+ v,
722
+ x
723
+ ]), D = J((e) => {
724
+ let t = {
725
+ ...O(mt, e.nativeEvent),
726
+ preventUnmountOnClose: () => {}
727
+ };
728
+ d?.(!x, t), !t.isCanceled && S((e) => !e);
729
+ }), k = w("div", e, {
730
+ state: E,
731
+ stateAttributesMapping: fn,
732
+ props: [
733
+ y,
734
+ {
735
+ role: "menuitemcheckbox",
736
+ "aria-checked": x,
737
+ onClick: D
738
+ },
739
+ p,
740
+ C
741
+ ],
742
+ ref: [
743
+ T,
744
+ t,
745
+ m.ref
746
+ ]
747
+ });
748
+ return /*#__PURE__*/ Q(on.Provider, {
749
+ value: E,
750
+ children: k
751
+ });
752
+ });
753
+ process.env.NODE_ENV !== "production" && (pn.displayName = "MenuCheckboxItem");
754
+ //#endregion
755
+ //#region ../../node_modules/.bun/@base-ui+react@1.4.1+b87d06724be9db7a/node_modules/@base-ui/react/esm/menu/checkbox-item-indicator/MenuCheckboxItemIndicator.js
756
+ var mn = /*#__PURE__*/ Z.forwardRef(function(e, t) {
757
+ let { render: n, className: r, style: i, keepMounted: a = !1, ...o } = e, s = sn(), c = Z.useRef(null), { transitionStatus: l, setMounted: u } = W(s.checked);
758
+ ce({
759
+ open: s.checked,
760
+ ref: c,
761
+ onComplete() {
762
+ s.checked || u(!1);
763
+ }
764
+ });
765
+ let d = {
766
+ checked: s.checked,
767
+ disabled: s.disabled,
768
+ highlighted: s.highlighted,
769
+ transitionStatus: l
770
+ };
771
+ return w("span", e, {
772
+ state: d,
773
+ ref: [t, c],
774
+ stateAttributesMapping: fn,
775
+ props: {
776
+ "aria-hidden": !0,
777
+ ...o
778
+ },
779
+ enabled: a || s.checked
780
+ });
781
+ });
782
+ process.env.NODE_ENV !== "production" && (mn.displayName = "MenuCheckboxItemIndicator");
783
+ //#endregion
784
+ //#region ../../node_modules/.bun/@base-ui+react@1.4.1+b87d06724be9db7a/node_modules/@base-ui/react/esm/menu/group/MenuGroupContext.js
785
+ var hn = /*#__PURE__*/ Z.createContext(void 0);
786
+ process.env.NODE_ENV !== "production" && (hn.displayName = "MenuGroupContext");
787
+ function gn() {
788
+ let e = Z.useContext(hn);
789
+ if (e === void 0) throw Error(process.env.NODE_ENV === "production" ? Y(31) : "Base UI: MenuGroupRootContext is missing. Menu group parts must be used within <Menu.Group>.");
790
+ return e;
791
+ }
792
+ //#endregion
793
+ //#region ../../node_modules/.bun/@base-ui+react@1.4.1+b87d06724be9db7a/node_modules/@base-ui/react/esm/menu/group/MenuGroup.js
794
+ var _n = /*#__PURE__*/ Z.forwardRef(function(e, t) {
795
+ let { render: n, className: r, style: i, ...a } = e, [o, s] = Z.useState(void 0), c = Z.useMemo(() => ({ setLabelId: s }), [s]), l = w("div", e, {
796
+ ref: t,
797
+ props: {
798
+ role: "group",
799
+ "aria-labelledby": o,
800
+ ...a
801
+ }
802
+ });
803
+ return /*#__PURE__*/ Q(hn.Provider, {
804
+ value: c,
805
+ children: l
806
+ });
807
+ });
808
+ process.env.NODE_ENV !== "production" && (_n.displayName = "MenuGroup");
809
+ //#endregion
810
+ //#region ../../node_modules/.bun/@base-ui+react@1.4.1+b87d06724be9db7a/node_modules/@base-ui/react/esm/menu/group-label/MenuGroupLabel.js
811
+ var vn = /*#__PURE__*/ Z.forwardRef(function(e, t) {
812
+ let { className: n, render: r, id: i, style: a, ...o } = e, s = b(i), { setLabelId: c } = gn();
813
+ return Ze(() => (c(s), () => {
814
+ c(void 0);
815
+ }), [c, s]), w("div", e, {
816
+ ref: t,
817
+ props: {
818
+ id: s,
819
+ role: "presentation",
820
+ ...o
821
+ }
822
+ });
823
+ });
824
+ process.env.NODE_ENV !== "production" && (vn.displayName = "MenuGroupLabel");
825
+ //#endregion
826
+ //#region ../../node_modules/.bun/@base-ui+react@1.4.1+b87d06724be9db7a/node_modules/@base-ui/react/esm/menu/item/MenuItem.js
827
+ var yn = /*#__PURE__*/ Z.forwardRef(function(e, t) {
828
+ let { render: n, className: r, id: i, label: a, nativeButton: o = !1, disabled: s = !1, closeOnClick: c = !0, style: l, ...u } = e, d = ve({ label: a }), f = en(!0), p = b(i), { store: m } = nn(), h = m.useState("isActive", d.index), g = m.useState("itemProps"), { getItemProps: _, itemRef: v } = un({
829
+ closeOnClick: c,
830
+ disabled: s,
831
+ highlighted: h,
832
+ id: p,
833
+ store: m,
834
+ nativeButton: o,
835
+ nodeId: f?.context.nodeId,
836
+ itemMetadata: ln
837
+ });
838
+ return w("div", e, {
839
+ state: {
840
+ disabled: s,
841
+ highlighted: h
842
+ },
843
+ props: [
844
+ g,
845
+ u,
846
+ _
847
+ ],
848
+ ref: [
849
+ v,
850
+ t,
851
+ d.ref
852
+ ]
853
+ });
854
+ });
855
+ process.env.NODE_ENV !== "production" && (yn.displayName = "MenuItem");
856
+ //#endregion
857
+ //#region ../../node_modules/.bun/@base-ui+react@1.4.1+b87d06724be9db7a/node_modules/@base-ui/react/esm/menu/popup/MenuPopup.js
858
+ var bn = {
859
+ ...R,
860
+ ...xe
861
+ }, xn = /*#__PURE__*/ Z.forwardRef(function(e, t) {
862
+ let { render: n, className: r, style: i, finalFocus: a, ...o } = e, { store: s } = nn(), { side: c, align: l } = en(), u = Ie(!0) != null, d = s.useState("open"), f = s.useState("transitionStatus"), p = s.useState("popupProps"), m = s.useState("mounted"), h = s.useState("instantType"), g = s.useState("activeTriggerElement"), _ = s.useState("parent"), v = s.useState("lastOpenChangeReason"), y = s.useState("rootId"), b = s.useState("floatingRootContext"), x = s.useState("floatingTreeRoot"), S = s.useState("closeDelay"), C = s.useState("activeTriggerElement"), T = _.type === "context-menu";
863
+ ce({
864
+ open: d,
865
+ ref: s.context.popupRef,
866
+ onComplete() {
867
+ d && s.context.onOpenChangeComplete?.(!0);
868
+ }
869
+ }), Z.useEffect(() => {
870
+ function e(e) {
871
+ s.setOpen(!1, O(e.reason, e.domEvent));
872
+ }
873
+ return x.events.on("close", e), () => {
874
+ x.events.off("close", e);
875
+ };
876
+ }, [x.events, s]);
877
+ let E = s.useState("hoverEnabled"), D = s.useState("disabled");
878
+ Ut(b, {
879
+ enabled: E && !D && !T && _.type !== "menubar",
880
+ closeDelay: S
881
+ });
882
+ let k = {
883
+ transitionStatus: f,
884
+ side: c,
885
+ align: l,
886
+ open: d,
887
+ nested: _.type === "menu",
888
+ instant: h
889
+ }, A = Z.useCallback((e) => {
890
+ s.set("popupElement", e);
891
+ }, [s]), j = w("div", e, {
892
+ state: k,
893
+ ref: [
894
+ t,
895
+ s.context.popupRef,
896
+ A
897
+ ],
898
+ stateAttributesMapping: bn,
899
+ props: [
900
+ p,
901
+ { onKeyDown(e) {
902
+ u && ot.has(e.key) && e.stopPropagation();
903
+ } },
904
+ me(f),
905
+ o,
906
+ { "data-rootownerid": y }
907
+ ]
908
+ }), M = _.type === void 0 || T;
909
+ return (g || _.type === "menubar" && v !== "outside-press") && (M = !0), /*#__PURE__*/ Q(Me, {
910
+ context: b,
911
+ modal: T,
912
+ disabled: !m,
913
+ returnFocus: a === void 0 ? M : a,
914
+ initialFocus: _.type !== "menu",
915
+ restoreFocus: !0,
916
+ externalTree: _.type === "menubar" ? void 0 : x,
917
+ previousFocusableElement: C,
918
+ nextFocusableElement: _.type === void 0 ? s.context.triggerFocusTargetRef : void 0,
919
+ beforeContentFocusGuardRef: _.type === void 0 ? s.context.beforeContentFocusGuardRef : void 0,
920
+ children: j
921
+ });
922
+ });
923
+ process.env.NODE_ENV !== "production" && (xn.displayName = "MenuPopup");
924
+ //#endregion
925
+ //#region ../../node_modules/.bun/@base-ui+react@1.4.1+b87d06724be9db7a/node_modules/@base-ui/react/esm/menu/portal/MenuPortalContext.js
926
+ var Sn = /*#__PURE__*/ Z.createContext(void 0);
927
+ process.env.NODE_ENV !== "production" && (Sn.displayName = "MenuPortalContext");
928
+ function Cn() {
929
+ let e = Z.useContext(Sn);
930
+ if (e === void 0) throw Error(process.env.NODE_ENV === "production" ? Y(32) : "Base UI: <Menu.Portal> is missing.");
931
+ return e;
932
+ }
933
+ //#endregion
934
+ //#region ../../node_modules/.bun/@base-ui+react@1.4.1+b87d06724be9db7a/node_modules/@base-ui/react/esm/menu/portal/MenuPortal.js
935
+ var wn = /*#__PURE__*/ Z.forwardRef(function(e, t) {
936
+ let { keepMounted: n = !1, ...r } = e, { store: i } = nn();
937
+ return i.useState("mounted") || n ? /*#__PURE__*/ Q(Sn.Provider, {
938
+ value: n,
939
+ children: /*#__PURE__*/ Q(be, {
940
+ ref: t,
941
+ ...r
942
+ })
943
+ }) : null;
944
+ });
945
+ process.env.NODE_ENV !== "production" && (wn.displayName = "MenuPortal");
946
+ //#endregion
947
+ //#region ../../node_modules/.bun/@base-ui+react@1.4.1+b87d06724be9db7a/node_modules/@base-ui/react/esm/menu/positioner/MenuPositioner.js
948
+ var Tn = /*#__PURE__*/ Z.forwardRef(function(e, t) {
949
+ let { anchor: n, positionMethod: r = "absolute", className: i, render: a, side: o, align: s, sideOffset: c = 0, alignOffset: l = 0, collisionBoundary: u = "clipping-ancestors", collisionPadding: d = 5, arrowPadding: f = 5, sticky: p = !1, disableAnchorTracking: m = !1, collisionAvoidance: h = ze, style: g, ..._ } = e, { store: v } = nn(), y = Cn(), b = an(!0), x = v.useState("parent"), S = v.useState("floatingRootContext"), C = v.useState("floatingTreeRoot"), w = v.useState("mounted"), T = v.useState("open"), E = v.useState("modal"), D = v.useState("openMethod"), k = v.useState("activeTriggerElement"), A = v.useState("transitionStatus"), j = v.useState("positionerElement"), M = v.useState("instantType"), N = v.useState("hasViewport"), ee = v.useState("lastOpenChangeReason"), P = v.useState("floatingNodeId"), ne = v.useState("floatingParentNodeId"), F = S.useState("domReferenceElement"), I = Z.useRef(null), L = te(j, !1, !1), R = n, z = c, B = l, V = s, ie = h;
950
+ x.type === "context-menu" && (R = n ?? x.context?.anchor, V ??= "start", !o && V !== "center" && (B = e.alignOffset ?? 2, z = e.sideOffset ?? -5));
951
+ let ae = o, H = V;
952
+ x.type === "menu" ? (ae ??= "inline-end", H ??= "start", ie = e.collisionAvoidance ?? Oe) : x.type === "menubar" && (ae ??= "bottom", H ??= "start");
953
+ let oe = x.type === "context-menu", U = ue({
954
+ anchor: R,
955
+ floatingRootContext: S,
956
+ positionMethod: b ? "fixed" : r,
957
+ mounted: w,
958
+ side: ae,
959
+ sideOffset: z,
960
+ align: H,
961
+ alignOffset: B,
962
+ arrowPadding: oe ? 0 : f,
963
+ collisionBoundary: u,
964
+ collisionPadding: d,
965
+ sticky: p,
966
+ nodeId: P,
967
+ keepMounted: y,
968
+ disableAnchorTracking: m,
969
+ collisionAvoidance: ie,
970
+ shiftCrossAxis: oe && !("side" in ie && ie.side === "flip"),
971
+ externalTree: C,
972
+ adaptiveOrigin: N ? We : void 0
973
+ });
974
+ Z.useEffect(() => {
975
+ function e(e) {
976
+ e.open && (e.parentNodeId === P && v.set("hoverEnabled", !1), e.nodeId !== P && e.parentNodeId === v.select("floatingParentNodeId") && v.setOpen(!1, O(re)));
977
+ }
978
+ return C.events.on("menuopenchange", e), () => {
979
+ C.events.off("menuopenchange", e);
980
+ };
981
+ }, [
982
+ v,
983
+ C.events,
984
+ P
985
+ ]), Z.useEffect(() => {
986
+ if (v.select("floatingParentNodeId") == null) return;
987
+ function e(e) {
988
+ if (e.open || e.nodeId !== v.select("floatingParentNodeId")) return;
989
+ let t = e.reason ?? "sibling-open";
990
+ v.setOpen(!1, O(t));
991
+ }
992
+ return C.events.on("menuopenchange", e), () => {
993
+ C.events.off("menuopenchange", e);
994
+ };
995
+ }, [C.events, v]);
996
+ let W = Xe();
997
+ Z.useEffect(() => {
998
+ T || W.clear();
999
+ }, [T, W]), Z.useEffect(() => {
1000
+ function e(e) {
1001
+ if (!(!T || e.nodeId !== v.select("floatingParentNodeId"))) {
1002
+ if (e.target && k && k !== e.target) {
1003
+ let e = v.select("closeDelay");
1004
+ e > 0 ? W.isStarted() || W.start(e, () => {
1005
+ v.setOpen(!1, O(re));
1006
+ }) : v.setOpen(!1, O(re));
1007
+ } else W.clear();
1008
+ }
1009
+ }
1010
+ return C.events.on("itemhover", e), () => {
1011
+ C.events.off("itemhover", e);
1012
+ };
1013
+ }, [
1014
+ C.events,
1015
+ T,
1016
+ k,
1017
+ v,
1018
+ W
1019
+ ]), Z.useEffect(() => {
1020
+ let e = {
1021
+ open: T,
1022
+ nodeId: P,
1023
+ parentNodeId: ne,
1024
+ reason: v.select("lastOpenChangeReason")
1025
+ };
1026
+ C.events.emit("menuopenchange", e);
1027
+ }, [
1028
+ C.events,
1029
+ T,
1030
+ v,
1031
+ P,
1032
+ ne
1033
+ ]), Ze(() => {
1034
+ let e = F, t = I.current;
1035
+ if (e && (I.current = e), t && e && e !== t) {
1036
+ v.set("instantType", void 0);
1037
+ let e = new AbortController();
1038
+ return L(() => {
1039
+ v.set("instantType", "trigger-change");
1040
+ }, e.signal), () => {
1041
+ e.abort();
1042
+ };
1043
+ }
1044
+ }, [
1045
+ F,
1046
+ L,
1047
+ v
1048
+ ]);
1049
+ let G = {
1050
+ open: T,
1051
+ side: U.side,
1052
+ align: U.align,
1053
+ anchorHidden: U.anchorHidden,
1054
+ nested: x.type === "menu",
1055
+ instant: M
1056
+ }, se = x.type === "menubar" && x.context.modal;
1057
+ Be(T && (se || E && ee !== "trigger-hover"), D === "touch", j, k);
1058
+ let K = Ye(e, G, {
1059
+ styles: U.positionerStyles,
1060
+ transitionStatus: A,
1061
+ props: _,
1062
+ refs: [t, v.useStateSetter("positionerElement")],
1063
+ hidden: !w,
1064
+ inert: !T
1065
+ }), ce = w && x.type !== "menu" && (x.type !== "menubar" && E && ee !== "trigger-hover" || x.type === "menubar" && x.context.modal), q = null;
1066
+ return x.type === "menubar" ? q = x.context.contentElement : x.type === void 0 && (q = k), /*#__PURE__*/ Ct($t.Provider, {
1067
+ value: U,
1068
+ children: [ce && /*#__PURE__*/ Q(Te, {
1069
+ ref: x.type === "context-menu" || x.type === "nested-context-menu" ? x.context.internalBackdropRef : null,
1070
+ inert: le(!T),
1071
+ cutout: q
1072
+ }), /*#__PURE__*/ Q(fe, {
1073
+ id: P,
1074
+ children: /*#__PURE__*/ Q(ke, {
1075
+ elementsRef: v.context.itemDomElements,
1076
+ labelsRef: v.context.itemLabels,
1077
+ children: K
1078
+ })
1079
+ })]
1080
+ });
1081
+ });
1082
+ process.env.NODE_ENV !== "production" && (Tn.displayName = "MenuPositioner");
1083
+ //#endregion
1084
+ //#region ../../node_modules/.bun/@base-ui+react@1.4.1+b87d06724be9db7a/node_modules/@base-ui/react/esm/menubar/MenubarContext.js
1085
+ var En = /*#__PURE__*/ Z.createContext(null);
1086
+ process.env.NODE_ENV !== "production" && (En.displayName = "MenubarContext");
1087
+ function Dn(e) {
1088
+ let t = Z.useContext(En);
1089
+ if (t === null && !e) throw Error(process.env.NODE_ENV === "production" ? Y(5) : "Base UI: MenubarContext is missing. Menubar parts must be placed within <Menubar>.");
1090
+ return t;
1091
+ }
1092
+ //#endregion
1093
+ //#region ../../node_modules/.bun/@base-ui+react@1.4.1+b87d06724be9db7a/node_modules/@base-ui/react/esm/menu/store/MenuStore.js
1094
+ var On = {
1095
+ ...o,
1096
+ disabled: r((e) => e.parent.type === "menubar" && e.parent.context.disabled || e.disabled),
1097
+ modal: r((e) => (e.parent.type === void 0 || e.parent.type === "context-menu") && (e.modal ?? !0)),
1098
+ openMethod: r((e) => e.openMethod),
1099
+ allowMouseEnter: r((e) => e.allowMouseEnter),
1100
+ stickIfOpen: r((e) => e.stickIfOpen),
1101
+ parent: r((e) => e.parent),
1102
+ rootId: r((e) => e.parent.type === "menu" ? e.parent.store.select("rootId") : e.parent.type === void 0 ? e.rootId : e.parent.context.rootId),
1103
+ activeIndex: r((e) => e.activeIndex),
1104
+ isActive: r((e, t) => e.activeIndex === t),
1105
+ hoverEnabled: r((e) => e.hoverEnabled),
1106
+ instantType: r((e) => e.instantType),
1107
+ lastOpenChangeReason: r((e) => e.openChangeReason),
1108
+ floatingTreeRoot: r((e) => e.parent.type === "menu" ? e.parent.store.select("floatingTreeRoot") : e.floatingTreeRoot),
1109
+ floatingNodeId: r((e) => e.floatingNodeId),
1110
+ floatingParentNodeId: r((e) => e.floatingParentNodeId),
1111
+ itemProps: r((e) => e.itemProps),
1112
+ closeDelay: r((e) => e.closeDelay),
1113
+ hasViewport: r((e) => e.hasViewport),
1114
+ keyboardEventRelay: r((e) => {
1115
+ if (e.keyboardEventRelay) return e.keyboardEventRelay;
1116
+ if (e.parent.type === "menu") return e.parent.store.select("keyboardEventRelay");
1117
+ })
1118
+ }, kn = class e extends C {
1119
+ constructor(e) {
1120
+ super({
1121
+ ...An(),
1122
+ ...e
1123
+ }, {
1124
+ positionerRef: /*#__PURE__*/ Z.createRef(),
1125
+ popupRef: /*#__PURE__*/ Z.createRef(),
1126
+ typingRef: { current: !1 },
1127
+ itemDomElements: { current: [] },
1128
+ itemLabels: { current: [] },
1129
+ allowMouseUpTriggerRef: { current: !1 },
1130
+ triggerFocusTargetRef: /*#__PURE__*/ Z.createRef(),
1131
+ beforeContentFocusGuardRef: /*#__PURE__*/ Z.createRef(),
1132
+ onOpenChangeComplete: void 0,
1133
+ triggerElements: new V()
1134
+ }, On), this.unsubscribeParentListener = this.observe("parent", (e) => {
1135
+ if (this.unsubscribeParentListener?.(), e.type === "menu") {
1136
+ let t = e.store.select("rootId"), n = e.store.select("floatingTreeRoot"), r = e.store.select("keyboardEventRelay");
1137
+ this.unsubscribeParentListener = e.store.subscribe(() => {
1138
+ let i = e.store.select("rootId"), a = e.store.select("floatingTreeRoot"), o = e.store.select("keyboardEventRelay");
1139
+ (t !== i || n !== a || r !== o) && (t = i, n = a, r = o, this.notifyAll());
1140
+ }), this.context.allowMouseUpTriggerRef = e.store.context.allowMouseUpTriggerRef;
1141
+ return;
1142
+ }
1143
+ e.type !== void 0 && (this.context.allowMouseUpTriggerRef = e.context.allowMouseUpTriggerRef), this.unsubscribeParentListener = null;
1144
+ });
1145
+ }
1146
+ setOpen(e, t) {
1147
+ this.state.floatingRootContext.context.events.emit("setOpen", {
1148
+ open: e,
1149
+ eventDetails: t
1150
+ });
1151
+ }
1152
+ static useStore(t, n) {
1153
+ let r = tt(() => new e(n)).current;
1154
+ return t ?? r;
1155
+ }
1156
+ unsubscribeParentListener = null;
1157
+ };
1158
+ function An() {
1159
+ return {
1160
+ ...ft(),
1161
+ disabled: !1,
1162
+ modal: !0,
1163
+ openMethod: null,
1164
+ allowMouseEnter: !1,
1165
+ stickIfOpen: !0,
1166
+ parent: { type: void 0 },
1167
+ rootId: void 0,
1168
+ activeIndex: null,
1169
+ hoverEnabled: !0,
1170
+ instantType: void 0,
1171
+ openChangeReason: null,
1172
+ floatingTreeRoot: new it(),
1173
+ floatingNodeId: void 0,
1174
+ floatingParentNodeId: null,
1175
+ itemProps: x,
1176
+ keyboardEventRelay: void 0,
1177
+ closeDelay: 0,
1178
+ hasViewport: !1
1179
+ };
1180
+ }
1181
+ //#endregion
1182
+ //#region ../../node_modules/.bun/@base-ui+react@1.4.1+b87d06724be9db7a/node_modules/@base-ui/react/esm/menu/submenu-root/MenuSubmenuRootContext.js
1183
+ var jn = /*#__PURE__*/ Z.createContext(void 0);
1184
+ process.env.NODE_ENV !== "production" && (jn.displayName = "MenuSubmenuRootContext");
1185
+ function Mn() {
1186
+ return Z.useContext(jn);
1187
+ }
1188
+ //#endregion
1189
+ //#region ../../node_modules/.bun/@base-ui+react@1.4.1+b87d06724be9db7a/node_modules/@base-ui/react/esm/menu/root/MenuRoot.js
1190
+ var Nn = G(function(e) {
1191
+ let { children: t, open: n, onOpenChange: r, onOpenChangeComplete: i, defaultOpen: a = !1, disabled: o = !1, modal: s, loopFocus: c = !0, orientation: l = "vertical", actionsRef: u, closeParentOnEsc: d = !1, handle: f, triggerId: m, defaultTriggerId: h = null, highlightItemOnHover: g = !0 } = e, _ = an(!0), b = nn(!0), x = Dn(!0), S = Mn(), C = Z.useMemo(() => S && b ? {
1192
+ type: "menu",
1193
+ store: b.store
1194
+ } : x ? {
1195
+ type: "menubar",
1196
+ context: x
1197
+ } : _ && !b ? {
1198
+ type: "context-menu",
1199
+ context: _
1200
+ } : { type: void 0 }, [
1201
+ _,
1202
+ b,
1203
+ x,
1204
+ S
1205
+ ]), w = kn.useStore(f?.store, {
1206
+ open: a,
1207
+ openProp: n,
1208
+ activeTriggerId: h,
1209
+ triggerIdProp: m,
1210
+ parent: C
1211
+ });
1212
+ De(() => {
1213
+ n === void 0 && w.state.open === !1 && a === !0 && w.update({
1214
+ open: !0,
1215
+ activeTriggerId: h
1216
+ });
1217
+ }), w.useControlledProp("openProp", n), w.useControlledProp("triggerIdProp", m), w.useContextCallback("onOpenChangeComplete", i);
1218
+ let D = w.useState("floatingTreeRoot"), A = nt(D), j = _e();
1219
+ Ze(() => {
1220
+ _ && !b ? w.update({
1221
+ parent: {
1222
+ type: "context-menu",
1223
+ context: _
1224
+ },
1225
+ floatingNodeId: A,
1226
+ floatingParentNodeId: j
1227
+ }) : b && w.update({
1228
+ floatingNodeId: A,
1229
+ floatingParentNodeId: j
1230
+ });
1231
+ }, [
1232
+ _,
1233
+ b,
1234
+ A,
1235
+ j,
1236
+ w
1237
+ ]);
1238
+ let M = w.useState("open"), ee = w.useState("activeTriggerElement"), P = w.useState("positionerElement"), te = w.useState("hoverEnabled"), ne = w.useState("disabled"), I = w.useState("lastOpenChangeReason"), L = w.useState("parent"), R = w.useState("activeIndex"), B = w.useState("payload"), re = w.useState("floatingParentNodeId"), V = Z.useRef(null), ie = re != null;
1239
+ process.env.NODE_ENV !== "production" && L.type !== void 0 && s !== void 0 && console.warn("Base UI: The `modal` prop is not supported on nested menus. It will be ignored.");
1240
+ let { openMethod: ae, triggerProps: H } = Ce(M);
1241
+ w.useSyncedValues({
1242
+ disabled: o,
1243
+ modal: L.type === void 0 ? s : void 0,
1244
+ openMethod: ae,
1245
+ rootId: E()
1246
+ }), v(w);
1247
+ let { forceUnmount: oe } = z(M, w, () => {
1248
+ w.update({
1249
+ allowMouseEnter: !1,
1250
+ stickIfOpen: !0
1251
+ });
1252
+ }), U = Z.useRef(L.type !== "context-menu"), W = Xe();
1253
+ Z.useEffect(() => {
1254
+ if (M || (V.current = null), L.type === "context-menu") {
1255
+ if (!M) {
1256
+ W.clear(), U.current = !1;
1257
+ return;
1258
+ }
1259
+ W.start(500, () => {
1260
+ U.current = !0;
1261
+ });
1262
+ }
1263
+ }, [
1264
+ W,
1265
+ M,
1266
+ L.type
1267
+ ]), Ze(() => {
1268
+ !M && !te && w.set("hoverEnabled", !0);
1269
+ }, [
1270
+ M,
1271
+ te,
1272
+ w
1273
+ ]);
1274
+ let G = Z.useRef(!0), se = Xe(), K = J((e, t) => {
1275
+ let n = t.reason;
1276
+ if (M === e && t.trigger === ee && I === n || (t.preventUnmountOnClose = () => {
1277
+ w.set("preventUnmountingOnClose", !0);
1278
+ }, !e && t.trigger == null && (t.trigger = ee ?? void 0), r?.(e, t), t.isCanceled)) return;
1279
+ w.state.floatingRootContext.dispatchOpenChange(e, t);
1280
+ let i = t.event;
1281
+ if (e === !1 && i?.type === "click" && i.pointerType === "touch" && !G.current) return;
1282
+ if (!e && R !== null) {
1283
+ let e = w.context.itemDomElements.current[R];
1284
+ queueMicrotask(() => {
1285
+ e?.setAttribute("tabindex", "-1");
1286
+ });
1287
+ }
1288
+ e && n === "trigger-focus" ? (G.current = !1, se.start(300, () => {
1289
+ G.current = !0;
1290
+ })) : (G.current = !0, se.clear());
1291
+ let a = (n === "trigger-press" || n === "item-press") && i.detail === 0 && i?.isTrusted, o = !e && (n === "escape-key" || n == null), s = {
1292
+ open: e,
1293
+ openChangeReason: n
1294
+ };
1295
+ V.current = t.event ?? null;
1296
+ let c = t.trigger?.id ?? null;
1297
+ (c || e) && (s.activeTriggerId = c, s.activeTriggerElement = t.trigger ?? null), w.update(s), L.type === "menubar" && (n === "trigger-focus" || n === "focus-out" || n === "trigger-hover" || n === "list-navigation" || n === "sibling-open") ? w.set("instantType", "group") : a || o ? w.set("instantType", a ? "click" : "dismiss") : w.set("instantType", void 0);
1298
+ }), ce = Z.useCallback(() => {
1299
+ w.setOpen(!1, O(F));
1300
+ }, [w]);
1301
+ Z.useImperativeHandle(u, () => ({
1302
+ unmount: oe,
1303
+ close: ce
1304
+ }), [oe, ce]);
1305
+ let le;
1306
+ L.type === "context-menu" && (le = L.context), Z.useImperativeHandle(le?.positionerRef, () => P, [P]), Z.useImperativeHandle(le?.actionsRef, () => ({ setOpen: K }), [K]);
1307
+ let q = T({
1308
+ popupStore: w,
1309
+ onOpenChange: K
1310
+ }), ue = q.context.events;
1311
+ Z.useEffect(() => {
1312
+ let e = ({ open: e, eventDetails: t }) => K(e, t);
1313
+ return ue.on("setOpen", e), () => {
1314
+ ue?.off("setOpen", e);
1315
+ };
1316
+ }, [ue, K]);
1317
+ let de = Ue(q, {
1318
+ enabled: !ne,
1319
+ bubbles: { escapeKey: d && L.type === "menu" },
1320
+ outsidePress() {
1321
+ return L.type !== "context-menu" || V.current?.type === "contextmenu" || U.current;
1322
+ },
1323
+ externalTree: ie ? D : void 0
1324
+ }), fe = N(q, { role: "menu" }), pe = $e(), me = Z.useCallback((e) => {
1325
+ w.select("activeIndex") !== e && w.set("activeIndex", e);
1326
+ }, [w]), he = p(q, {
1327
+ enabled: !ne,
1328
+ listRef: w.context.itemDomElements,
1329
+ activeIndex: R,
1330
+ nested: L.type !== void 0,
1331
+ loopFocus: c,
1332
+ orientation: l,
1333
+ parentOrientation: L.type === "menubar" ? L.context.orientation : void 0,
1334
+ rtl: pe === "rtl",
1335
+ disabledIndices: Je,
1336
+ onNavigate: me,
1337
+ openOnArrowKeyDown: L.type !== "context-menu",
1338
+ externalTree: ie ? D : void 0,
1339
+ focusItemOnHover: g
1340
+ }), ge = Z.useCallback((e) => {
1341
+ w.context.typingRef.current = e;
1342
+ }, [w]), ve = k(q, {
1343
+ listRef: w.context.itemLabels,
1344
+ elementsRef: w.context.itemDomElements,
1345
+ activeIndex: R,
1346
+ resetMs: 500,
1347
+ onMatch: (e) => {
1348
+ M && e !== R && w.set("activeIndex", e);
1349
+ },
1350
+ onTypingChange: ge
1351
+ }), { getReferenceProps: ye, getFloatingProps: be, getItemProps: xe, getTriggerProps: Se } = y([
1352
+ de,
1353
+ fe,
1354
+ he,
1355
+ ve
1356
+ ]), we = Z.useMemo(() => {
1357
+ let e = He(ye(), { onMouseMove() {
1358
+ w.set("allowMouseEnter", !0);
1359
+ } }, H);
1360
+ return delete e.role, e;
1361
+ }, [
1362
+ ye,
1363
+ w,
1364
+ H
1365
+ ]), Te = Z.useMemo(() => {
1366
+ let e = Se();
1367
+ if (!e) return e;
1368
+ let t = He(e, H);
1369
+ return delete t.role, delete t["aria-controls"], t;
1370
+ }, [Se, H]), Ee = Z.useMemo(() => be({
1371
+ onMouseMove() {
1372
+ w.set("allowMouseEnter", !0), L.type === "menu" && w.set("hoverEnabled", !1);
1373
+ },
1374
+ onClick() {
1375
+ w.select("hoverEnabled") && w.set("hoverEnabled", !1);
1376
+ },
1377
+ onKeyDown(e) {
1378
+ let t = w.select("keyboardEventRelay");
1379
+ t && !e.isPropagationStopped() && t(e);
1380
+ }
1381
+ }), [
1382
+ be,
1383
+ L.type,
1384
+ w
1385
+ ]), Oe = Z.useMemo(() => xe(), [xe]);
1386
+ w.useSyncedValues({
1387
+ floatingRootContext: q,
1388
+ activeTriggerProps: we,
1389
+ inactiveTriggerProps: Te,
1390
+ popupProps: Ee,
1391
+ itemProps: Oe
1392
+ });
1393
+ let ke = Z.useMemo(() => ({
1394
+ store: w,
1395
+ parent: C
1396
+ }), [w, C]), Ae = /*#__PURE__*/ Q(tn.Provider, {
1397
+ value: ke,
1398
+ children: typeof t == "function" ? t({ payload: B }) : t
1399
+ });
1400
+ return L.type === void 0 || L.type === "context-menu" ? /*#__PURE__*/ Q(Ke, {
1401
+ externalTree: D,
1402
+ children: Ae
1403
+ }) : Ae;
1404
+ });
1405
+ process.env.NODE_ENV !== "production" && (Nn.displayName = "MenuRoot");
1406
+ //#endregion
1407
+ //#region ../../node_modules/.bun/@base-ui+react@1.4.1+b87d06724be9db7a/node_modules/@base-ui/react/esm/menu/submenu-root/MenuSubmenuRoot.js
1408
+ function Pn(e) {
1409
+ let t = nn().store, n = Z.useMemo(() => ({ parentMenu: t }), [t]);
1410
+ return /*#__PURE__*/ Q(jn.Provider, {
1411
+ value: n,
1412
+ children: /*#__PURE__*/ Q(Nn, { ...e })
1413
+ });
1414
+ }
1415
+ //#endregion
1416
+ //#region ../../node_modules/.bun/@base-ui+react@1.4.1+b87d06724be9db7a/node_modules/@base-ui/react/esm/internals/composite/item/useCompositeItem.js
1417
+ function Fn(e = {}) {
1418
+ let { highlightItemOnHover: t, highlightedIndex: n, onHighlightedIndexChange: r } = Se(), { ref: i, index: a } = ve(e), o = n === a, s = Z.useRef(null), c = K(i, s);
1419
+ return {
1420
+ compositeProps: Z.useMemo(() => ({
1421
+ tabIndex: o ? 0 : -1,
1422
+ onFocus() {
1423
+ r(a);
1424
+ },
1425
+ onMouseMove() {
1426
+ let e = s.current;
1427
+ if (!t || !e) return;
1428
+ let n = e.hasAttribute("disabled") || e.ariaDisabled === "true";
1429
+ !o && !n && e.focus();
1430
+ }
1431
+ }), [
1432
+ o,
1433
+ r,
1434
+ a,
1435
+ t
1436
+ ]),
1437
+ compositeRef: c,
1438
+ index: a
1439
+ };
1440
+ }
1441
+ //#endregion
1442
+ //#region ../../node_modules/.bun/@base-ui+react@1.4.1+b87d06724be9db7a/node_modules/@base-ui/react/esm/internals/composite/item/CompositeItem.js
1443
+ function In(e) {
1444
+ let { render: t, className: n, style: r, state: i = x, props: a = Je, refs: o = Je, metadata: s, stateAttributesMapping: c, tag: l = "div", ...u } = e, { compositeProps: d, compositeRef: f } = Fn({ metadata: s });
1445
+ return w(l, e, {
1446
+ state: i,
1447
+ ref: [...o, f],
1448
+ props: [
1449
+ d,
1450
+ ...a,
1451
+ u
1452
+ ],
1453
+ stateAttributesMapping: c
1454
+ });
1455
+ }
1456
+ //#endregion
1457
+ //#region ../../node_modules/.bun/@base-ui+react@1.4.1+b87d06724be9db7a/node_modules/@base-ui/react/esm/menu/utils/findRootOwnerId.js
1458
+ function Ln(e) {
1459
+ if (ye(e) && e.hasAttribute("data-rootownerid")) return e.getAttribute("data-rootownerid") ?? void 0;
1460
+ if (!we(e)) return Ln(ge(e));
1461
+ }
1462
+ //#endregion
1463
+ //#region ../../node_modules/.bun/@base-ui+react@1.4.1+b87d06724be9db7a/node_modules/@base-ui/react/esm/utils/popups/useTriggerFocusGuards.js
1464
+ function Rn(e, t) {
1465
+ let n = Z.useRef(null);
1466
+ return {
1467
+ preFocusGuardRef: n,
1468
+ handlePreFocusGuardFocus: J((t) => {
1469
+ wt.flushSync(() => {
1470
+ e.setOpen(!1, O(D, t.nativeEvent, t.currentTarget));
1471
+ }), et(n.current)?.focus();
1472
+ }),
1473
+ handleFocusTargetFocus: J((n) => {
1474
+ let r = e.select("positionerElement");
1475
+ if (r && he(n, r)) e.context.beforeContentFocusGuardRef.current?.focus();
1476
+ else {
1477
+ wt.flushSync(() => {
1478
+ e.setOpen(!1, O(D, n.nativeEvent, n.currentTarget));
1479
+ });
1480
+ let i = Ge(e.context.triggerFocusTargetRef.current || t.current);
1481
+ for (; i !== null && M(r, i);) {
1482
+ let e = i;
1483
+ if (i = de(i), i === e) break;
1484
+ }
1485
+ i?.focus();
1486
+ }
1487
+ })
1488
+ };
1489
+ }
1490
+ //#endregion
1491
+ //#region ../../node_modules/.bun/@base-ui+react@1.4.1+b87d06724be9db7a/node_modules/@base-ui/react/esm/utils/useMixedToggleClickHandler.js
1492
+ function zn(e) {
1493
+ let { enabled: t = !0, mouseDownAction: n, open: r } = e, i = Z.useRef(!1);
1494
+ return Z.useMemo(() => t ? {
1495
+ onMouseDown: (e) => {
1496
+ (n === "open" && !r || n === "close" && r) && (i.current = !0, A(e.currentTarget).addEventListener("click", () => {
1497
+ i.current = !1;
1498
+ }, { once: !0 }));
1499
+ },
1500
+ onClick: (e) => {
1501
+ i.current && (i.current = !1, e.preventBaseUIHandler());
1502
+ }
1503
+ } : x, [
1504
+ t,
1505
+ n,
1506
+ r
1507
+ ]);
1508
+ }
1509
+ //#endregion
1510
+ //#region ../../node_modules/.bun/@base-ui+react@1.4.1+b87d06724be9db7a/node_modules/@base-ui/react/esm/menu/trigger/MenuTrigger.js
1511
+ var Bn = 2, Vn = oe(function(e, t) {
1512
+ let { render: n, className: r, disabled: i = !1, nativeButton: a = !0, id: o, openOnHover: s, delay: c = 100, closeDelay: l = 0, handle: u, payload: d, style: p, ...m } = e, h = nn(!0), g = u?.store ?? h?.store;
1513
+ if (!g) throw Error(process.env.NODE_ENV === "production" ? Y(85) : "Base UI: <Menu.Trigger> must be either used within a <Menu.Root> component or provided with a handle.");
1514
+ let _ = b(o), v = g.useState("isTriggerActive", _), S = g.useState("floatingRootContext"), C = g.useState("isOpenedByTrigger", _), T = Z.useRef(null), E = Un(), D = Se(!0), O = Re(), k = Z.useMemo(() => O ?? new it(), [O]), N = nt(k), ee = _e(), { registerTrigger: te, isMountedByThisTrigger: ne } = ae(_, T, g, {
1515
+ payload: d,
1516
+ closeDelay: l,
1517
+ parent: E,
1518
+ floatingTreeRoot: k,
1519
+ floatingNodeId: N,
1520
+ floatingParentNodeId: ee,
1521
+ keyboardEventRelay: D?.relayKeyboardEvent
1522
+ }), F = E.type === "menubar", I = g.useState("disabled"), L = i || I || F && E.context.disabled, { getButtonProps: R, buttonRef: z } = P({
1523
+ disabled: L,
1524
+ native: a
1525
+ });
1526
+ Z.useEffect(() => {
1527
+ !C && E.type === void 0 && (g.context.allowMouseUpTriggerRef.current = !1);
1528
+ }, [
1529
+ g,
1530
+ C,
1531
+ E.type
1532
+ ]);
1533
+ let B = Z.useRef(null), re = Xe(), V = J((e) => {
1534
+ if (!B.current) return;
1535
+ re.clear(), g.context.allowMouseUpTriggerRef.current = !1;
1536
+ let t = e.target;
1537
+ if (M(B.current, t) || M(g.select("positionerElement"), t) || t === B.current || t != null && Ln(t) === g.select("rootId")) return;
1538
+ let n = rt(B.current);
1539
+ e.clientX >= n.left - Bn && e.clientX <= n.right + Bn && e.clientY >= n.top - Bn && e.clientY <= n.bottom + Bn || k.events.emit("close", {
1540
+ domEvent: e,
1541
+ reason: j
1542
+ });
1543
+ });
1544
+ Z.useEffect(() => {
1545
+ C && g.select("lastOpenChangeReason") === "trigger-hover" && A(B.current).addEventListener("mouseup", V, { once: !0 });
1546
+ }, [
1547
+ C,
1548
+ V,
1549
+ g
1550
+ ]);
1551
+ let ie = F && E.context.hasSubmenuOpen, H = Gt(S, {
1552
+ enabled: (s ?? ie) && !L && E.type !== "context-menu" && (!F || ie && !ne),
1553
+ handleClose: Qt({ blockPointerEvents: !F }),
1554
+ mouseOnly: !0,
1555
+ move: !1,
1556
+ restMs: E.type === void 0 ? c : void 0,
1557
+ delay: { close: l },
1558
+ triggerElementRef: T,
1559
+ externalTree: k,
1560
+ isActiveTrigger: v,
1561
+ isClosing: () => g.select("transitionStatus") === "ending"
1562
+ }), oe = Hn(C, g.select("lastOpenChangeReason")), U = Qe(S, {
1563
+ enabled: !L && E.type !== "context-menu",
1564
+ event: C && F ? "click" : "mousedown",
1565
+ toggle: !0,
1566
+ ignoreMouse: !1,
1567
+ stickIfOpen: E.type === void 0 && oe
1568
+ }), W = Lt(S, { enabled: !L && ie }), G = zn({
1569
+ open: C,
1570
+ enabled: F,
1571
+ mouseDownAction: "open"
1572
+ }), se = y([U, W]), K = {
1573
+ disabled: L,
1574
+ open: C
1575
+ }, ce = g.useState("triggerProps", ne), le = [
1576
+ B,
1577
+ t,
1578
+ z,
1579
+ te,
1580
+ T
1581
+ ], ue = [
1582
+ se.getReferenceProps(),
1583
+ H ?? x,
1584
+ ce,
1585
+ {
1586
+ "aria-haspopup": "menu",
1587
+ id: _,
1588
+ onMouseDown: (e) => {
1589
+ g.select("open") || (re.start(200, () => {
1590
+ g.context.allowMouseUpTriggerRef.current = !0;
1591
+ }), A(e.currentTarget).addEventListener("mouseup", V, { once: !0 }));
1592
+ }
1593
+ },
1594
+ F ? { role: "menuitem" } : {},
1595
+ G,
1596
+ m,
1597
+ R
1598
+ ], { preFocusGuardRef: de, handlePreFocusGuardFocus: fe, handleFocusTargetFocus: pe } = Rn(g, T), me = w("button", e, {
1599
+ enabled: !F,
1600
+ stateAttributesMapping: f,
1601
+ state: K,
1602
+ ref: le,
1603
+ props: ue
1604
+ });
1605
+ return F ? /*#__PURE__*/ Q(In, {
1606
+ tag: "button",
1607
+ render: n,
1608
+ className: r,
1609
+ style: p,
1610
+ state: K,
1611
+ refs: le,
1612
+ props: ue,
1613
+ stateAttributesMapping: f
1614
+ }) : C ? /*#__PURE__*/ Ct(Z.Fragment, { children: [
1615
+ /*#__PURE__*/ Q(q, {
1616
+ ref: de,
1617
+ onFocus: fe
1618
+ }, `${_}-pre-focus-guard`),
1619
+ /*#__PURE__*/ Q(Z.Fragment, { children: me }, _),
1620
+ /*#__PURE__*/ Q(q, {
1621
+ ref: g.context.triggerFocusTargetRef,
1622
+ onFocus: pe
1623
+ }, `${_}-post-focus-guard`)
1624
+ ] }) : /*#__PURE__*/ Q(Z.Fragment, { children: me }, _);
1625
+ });
1626
+ process.env.NODE_ENV !== "production" && (Vn.displayName = "MenuTrigger");
1627
+ function Hn(e, t) {
1628
+ let n = Xe(), [r, i] = Z.useState(!1);
1629
+ return Ze(() => {
1630
+ e && t === "trigger-hover" ? (i(!0), n.start(500, () => {
1631
+ i(!1);
1632
+ })) : e || (n.clear(), i(!1));
1633
+ }, [
1634
+ e,
1635
+ t,
1636
+ n
1637
+ ]), r;
1638
+ }
1639
+ function Un() {
1640
+ let e = an(!0), t = nn(!0), n = Dn(!0);
1641
+ return Z.useMemo(() => n ? {
1642
+ type: "menubar",
1643
+ context: n
1644
+ } : e && !t ? {
1645
+ type: "context-menu",
1646
+ context: e
1647
+ } : { type: void 0 }, [
1648
+ e,
1649
+ t,
1650
+ n
1651
+ ]);
1652
+ }
1653
+ //#endregion
1654
+ //#region ../../node_modules/.bun/@base-ui+utils@0.2.8+b87d06724be9db7a/node_modules/@base-ui/utils/esm/isElementDisabled.js
1655
+ function Wn(e) {
1656
+ return e == null || e.hasAttribute("disabled") || e.getAttribute("aria-disabled") === "true";
1657
+ }
1658
+ //#endregion
1659
+ //#region ../../node_modules/.bun/@base-ui+react@1.4.1+b87d06724be9db7a/node_modules/@base-ui/react/esm/menu/submenu-trigger/MenuSubmenuTrigger.js
1660
+ var Gn = /*#__PURE__*/ Z.forwardRef(function(e, t) {
1661
+ let { render: n, className: r, label: i, id: a, nativeButton: o = !1, openOnHover: s = !0, delay: c = 100, closeDelay: l = 0, disabled: d = !1, style: f, ...p } = e, m = ve(), g = en(), { store: _ } = nn(), v = b(a), x = _.useState("open"), S = _.useState("floatingRootContext"), C = _.useState("floatingTreeRoot"), T = h(v, _), E = Z.useCallback((e) => {
1662
+ let t = T(e);
1663
+ return e !== null && _.select("open") && _.select("activeTriggerId") == null && _.update({
1664
+ activeTriggerId: v,
1665
+ activeTriggerElement: e,
1666
+ closeDelay: l
1667
+ }), t;
1668
+ }, [
1669
+ T,
1670
+ l,
1671
+ _,
1672
+ v
1673
+ ]), D = Z.useRef(null), O = Z.useCallback((e) => {
1674
+ D.current = e, _.set("activeTriggerElement", e);
1675
+ }, [_]);
1676
+ process.env.NODE_ENV !== "production" && Ze(() => {
1677
+ let e = D.current;
1678
+ if (e && Wn(e) && !d) {
1679
+ let e = je.captureOwnerStack?.() || "";
1680
+ U(`A disabled element was detected on <Menu.SubmenuTrigger>. To properly disable the trigger, use the \`disabled\` prop on the component instead of setting it on the rendered element.${e}`);
1681
+ }
1682
+ });
1683
+ let k = Mn();
1684
+ if (!k?.parentMenu) throw Error(process.env.NODE_ENV === "production" ? Y(37) : "Base UI: <Menu.SubmenuTrigger> must be placed in <Menu.SubmenuRoot>.");
1685
+ _.useSyncedValue("closeDelay", l);
1686
+ let A = k.parentMenu, j = A.useState("itemProps"), M = A.useState("isActive", m.index), N = Z.useMemo(() => ({
1687
+ type: "submenu-trigger",
1688
+ setActive() {
1689
+ A.set("activeIndex", m.index);
1690
+ }
1691
+ }), [A, m.index]), ee = _.useState("disabled"), P = d || ee, { getItemProps: te, itemRef: ne } = un({
1692
+ closeOnClick: !1,
1693
+ disabled: P,
1694
+ highlighted: M,
1695
+ id: v,
1696
+ store: _,
1697
+ typingRef: A.context.typingRef,
1698
+ nativeButton: o,
1699
+ itemMetadata: N,
1700
+ nodeId: g?.context.nodeId
1701
+ }), F = _.useState("hoverEnabled"), I = A.useState("allowMouseEnter"), L = Gt(S, {
1702
+ enabled: F && s && !P,
1703
+ handleClose: Qt({ blockPointerEvents: !0 }),
1704
+ mouseOnly: !0,
1705
+ move: !0,
1706
+ restMs: c,
1707
+ delay: I ? {
1708
+ open: c,
1709
+ close: l
1710
+ } : 0,
1711
+ triggerElementRef: D,
1712
+ externalTree: C,
1713
+ isClosing: () => _.select("transitionStatus") === "ending"
1714
+ }), R = Qe(S, {
1715
+ enabled: !P,
1716
+ event: "mousedown",
1717
+ toggle: !s,
1718
+ ignoreMouse: s,
1719
+ stickIfOpen: !1
1720
+ }), z = y([R]), B = _.useState("triggerProps", !0);
1721
+ return delete B.id, w("div", e, {
1722
+ state: {
1723
+ disabled: P,
1724
+ highlighted: M,
1725
+ open: x
1726
+ },
1727
+ stateAttributesMapping: u,
1728
+ props: [
1729
+ z.getReferenceProps(),
1730
+ L,
1731
+ B,
1732
+ j,
1733
+ {
1734
+ tabIndex: x || M ? 0 : -1,
1735
+ onBlur() {
1736
+ M && A.set("activeIndex", null);
1737
+ }
1738
+ },
1739
+ p,
1740
+ te
1741
+ ],
1742
+ ref: [
1743
+ t,
1744
+ m.ref,
1745
+ ne,
1746
+ E,
1747
+ O
1748
+ ]
1749
+ });
1750
+ });
1751
+ process.env.NODE_ENV !== "production" && (Gn.displayName = "MenuSubmenuTrigger");
1752
+ //#endregion
1753
+ //#region ../../node_modules/.bun/@base-ui+react@1.4.1+b87d06724be9db7a/node_modules/@base-ui/react/esm/menu/store/MenuHandle.js
1754
+ var Kn = class {
1755
+ constructor() {
1756
+ this.store = new kn();
1757
+ }
1758
+ open(e) {
1759
+ let t = e ? this.store.context.triggerElements.getById(e) : void 0;
1760
+ if (e && !t) throw Error(process.env.NODE_ENV === "production" ? Y(83, e) : `Base UI: MenuHandle.open: No trigger found with id "${e}".`);
1761
+ this.store.setOpen(!0, O("imperative-action", void 0, t));
1762
+ }
1763
+ close() {
1764
+ this.store.setOpen(!1, O("imperative-action", void 0, void 0));
1765
+ }
1766
+ get isOpen() {
1767
+ return this.store.state.open;
1768
+ }
1769
+ };
1770
+ function qn() {
1771
+ return new Kn();
1772
+ }
1773
+ //#endregion
1774
+ //#region src/ui/browser/dropdown-menu.tsx
1775
+ var Jn = Z.createContext(null);
1776
+ function Yn({ handle: e, onOpenChange: t, ...n }) {
1777
+ let [r] = Z.useState(() => e ?? qn());
1778
+ return /* @__PURE__ */ Q(Jn.Provider, {
1779
+ value: r,
1780
+ children: /* @__PURE__ */ Q(Nn, {
1781
+ "data-slot": "dropdown-menu",
1782
+ handle: r,
1783
+ onOpenChange: (e, n) => {
1784
+ if (!e && n.reason == "trigger-hover") {
1785
+ n.cancel();
1786
+ return;
1787
+ }
1788
+ t?.(e, n);
1789
+ },
1790
+ ...n
1791
+ })
1792
+ });
1793
+ }
1794
+ function Xn({ handle: e, id: t, onClick: n, onMouseDown: r, ...i }) {
1795
+ let a = Z.useContext(Jn), o = Z.useId(), s = e ?? a, c = t ?? o;
1796
+ return /* @__PURE__ */ Q(Vn, {
1797
+ "data-slot": "dropdown-menu-trigger",
1798
+ handle: s ?? void 0,
1799
+ id: c,
1800
+ onClick: (e) => {
1801
+ n?.(e), !(e.detail == 0 || e.defaultPrevented || e.baseUIHandlerPrevented || s == null) && (s.isOpen ? s.close() : s.open(c));
1802
+ },
1803
+ onMouseDown: (e) => {
1804
+ r?.(e), e.preventBaseUIHandler();
1805
+ },
1806
+ ...i
1807
+ });
1808
+ }
1809
+ function Zn({ align: e = "start", alignOffset: t = 0, container: n, side: r = "bottom", sideOffset: i = 4, className: a, ...o }) {
1810
+ return /* @__PURE__ */ Q(wn, {
1811
+ container: n,
1812
+ children: /* @__PURE__ */ Q(Tn, {
1813
+ className: "isolate z-50 outline-none",
1814
+ align: e,
1815
+ alignOffset: t,
1816
+ side: r,
1817
+ sideOffset: i,
1818
+ children: /* @__PURE__ */ Q(xn, {
1819
+ "data-slot": "dropdown-menu-content",
1820
+ className: B("z-50 max-h-(--available-height) w-(--anchor-width) min-w-32 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 outline-none data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-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 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:overflow-hidden data-closed:fade-out-0 data-closed:zoom-out-95 motion-reduce:animate-none motion-reduce:transition-none", a),
1821
+ ...o
1822
+ })
1823
+ })
1824
+ });
1825
+ }
1826
+ function Qn({ ...e }) {
1827
+ return /* @__PURE__ */ Q(_n, {
1828
+ "data-slot": "dropdown-menu-group",
1829
+ ...e
1830
+ });
1831
+ }
1832
+ function $n({ className: e, inset: t, ...n }) {
1833
+ return /* @__PURE__ */ Q(vn, {
1834
+ "data-slot": "dropdown-menu-label",
1835
+ "data-inset": t,
1836
+ className: B("px-1.5 py-1 text-xs font-medium text-muted-foreground data-inset:pl-7", e),
1837
+ ...n
1838
+ });
1839
+ }
1840
+ function er({ className: e, inset: t, variant: n = "default", ...r }) {
1841
+ return /* @__PURE__ */ Q(yn, {
1842
+ "data-slot": "dropdown-menu-item",
1843
+ "data-inset": t,
1844
+ "data-variant": n,
1845
+ className: B("group/dropdown-menu-item relative flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-7 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive", e),
1846
+ ...r
1847
+ });
1848
+ }
1849
+ function tr({ ...e }) {
1850
+ return /* @__PURE__ */ Q(Pn, {
1851
+ "data-slot": "dropdown-menu-sub",
1852
+ ...e
1853
+ });
1854
+ }
1855
+ function nr({ className: e, inset: t, children: n, ...r }) {
1856
+ return /* @__PURE__ */ Ct(Gn, {
1857
+ "data-slot": "dropdown-menu-sub-trigger",
1858
+ "data-inset": t,
1859
+ className: B("flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-7 data-popup-open:bg-accent data-popup-open:text-accent-foreground data-open:bg-accent data-open:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", e),
1860
+ ...r,
1861
+ children: [n, /* @__PURE__ */ Q(Ot, { className: "ml-auto" })]
1862
+ });
1863
+ }
1864
+ function rr({ align: e = "start", alignOffset: t = -3, side: n = "right", sideOffset: r = 0, className: i, ...a }) {
1865
+ return /* @__PURE__ */ Q(Zn, {
1866
+ "data-slot": "dropdown-menu-sub-content",
1867
+ className: B("w-auto min-w-[96px] rounded-lg bg-popover p-1 text-popover-foreground shadow-lg ring-1 ring-foreground/10 duration-100 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 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 motion-reduce:animate-none motion-reduce:transition-none", i),
1868
+ align: e,
1869
+ alignOffset: t,
1870
+ side: n,
1871
+ sideOffset: r,
1872
+ ...a
1873
+ });
1874
+ }
1875
+ function ir({ className: e, children: t, checked: n, inset: r, ...i }) {
1876
+ return /* @__PURE__ */ Ct(pn, {
1877
+ "data-slot": "dropdown-menu-checkbox-item",
1878
+ "data-inset": r,
1879
+ className: B("relative flex cursor-default items-center gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:pl-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", e),
1880
+ checked: n,
1881
+ ...i,
1882
+ children: [/* @__PURE__ */ Q("span", {
1883
+ className: "pointer-events-none absolute right-2 flex items-center justify-center",
1884
+ "data-slot": "dropdown-menu-checkbox-item-indicator",
1885
+ children: /* @__PURE__ */ Q(mn, { children: /* @__PURE__ */ Q(Fe, {}) })
1886
+ }), t]
1887
+ });
1888
+ }
1889
+ //#endregion
1890
+ //#region ../../node_modules/.bun/@base-ui+react@1.4.1+b87d06724be9db7a/node_modules/@base-ui/react/esm/switch/root/SwitchRootContext.js
1891
+ var ar = /*#__PURE__*/ Z.createContext(void 0);
1892
+ process.env.NODE_ENV !== "production" && (ar.displayName = "SwitchRootContext");
1893
+ function or() {
1894
+ let e = Z.useContext(ar);
1895
+ if (e === void 0) throw Error(process.env.NODE_ENV === "production" ? Y(63) : "Base UI: SwitchRootContext is missing. Switch parts must be placed within <Switch.Root>.");
1896
+ return e;
1897
+ }
1898
+ //#endregion
1899
+ //#region ../../node_modules/.bun/@base-ui+react@1.4.1+b87d06724be9db7a/node_modules/@base-ui/react/esm/switch/root/SwitchRootDataAttributes.js
1900
+ var sr = /*#__PURE__*/ function(e) {
1901
+ return e.checked = "data-checked", e.unchecked = "data-unchecked", e.disabled = "data-disabled", e.readonly = "data-readonly", e.required = "data-required", e.valid = "data-valid", e.invalid = "data-invalid", e.touched = "data-touched", e.dirty = "data-dirty", e.filled = "data-filled", e.focused = "data-focused", e;
1902
+ }({}), cr = {
1903
+ ...s,
1904
+ checked(e) {
1905
+ return e ? { [sr.checked]: "" } : { [sr.unchecked]: "" };
1906
+ }
1907
+ }, lr = /*#__PURE__*/ Z.forwardRef(function(e, t) {
1908
+ let { checked: n, className: r, defaultChecked: i, "aria-labelledby": a, form: o, id: s, inputRef: c, name: l, nativeButton: u = !1, onCheckedChange: d, readOnly: f = !1, required: p = !1, disabled: h = !1, render: g, uncheckedValue: _, value: v, style: y, ...C } = e, { clearErrors: T } = ne(), { state: E, setTouched: D, setDirty: k, validityData: A, setFilled: j, setFocused: M, shouldValidateOnChange: N, validationMode: te, disabled: F, name: I, validation: L } = pt(), { labelId: R } = m(), z = F || h, B = I ?? l, re = J(d), V = Z.useRef(null), ae = K(V, c, L.inputRef), H = Z.useRef(null), oe = b(), U = ee({
1909
+ id: s,
1910
+ implicit: !1,
1911
+ controlRef: H
1912
+ }), W = u ? void 0 : U, [G, ce] = se({
1913
+ controlled: n,
1914
+ default: !!i,
1915
+ name: "Switch",
1916
+ state: "checked"
1917
+ });
1918
+ S(H, {
1919
+ id: oe,
1920
+ value: G
1921
+ }), Ze(() => {
1922
+ V.current && j(V.current.checked);
1923
+ }, [V, j]), qe(G, () => {
1924
+ T(B), k(G !== A.initialValue), j(G), N() ? L.commit(G) : L.commit(G, !0);
1925
+ });
1926
+ let { getButtonProps: le, buttonRef: q } = P({
1927
+ disabled: z,
1928
+ native: u
1929
+ }), ue = Tt(a, R, V, !u, W), de = {
1930
+ id: u ? U : oe,
1931
+ role: "switch",
1932
+ "aria-checked": G,
1933
+ "aria-readonly": f || void 0,
1934
+ "aria-required": p || void 0,
1935
+ "aria-labelledby": ue,
1936
+ onFocus() {
1937
+ z || M(!0);
1938
+ },
1939
+ onBlur() {
1940
+ let e = V.current;
1941
+ !e || z || (D(!0), M(!1), te === "onBlur" && L.commit(e.checked));
1942
+ },
1943
+ onClick(e) {
1944
+ f || z || (e.preventDefault(), V.current?.dispatchEvent(new PointerEvent("click", {
1945
+ bubbles: !0,
1946
+ shiftKey: e.shiftKey,
1947
+ ctrlKey: e.ctrlKey,
1948
+ altKey: e.altKey,
1949
+ metaKey: e.metaKey
1950
+ })));
1951
+ }
1952
+ }, fe = Z.useMemo(() => He({
1953
+ checked: G,
1954
+ disabled: z,
1955
+ form: o,
1956
+ id: W,
1957
+ name: B,
1958
+ required: p,
1959
+ style: B ? dt : at,
1960
+ tabIndex: -1,
1961
+ type: "checkbox",
1962
+ "aria-hidden": !0,
1963
+ ref: ae,
1964
+ onChange(e) {
1965
+ if (e.nativeEvent.defaultPrevented) return;
1966
+ if (f) {
1967
+ e.preventDefault();
1968
+ return;
1969
+ }
1970
+ let t = e.currentTarget.checked, n = O(ie, e.nativeEvent);
1971
+ re?.(t, n), !n.isCanceled && ce(t);
1972
+ },
1973
+ onFocus() {
1974
+ H.current?.focus();
1975
+ }
1976
+ }, L.getInputValidationProps, v === void 0 ? x : { value: v }), [
1977
+ G,
1978
+ z,
1979
+ o,
1980
+ ae,
1981
+ W,
1982
+ B,
1983
+ re,
1984
+ f,
1985
+ p,
1986
+ ce,
1987
+ L,
1988
+ v
1989
+ ]), pe = Z.useMemo(() => ({
1990
+ ...E,
1991
+ checked: G,
1992
+ disabled: z,
1993
+ readOnly: f,
1994
+ required: p
1995
+ }), [
1996
+ E,
1997
+ G,
1998
+ z,
1999
+ f,
2000
+ p
2001
+ ]), me = w("span", e, {
2002
+ state: pe,
2003
+ ref: [
2004
+ t,
2005
+ H,
2006
+ q
2007
+ ],
2008
+ props: [
2009
+ de,
2010
+ L.getValidationProps,
2011
+ C,
2012
+ le
2013
+ ],
2014
+ stateAttributesMapping: cr
2015
+ });
2016
+ return /*#__PURE__*/ Ct(ar.Provider, {
2017
+ value: pe,
2018
+ children: [
2019
+ me,
2020
+ !G && B && _ !== void 0 && /*#__PURE__*/ Q("input", {
2021
+ type: "hidden",
2022
+ form: o,
2023
+ name: B,
2024
+ value: _
2025
+ }),
2026
+ /*#__PURE__*/ Q("input", {
2027
+ ...fe,
2028
+ suppressHydrationWarning: !0
2029
+ })
2030
+ ]
2031
+ });
2032
+ });
2033
+ process.env.NODE_ENV !== "production" && (lr.displayName = "SwitchRoot");
2034
+ //#endregion
2035
+ //#region ../../node_modules/.bun/@base-ui+react@1.4.1+b87d06724be9db7a/node_modules/@base-ui/react/esm/switch/thumb/SwitchThumb.js
2036
+ var ur = /*#__PURE__*/ Z.forwardRef(function(e, t) {
2037
+ let { render: n, className: r, style: i, ...a } = e, { state: o } = pt(), s = or(), c = {
2038
+ ...o,
2039
+ ...s
2040
+ };
2041
+ return w("span", e, {
2042
+ state: c,
2043
+ ref: t,
2044
+ stateAttributesMapping: cr,
2045
+ props: a
2046
+ });
2047
+ });
2048
+ process.env.NODE_ENV !== "production" && (ur.displayName = "SwitchThumb");
2049
+ //#endregion
2050
+ //#region src/ui/browser/switch.tsx
2051
+ function dr({ className: e, size: t = "default", ...n }) {
2052
+ return /* @__PURE__ */ Q(lr, {
2053
+ "data-slot": "switch",
2054
+ "data-size": t,
2055
+ className: B("peer group/switch relative inline-flex shrink-0 items-center rounded-full border border-transparent transition-[color,background-color,border-color,box-shadow,opacity] outline-none group-has-[:focus-visible]/field-label:border-transparent group-has-[:focus-visible]/field-label:ring-0 after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 data-[size=default]:h-[18.4px] data-[size=default]:w-[32px] data-[size=sm]:h-[14px] data-[size=sm]:w-[24px] dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 data-checked:bg-primary data-unchecked:bg-input dark:data-unchecked:bg-input/80 data-disabled:cursor-not-allowed data-disabled:opacity-50", e),
2056
+ ...n,
2057
+ children: /* @__PURE__ */ Q(ur, {
2058
+ "data-slot": "switch-thumb",
2059
+ className: "pointer-events-none block rounded-full bg-background ring-0 transition-transform group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 group-data-[size=default]/switch:data-checked:translate-x-[calc(100%-2px)] group-data-[size=sm]/switch:data-checked:translate-x-[calc(100%-2px)] dark:data-checked:bg-primary-foreground group-data-[size=default]/switch:data-unchecked:translate-x-0 group-data-[size=sm]/switch:data-unchecked:translate-x-0 dark:data-unchecked:bg-foreground"
2060
+ })
2061
+ });
2062
+ }
2063
+ var fr = { img: "DesignerIcon_img_4a2c5" }, pr = {
2064
+ icon: "IconifyIcon_icon_e957a",
2065
+ external: "IconifyIcon_external_e957a"
2066
+ };
2067
+ //#endregion
2068
+ //#region ../../node_modules/.bun/@iconify+utils@3.1.4/node_modules/@iconify/utils/lib/svg/url.js
2069
+ function mr(e) {
2070
+ return e.replace(/"/g, "'").replace(/%/g, "%25").replace(/#/g, "%23").replace(/</g, "%3C").replace(/>/g, "%3E").replace(/\s+/g, " ");
2071
+ }
2072
+ //#endregion
2073
+ //#region ../../node_modules/.bun/@iconify+utils@3.1.4/node_modules/@iconify/utils/lib/svg/encode-svg-for-css.js
2074
+ function hr(e) {
2075
+ let t = e.startsWith("<svg>") ? e.replace("<svg>", "<svg >") : e;
2076
+ return !t.includes(" xmlns:xlink=") && t.includes(" xlink:") && (t = t.replace("<svg ", "<svg xmlns:xlink=\"http://www.w3.org/1999/xlink\" ")), t.includes(" xmlns=") || (t = t.replace("<svg ", "<svg xmlns=\"http://www.w3.org/2000/svg\" ")), mr(t);
2077
+ }
2078
+ var gr = {
2079
+ "skill-icons": {
2080
+ prefix: "skill-icons",
2081
+ icons: {
2082
+ javascript: { body: "<g fill=\"none\"><rect width=\"256\" height=\"256\" fill=\"#F0DB4F\" rx=\"60\"/><path fill=\"#323330\" d=\"m67.312 213.932l19.59-11.856c3.78 6.701 7.218 12.371 15.465 12.371c7.905 0 12.889-3.092 12.889-15.12v-81.798h24.058v82.138c0 24.917-14.606 36.259-35.916 36.259c-19.245 0-30.416-9.967-36.087-21.996m85.07-2.576l19.588-11.341c5.157 8.421 11.859 14.607 23.715 14.607c9.969 0 16.325-4.984 16.325-11.858c0-8.248-6.53-11.17-17.528-15.98l-6.013-2.579c-17.357-7.388-28.871-16.668-28.871-36.258c0-18.044 13.748-31.792 35.229-31.792c15.294 0 26.292 5.328 34.196 19.247l-18.731 12.029c-4.125-7.389-8.591-10.31-15.465-10.31c-7.046 0-11.514 4.468-11.514 10.31c0 7.217 4.468 10.139 14.778 14.608l6.014 2.577c20.449 8.765 31.963 17.699 31.963 37.804c0 21.654-17.012 33.51-39.867 33.51c-22.339 0-36.774-10.654-43.819-24.574\"/></g>" },
2083
+ typescript: { body: "<g fill=\"none\"><rect width=\"256\" height=\"256\" fill=\"#007ACC\" rx=\"60\"/><path fill=\"#fff\" d=\"m56.611 128.849l-.081 10.484h33.32v94.679h23.569v-94.679h33.32v-10.281c0-5.689-.121-10.443-.284-10.565c-.122-.162-20.399-.244-44.983-.203l-44.739.122zm149.956-10.741c6.501 1.626 11.459 4.511 16.01 9.224c2.357 2.52 5.851 7.112 6.136 8.209c.081.325-11.053 7.802-17.798 11.987c-.244.163-1.22-.894-2.317-2.519c-3.291-4.795-6.745-6.868-12.028-7.233c-7.761-.529-12.759 3.535-12.718 10.321c0 1.991.284 3.169 1.097 4.795c1.706 3.535 4.876 5.648 14.832 9.955c18.326 7.884 26.168 13.085 31.045 20.48c5.445 8.249 6.664 21.415 2.966 31.208c-4.063 10.646-14.141 17.879-28.323 20.277c-4.388.772-14.791.65-19.504-.203c-10.281-1.829-20.033-6.908-26.047-13.572c-2.357-2.601-6.949-9.387-6.664-9.875c.121-.162 1.178-.812 2.356-1.503c1.138-.65 5.446-3.129 9.509-5.486l7.355-4.267l1.544 2.276c2.154 3.291 6.867 7.802 9.712 9.305c8.167 4.308 19.383 3.698 24.909-1.259c2.357-2.154 3.332-4.389 3.332-7.68c0-2.967-.366-4.267-1.91-6.502c-1.991-2.844-6.054-5.242-17.595-10.24c-13.206-5.689-18.895-9.224-24.096-14.832c-3.007-3.25-5.852-8.452-7.03-12.8c-.975-3.616-1.219-12.678-.447-16.335c2.722-12.759 12.353-21.658 26.25-24.3c4.511-.853 14.994-.528 19.424.569\"/></g>" }
2084
+ },
2085
+ width: 256,
2086
+ height: 256
2087
+ },
2088
+ oomol: {
2089
+ prefix: "oomol",
2090
+ icons: { value: { body: "<g fill=\"none\"><rect width=\"36\" height=\"36\" fill=\"#fff\" rx=\"8\"/><path fill=\"#000\" fill-rule=\"evenodd\" d=\"M28 5H8a3 3 0 0 0-3 3v20a3 3 0 0 0 3 3h20a3 3 0 0 0 3-3V8a3 3 0 0 0-3-3ZM8 3a5 5 0 0 0-5 5v20a5 5 0 0 0 5 5h20a5 5 0 0 0 5-5V8a5 5 0 0 0-5-5H8Z\" clip-rule=\"evenodd\"/><path fill=\"#000\" d=\"M5 11h26v2H5v-2Z\"/><path fill=\"#43D685\" d=\"M5 8a3 3 0 0 1 3-3h20a3 3 0 0 1 3 3v3H5V8Z\"/><path fill=\"#fff\" d=\"M8 8a1 1 0 0 1 1-1h4a1 1 0 1 1 0 2H9a1 1 0 0 1-1-1Z\"/><path fill=\"#000\" d=\"M16 18a1 1 0 0 1 1-1h10a1 1 0 1 1 0 2H17a1 1 0 0 1-1-1Zm0 8a1 1 0 0 1 1-1h10a1 1 0 1 1 0 2H17a1 1 0 0 1-1-1Z\"/><path fill=\"#fff\" d=\"M22 8a1 1 0 1 1 2 0 1 1 0 1 1-2 0Z\"/><path fill=\"#000\" fill-rule=\"evenodd\" d=\"M10 18a1 1 0 1 0 2 0 1 1 0 0 0-2 0Zm1-3a3 3 0 1 0 0 6 3 3 0 0 0 0-6Zm-1 11a1 1 0 1 0 2 0 1 1 0 0 0-2 0Zm1-3a3 3 0 1 0 0 6 3 3 0 0 0 0-6Z\" clip-rule=\"evenodd\"/><path fill=\"#fff\" d=\"M26 8a1 1 0 1 1 2 0 1 1 0 1 1-2 0Z\"/></g>" } },
2091
+ width: 36,
2092
+ height: 36
2093
+ }
2094
+ }, _r = null, vr = /* @__PURE__ */ new Map();
2095
+ function yr(e) {
2096
+ let t = vr.get(e);
2097
+ return t || (t = (e == "carbon" ? import("./carbon-DMCVsjHo.js") : import("./_virtual_open-flow-twemoji-DJwKsM_w.js").then((e) => e.default)).catch((t) => {
2098
+ throw vr.delete(e), t;
2099
+ }), vr.set(e, t)), t;
2100
+ }
2101
+ var br = ht(null), xr = ({ children: e }) => {
2102
+ let [t, n] = St(_r), r = xt(!0), i = gt(async (e) => {
2103
+ if (_r?.[e]) {
2104
+ r.current && n(_r);
2105
+ return;
2106
+ }
2107
+ let t = await yr(e);
2108
+ _r = {
2109
+ ..._r,
2110
+ [e]: t
2111
+ }, r.current && n(_r);
2112
+ }, []);
2113
+ vt(() => (r.current = !0, () => {
2114
+ r.current = !1;
2115
+ }), []);
2116
+ let a = bt(() => ({
2117
+ data: t,
2118
+ loadCollection: i
2119
+ }), [t, i]);
2120
+ return /* @__PURE__ */ Q(br.Provider, {
2121
+ value: a,
2122
+ children: e
2123
+ });
2124
+ };
2125
+ function Sr() {
2126
+ return _t(br)?.data ?? null;
2127
+ }
2128
+ function Cr() {
2129
+ return _t(br)?.loadCollection;
2130
+ }
2131
+ //#endregion
2132
+ //#region src/designer/browser/icons/IconifyIcon.tsx
2133
+ function wr(e) {
2134
+ return e == "carbon" || e == "twemoji";
2135
+ }
2136
+ var Tr = ({ collection: e, icon: t, color: n, className: r, onError: i }) => {
2137
+ let a = Sr(!0), o = Cr(), s = wr(e) ? e : void 0, c = s != null && !a?.[s];
2138
+ vt(() => {
2139
+ c && s && o?.(s).catch((e) => i?.(e));
2140
+ }, [
2141
+ s,
2142
+ c,
2143
+ o,
2144
+ i
2145
+ ]);
2146
+ let l = bt(() => Ar(e, t, void 0, a), [
2147
+ a,
2148
+ e,
2149
+ t
2150
+ ]);
2151
+ return l ? /* @__PURE__ */ Q(kr, {
2152
+ url: l,
2153
+ collection: e,
2154
+ icon: t,
2155
+ color: n,
2156
+ className: r
2157
+ }) : c ? /* @__PURE__ */ Q("i", {}) : /* @__PURE__ */ Q(Er, {
2158
+ collection: e,
2159
+ icon: t,
2160
+ color: n,
2161
+ className: r,
2162
+ onError: i
2163
+ });
2164
+ }, Er = ({ collection: e, icon: t, color: n, className: r, onError: i }) => {
2165
+ let [a, o] = St(void 0);
2166
+ return yt(() => {
2167
+ let n = !1;
2168
+ return Or(e, t).then((e) => {
2169
+ n || o(jr(e.width, e.height, e));
2170
+ }).catch((e) => {
2171
+ n || (o(void 0), i?.(e));
2172
+ }), () => {
2173
+ n = !0;
2174
+ };
2175
+ }, [e, t]), a ? /* @__PURE__ */ Q("i", {
2176
+ className: g(r, pr.icon, !a.includes("currentColor") && "is-colored"),
2177
+ style: {
2178
+ color: n,
2179
+ "--icon": `url("${a}")`
2180
+ }
2181
+ }) : /* @__PURE__ */ Q("i", {});
2182
+ }, Dr = new URL("https://api.iconify.design/codicon.json?icons=close"), Or = async (e, t) => {
2183
+ Dr.pathname = `/${e}.json`, Dr.searchParams.set("icons", t);
2184
+ let n = await fetch(Dr.href);
2185
+ if (!n.ok) throw Error(`Failed to fetch ${e}:${t}: ${n.statusText}. Status: ${n.status}`);
2186
+ let r = await n.json();
2187
+ if (typeof r == "number") throw Error(`Failed to fetch ${e}:${t}: ${n.statusText}. Status: ${r}`);
2188
+ let i = r.icons[t];
2189
+ if (i) {
2190
+ let e = i.width || r.width, t = i.height || r.height;
2191
+ i.width ||= e, i.height ||= t;
2192
+ }
2193
+ return i;
2194
+ }, kr = ({ url: e, color: t, className: n }) => /* @__PURE__ */ Q("i", {
2195
+ className: g(n, pr.icon, !e.includes("currentColor") && "is-colored"),
2196
+ style: {
2197
+ color: t,
2198
+ "--icon": `url("${e}")`
2199
+ }
2200
+ }), Ar = (e, t, n, r) => {
2201
+ r ||= _r;
2202
+ let i, a;
2203
+ if (r) {
2204
+ let n = r[e];
2205
+ n && (a = n.icons, i = a.icons[t]);
2206
+ }
2207
+ if (a || (a = gr[e], i = a && a.icons[t]), i && a) return jr(i.width || a.width, i.height || a.height, i, n);
2208
+ };
2209
+ function jr(e, t, n, r) {
2210
+ e ||= 16, t ||= 16;
2211
+ let i = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="${`0 0 ${e} ${t}`}" width="1em" height="1em">${n.body}</svg>`;
2212
+ return r && (i = i.replace(/currentColor/g, r)), `data:image/svg+xml;utf8,${hr(i)}`;
2213
+ }
2214
+ //#endregion
2215
+ //#region src/designer/browser/icons/DesignerIcon.tsx
2216
+ var Mr = ({ src: e, className: t, fallback: n = null }) => {
2217
+ let r = bt(() => Fr(e), [e]), i = r?.source ?? e, a = bt(() => Ir(i), [i]), [o, s] = St(), c = () => s(i);
2218
+ return i ? i === o ? r == null ? n : /* @__PURE__ */ Q(Mr, {
2219
+ className: t,
2220
+ fallback: n,
2221
+ src: r.fallback
2222
+ }) : a ? /* @__PURE__ */ Q(Tr, {
2223
+ collection: a.collection,
2224
+ icon: a.icon,
2225
+ color: a.color,
2226
+ className: t,
2227
+ onError: c
2228
+ }) : /* @__PURE__ */ Q("img", {
2229
+ className: g(fr.img, t),
2230
+ src: i,
2231
+ alt: "",
2232
+ decoding: "async",
2233
+ loading: "lazy",
2234
+ referrerPolicy: "no-referrer",
2235
+ onError: c
2236
+ }) : n;
2237
+ }, Nr = "data:application/vnd.open-flow.image-icon+json,";
2238
+ function Pr(e, t) {
2239
+ return `${Nr}${encodeURIComponent(JSON.stringify({
2240
+ fallback: t,
2241
+ source: e
2242
+ }))}`;
2243
+ }
2244
+ function Fr(e) {
2245
+ if (e?.startsWith(Nr)) try {
2246
+ let t = JSON.parse(decodeURIComponent(e.slice(47)));
2247
+ if (typeof t.fallback == "string" && typeof t.source == "string") return {
2248
+ fallback: t.fallback,
2249
+ source: t.source
2250
+ };
2251
+ } catch {
2252
+ return;
2253
+ }
2254
+ }
2255
+ function Ir(e) {
2256
+ if (e && e.length > 2 && e[0] === ":" && e.endsWith(":")) {
2257
+ let [, t, n, r] = e.split(":");
2258
+ if (t && n) return {
2259
+ collection: t,
2260
+ icon: n,
2261
+ color: r || "currentColor"
2262
+ };
2263
+ }
2264
+ return null;
2265
+ }
2266
+ //#endregion
2267
+ export { an as A, Nn as C, yn as D, xn as E, Ut as F, Lt as I, Nt as L, nn as M, Qt as N, _n as O, Gt as P, jt as R, Fn as S, wn as T, Xn as _, Cr as a, Ln as b, Yn as c, Qn as d, er as f, nr as g, rr as h, xr as i, tn as j, rn as k, ir as l, tr as m, Pr as n, Sr as o, $n as p, Tr as r, dr as s, Mr as t, Zn as u, Wn as v, Tn as w, In as x, Rn as y, Tt as z };