@oomol-lab/open-flow 0.1.0-beta.2 → 0.1.0-beta.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/DesignerIcon-DdfuH2jW.js +2066 -0
- package/dist/browser/createResourceDialog-4YQKl8lG.js +505 -0
- package/dist/browser/dist-CP0883sY.js +4 -0
- package/dist/browser/{esm-B_PbUobB.js → esm-C9jQK70n.js} +1 -1
- package/dist/browser/flow-authoring-node.d.ts +3 -0
- package/dist/browser/flow-authoring.d.ts +1 -1
- package/dist/browser/flow-authoring.js +66 -46
- package/dist/browser/flow-change.d.ts +14 -1
- package/dist/browser/flow-notifications.d.ts +5 -0
- package/dist/browser/{diagnostics-giPSzyMo.js → flowChanges-Bs-ZcJV8.js} +6027 -3367
- package/dist/browser/{flowRunInputEditorStore-BeyUSWpO.js → flowRunInputEditorStore-BYa8zFLC.js} +719 -718
- package/dist/browser/{flowWorkspace-DAMLVMcF.js → flowWorkspace-BewofPeU.js} +40337 -42346
- package/dist/browser/{getPseudoElementBounds-ESJExRFX.js → getPseudoElementBounds-qDxSDwzN.js} +1813 -2328
- package/dist/browser/icons-DRoMXL5h.js +521 -0
- package/dist/browser/{markdownContent-DdlIRN3_.js → markdownContent-DUfLdnUt.js} +1 -1
- package/dist/browser/{typeScriptSession-mPCiA9sV.js → typeScriptSession-CwMPjseS.js} +1 -1
- package/dist/browser/waitNotificationInputs-DtrPBwA1.js +26 -0
- package/dist/browser/workbench.css +1 -1
- package/dist/browser/workbench.d.ts +1 -0
- package/dist/browser/workbench.js +612 -537
- package/dist/browser/{workbenchSelect-B2s1HV-Y.js → workbenchSelect-CX8KtT7L.js} +483 -482
- package/dist/common/control-api-conformance.d.ts +1 -0
- package/dist/common/control-api-conformance.js +59 -0
- package/dist/common/control-api-errors.d.ts +4 -0
- package/dist/common/control-api.d.ts +22 -3
- package/dist/common/control-api.js +134 -73
- package/dist/common/flow-encoding.js +20 -8
- package/dist/common/flow-notifications.d.ts +5 -0
- package/dist/common/flow-semantics.d.ts +1 -0
- package/dist/common/flow-semantics.js +3464 -1104
- package/dist/common/run-events.js +2 -1
- package/dist/common/run-lifecycle.d.ts +17 -2
- package/dist/common/run-lifecycle.js +53 -2
- package/dist/common/scheduler.d.ts +64 -3
- package/dist/common/scheduler.js +417 -142
- package/dist/index.d.ts +1 -0
- package/package.json +1 -1
- package/dist/browser/createResourceDialog-BkZns-oZ.js +0 -504
|
@@ -0,0 +1,2066 @@
|
|
|
1
|
+
import { a as e, f as t, r as n } from "./dist-C46JByB-.js";
|
|
2
|
+
import { $n as r, $t as i, A as a, An as o, B as s, Cn as c, Dn as l, Dt as u, En as d, Et as f, F as p, Fn as m, Gn as h, H as g, Hn as _, Ht as v, In as y, It as b, J as x, Jt as S, Kn as C, L as w, Lt as T, M as E, Mn as D, Mt as O, N as k, On as A, Ot as j, P as M, R as N, Rt as P, Sn as F, St as ee, Tn as te, Tt as I, U as L, Ut as R, V as ne, W as re, Wn as z, Wt as B, Xn as V, Xt as H, Yn as ie, Yt as ae, Z as U, Zn as oe, Zt as se, a as ce, an as le, ar as W, at as ue, bn as G, bt as K, c as de, cr as fe, ct as pe, d as me, dr as he, er as q, et as ge, f as _e, ft as ve, ht as ye, i as be, in as xe, it as Se, j as Ce, jt as J, kn as we, kt as Te, l as Ee, lr as Y, lt as De, m as Oe, mt as ke, n as Ae, nn as je, nr as Me, nt as Ne, on as Pe, or as Fe, ot as Ie, p as Le, pt as Re, q as ze, qn as Be, rn as Ve, rr as He, rt as Ue, s as We, sn as Ge, sr as Ke, st as qe, t as Je, tn as Ye, tr as Xe, tt as Ze, u as Qe, ur as $e, vn as et, vt as tt, wn as nt, x as rt, yt as it, z as at } from "./getPseudoElementBounds-qDxSDwzN.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 = Te("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" ? q(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" ? q(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" ? q(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" ? q(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: i, store: a, typingRef: o, itemRef: s, itemMetadata: c } = e, { events: l } = a.useState("floatingTreeRoot"), u = wt(!0), d = u !== void 0;
|
|
111
|
+
return X.useMemo(() => ({
|
|
112
|
+
id: r,
|
|
113
|
+
role: "menuitem",
|
|
114
|
+
tabIndex: n ? 0 : -1,
|
|
115
|
+
onKeyDown(e) {
|
|
116
|
+
e.key === " " && o?.current && e.preventDefault();
|
|
117
|
+
},
|
|
118
|
+
onMouseMove(e) {
|
|
119
|
+
i && l.emit("itemhover", {
|
|
120
|
+
nodeId: i,
|
|
121
|
+
target: e.currentTarget
|
|
122
|
+
});
|
|
123
|
+
},
|
|
124
|
+
onClick(e) {
|
|
125
|
+
t && l.emit("close", {
|
|
126
|
+
domEvent: e,
|
|
127
|
+
reason: P
|
|
128
|
+
});
|
|
129
|
+
},
|
|
130
|
+
onMouseUp(e) {
|
|
131
|
+
if (u) {
|
|
132
|
+
let t = u.initialCursorPointRef.current;
|
|
133
|
+
if (u.initialCursorPointRef.current = null, d && t && Math.abs(e.clientX - t.x) <= 1 && Math.abs(e.clientY - t.y) <= 1 || d && !we && e.button === 2) return;
|
|
134
|
+
}
|
|
135
|
+
s.current && a.context.allowMouseUpTriggerRef.current && (!d || e.button === 2) && (!c || c.type === "regular-item") && s.current.click();
|
|
136
|
+
}
|
|
137
|
+
}), [
|
|
138
|
+
t,
|
|
139
|
+
n,
|
|
140
|
+
r,
|
|
141
|
+
l,
|
|
142
|
+
i,
|
|
143
|
+
a,
|
|
144
|
+
o,
|
|
145
|
+
s,
|
|
146
|
+
u,
|
|
147
|
+
d,
|
|
148
|
+
c
|
|
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 } = oe({
|
|
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) => Xe(p, { onMouseEnter() {
|
|
170
|
+
c.type === "submenu-trigger" && c.setActive();
|
|
171
|
+
} }, e, d), [
|
|
172
|
+
p,
|
|
173
|
+
d,
|
|
174
|
+
c
|
|
175
|
+
]), h = V(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
|
+
...i
|
|
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, g = ee({ label: a }), _ = xt(!0), v = m(i), { store: y } = Q(), b = y.useState("isActive", g.index), x = y.useState("itemProps"), [C, w] = S({
|
|
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: v,
|
|
201
|
+
store: y,
|
|
202
|
+
nativeButton: o,
|
|
203
|
+
nodeId: _?.context.nodeId,
|
|
204
|
+
itemMetadata: Ot
|
|
205
|
+
}), D = X.useMemo(() => ({
|
|
206
|
+
disabled: s,
|
|
207
|
+
highlighted: b,
|
|
208
|
+
checked: C
|
|
209
|
+
}), [
|
|
210
|
+
s,
|
|
211
|
+
b,
|
|
212
|
+
C
|
|
213
|
+
]), O = W((e) => {
|
|
214
|
+
let t = {
|
|
215
|
+
...J(P, e.nativeEvent),
|
|
216
|
+
preventUnmountOnClose: () => {}
|
|
217
|
+
};
|
|
218
|
+
d?.(!C, t), !t.isCanceled && w((e) => !e);
|
|
219
|
+
}), k = h("div", e, {
|
|
220
|
+
state: D,
|
|
221
|
+
stateAttributesMapping: jt,
|
|
222
|
+
props: [
|
|
223
|
+
x,
|
|
224
|
+
{
|
|
225
|
+
role: "menuitemcheckbox",
|
|
226
|
+
"aria-checked": C,
|
|
227
|
+
onClick: O
|
|
228
|
+
},
|
|
229
|
+
p,
|
|
230
|
+
T
|
|
231
|
+
],
|
|
232
|
+
ref: [
|
|
233
|
+
E,
|
|
234
|
+
t,
|
|
235
|
+
g.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 } = ae(s.checked);
|
|
248
|
+
H({
|
|
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 h("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" ? q(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 = h("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 = m(i), { setLabelId: c } = Ft();
|
|
303
|
+
return Me(() => (c(s), () => {
|
|
304
|
+
c(void 0);
|
|
305
|
+
}), [c, s]), h("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 = ee({ label: a }), f = xt(!0), p = m(i), { store: g } = Q(), _ = g.useState("isActive", d.index), v = g.useState("itemProps"), { getItemProps: y, itemRef: b } = kt({
|
|
319
|
+
closeOnClick: c,
|
|
320
|
+
disabled: s,
|
|
321
|
+
highlighted: _,
|
|
322
|
+
id: p,
|
|
323
|
+
store: g,
|
|
324
|
+
nativeButton: o,
|
|
325
|
+
nodeId: f?.context.nodeId,
|
|
326
|
+
itemMetadata: Ot
|
|
327
|
+
});
|
|
328
|
+
return h("div", e, {
|
|
329
|
+
state: {
|
|
330
|
+
disabled: s,
|
|
331
|
+
highlighted: _
|
|
332
|
+
},
|
|
333
|
+
props: [
|
|
334
|
+
v,
|
|
335
|
+
u,
|
|
336
|
+
y
|
|
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 && !et(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 = we && o;
|
|
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), u = X.useRef(null), f = je(), p = X.useRef(!0);
|
|
366
|
+
X.useEffect(() => {
|
|
367
|
+
let e = n.select("domReferenceElement");
|
|
368
|
+
if (!a) return;
|
|
369
|
+
let t = fe(e);
|
|
370
|
+
function r() {
|
|
371
|
+
let e = n.select("domReferenceElement");
|
|
372
|
+
!n.select("open") && $e(e) && e === d(D(e)) && (s.current = !0);
|
|
373
|
+
}
|
|
374
|
+
function i() {
|
|
375
|
+
p.current = !0;
|
|
376
|
+
}
|
|
377
|
+
function o() {
|
|
378
|
+
p.current = !1;
|
|
379
|
+
}
|
|
380
|
+
return it(K(t, "blur", r), Ut && K(t, "keydown", i, !0), Ut && K(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) && (u.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 m = X.useMemo(() => ({
|
|
398
|
+
onMouseLeave() {
|
|
399
|
+
s.current = !1, u.current = null;
|
|
400
|
+
},
|
|
401
|
+
onFocus(e) {
|
|
402
|
+
let t = e.currentTarget;
|
|
403
|
+
if (s.current) {
|
|
404
|
+
if (u.current === t) return;
|
|
405
|
+
s.current = !1, u.current = null;
|
|
406
|
+
}
|
|
407
|
+
let r = A(e.nativeEvent);
|
|
408
|
+
if (Y(r)) {
|
|
409
|
+
if (Ut && !e.relatedTarget) {
|
|
410
|
+
if (!p.current && !nt(r)) return;
|
|
411
|
+
} else if (!te(r)) return;
|
|
412
|
+
}
|
|
413
|
+
let i = c(e.relatedTarget, n.context.triggerElements), { nativeEvent: a, currentTarget: l } = e, d = typeof o == "function" ? o() : o;
|
|
414
|
+
if (n.select("open") && i || d === 0 || d === void 0) {
|
|
415
|
+
n.setOpen(!0, J(R, a, l));
|
|
416
|
+
return;
|
|
417
|
+
}
|
|
418
|
+
f.start(d, () => {
|
|
419
|
+
s.current || n.setOpen(!0, J(R, a, l));
|
|
420
|
+
});
|
|
421
|
+
},
|
|
422
|
+
onBlur(e) {
|
|
423
|
+
s.current = !1, u.current = null;
|
|
424
|
+
let t = e.relatedTarget, r = e.nativeEvent, a = Y(t) && t.hasAttribute(ke("focus-guard")) && t.getAttribute("data-type") === "outside";
|
|
425
|
+
f.start(0, () => {
|
|
426
|
+
let e = n.select("domReferenceElement"), o = d(D(e));
|
|
427
|
+
!t && o === e || l(i.current.floatingContext?.refs.floating.current, o) || l(e, o) || a || c(t ?? o, n.context.triggerElements) || n.setOpen(!1, J(R, r));
|
|
428
|
+
});
|
|
429
|
+
}
|
|
430
|
+
}), [
|
|
431
|
+
i,
|
|
432
|
+
n,
|
|
433
|
+
f,
|
|
434
|
+
o
|
|
435
|
+
]);
|
|
436
|
+
return X.useMemo(() => a ? {
|
|
437
|
+
reference: m,
|
|
438
|
+
trigger: m
|
|
439
|
+
} : {}, [a, m]);
|
|
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 Ye(), this.restTimeout = new Ye(), 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 = Fe(Gt.create).current, n = e.context.dataRef.current;
|
|
466
|
+
return n.hoverInteractionState ||= t, Ve(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: s = !0, closeDelay: u = 0, nodeId: d } = t, f = Yt(n), p = qe(), m = Ie(), h = W(() => Ht(o.current.openEvent?.type, f.interactedInside)), g = W(() => {
|
|
472
|
+
let e = o.current.openEvent?.type;
|
|
473
|
+
return e?.includes("mouse") && e !== "mousedown";
|
|
474
|
+
}), _ = W((e) => c(e, n.context.triggerElements)), v = X.useCallback((e) => {
|
|
475
|
+
let t = Bt(u, "close", f.pointerType), r = () => {
|
|
476
|
+
n.setOpen(!1, J(B, e)), p?.events.emit("floating.closed", e);
|
|
477
|
+
};
|
|
478
|
+
t ? f.openChangeTimeout.start(t, r) : (f.openChangeTimeout.clear(), r());
|
|
479
|
+
}, [
|
|
480
|
+
u,
|
|
481
|
+
n,
|
|
482
|
+
f,
|
|
483
|
+
p
|
|
484
|
+
]), y = W(() => {
|
|
485
|
+
qt(f);
|
|
486
|
+
}), b = W((e) => {
|
|
487
|
+
let t = A(e);
|
|
488
|
+
if (!F(t)) {
|
|
489
|
+
f.interactedInside = !1;
|
|
490
|
+
return;
|
|
491
|
+
}
|
|
492
|
+
f.interactedInside = t?.closest("[aria-haspopup]") != null;
|
|
493
|
+
});
|
|
494
|
+
Me(() => {
|
|
495
|
+
r || (f.pointerType = void 0, f.restTimeoutPending = !1, f.interactedInside = !1, y());
|
|
496
|
+
}, [
|
|
497
|
+
r,
|
|
498
|
+
f,
|
|
499
|
+
y
|
|
500
|
+
]), X.useEffect(() => y, [y]), Me(() => {
|
|
501
|
+
if (s && r && f.handleCloseOptions?.blockPointerEvents && g() && Y(a) && i) {
|
|
502
|
+
let e = a, t = i, n = D(i), r = p?.nodesRef.current.find((e) => e.id === m)?.context?.elements.floating;
|
|
503
|
+
r && (r.style.pointerEvents = "");
|
|
504
|
+
let o = f.handleCloseOptions?.getScope?.() ?? f.pointerEventsScopeElement ?? r ?? e.closest("[data-rootownerid]") ?? n.body;
|
|
505
|
+
return Jt(f, {
|
|
506
|
+
scopeElement: o,
|
|
507
|
+
referenceElement: e,
|
|
508
|
+
floatingElement: t
|
|
509
|
+
}), () => {
|
|
510
|
+
y();
|
|
511
|
+
};
|
|
512
|
+
}
|
|
513
|
+
}, [
|
|
514
|
+
s,
|
|
515
|
+
r,
|
|
516
|
+
a,
|
|
517
|
+
i,
|
|
518
|
+
f,
|
|
519
|
+
g,
|
|
520
|
+
p,
|
|
521
|
+
m,
|
|
522
|
+
y
|
|
523
|
+
]);
|
|
524
|
+
let x = je();
|
|
525
|
+
X.useEffect(() => {
|
|
526
|
+
if (!s) return;
|
|
527
|
+
function e() {
|
|
528
|
+
f.openChangeTimeout.clear(), x.clear(), p?.events.off("floating.closed", r), y();
|
|
529
|
+
}
|
|
530
|
+
function t(e) {
|
|
531
|
+
if (p && m && G(p.nodesRef.current, m).length > 0) {
|
|
532
|
+
p.events.on("floating.closed", r);
|
|
533
|
+
return;
|
|
534
|
+
}
|
|
535
|
+
if (_(e.relatedTarget)) return;
|
|
536
|
+
let t = o.current.floatingContext?.nodeId ?? d, n = e.relatedTarget;
|
|
537
|
+
if (!(p && t && Y(n) && G(p.nodesRef.current, t, !1).some((e) => l(e.context?.elements.floating, n)))) {
|
|
538
|
+
if (f.handler) {
|
|
539
|
+
f.handler(e);
|
|
540
|
+
return;
|
|
541
|
+
}
|
|
542
|
+
y(), h() || v(e);
|
|
543
|
+
}
|
|
544
|
+
}
|
|
545
|
+
function r(e) {
|
|
546
|
+
!p || !m || G(p.nodesRef.current, m).length > 0 || x.start(0, () => {
|
|
547
|
+
p.events.off("floating.closed", r), n.setOpen(!1, J(B, e)), p.events.emit("floating.closed", e);
|
|
548
|
+
});
|
|
549
|
+
}
|
|
550
|
+
let a = i;
|
|
551
|
+
return it(a && K(a, "mouseenter", e), a && K(a, "mouseleave", t), a && K(a, "pointerdown", b, !0), () => {
|
|
552
|
+
p?.events.off("floating.closed", r);
|
|
553
|
+
});
|
|
554
|
+
}, [
|
|
555
|
+
s,
|
|
556
|
+
i,
|
|
557
|
+
n,
|
|
558
|
+
o,
|
|
559
|
+
d,
|
|
560
|
+
h,
|
|
561
|
+
_,
|
|
562
|
+
v,
|
|
563
|
+
y,
|
|
564
|
+
b,
|
|
565
|
+
f,
|
|
566
|
+
p,
|
|
567
|
+
m,
|
|
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: u = !1, restMs: d = 0, move: f = !0, triggerElementRef: p = Zt, externalTree: m, isActiveTrigger: h = !0, getHandleCloseContext: g, isClosing: _ } = t, v = qe(m), y = Yt(n), b = X.useRef(!1), x = tt(s), S = tt(o), C = tt(d), w = tt(a), T = tt(_);
|
|
576
|
+
h && (y.handleCloseOptions = x.current?.__options);
|
|
577
|
+
let E = W(() => Ht(r.current.openEvent?.type, y.interactedInside)), O = W((e) => c(e, n.context.triggerElements)), k = W((e, t, r) => {
|
|
578
|
+
let i = n.context.triggerElements;
|
|
579
|
+
if (i.hasElement(t)) return !e || !l(e, t);
|
|
580
|
+
if (!Y(r)) return !1;
|
|
581
|
+
let a = r;
|
|
582
|
+
return i.hasMatchingElement((e) => l(e, a)) && (!e || !l(e, a));
|
|
583
|
+
}), j = W((e, t = !0) => {
|
|
584
|
+
let r = Bt(S.current, "close", y.pointerType);
|
|
585
|
+
r ? y.openChangeTimeout.start(r, () => {
|
|
586
|
+
n.setOpen(!1, J(B, e)), v?.events.emit("floating.closed", e);
|
|
587
|
+
}) : t && (y.openChangeTimeout.clear(), n.setOpen(!1, J(B, e)), v?.events.emit("floating.closed", e));
|
|
588
|
+
}), M = W(() => {
|
|
589
|
+
y.handler &&= (D(n.select("domReferenceElement")).removeEventListener("mousemove", y.handler), void 0);
|
|
590
|
+
}), N = W(() => {
|
|
591
|
+
qt(y);
|
|
592
|
+
});
|
|
593
|
+
return X.useEffect(() => M, [M]), X.useEffect(() => {
|
|
594
|
+
if (!a) return;
|
|
595
|
+
function e(e) {
|
|
596
|
+
e.open ? b.current = !1 : (b.current = e.reason === B, M(), y.openChangeTimeout.clear(), y.restTimeout.clear(), y.blockMouseMove = !0, y.restTimeoutPending = !1);
|
|
597
|
+
}
|
|
598
|
+
return i.on("openchange", e), () => {
|
|
599
|
+
i.off("openchange", e);
|
|
600
|
+
};
|
|
601
|
+
}, [
|
|
602
|
+
a,
|
|
603
|
+
i,
|
|
604
|
+
y,
|
|
605
|
+
M
|
|
606
|
+
]), X.useEffect(() => {
|
|
607
|
+
if (!a) return;
|
|
608
|
+
let e = p.current ?? (h ? n.select("domReferenceElement") : null);
|
|
609
|
+
if (!Y(e)) return;
|
|
610
|
+
function t(e) {
|
|
611
|
+
if (y.openChangeTimeout.clear(), y.blockMouseMove = !1, u && !et(y.pointerType)) return;
|
|
612
|
+
let t = Vt(C.current), r = Bt(S.current, "open", y.pointerType), i = A(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 (l(e, i)) {
|
|
615
|
+
s = e;
|
|
616
|
+
break;
|
|
617
|
+
}
|
|
618
|
+
}
|
|
619
|
+
Y(a) && Y(o) && !n.context.triggerElements.hasElement(a) && l(a, o) && (s = o);
|
|
620
|
+
let c = s != null && k(o, s, i), d = n.select("open"), f = T.current?.() ?? n.select("transitionStatus") === "ending", p = !d && f && b.current, m = !c && Y(s) && Y(o) && l(o, s) && p, h = t > 0 && !r, g = c && (d || p) || m, _ = !d || c;
|
|
621
|
+
if (g) {
|
|
622
|
+
n.setOpen(!0, J(B, e, s));
|
|
623
|
+
return;
|
|
624
|
+
}
|
|
625
|
+
h || (r ? y.openChangeTimeout.start(r, () => {
|
|
626
|
+
_ && n.setOpen(!0, J(B, e, s));
|
|
627
|
+
}) : _ && n.setOpen(!0, J(B, e, s)));
|
|
628
|
+
}
|
|
629
|
+
function i(e) {
|
|
630
|
+
if (E()) {
|
|
631
|
+
N();
|
|
632
|
+
return;
|
|
633
|
+
}
|
|
634
|
+
M();
|
|
635
|
+
let t = n.select("domReferenceElement"), i = D(t);
|
|
636
|
+
y.restTimeout.clear(), y.restTimeoutPending = !1;
|
|
637
|
+
let a = r.current.floatingContext ?? g?.();
|
|
638
|
+
if (!O(e.relatedTarget)) {
|
|
639
|
+
if (x.current && a) {
|
|
640
|
+
n.select("open") || y.openChangeTimeout.clear();
|
|
641
|
+
let t = p.current;
|
|
642
|
+
y.handler = x.current({
|
|
643
|
+
...a,
|
|
644
|
+
tree: v,
|
|
645
|
+
x: e.clientX,
|
|
646
|
+
y: e.clientY,
|
|
647
|
+
onClose() {
|
|
648
|
+
N(), M(), w.current && !E() && t === n.select("domReferenceElement") && j(e, !0);
|
|
649
|
+
}
|
|
650
|
+
}), i.addEventListener("mousemove", y.handler), y.handler(e);
|
|
651
|
+
return;
|
|
652
|
+
}
|
|
653
|
+
(y.pointerType !== "touch" || !l(n.select("floatingElement"), e.relatedTarget)) && j(e);
|
|
654
|
+
}
|
|
655
|
+
}
|
|
656
|
+
return f ? it(K(e, "mousemove", t, { once: !0 }), K(e, "mouseenter", t), K(e, "mouseleave", i)) : it(K(e, "mouseenter", t), K(e, "mouseleave", i));
|
|
657
|
+
}, [
|
|
658
|
+
M,
|
|
659
|
+
N,
|
|
660
|
+
r,
|
|
661
|
+
S,
|
|
662
|
+
j,
|
|
663
|
+
n,
|
|
664
|
+
a,
|
|
665
|
+
x,
|
|
666
|
+
y,
|
|
667
|
+
h,
|
|
668
|
+
k,
|
|
669
|
+
E,
|
|
670
|
+
O,
|
|
671
|
+
u,
|
|
672
|
+
f,
|
|
673
|
+
C,
|
|
674
|
+
p,
|
|
675
|
+
v,
|
|
676
|
+
w,
|
|
677
|
+
g,
|
|
678
|
+
T
|
|
679
|
+
]), X.useMemo(() => {
|
|
680
|
+
if (!a) return;
|
|
681
|
+
function e(e) {
|
|
682
|
+
y.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 = k(i, r, e.target);
|
|
689
|
+
if (u && !et(y.pointerType)) return;
|
|
690
|
+
if (a && o && y.handleCloseOptions?.blockPointerEvents) {
|
|
691
|
+
let e = n.select("floatingElement");
|
|
692
|
+
if (e) {
|
|
693
|
+
let t = y.handleCloseOptions?.getScope?.() ?? r.ownerDocument.body;
|
|
694
|
+
Jt(y, {
|
|
695
|
+
scopeElement: t,
|
|
696
|
+
referenceElement: r,
|
|
697
|
+
floatingElement: e
|
|
698
|
+
});
|
|
699
|
+
}
|
|
700
|
+
}
|
|
701
|
+
let s = Vt(C.current);
|
|
702
|
+
if (a && !o || s === 0 || !o && y.restTimeoutPending && e.movementX ** 2 + e.movementY ** 2 < 2) return;
|
|
703
|
+
y.restTimeout.clear();
|
|
704
|
+
function c() {
|
|
705
|
+
if (y.restTimeoutPending = !1, E()) return;
|
|
706
|
+
let e = n.select("open");
|
|
707
|
+
!y.blockMouseMove && (!e || o) && n.setOpen(!0, J(B, t, r));
|
|
708
|
+
}
|
|
709
|
+
y.pointerType === "touch" ? ht.flushSync(() => {
|
|
710
|
+
c();
|
|
711
|
+
}) : o && a ? c() : (y.restTimeoutPending = !0, y.restTimeout.start(s, c));
|
|
712
|
+
}
|
|
713
|
+
};
|
|
714
|
+
}, [
|
|
715
|
+
a,
|
|
716
|
+
y,
|
|
717
|
+
E,
|
|
718
|
+
k,
|
|
719
|
+
u,
|
|
720
|
+
n,
|
|
721
|
+
C
|
|
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 Ye(), r = ({ x: e, y: t, placement: r, elements: i, onClose: a, nodeId: o, tree: s }) => {
|
|
742
|
+
let c = r?.split("-")[0], u = !1, d = null, f = null, p = typeof performance < "u" ? performance.now() : 0;
|
|
743
|
+
function m(e, t) {
|
|
744
|
+
let n = performance.now(), r = n - p;
|
|
745
|
+
if (d === null || f === null || r === 0) return d = e, f = t, p = n, !1;
|
|
746
|
+
let i = e - d, a = t - f, o = i * i + a * a, s = r * r * en;
|
|
747
|
+
return d = e, f = t, p = n, o < s;
|
|
748
|
+
}
|
|
749
|
+
function h() {
|
|
750
|
+
n.clear(), a();
|
|
751
|
+
}
|
|
752
|
+
return function(r) {
|
|
753
|
+
n.clear();
|
|
754
|
+
let a = i.domReference, d = i.floating;
|
|
755
|
+
if (!a || !d || c == null || e == null || t == null) return;
|
|
756
|
+
let { clientX: f, clientY: p } = r, g = A(r), _ = r.type === "mouseleave", v = l(d, g), y = l(a, g);
|
|
757
|
+
if (v && (u = !0, !_)) return;
|
|
758
|
+
if (y && (u = !1, !_)) {
|
|
759
|
+
u = !0;
|
|
760
|
+
return;
|
|
761
|
+
}
|
|
762
|
+
if (_ && Y(r.relatedTarget) && l(d, r.relatedTarget)) return;
|
|
763
|
+
function b() {
|
|
764
|
+
return !!(s && G(s.nodesRef.current, o).length > 0);
|
|
765
|
+
}
|
|
766
|
+
function x() {
|
|
767
|
+
b() || h();
|
|
768
|
+
}
|
|
769
|
+
if (b()) return;
|
|
770
|
+
let S = a.getBoundingClientRect(), C = d.getBoundingClientRect(), w = e > C.right - C.width / 2, T = t > C.bottom - C.height / 2, E = C.width > S.width, D = C.height > S.height, O = (E ? S : C).left, k = (E ? S : C).right, j = (D ? S : C).top, M = (D ? S : C).bottom;
|
|
771
|
+
if (c === "top" && t >= S.bottom - 1 || c === "bottom" && t <= S.top + 1 || c === "left" && e >= S.right - 1 || c === "right" && e <= S.left + 1) {
|
|
772
|
+
x();
|
|
773
|
+
return;
|
|
774
|
+
}
|
|
775
|
+
let N = !1;
|
|
776
|
+
switch (c) {
|
|
777
|
+
case "top":
|
|
778
|
+
N = an(f, p, O, S.top + 1, k, C.bottom - 1);
|
|
779
|
+
break;
|
|
780
|
+
case "bottom":
|
|
781
|
+
N = an(f, p, O, C.top + 1, k, S.bottom - 1);
|
|
782
|
+
break;
|
|
783
|
+
case "left":
|
|
784
|
+
N = an(f, p, C.right - 1, M, S.left + 1, j);
|
|
785
|
+
break;
|
|
786
|
+
case "right": N = an(f, p, S.right - 1, M, C.left + 1, j);
|
|
787
|
+
}
|
|
788
|
+
if (N) return;
|
|
789
|
+
if (u && !rn(f, p, S)) {
|
|
790
|
+
x();
|
|
791
|
+
return;
|
|
792
|
+
}
|
|
793
|
+
if (!_ && m(f, p)) {
|
|
794
|
+
x();
|
|
795
|
+
return;
|
|
796
|
+
}
|
|
797
|
+
let P = !1;
|
|
798
|
+
switch (c) {
|
|
799
|
+
case "top": {
|
|
800
|
+
let n = E ? $ / 2 : $ * 4, r = E || w ? e + n : e - n, i = E ? e - n : w ? e + n : e - n, a = t + $ + 1, o = w || E ? C.bottom - $ : C.top, s = w ? E ? C.bottom - $ : C.top : C.bottom - $;
|
|
801
|
+
P = nn(f, p, r, a, i, a, C.left, o, C.right, s);
|
|
802
|
+
break;
|
|
803
|
+
}
|
|
804
|
+
case "bottom": {
|
|
805
|
+
let n = E ? $ / 2 : $ * 4, r = E || w ? e + n : e - n, i = E ? e - n : w ? e + n : e - n, a = t - $, o = w || E ? C.top + $ : C.bottom, s = w ? E ? C.top + $ : C.bottom : C.top + $;
|
|
806
|
+
P = nn(f, p, r, a, i, a, C.left, o, C.right, s);
|
|
807
|
+
break;
|
|
808
|
+
}
|
|
809
|
+
case "left": {
|
|
810
|
+
let n = D ? $ / 2 : $ * 4, r = D || T ? t + n : t - n, i = D ? t - n : T ? t + n : t - n, a = e + $ + 1, o = T || D ? C.right - $ : C.left, s = T ? D ? C.right - $ : C.left : C.right - $;
|
|
811
|
+
P = nn(f, p, o, C.top, s, C.bottom, a, r, a, i);
|
|
812
|
+
break;
|
|
813
|
+
}
|
|
814
|
+
case "right": {
|
|
815
|
+
let n = D ? $ / 2 : $ * 4, r = D || T ? t + n : t - n, i = D ? t - n : T ? t + n : t - n, a = e - $, o = T || D ? C.left + $ : C.right, s = T ? D ? C.left + $ : C.right : C.left + $;
|
|
816
|
+
P = nn(f, p, a, r, a, i, o, C.top, s, C.bottom);
|
|
817
|
+
break;
|
|
818
|
+
}
|
|
819
|
+
}
|
|
820
|
+
P ? u || n.start(40, x) : x();
|
|
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
|
+
...i
|
|
833
|
+
}, cn = /*#__PURE__*/ X.forwardRef(function(e, t) {
|
|
834
|
+
let { render: n, className: r, style: i, finalFocus: o, ...s } = e, { store: c } = Q(), { side: l, align: u } = xt(), d = a(!0) != null, f = c.useState("open"), p = c.useState("transitionStatus"), m = c.useState("popupProps"), g = c.useState("mounted"), _ = c.useState("instantType"), v = c.useState("activeTriggerElement"), y = c.useState("parent"), b = c.useState("lastOpenChangeReason"), x = c.useState("rootId"), S = c.useState("floatingRootContext"), C = c.useState("floatingTreeRoot"), w = c.useState("closeDelay"), T = c.useState("activeTriggerElement"), E = y.type === "context-menu";
|
|
835
|
+
H({
|
|
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, J(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 D = c.useState("hoverEnabled"), O = c.useState("disabled");
|
|
850
|
+
Xt(S, {
|
|
851
|
+
enabled: D && !O && !E && y.type !== "menubar",
|
|
852
|
+
closeDelay: w
|
|
853
|
+
});
|
|
854
|
+
let k = {
|
|
855
|
+
transitionStatus: p,
|
|
856
|
+
side: l,
|
|
857
|
+
align: u,
|
|
858
|
+
open: f,
|
|
859
|
+
nested: y.type === "menu",
|
|
860
|
+
instant: _
|
|
861
|
+
}, A = X.useCallback((e) => {
|
|
862
|
+
c.set("popupElement", e);
|
|
863
|
+
}, [c]), j = h("div", e, {
|
|
864
|
+
state: k,
|
|
865
|
+
ref: [
|
|
866
|
+
t,
|
|
867
|
+
c.context.popupRef,
|
|
868
|
+
A
|
|
869
|
+
],
|
|
870
|
+
stateAttributesMapping: sn,
|
|
871
|
+
props: [
|
|
872
|
+
m,
|
|
873
|
+
{ onKeyDown(e) {
|
|
874
|
+
d && rt.has(e.key) && e.stopPropagation();
|
|
875
|
+
} },
|
|
876
|
+
Oe(p),
|
|
877
|
+
s,
|
|
878
|
+
{ "data-rootownerid": x }
|
|
879
|
+
]
|
|
880
|
+
}), M = y.type === void 0 || E;
|
|
881
|
+
return (v || y.type === "menubar" && b !== "outside-press") && (M = !0), /*#__PURE__*/ Z(Ne, {
|
|
882
|
+
context: S,
|
|
883
|
+
modal: E,
|
|
884
|
+
disabled: !g,
|
|
885
|
+
returnFocus: o === void 0 ? M : o,
|
|
886
|
+
initialFocus: y.type !== "menu",
|
|
887
|
+
restoreFocus: !0,
|
|
888
|
+
externalTree: y.type === "menubar" ? void 0 : C,
|
|
889
|
+
previousFocusableElement: T,
|
|
890
|
+
nextFocusableElement: y.type === void 0 ? c.context.triggerFocusTargetRef : void 0,
|
|
891
|
+
beforeContentFocusGuardRef: y.type === void 0 ? c.context.beforeContentFocusGuardRef : void 0,
|
|
892
|
+
children: j
|
|
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" ? q(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(De, {
|
|
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: y } = Q(), b = un(), x = wt(!0), S = y.useState("parent"), C = y.useState("floatingRootContext"), w = y.useState("floatingTreeRoot"), T = y.useState("mounted"), E = y.useState("open"), D = y.useState("modal"), O = y.useState("openMethod"), k = y.useState("activeTriggerElement"), A = y.useState("transitionStatus"), j = y.useState("positionerElement"), M = y.useState("instantType"), N = y.useState("hasViewport"), P = y.useState("lastOpenChangeReason"), F = y.useState("floatingNodeId"), ee = y.useState("floatingParentNodeId"), te = C.useState("domReferenceElement"), I = X.useRef(null), L = se(j, !1, !1), R = n, ne = c, re = l, z = s, B = h;
|
|
922
|
+
S.type === "context-menu" && (R = n ?? S.context?.anchor, z ??= "start", !o && z !== "center" && (re = e.alignOffset ?? 2, ne = e.sideOffset ?? -5));
|
|
923
|
+
let V = o, H = z;
|
|
924
|
+
S.type === "menu" ? (V ??= "inline-end", H ??= "start", B = e.collisionAvoidance ?? Re) : S.type === "menubar" && (V ??= "bottom", H ??= "start");
|
|
925
|
+
let ie = S.type === "context-menu", ae = Qe({
|
|
926
|
+
anchor: R,
|
|
927
|
+
floatingRootContext: C,
|
|
928
|
+
positionMethod: x ? "fixed" : r,
|
|
929
|
+
mounted: T,
|
|
930
|
+
side: V,
|
|
931
|
+
sideOffset: ne,
|
|
932
|
+
align: H,
|
|
933
|
+
alignOffset: re,
|
|
934
|
+
arrowPadding: ie ? 0 : f,
|
|
935
|
+
collisionBoundary: u,
|
|
936
|
+
collisionPadding: d,
|
|
937
|
+
sticky: p,
|
|
938
|
+
nodeId: F,
|
|
939
|
+
keepMounted: b,
|
|
940
|
+
disableAnchorTracking: m,
|
|
941
|
+
collisionAvoidance: B,
|
|
942
|
+
shiftCrossAxis: ie && !("side" in B && B.side === "flip"),
|
|
943
|
+
externalTree: w,
|
|
944
|
+
adaptiveOrigin: N ? me : void 0
|
|
945
|
+
});
|
|
946
|
+
X.useEffect(() => {
|
|
947
|
+
function e(e) {
|
|
948
|
+
e.open && (e.parentNodeId === F && y.set("hoverEnabled", !1), e.nodeId !== F && e.parentNodeId === y.select("floatingParentNodeId") && y.setOpen(!1, J(v)));
|
|
949
|
+
}
|
|
950
|
+
return w.events.on("menuopenchange", e), () => {
|
|
951
|
+
w.events.off("menuopenchange", e);
|
|
952
|
+
};
|
|
953
|
+
}, [
|
|
954
|
+
y,
|
|
955
|
+
w.events,
|
|
956
|
+
F
|
|
957
|
+
]), X.useEffect(() => {
|
|
958
|
+
if (y.select("floatingParentNodeId") == null) return;
|
|
959
|
+
function e(e) {
|
|
960
|
+
if (e.open || e.nodeId !== y.select("floatingParentNodeId")) return;
|
|
961
|
+
let t = e.reason ?? "sibling-open";
|
|
962
|
+
y.setOpen(!1, J(t));
|
|
963
|
+
}
|
|
964
|
+
return w.events.on("menuopenchange", e), () => {
|
|
965
|
+
w.events.off("menuopenchange", e);
|
|
966
|
+
};
|
|
967
|
+
}, [w.events, y]);
|
|
968
|
+
let U = je();
|
|
969
|
+
X.useEffect(() => {
|
|
970
|
+
E || U.clear();
|
|
971
|
+
}, [E, U]), X.useEffect(() => {
|
|
972
|
+
function e(e) {
|
|
973
|
+
if (!(!E || e.nodeId !== y.select("floatingParentNodeId"))) {
|
|
974
|
+
if (e.target && k && k !== e.target) {
|
|
975
|
+
let e = y.select("closeDelay");
|
|
976
|
+
e > 0 ? U.isStarted() || U.start(e, () => {
|
|
977
|
+
y.setOpen(!1, J(v));
|
|
978
|
+
}) : y.setOpen(!1, J(v));
|
|
979
|
+
} else U.clear();
|
|
980
|
+
}
|
|
981
|
+
}
|
|
982
|
+
return w.events.on("itemhover", e), () => {
|
|
983
|
+
w.events.off("itemhover", e);
|
|
984
|
+
};
|
|
985
|
+
}, [
|
|
986
|
+
w.events,
|
|
987
|
+
E,
|
|
988
|
+
k,
|
|
989
|
+
y,
|
|
990
|
+
U
|
|
991
|
+
]), X.useEffect(() => {
|
|
992
|
+
let e = {
|
|
993
|
+
open: E,
|
|
994
|
+
nodeId: F,
|
|
995
|
+
parentNodeId: ee,
|
|
996
|
+
reason: y.select("lastOpenChangeReason")
|
|
997
|
+
};
|
|
998
|
+
w.events.emit("menuopenchange", e);
|
|
999
|
+
}, [
|
|
1000
|
+
w.events,
|
|
1001
|
+
E,
|
|
1002
|
+
y,
|
|
1003
|
+
F,
|
|
1004
|
+
ee
|
|
1005
|
+
]), Me(() => {
|
|
1006
|
+
let e = te, t = I.current;
|
|
1007
|
+
if (e && (I.current = e), t && e && e !== t) {
|
|
1008
|
+
y.set("instantType", void 0);
|
|
1009
|
+
let e = new AbortController();
|
|
1010
|
+
return L(() => {
|
|
1011
|
+
y.set("instantType", "trigger-change");
|
|
1012
|
+
}, e.signal), () => {
|
|
1013
|
+
e.abort();
|
|
1014
|
+
};
|
|
1015
|
+
}
|
|
1016
|
+
}, [
|
|
1017
|
+
te,
|
|
1018
|
+
L,
|
|
1019
|
+
y
|
|
1020
|
+
]);
|
|
1021
|
+
let oe = {
|
|
1022
|
+
open: E,
|
|
1023
|
+
side: ae.side,
|
|
1024
|
+
align: ae.align,
|
|
1025
|
+
anchorHidden: ae.anchorHidden,
|
|
1026
|
+
nested: S.type === "menu",
|
|
1027
|
+
instant: M
|
|
1028
|
+
}, le = S.type === "menubar" && S.context.modal;
|
|
1029
|
+
ce(E && (le || D && P !== "trigger-hover"), O === "touch", j, k);
|
|
1030
|
+
let W = We(e, oe, {
|
|
1031
|
+
styles: ae.positionerStyles,
|
|
1032
|
+
transitionStatus: A,
|
|
1033
|
+
props: _,
|
|
1034
|
+
refs: [t, y.useStateSetter("positionerElement")],
|
|
1035
|
+
hidden: !T,
|
|
1036
|
+
inert: !E
|
|
1037
|
+
}), ue = T && S.type !== "menu" && (S.type !== "menubar" && D && P !== "trigger-hover" || S.type === "menubar" && S.context.modal), G = null;
|
|
1038
|
+
return S.type === "menubar" ? G = S.context.contentElement : S.type === void 0 && (G = k), /*#__PURE__*/ mt(bt.Provider, {
|
|
1039
|
+
value: ae,
|
|
1040
|
+
children: [ue && /*#__PURE__*/ Z(de, {
|
|
1041
|
+
ref: S.type === "context-menu" || S.type === "nested-context-menu" ? S.context.internalBackdropRef : null,
|
|
1042
|
+
inert: Le(!E),
|
|
1043
|
+
cutout: G
|
|
1044
|
+
}), /*#__PURE__*/ Z(Ue, {
|
|
1045
|
+
id: F,
|
|
1046
|
+
children: /*#__PURE__*/ Z(Ee, {
|
|
1047
|
+
elementsRef: y.context.itemDomElements,
|
|
1048
|
+
labelsRef: y.context.itemLabels,
|
|
1049
|
+
children: W
|
|
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" ? q(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
|
+
...N,
|
|
1068
|
+
disabled: U((e) => e.parent.type === "menubar" && e.parent.context.disabled || e.disabled),
|
|
1069
|
+
modal: U((e) => (e.parent.type === void 0 || e.parent.type === "context-menu") && (e.modal ?? !0)),
|
|
1070
|
+
openMethod: U((e) => e.openMethod),
|
|
1071
|
+
allowMouseEnter: U((e) => e.allowMouseEnter),
|
|
1072
|
+
stickIfOpen: U((e) => e.stickIfOpen),
|
|
1073
|
+
parent: U((e) => e.parent),
|
|
1074
|
+
rootId: U((e) => e.parent.type === "menu" ? e.parent.store.select("rootId") : e.parent.type === void 0 ? e.rootId : e.parent.context.rootId),
|
|
1075
|
+
activeIndex: U((e) => e.activeIndex),
|
|
1076
|
+
isActive: U((e, t) => e.activeIndex === t),
|
|
1077
|
+
hoverEnabled: U((e) => e.hoverEnabled),
|
|
1078
|
+
instantType: U((e) => e.instantType),
|
|
1079
|
+
lastOpenChangeReason: U((e) => e.openChangeReason),
|
|
1080
|
+
floatingTreeRoot: U((e) => e.parent.type === "menu" ? e.parent.store.select("floatingTreeRoot") : e.floatingTreeRoot),
|
|
1081
|
+
floatingNodeId: U((e) => e.floatingNodeId),
|
|
1082
|
+
floatingParentNodeId: U((e) => e.floatingParentNodeId),
|
|
1083
|
+
itemProps: U((e) => e.itemProps),
|
|
1084
|
+
closeDelay: U((e) => e.closeDelay),
|
|
1085
|
+
hasViewport: U((e) => e.hasViewport),
|
|
1086
|
+
keyboardEventRelay: U((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 re {
|
|
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 at()
|
|
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 = Fe(() => new e(n)).current;
|
|
1126
|
+
return t ?? r;
|
|
1127
|
+
}
|
|
1128
|
+
unsubscribeParentListener = null;
|
|
1129
|
+
};
|
|
1130
|
+
function _n() {
|
|
1131
|
+
return {
|
|
1132
|
+
...w(),
|
|
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 pe(),
|
|
1145
|
+
floatingNodeId: void 0,
|
|
1146
|
+
floatingParentNodeId: null,
|
|
1147
|
+
itemProps: Be,
|
|
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 = ze(function(e) {
|
|
1163
|
+
let { children: t, open: n, onOpenChange: r, onOpenChangeComplete: i, defaultOpen: a = !1, disabled: o = !1, modal: c, loopFocus: l = !0, orientation: u = "vertical", actionsRef: d, closeParentOnEsc: f = !1, handle: m, triggerId: h, defaultTriggerId: g = null, highlightItemOnHover: _ = !0 } = e, v = wt(!0), b = Q(!0), x = mn(!0), S = yn(), w = X.useMemo(() => S && b ? {
|
|
1164
|
+
type: "menu",
|
|
1165
|
+
store: b.store
|
|
1166
|
+
} : x ? {
|
|
1167
|
+
type: "menubar",
|
|
1168
|
+
context: x
|
|
1169
|
+
} : v && !b ? {
|
|
1170
|
+
type: "context-menu",
|
|
1171
|
+
context: v
|
|
1172
|
+
} : { type: void 0 }, [
|
|
1173
|
+
v,
|
|
1174
|
+
b,
|
|
1175
|
+
x,
|
|
1176
|
+
S
|
|
1177
|
+
]), D = gn.useStore(m?.store, {
|
|
1178
|
+
open: a,
|
|
1179
|
+
openProp: n,
|
|
1180
|
+
activeTriggerId: g,
|
|
1181
|
+
triggerIdProp: h,
|
|
1182
|
+
parent: w
|
|
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 = ue(O), j = Ie();
|
|
1191
|
+
Me(() => {
|
|
1192
|
+
v && !b ? D.update({
|
|
1193
|
+
parent: {
|
|
1194
|
+
type: "context-menu",
|
|
1195
|
+
context: v
|
|
1196
|
+
},
|
|
1197
|
+
floatingNodeId: A,
|
|
1198
|
+
floatingParentNodeId: j
|
|
1199
|
+
}) : b && D.update({
|
|
1200
|
+
floatingNodeId: A,
|
|
1201
|
+
floatingParentNodeId: j
|
|
1202
|
+
});
|
|
1203
|
+
}, [
|
|
1204
|
+
v,
|
|
1205
|
+
b,
|
|
1206
|
+
A,
|
|
1207
|
+
j,
|
|
1208
|
+
D
|
|
1209
|
+
]);
|
|
1210
|
+
let N = D.useState("open"), P = D.useState("activeTriggerElement"), F = D.useState("positionerElement"), ee = D.useState("hoverEnabled"), te = D.useState("disabled"), I = D.useState("lastOpenChangeReason"), L = D.useState("parent"), R = D.useState("activeIndex"), re = D.useState("payload"), z = D.useState("floatingParentNodeId"), B = X.useRef(null), V = z != null;
|
|
1211
|
+
process.env.NODE_ENV !== "production" && L.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: ie } = Ae(N);
|
|
1213
|
+
D.useSyncedValues({
|
|
1214
|
+
disabled: o,
|
|
1215
|
+
modal: L.type === void 0 ? c : void 0,
|
|
1216
|
+
openMethod: H,
|
|
1217
|
+
rootId: y()
|
|
1218
|
+
}), s(D);
|
|
1219
|
+
let { forceUnmount: ae } = ne(N, D, () => {
|
|
1220
|
+
D.update({
|
|
1221
|
+
allowMouseEnter: !1,
|
|
1222
|
+
stickIfOpen: !0
|
|
1223
|
+
});
|
|
1224
|
+
}), U = X.useRef(L.type !== "context-menu"), oe = je();
|
|
1225
|
+
X.useEffect(() => {
|
|
1226
|
+
if (N || (B.current = null), L.type === "context-menu") {
|
|
1227
|
+
if (!N) {
|
|
1228
|
+
oe.clear(), U.current = !1;
|
|
1229
|
+
return;
|
|
1230
|
+
}
|
|
1231
|
+
oe.start(500, () => {
|
|
1232
|
+
U.current = !0;
|
|
1233
|
+
});
|
|
1234
|
+
}
|
|
1235
|
+
}, [
|
|
1236
|
+
oe,
|
|
1237
|
+
N,
|
|
1238
|
+
L.type
|
|
1239
|
+
]), Me(() => {
|
|
1240
|
+
!N && !ee && D.set("hoverEnabled", !0);
|
|
1241
|
+
}, [
|
|
1242
|
+
N,
|
|
1243
|
+
ee,
|
|
1244
|
+
D
|
|
1245
|
+
]);
|
|
1246
|
+
let se = X.useRef(!0), ce = je(), le = W((e, t) => {
|
|
1247
|
+
let n = t.reason;
|
|
1248
|
+
if (N === e && t.trigger === P && I === 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" && !se.current) return;
|
|
1254
|
+
if (!e && R !== null) {
|
|
1255
|
+
let e = D.context.itemDomElements.current[R];
|
|
1256
|
+
queueMicrotask(() => {
|
|
1257
|
+
e?.setAttribute("tabindex", "-1");
|
|
1258
|
+
});
|
|
1259
|
+
}
|
|
1260
|
+
e && n === "trigger-focus" ? (se.current = !1, ce.start(300, () => {
|
|
1261
|
+
se.current = !0;
|
|
1262
|
+
})) : (se.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), L.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
|
+
}), G = X.useCallback(() => {
|
|
1271
|
+
D.setOpen(!1, J(T));
|
|
1272
|
+
}, [D]);
|
|
1273
|
+
X.useImperativeHandle(d, () => ({
|
|
1274
|
+
unmount: ae,
|
|
1275
|
+
close: G
|
|
1276
|
+
}), [ae, G]);
|
|
1277
|
+
let K;
|
|
1278
|
+
L.type === "context-menu" && (K = L.context), X.useImperativeHandle(K?.positionerRef, () => F, [F]), X.useImperativeHandle(K?.actionsRef, () => ({ setOpen: le }), [le]);
|
|
1279
|
+
let de = p({
|
|
1280
|
+
popupStore: D,
|
|
1281
|
+
onOpenChange: le
|
|
1282
|
+
}), fe = de.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 = ge(de, {
|
|
1290
|
+
enabled: !te,
|
|
1291
|
+
bubbles: { escapeKey: f && L.type === "menu" },
|
|
1292
|
+
outsidePress() {
|
|
1293
|
+
return L.type !== "context-menu" || B.current?.type === "contextmenu" || U.current;
|
|
1294
|
+
},
|
|
1295
|
+
externalTree: V ? O : void 0
|
|
1296
|
+
}), me = E(de, { role: "menu" }), he = _e(), q = X.useCallback((e) => {
|
|
1297
|
+
D.select("activeIndex") !== e && D.set("activeIndex", e);
|
|
1298
|
+
}, [D]), ve = k(de, {
|
|
1299
|
+
enabled: !te,
|
|
1300
|
+
listRef: D.context.itemDomElements,
|
|
1301
|
+
activeIndex: R,
|
|
1302
|
+
nested: L.type !== void 0,
|
|
1303
|
+
loopFocus: l,
|
|
1304
|
+
orientation: u,
|
|
1305
|
+
parentOrientation: L.type === "menubar" ? L.context.orientation : void 0,
|
|
1306
|
+
rtl: he === "rtl",
|
|
1307
|
+
disabledIndices: C,
|
|
1308
|
+
onNavigate: q,
|
|
1309
|
+
openOnArrowKeyDown: L.type !== "context-menu",
|
|
1310
|
+
externalTree: V ? O : void 0,
|
|
1311
|
+
focusItemOnHover: _
|
|
1312
|
+
}), ye = X.useCallback((e) => {
|
|
1313
|
+
D.context.typingRef.current = e;
|
|
1314
|
+
}, [D]), xe = Ce(de, {
|
|
1315
|
+
listRef: D.context.itemLabels,
|
|
1316
|
+
elementsRef: D.context.itemDomElements,
|
|
1317
|
+
activeIndex: R,
|
|
1318
|
+
resetMs: 500,
|
|
1319
|
+
onMatch: (e) => {
|
|
1320
|
+
N && e !== R && D.set("activeIndex", e);
|
|
1321
|
+
},
|
|
1322
|
+
onTypingChange: ye
|
|
1323
|
+
}), { getReferenceProps: we, getFloatingProps: Te, getItemProps: Ee, getTriggerProps: Y } = M([
|
|
1324
|
+
pe,
|
|
1325
|
+
me,
|
|
1326
|
+
ve,
|
|
1327
|
+
xe
|
|
1328
|
+
]), De = X.useMemo(() => {
|
|
1329
|
+
let e = Xe(we(), { onMouseMove() {
|
|
1330
|
+
D.set("allowMouseEnter", !0);
|
|
1331
|
+
} }, ie);
|
|
1332
|
+
return delete e.role, e;
|
|
1333
|
+
}, [
|
|
1334
|
+
we,
|
|
1335
|
+
D,
|
|
1336
|
+
ie
|
|
1337
|
+
]), Oe = X.useMemo(() => {
|
|
1338
|
+
let e = Y();
|
|
1339
|
+
if (!e) return e;
|
|
1340
|
+
let t = Xe(e, ie);
|
|
1341
|
+
return delete t.role, delete t["aria-controls"], t;
|
|
1342
|
+
}, [Y, ie]), ke = X.useMemo(() => Te({
|
|
1343
|
+
onMouseMove() {
|
|
1344
|
+
D.set("allowMouseEnter", !0), L.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
|
+
Te,
|
|
1355
|
+
L.type,
|
|
1356
|
+
D
|
|
1357
|
+
]), Ne = X.useMemo(() => Ee(), [Ee]);
|
|
1358
|
+
D.useSyncedValues({
|
|
1359
|
+
floatingRootContext: de,
|
|
1360
|
+
activeTriggerProps: De,
|
|
1361
|
+
inactiveTriggerProps: Oe,
|
|
1362
|
+
popupProps: ke,
|
|
1363
|
+
itemProps: Ne
|
|
1364
|
+
});
|
|
1365
|
+
let Pe = X.useMemo(() => ({
|
|
1366
|
+
store: D,
|
|
1367
|
+
parent: w
|
|
1368
|
+
}), [D, w]), Fe = /*#__PURE__*/ Z(St.Provider, {
|
|
1369
|
+
value: Pe,
|
|
1370
|
+
children: typeof t == "function" ? t({ payload: re }) : t
|
|
1371
|
+
});
|
|
1372
|
+
return L.type === void 0 || L.type === "context-menu" ? /*#__PURE__*/ Z(Se, {
|
|
1373
|
+
externalTree: O,
|
|
1374
|
+
children: Fe
|
|
1375
|
+
}) : Fe;
|
|
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: i } = r(), { ref: a, index: o } = ee(e), s = n === o, c = X.useRef(null), l = V(a, c);
|
|
1391
|
+
return {
|
|
1392
|
+
compositeProps: X.useMemo(() => ({
|
|
1393
|
+
tabIndex: s ? 0 : -1,
|
|
1394
|
+
onFocus() {
|
|
1395
|
+
i(o);
|
|
1396
|
+
},
|
|
1397
|
+
onMouseMove() {
|
|
1398
|
+
let e = c.current;
|
|
1399
|
+
if (!t || !e) return;
|
|
1400
|
+
let n = e.hasAttribute("disabled") || e.ariaDisabled === "true";
|
|
1401
|
+
!s && !n && e.focus();
|
|
1402
|
+
}
|
|
1403
|
+
}), [
|
|
1404
|
+
s,
|
|
1405
|
+
i,
|
|
1406
|
+
o,
|
|
1407
|
+
t
|
|
1408
|
+
]),
|
|
1409
|
+
compositeRef: l,
|
|
1410
|
+
index: o
|
|
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 = Be, props: a = C, refs: o = C, metadata: s, stateAttributesMapping: c, tag: l = "div", ...u } = e, { compositeProps: d, compositeRef: f } = Sn({ metadata: s });
|
|
1417
|
+
return h(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 ($e(e) && e.hasAttribute("data-rootownerid")) return e.getAttribute("data-rootownerid") ?? void 0;
|
|
1432
|
+
if (!he(e)) return wn(Ke(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: W((t) => {
|
|
1441
|
+
ht.flushSync(() => {
|
|
1442
|
+
e.setOpen(!1, J(b, t.nativeEvent, t.currentTarget));
|
|
1443
|
+
}), Pe(n.current)?.focus();
|
|
1444
|
+
}),
|
|
1445
|
+
handleFocusTargetFocus: W((n) => {
|
|
1446
|
+
let r = e.select("positionerElement");
|
|
1447
|
+
if (r && Ge(n, r)) e.context.beforeContentFocusGuardRef.current?.focus();
|
|
1448
|
+
else {
|
|
1449
|
+
ht.flushSync(() => {
|
|
1450
|
+
e.setOpen(!1, J(b, n.nativeEvent, n.currentTarget));
|
|
1451
|
+
});
|
|
1452
|
+
let i = le(e.context.triggerFocusTargetRef.current || t.current);
|
|
1453
|
+
for (; i !== null && l(r, i);) {
|
|
1454
|
+
let e = i;
|
|
1455
|
+
if (i = xe(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, D(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
|
+
} : Be, [
|
|
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 = x(function(e, t) {
|
|
1484
|
+
let { render: n, className: i, disabled: a = !1, nativeButton: o = !0, id: s, openOnHover: c, delay: u = 100, closeDelay: d = 0, handle: p, payload: _, style: v, ...y } = e, b = Q(!0), x = p?.store ?? b?.store;
|
|
1485
|
+
if (!x) throw Error(process.env.NODE_ENV === "production" ? q(85) : "Base UI: <Menu.Trigger> must be either used within a <Menu.Root> component or provided with a handle.");
|
|
1486
|
+
let S = m(s), C = x.useState("isTriggerActive", S), w = x.useState("floatingRootContext"), T = x.useState("isOpenedByTrigger", S), E = X.useRef(null), k = An(), A = r(!0), j = qe(), N = X.useMemo(() => j ?? new pe(), [j]), P = ue(N), F = Ie(), { registerTrigger: ee, isMountedByThisTrigger: te } = g(S, E, x, {
|
|
1487
|
+
payload: _,
|
|
1488
|
+
closeDelay: d,
|
|
1489
|
+
parent: k,
|
|
1490
|
+
floatingTreeRoot: N,
|
|
1491
|
+
floatingNodeId: P,
|
|
1492
|
+
floatingParentNodeId: F,
|
|
1493
|
+
keyboardEventRelay: A?.relayKeyboardEvent
|
|
1494
|
+
}), I = k.type === "menubar", L = x.useState("disabled"), R = a || L || I && k.context.disabled, { getButtonProps: ne, buttonRef: re } = oe({
|
|
1495
|
+
disabled: R,
|
|
1496
|
+
native: o
|
|
1497
|
+
});
|
|
1498
|
+
X.useEffect(() => {
|
|
1499
|
+
!T && k.type === void 0 && (x.context.allowMouseUpTriggerRef.current = !1);
|
|
1500
|
+
}, [
|
|
1501
|
+
x,
|
|
1502
|
+
T,
|
|
1503
|
+
k.type
|
|
1504
|
+
]);
|
|
1505
|
+
let z = X.useRef(null), B = je(), V = W((e) => {
|
|
1506
|
+
if (!z.current) return;
|
|
1507
|
+
B.clear(), x.context.allowMouseUpTriggerRef.current = !1;
|
|
1508
|
+
let t = e.target;
|
|
1509
|
+
if (l(z.current, t) || l(x.select("positionerElement"), t) || t === z.current || t != null && wn(t) === x.select("rootId")) return;
|
|
1510
|
+
let n = Je(z.current);
|
|
1511
|
+
e.clientX >= n.left - Dn && e.clientX <= n.right + Dn && e.clientY >= n.top - Dn && e.clientY <= n.bottom + Dn || N.events.emit("close", {
|
|
1512
|
+
domEvent: e,
|
|
1513
|
+
reason: O
|
|
1514
|
+
});
|
|
1515
|
+
});
|
|
1516
|
+
X.useEffect(() => {
|
|
1517
|
+
T && x.select("lastOpenChangeReason") === "trigger-hover" && D(z.current).addEventListener("mouseup", V, { once: !0 });
|
|
1518
|
+
}, [
|
|
1519
|
+
T,
|
|
1520
|
+
V,
|
|
1521
|
+
x
|
|
1522
|
+
]);
|
|
1523
|
+
let H = I && k.context.hasSubmenuOpen, ie = Qt(w, {
|
|
1524
|
+
enabled: (c ?? H) && !R && k.type !== "context-menu" && (!I || H && !te),
|
|
1525
|
+
handleClose: on({ blockPointerEvents: !I }),
|
|
1526
|
+
mouseOnly: !0,
|
|
1527
|
+
move: !1,
|
|
1528
|
+
restMs: k.type === void 0 ? u : void 0,
|
|
1529
|
+
delay: { close: d },
|
|
1530
|
+
triggerElementRef: E,
|
|
1531
|
+
externalTree: N,
|
|
1532
|
+
isActiveTrigger: C,
|
|
1533
|
+
isClosing: () => x.select("transitionStatus") === "ending"
|
|
1534
|
+
}), ae = kn(T, x.select("lastOpenChangeReason")), U = Ze(w, {
|
|
1535
|
+
enabled: !R && k.type !== "context-menu",
|
|
1536
|
+
event: T && I ? "click" : "mousedown",
|
|
1537
|
+
toggle: !0,
|
|
1538
|
+
ignoreMouse: !1,
|
|
1539
|
+
stickIfOpen: k.type === void 0 && ae
|
|
1540
|
+
}), se = Wt(w, { enabled: !R && H }), ce = En({
|
|
1541
|
+
open: T,
|
|
1542
|
+
enabled: I,
|
|
1543
|
+
mouseDownAction: "open"
|
|
1544
|
+
}), le = M([U, se]), G = {
|
|
1545
|
+
disabled: R,
|
|
1546
|
+
open: T
|
|
1547
|
+
}, K = x.useState("triggerProps", te), de = [
|
|
1548
|
+
z,
|
|
1549
|
+
t,
|
|
1550
|
+
re,
|
|
1551
|
+
ee,
|
|
1552
|
+
E
|
|
1553
|
+
], fe = [
|
|
1554
|
+
le.getReferenceProps(),
|
|
1555
|
+
ie ?? Be,
|
|
1556
|
+
K,
|
|
1557
|
+
{
|
|
1558
|
+
"aria-haspopup": "menu",
|
|
1559
|
+
id: S,
|
|
1560
|
+
onMouseDown: (e) => {
|
|
1561
|
+
x.select("open") || (B.start(200, () => {
|
|
1562
|
+
x.context.allowMouseUpTriggerRef.current = !0;
|
|
1563
|
+
}), D(e.currentTarget).addEventListener("mouseup", V, { once: !0 }));
|
|
1564
|
+
}
|
|
1565
|
+
},
|
|
1566
|
+
I ? { role: "menuitem" } : {},
|
|
1567
|
+
ce,
|
|
1568
|
+
y,
|
|
1569
|
+
ne
|
|
1570
|
+
], { preFocusGuardRef: me, handlePreFocusGuardFocus: he, handleFocusTargetFocus: ge } = Tn(x, E), _e = h("button", e, {
|
|
1571
|
+
enabled: !I,
|
|
1572
|
+
stateAttributesMapping: f,
|
|
1573
|
+
state: G,
|
|
1574
|
+
ref: de,
|
|
1575
|
+
props: fe
|
|
1576
|
+
});
|
|
1577
|
+
return I ? /*#__PURE__*/ Z(Cn, {
|
|
1578
|
+
tag: "button",
|
|
1579
|
+
render: n,
|
|
1580
|
+
className: i,
|
|
1581
|
+
style: v,
|
|
1582
|
+
state: G,
|
|
1583
|
+
refs: de,
|
|
1584
|
+
props: fe,
|
|
1585
|
+
stateAttributesMapping: f
|
|
1586
|
+
}) : T ? /*#__PURE__*/ mt(X.Fragment, { children: [
|
|
1587
|
+
/*#__PURE__*/ Z(ye, {
|
|
1588
|
+
ref: me,
|
|
1589
|
+
onFocus: he
|
|
1590
|
+
}, `${S}-pre-focus-guard`),
|
|
1591
|
+
/*#__PURE__*/ Z(X.Fragment, { children: _e }, S),
|
|
1592
|
+
/*#__PURE__*/ Z(ye, {
|
|
1593
|
+
ref: x.context.triggerFocusTargetRef,
|
|
1594
|
+
onFocus: ge
|
|
1595
|
+
}, `${S}-post-focus-guard`)
|
|
1596
|
+
] }) : /*#__PURE__*/ Z(X.Fragment, { children: _e }, S);
|
|
1597
|
+
});
|
|
1598
|
+
process.env.NODE_ENV !== "production" && (On.displayName = "MenuTrigger");
|
|
1599
|
+
function kn(e, t) {
|
|
1600
|
+
let n = je(), [r, i] = X.useState(!1);
|
|
1601
|
+
return Me(() => {
|
|
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: l = 0, disabled: d = !1, style: f, ...p } = e, g = ee(), _ = xt(), { store: v } = Q(), y = m(a), b = v.useState("open"), x = v.useState("floatingRootContext"), S = v.useState("floatingTreeRoot"), C = L(y, v), w = X.useCallback((e) => {
|
|
1634
|
+
let t = C(e);
|
|
1635
|
+
return e !== null && v.select("open") && v.select("activeTriggerId") == null && v.update({
|
|
1636
|
+
activeTriggerId: y,
|
|
1637
|
+
activeTriggerElement: e,
|
|
1638
|
+
closeDelay: l
|
|
1639
|
+
}), t;
|
|
1640
|
+
}, [
|
|
1641
|
+
C,
|
|
1642
|
+
l,
|
|
1643
|
+
v,
|
|
1644
|
+
y
|
|
1645
|
+
]), T = X.useRef(null), E = X.useCallback((e) => {
|
|
1646
|
+
T.current = e, v.set("activeTriggerElement", e);
|
|
1647
|
+
}, [v]);
|
|
1648
|
+
process.env.NODE_ENV !== "production" && Me(() => {
|
|
1649
|
+
let e = T.current;
|
|
1650
|
+
if (e && jn(e) && !d) {
|
|
1651
|
+
let e = He.captureOwnerStack?.() || "";
|
|
1652
|
+
ie(`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" ? q(37) : "Base UI: <Menu.SubmenuTrigger> must be placed in <Menu.SubmenuRoot>.");
|
|
1657
|
+
v.useSyncedValue("closeDelay", l);
|
|
1658
|
+
let O = D.parentMenu, k = O.useState("itemProps"), A = O.useState("isActive", g.index), j = X.useMemo(() => ({
|
|
1659
|
+
type: "submenu-trigger",
|
|
1660
|
+
setActive() {
|
|
1661
|
+
O.set("activeIndex", g.index);
|
|
1662
|
+
}
|
|
1663
|
+
}), [O, g.index]), N = v.useState("disabled"), P = d || N, { getItemProps: F, itemRef: te } = kt({
|
|
1664
|
+
closeOnClick: !1,
|
|
1665
|
+
disabled: P,
|
|
1666
|
+
highlighted: A,
|
|
1667
|
+
id: y,
|
|
1668
|
+
store: v,
|
|
1669
|
+
typingRef: O.context.typingRef,
|
|
1670
|
+
nativeButton: o,
|
|
1671
|
+
itemMetadata: j,
|
|
1672
|
+
nodeId: _?.context.nodeId
|
|
1673
|
+
}), I = v.useState("hoverEnabled"), R = O.useState("allowMouseEnter"), ne = Qt(x, {
|
|
1674
|
+
enabled: I && s && !P,
|
|
1675
|
+
handleClose: on({ blockPointerEvents: !0 }),
|
|
1676
|
+
mouseOnly: !0,
|
|
1677
|
+
move: !0,
|
|
1678
|
+
restMs: c,
|
|
1679
|
+
delay: R ? {
|
|
1680
|
+
open: c,
|
|
1681
|
+
close: l
|
|
1682
|
+
} : 0,
|
|
1683
|
+
triggerElementRef: T,
|
|
1684
|
+
externalTree: S,
|
|
1685
|
+
isClosing: () => v.select("transitionStatus") === "ending"
|
|
1686
|
+
}), re = Ze(x, {
|
|
1687
|
+
enabled: !P,
|
|
1688
|
+
event: "mousedown",
|
|
1689
|
+
toggle: !s,
|
|
1690
|
+
ignoreMouse: s,
|
|
1691
|
+
stickIfOpen: !1
|
|
1692
|
+
}), z = M([re]), B = v.useState("triggerProps", !0);
|
|
1693
|
+
return delete B.id, h("div", e, {
|
|
1694
|
+
state: {
|
|
1695
|
+
disabled: P,
|
|
1696
|
+
highlighted: A,
|
|
1697
|
+
open: b
|
|
1698
|
+
},
|
|
1699
|
+
stateAttributesMapping: u,
|
|
1700
|
+
props: [
|
|
1701
|
+
z.getReferenceProps(),
|
|
1702
|
+
ne,
|
|
1703
|
+
B,
|
|
1704
|
+
k,
|
|
1705
|
+
{
|
|
1706
|
+
tabIndex: b || A ? 0 : -1,
|
|
1707
|
+
onBlur() {
|
|
1708
|
+
A && O.set("activeIndex", null);
|
|
1709
|
+
}
|
|
1710
|
+
},
|
|
1711
|
+
p,
|
|
1712
|
+
F
|
|
1713
|
+
],
|
|
1714
|
+
ref: [
|
|
1715
|
+
t,
|
|
1716
|
+
g.ref,
|
|
1717
|
+
te,
|
|
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" ? q(83, e) : `Base UI: MenuHandle.open: No trigger found with id "${e}".`);
|
|
1733
|
+
this.store.setOpen(!0, J("imperative-action", void 0, t));
|
|
1734
|
+
}
|
|
1735
|
+
close() {
|
|
1736
|
+
this.store.setOpen(!1, J("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: _("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: _("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: _("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: _("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: _("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: _("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(j, {}) })
|
|
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: z(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: z(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: z(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 };
|