@oomol-lab/open-flow 0.1.0-beta.3 → 0.1.0-beta.5

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