@altimateai/ui-components 0.0.22 → 0.0.23-beta.2

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.
@@ -1,3918 +0,0 @@
1
- import { j as l, C as Ao, a as Ka, b as Mo, S as Ha, c as Wa, d as Bt, e as Ua } from "./index2.js";
2
- import * as a from "react";
3
- import U, { forwardRef as Y } from "react";
4
- import { d as _e, e as ue, u as K, P as T, f as _, g as me, R as Kt, h as Ht, i as Wt, F as Ut, D as zt, j as za, k as ce, l as ee, m as Yt, a as E, b as qt, n as Ve, o as tt, A as To, C as Po, p as jo, q as Ya, r as Xt, s as de, t as Oo, v as qa, V as Xa } from "./Tooltip.js";
5
- import * as ko from "react-dom";
6
- var $o = a.forwardRef((e, o) => {
7
- const { children: t, ...n } = e, r = a.Children.toArray(t), s = r.find(Ja);
8
- if (s) {
9
- const i = s.props.children, c = r.map((d) => d === s ? a.Children.count(i) > 1 ? a.Children.only(null) : a.isValidElement(i) ? i.props.children : null : d);
10
- return /* @__PURE__ */ l.jsx(_t, { ...n, ref: o, children: a.isValidElement(i) ? a.cloneElement(i, void 0, c) : null });
11
- }
12
- return /* @__PURE__ */ l.jsx(_t, { ...n, ref: o, children: t });
13
- });
14
- $o.displayName = "Slot";
15
- var _t = a.forwardRef((e, o) => {
16
- const { children: t, ...n } = e;
17
- if (a.isValidElement(t)) {
18
- const r = el(t);
19
- return a.cloneElement(t, {
20
- ...Qa(n, t.props),
21
- // @ts-ignore
22
- ref: o ? _e(o, r) : r
23
- });
24
- }
25
- return a.Children.count(t) > 1 ? a.Children.only(null) : null;
26
- });
27
- _t.displayName = "SlotClone";
28
- var Za = ({ children: e }) => /* @__PURE__ */ l.jsx(l.Fragment, { children: e });
29
- function Ja(e) {
30
- return a.isValidElement(e) && e.type === Za;
31
- }
32
- function Qa(e, o) {
33
- const t = { ...o };
34
- for (const n in o) {
35
- const r = e[n], s = o[n];
36
- /^on[A-Z]/.test(n) ? r && s ? t[n] = (...c) => {
37
- s(...c), r(...c);
38
- } : r && (t[n] = r) : n === "style" ? t[n] = { ...r, ...s } : n === "className" && (t[n] = [r, s].filter(Boolean).join(" "));
39
- }
40
- return { ...e, ...t };
41
- }
42
- function el(e) {
43
- var n, r;
44
- let o = (n = Object.getOwnPropertyDescriptor(e.props, "ref")) == null ? void 0 : n.get, t = o && "isReactWarning" in o && o.isReactWarning;
45
- return t ? e.ref : (o = (r = Object.getOwnPropertyDescriptor(e, "ref")) == null ? void 0 : r.get, t = o && "isReactWarning" in o && o.isReactWarning, t ? e.props.ref : e.props.ref || e.ref);
46
- }
47
- var Zt = "Dialog", [Lo, Fo] = ue(Zt), [tl, ie] = Lo(Zt), Vo = (e) => {
48
- const {
49
- __scopeDialog: o,
50
- children: t,
51
- open: n,
52
- defaultOpen: r,
53
- onOpenChange: s,
54
- modal: i = !0
55
- } = e, c = a.useRef(null), d = a.useRef(null), [u = !1, f] = ce({
56
- prop: n,
57
- defaultProp: r,
58
- onChange: s
59
- });
60
- return /* @__PURE__ */ l.jsx(
61
- tl,
62
- {
63
- scope: o,
64
- triggerRef: c,
65
- contentRef: d,
66
- contentId: ee(),
67
- titleId: ee(),
68
- descriptionId: ee(),
69
- open: u,
70
- onOpenChange: f,
71
- onOpenToggle: a.useCallback(() => f((p) => !p), [f]),
72
- modal: i,
73
- children: t
74
- }
75
- );
76
- };
77
- Vo.displayName = Zt;
78
- var Go = "DialogTrigger", Bo = a.forwardRef(
79
- (e, o) => {
80
- const { __scopeDialog: t, ...n } = e, r = ie(Go, t), s = K(o, r.triggerRef);
81
- return /* @__PURE__ */ l.jsx(
82
- T.button,
83
- {
84
- type: "button",
85
- "aria-haspopup": "dialog",
86
- "aria-expanded": r.open,
87
- "aria-controls": r.contentId,
88
- "data-state": eo(r.open),
89
- ...n,
90
- ref: s,
91
- onClick: _(e.onClick, r.onOpenToggle)
92
- }
93
- );
94
- }
95
- );
96
- Bo.displayName = Go;
97
- var Jt = "DialogPortal", [ol, Ko] = Lo(Jt, {
98
- forceMount: void 0
99
- }), Ho = (e) => {
100
- const { __scopeDialog: o, forceMount: t, children: n, container: r } = e, s = ie(Jt, o);
101
- return /* @__PURE__ */ l.jsx(ol, { scope: o, forceMount: t, children: a.Children.map(n, (i) => /* @__PURE__ */ l.jsx(me, { present: t || s.open, children: /* @__PURE__ */ l.jsx(Yt, { asChild: !0, container: r, children: i }) })) });
102
- };
103
- Ho.displayName = Jt;
104
- var Xe = "DialogOverlay", Wo = a.forwardRef(
105
- (e, o) => {
106
- const t = Ko(Xe, e.__scopeDialog), { forceMount: n = t.forceMount, ...r } = e, s = ie(Xe, e.__scopeDialog);
107
- return s.modal ? /* @__PURE__ */ l.jsx(me, { present: n || s.open, children: /* @__PURE__ */ l.jsx(nl, { ...r, ref: o }) }) : null;
108
- }
109
- );
110
- Wo.displayName = Xe;
111
- var nl = a.forwardRef(
112
- (e, o) => {
113
- const { __scopeDialog: t, ...n } = e, r = ie(Xe, t);
114
- return (
115
- // Make sure `Content` is scrollable even when it doesn't live inside `RemoveScroll`
116
- // ie. when `Overlay` and `Content` are siblings
117
- /* @__PURE__ */ l.jsx(Kt, { as: $o, allowPinchZoom: !0, shards: [r.contentRef], children: /* @__PURE__ */ l.jsx(
118
- T.div,
119
- {
120
- "data-state": eo(r.open),
121
- ...n,
122
- ref: o,
123
- style: { pointerEvents: "auto", ...n.style }
124
- }
125
- ) })
126
- );
127
- }
128
- ), be = "DialogContent", Uo = a.forwardRef(
129
- (e, o) => {
130
- const t = Ko(be, e.__scopeDialog), { forceMount: n = t.forceMount, ...r } = e, s = ie(be, e.__scopeDialog);
131
- return /* @__PURE__ */ l.jsx(me, { present: n || s.open, children: s.modal ? /* @__PURE__ */ l.jsx(rl, { ...r, ref: o }) : /* @__PURE__ */ l.jsx(al, { ...r, ref: o }) });
132
- }
133
- );
134
- Uo.displayName = be;
135
- var rl = a.forwardRef(
136
- (e, o) => {
137
- const t = ie(be, e.__scopeDialog), n = a.useRef(null), r = K(o, t.contentRef, n);
138
- return a.useEffect(() => {
139
- const s = n.current;
140
- if (s) return Ht(s);
141
- }, []), /* @__PURE__ */ l.jsx(
142
- zo,
143
- {
144
- ...e,
145
- ref: r,
146
- trapFocus: t.open,
147
- disableOutsidePointerEvents: !0,
148
- onCloseAutoFocus: _(e.onCloseAutoFocus, (s) => {
149
- var i;
150
- s.preventDefault(), (i = t.triggerRef.current) == null || i.focus();
151
- }),
152
- onPointerDownOutside: _(e.onPointerDownOutside, (s) => {
153
- const i = s.detail.originalEvent, c = i.button === 0 && i.ctrlKey === !0;
154
- (i.button === 2 || c) && s.preventDefault();
155
- }),
156
- onFocusOutside: _(
157
- e.onFocusOutside,
158
- (s) => s.preventDefault()
159
- )
160
- }
161
- );
162
- }
163
- ), al = a.forwardRef(
164
- (e, o) => {
165
- const t = ie(be, e.__scopeDialog), n = a.useRef(!1), r = a.useRef(!1);
166
- return /* @__PURE__ */ l.jsx(
167
- zo,
168
- {
169
- ...e,
170
- ref: o,
171
- trapFocus: !1,
172
- disableOutsidePointerEvents: !1,
173
- onCloseAutoFocus: (s) => {
174
- var i, c;
175
- (i = e.onCloseAutoFocus) == null || i.call(e, s), s.defaultPrevented || (n.current || (c = t.triggerRef.current) == null || c.focus(), s.preventDefault()), n.current = !1, r.current = !1;
176
- },
177
- onInteractOutside: (s) => {
178
- var d, u;
179
- (d = e.onInteractOutside) == null || d.call(e, s), s.defaultPrevented || (n.current = !0, s.detail.originalEvent.type === "pointerdown" && (r.current = !0));
180
- const i = s.target;
181
- ((u = t.triggerRef.current) == null ? void 0 : u.contains(i)) && s.preventDefault(), s.detail.originalEvent.type === "focusin" && r.current && s.preventDefault();
182
- }
183
- }
184
- );
185
- }
186
- ), zo = a.forwardRef(
187
- (e, o) => {
188
- const { __scopeDialog: t, trapFocus: n, onOpenAutoFocus: r, onCloseAutoFocus: s, ...i } = e, c = ie(be, t), d = a.useRef(null), u = K(o, d);
189
- return Wt(), /* @__PURE__ */ l.jsxs(l.Fragment, { children: [
190
- /* @__PURE__ */ l.jsx(
191
- Ut,
192
- {
193
- asChild: !0,
194
- loop: !0,
195
- trapped: n,
196
- onMountAutoFocus: r,
197
- onUnmountAutoFocus: s,
198
- children: /* @__PURE__ */ l.jsx(
199
- zt,
200
- {
201
- role: "dialog",
202
- id: c.contentId,
203
- "aria-describedby": c.descriptionId,
204
- "aria-labelledby": c.titleId,
205
- "data-state": eo(c.open),
206
- ...i,
207
- ref: u,
208
- onDismiss: () => c.onOpenChange(!1)
209
- }
210
- )
211
- }
212
- ),
213
- /* @__PURE__ */ l.jsxs(l.Fragment, { children: [
214
- /* @__PURE__ */ l.jsx(sl, { titleId: c.titleId }),
215
- /* @__PURE__ */ l.jsx(cl, { contentRef: d, descriptionId: c.descriptionId })
216
- ] })
217
- ] });
218
- }
219
- ), Qt = "DialogTitle", Yo = a.forwardRef(
220
- (e, o) => {
221
- const { __scopeDialog: t, ...n } = e, r = ie(Qt, t);
222
- return /* @__PURE__ */ l.jsx(T.h2, { id: r.titleId, ...n, ref: o });
223
- }
224
- );
225
- Yo.displayName = Qt;
226
- var qo = "DialogDescription", Xo = a.forwardRef(
227
- (e, o) => {
228
- const { __scopeDialog: t, ...n } = e, r = ie(qo, t);
229
- return /* @__PURE__ */ l.jsx(T.p, { id: r.descriptionId, ...n, ref: o });
230
- }
231
- );
232
- Xo.displayName = qo;
233
- var Zo = "DialogClose", Jo = a.forwardRef(
234
- (e, o) => {
235
- const { __scopeDialog: t, ...n } = e, r = ie(Zo, t);
236
- return /* @__PURE__ */ l.jsx(
237
- T.button,
238
- {
239
- type: "button",
240
- ...n,
241
- ref: o,
242
- onClick: _(e.onClick, () => r.onOpenChange(!1))
243
- }
244
- );
245
- }
246
- );
247
- Jo.displayName = Zo;
248
- function eo(e) {
249
- return e ? "open" : "closed";
250
- }
251
- var Qo = "DialogTitleWarning", [ll, en] = za(Qo, {
252
- contentName: be,
253
- titleName: Qt,
254
- docsSlug: "dialog"
255
- }), sl = ({ titleId: e }) => {
256
- const o = en(Qo), t = `\`${o.contentName}\` requires a \`${o.titleName}\` for the component to be accessible for screen reader users.
257
-
258
- If you want to hide the \`${o.titleName}\`, you can wrap it with our VisuallyHidden component.
259
-
260
- For more information, see https://radix-ui.com/primitives/docs/components/${o.docsSlug}`;
261
- return a.useEffect(() => {
262
- e && (document.getElementById(e) || console.error(t));
263
- }, [t, e]), null;
264
- }, il = "DialogDescriptionWarning", cl = ({ contentRef: e, descriptionId: o }) => {
265
- const n = `Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${en(il).contentName}}.`;
266
- return a.useEffect(() => {
267
- var s;
268
- const r = (s = e.current) == null ? void 0 : s.getAttribute("aria-describedby");
269
- o && r && (document.getElementById(o) || console.warn(n));
270
- }, [n, e, o]), null;
271
- }, ot = Vo, to = Bo, nt = Ho, De = Wo, Ae = Uo, Ge = Yo, Be = Xo, Me = Jo;
272
- const Rd = ot, Ed = to, Id = Me, dl = nt, tn = a.forwardRef(({ className: e, ...o }, t) => /* @__PURE__ */ l.jsx(
273
- De,
274
- {
275
- className: E(
276
- "al-fixed al-inset-0 al-z-50 al-bg-black/80 al- data-[state=open]:al-animate-in data-[state=closed]:al-animate-out data-[state=closed]:al-fade-out-0 data-[state=open]:al-fade-in-0",
277
- e
278
- ),
279
- ...o,
280
- ref: t
281
- }
282
- ));
283
- tn.displayName = De.displayName;
284
- const ul = qt(
285
- "al-fixed al-z-50 al-gap-4 al-bg-background al-p-6 al-shadow-lg al-transition al-ease-in-out data-[state=open]:al-animate-in data-[state=closed]:al-animate-out data-[state=closed]:al-duration-300 data-[state=open]:al-duration-500",
286
- {
287
- variants: {
288
- side: {
289
- top: "al-inset-x-0 al-top-0 al-border-b data-[state=closed]:al-slide-out-to-top data-[state=open]:al-slide-in-from-top",
290
- bottom: "al-inset-x-0 al-bottom-0 al-border-t data-[state=closed]:al-slide-out-to-bottom data-[state=open]:al-slide-in-from-bottom",
291
- left: "al-inset-y-0 al-left-0 al-h-full al-w-3/4 al-border-r data-[state=closed]:al-slide-out-to-left data-[state=open]:al-slide-in-from-left sm:al-max-w-sm",
292
- right: "al-inset-y-0 al-right-0 al-h-full al-w-3/4 al- al-border-l data-[state=closed]:al-slide-out-to-right data-[state=open]:al-slide-in-from-right sm:al-max-w-sm"
293
- }
294
- },
295
- defaultVariants: {
296
- side: "right"
297
- }
298
- }
299
- ), pl = a.forwardRef(({ side: e = "right", className: o, children: t, ...n }, r) => /* @__PURE__ */ l.jsxs(dl, { children: [
300
- /* @__PURE__ */ l.jsx(tn, {}),
301
- /* @__PURE__ */ l.jsxs(Ae, { ref: r, className: E(ul({ side: e }), o), ...n, children: [
302
- t,
303
- /* @__PURE__ */ l.jsxs(Me, { className: "al-absolute al-right-4 al-top-4 al-rounded-sm al-opacity-70 al-ring-offset-background al-transition-opacity hover:al-opacity-100 focus:al-outline-none focus:al-ring-2 focus:al-ring-ring focus:al-ring-offset-2 disabled:al-pointer-events-none data-[state=open]:al-bg-secondary", children: [
304
- /* @__PURE__ */ l.jsx(Ao, { className: "al-h-4 al-w-4" }),
305
- /* @__PURE__ */ l.jsx("span", { className: "al-sr-only", children: "Close" })
306
- ] })
307
- ] })
308
- ] }));
309
- pl.displayName = Ae.displayName;
310
- const fl = ({ className: e, ...o }) => /* @__PURE__ */ l.jsx(
311
- "div",
312
- {
313
- className: E("al-flex al-flex-col al-space-y-2 al-text-center sm:al-text-left", e),
314
- ...o
315
- }
316
- );
317
- fl.displayName = "SheetHeader";
318
- const ml = ({ className: e, ...o }) => /* @__PURE__ */ l.jsx(
319
- "div",
320
- {
321
- className: E(
322
- "al-flex al-flex-col-reverse sm:al-flex-row sm:al-justify-end sm:al-space-x-2",
323
- e
324
- ),
325
- ...o
326
- }
327
- );
328
- ml.displayName = "SheetFooter";
329
- const gl = a.forwardRef(({ className: e, ...o }, t) => /* @__PURE__ */ l.jsx(
330
- Ge,
331
- {
332
- ref: t,
333
- className: E("al-text-lg al-font-semibold al-text-foreground", e),
334
- ...o
335
- }
336
- ));
337
- gl.displayName = Ge.displayName;
338
- const vl = a.forwardRef(({ className: e, ...o }, t) => /* @__PURE__ */ l.jsx(
339
- Be,
340
- {
341
- ref: t,
342
- className: E("al-text-sm al-text-muted-foreground", e),
343
- ...o
344
- }
345
- ));
346
- vl.displayName = Be.displayName;
347
- var Rt = a.forwardRef((e, o) => {
348
- const { children: t, ...n } = e, r = a.Children.toArray(t), s = r.find(xl);
349
- if (s) {
350
- const i = s.props.children, c = r.map((d) => d === s ? a.Children.count(i) > 1 ? a.Children.only(null) : a.isValidElement(i) ? i.props.children : null : d);
351
- return /* @__PURE__ */ l.jsx(Et, { ...n, ref: o, children: a.isValidElement(i) ? a.cloneElement(i, void 0, c) : null });
352
- }
353
- return /* @__PURE__ */ l.jsx(Et, { ...n, ref: o, children: t });
354
- });
355
- Rt.displayName = "Slot";
356
- var Et = a.forwardRef((e, o) => {
357
- const { children: t, ...n } = e;
358
- if (a.isValidElement(t)) {
359
- const r = wl(t);
360
- return a.cloneElement(t, {
361
- ...yl(n, t.props),
362
- // @ts-ignore
363
- ref: o ? _e(o, r) : r
364
- });
365
- }
366
- return a.Children.count(t) > 1 ? a.Children.only(null) : null;
367
- });
368
- Et.displayName = "SlotClone";
369
- var hl = ({ children: e }) => /* @__PURE__ */ l.jsx(l.Fragment, { children: e });
370
- function xl(e) {
371
- return a.isValidElement(e) && e.type === hl;
372
- }
373
- function yl(e, o) {
374
- const t = { ...o };
375
- for (const n in o) {
376
- const r = e[n], s = o[n];
377
- /^on[A-Z]/.test(n) ? r && s ? t[n] = (...c) => {
378
- s(...c), r(...c);
379
- } : r && (t[n] = r) : n === "style" ? t[n] = { ...r, ...s } : n === "className" && (t[n] = [r, s].filter(Boolean).join(" "));
380
- }
381
- return { ...e, ...t };
382
- }
383
- function wl(e) {
384
- var n, r;
385
- let o = (n = Object.getOwnPropertyDescriptor(e.props, "ref")) == null ? void 0 : n.get, t = o && "isReactWarning" in o && o.isReactWarning;
386
- return t ? e.ref : (o = (r = Object.getOwnPropertyDescriptor(e, "ref")) == null ? void 0 : r.get, t = o && "isReactWarning" in o && o.isReactWarning, t ? e.props.ref : e.props.ref || e.ref);
387
- }
388
- function rt(e) {
389
- const o = e + "CollectionProvider", [t, n] = ue(o), [r, s] = t(
390
- o,
391
- { collectionRef: { current: null }, itemMap: /* @__PURE__ */ new Map() }
392
- ), i = (y) => {
393
- const { scope: g, children: m } = y, w = U.useRef(null), S = U.useRef(/* @__PURE__ */ new Map()).current;
394
- return /* @__PURE__ */ l.jsx(r, { scope: g, itemMap: S, collectionRef: w, children: m });
395
- };
396
- i.displayName = o;
397
- const c = e + "CollectionSlot", d = U.forwardRef(
398
- (y, g) => {
399
- const { scope: m, children: w } = y, S = s(c, m), h = K(g, S.collectionRef);
400
- return /* @__PURE__ */ l.jsx(Rt, { ref: h, children: w });
401
- }
402
- );
403
- d.displayName = c;
404
- const u = e + "CollectionItemSlot", f = "data-radix-collection-item", p = U.forwardRef(
405
- (y, g) => {
406
- const { scope: m, children: w, ...S } = y, h = U.useRef(null), C = K(g, h), F = s(u, m);
407
- return U.useEffect(() => (F.itemMap.set(h, { ref: h, ...S }), () => void F.itemMap.delete(h))), /* @__PURE__ */ l.jsx(Rt, { [f]: "", ref: C, children: w });
408
- }
409
- );
410
- p.displayName = u;
411
- function x(y) {
412
- const g = s(e + "CollectionConsumer", y);
413
- return U.useCallback(() => {
414
- const w = g.collectionRef.current;
415
- if (!w) return [];
416
- const S = Array.from(w.querySelectorAll(`[${f}]`));
417
- return Array.from(g.itemMap.values()).sort(
418
- (F, k) => S.indexOf(F.ref.current) - S.indexOf(k.ref.current)
419
- );
420
- }, [g.collectionRef, g.itemMap]);
421
- }
422
- return [
423
- { Provider: i, Slot: d, ItemSlot: p },
424
- x,
425
- n
426
- ];
427
- }
428
- var bl = a.createContext(void 0);
429
- function at(e) {
430
- const o = a.useContext(bl);
431
- return e || o || "ltr";
432
- }
433
- var ht = "rovingFocusGroup.onEntryFocus", Sl = { bubbles: !1, cancelable: !0 }, lt = "RovingFocusGroup", [It, on, Cl] = rt(lt), [Nl, nn] = ue(
434
- lt,
435
- [Cl]
436
- ), [_l, Rl] = Nl(lt), rn = a.forwardRef(
437
- (e, o) => /* @__PURE__ */ l.jsx(It.Provider, { scope: e.__scopeRovingFocusGroup, children: /* @__PURE__ */ l.jsx(It.Slot, { scope: e.__scopeRovingFocusGroup, children: /* @__PURE__ */ l.jsx(El, { ...e, ref: o }) }) })
438
- );
439
- rn.displayName = lt;
440
- var El = a.forwardRef((e, o) => {
441
- const {
442
- __scopeRovingFocusGroup: t,
443
- orientation: n,
444
- loop: r = !1,
445
- dir: s,
446
- currentTabStopId: i,
447
- defaultCurrentTabStopId: c,
448
- onCurrentTabStopIdChange: d,
449
- onEntryFocus: u,
450
- preventScrollOnEntryFocus: f = !1,
451
- ...p
452
- } = e, x = a.useRef(null), y = K(o, x), g = at(s), [m = null, w] = ce({
453
- prop: i,
454
- defaultProp: c,
455
- onChange: d
456
- }), [S, h] = a.useState(!1), C = Ve(u), F = on(t), k = a.useRef(!1), [j, A] = a.useState(0);
457
- return a.useEffect(() => {
458
- const O = x.current;
459
- if (O)
460
- return O.addEventListener(ht, C), () => O.removeEventListener(ht, C);
461
- }, [C]), /* @__PURE__ */ l.jsx(
462
- _l,
463
- {
464
- scope: t,
465
- orientation: n,
466
- dir: g,
467
- loop: r,
468
- currentTabStopId: m,
469
- onItemFocus: a.useCallback(
470
- (O) => w(O),
471
- [w]
472
- ),
473
- onItemShiftTab: a.useCallback(() => h(!0), []),
474
- onFocusableItemAdd: a.useCallback(
475
- () => A((O) => O + 1),
476
- []
477
- ),
478
- onFocusableItemRemove: a.useCallback(
479
- () => A((O) => O - 1),
480
- []
481
- ),
482
- children: /* @__PURE__ */ l.jsx(
483
- T.div,
484
- {
485
- tabIndex: S || j === 0 ? -1 : 0,
486
- "data-orientation": n,
487
- ...p,
488
- ref: y,
489
- style: { outline: "none", ...e.style },
490
- onMouseDown: _(e.onMouseDown, () => {
491
- k.current = !0;
492
- }),
493
- onFocus: _(e.onFocus, (O) => {
494
- const H = !k.current;
495
- if (O.target === O.currentTarget && H && !S) {
496
- const W = new CustomEvent(ht, Sl);
497
- if (O.currentTarget.dispatchEvent(W), !W.defaultPrevented) {
498
- const q = F().filter((V) => V.focusable), X = q.find((V) => V.active), oe = q.find((V) => V.id === m), Z = [X, oe, ...q].filter(
499
- Boolean
500
- ).map((V) => V.ref.current);
501
- sn(Z, f);
502
- }
503
- }
504
- k.current = !1;
505
- }),
506
- onBlur: _(e.onBlur, () => h(!1))
507
- }
508
- )
509
- }
510
- );
511
- }), an = "RovingFocusGroupItem", ln = a.forwardRef(
512
- (e, o) => {
513
- const {
514
- __scopeRovingFocusGroup: t,
515
- focusable: n = !0,
516
- active: r = !1,
517
- tabStopId: s,
518
- ...i
519
- } = e, c = ee(), d = s || c, u = Rl(an, t), f = u.currentTabStopId === d, p = on(t), { onFocusableItemAdd: x, onFocusableItemRemove: y } = u;
520
- return a.useEffect(() => {
521
- if (n)
522
- return x(), () => y();
523
- }, [n, x, y]), /* @__PURE__ */ l.jsx(
524
- It.ItemSlot,
525
- {
526
- scope: t,
527
- id: d,
528
- focusable: n,
529
- active: r,
530
- children: /* @__PURE__ */ l.jsx(
531
- T.span,
532
- {
533
- tabIndex: f ? 0 : -1,
534
- "data-orientation": u.orientation,
535
- ...i,
536
- ref: o,
537
- onMouseDown: _(e.onMouseDown, (g) => {
538
- n ? u.onItemFocus(d) : g.preventDefault();
539
- }),
540
- onFocus: _(e.onFocus, () => u.onItemFocus(d)),
541
- onKeyDown: _(e.onKeyDown, (g) => {
542
- if (g.key === "Tab" && g.shiftKey) {
543
- u.onItemShiftTab();
544
- return;
545
- }
546
- if (g.target !== g.currentTarget) return;
547
- const m = Al(g, u.orientation, u.dir);
548
- if (m !== void 0) {
549
- if (g.metaKey || g.ctrlKey || g.altKey || g.shiftKey) return;
550
- g.preventDefault();
551
- let S = p().filter((h) => h.focusable).map((h) => h.ref.current);
552
- if (m === "last") S.reverse();
553
- else if (m === "prev" || m === "next") {
554
- m === "prev" && S.reverse();
555
- const h = S.indexOf(g.currentTarget);
556
- S = u.loop ? Ml(S, h + 1) : S.slice(h + 1);
557
- }
558
- setTimeout(() => sn(S));
559
- }
560
- })
561
- }
562
- )
563
- }
564
- );
565
- }
566
- );
567
- ln.displayName = an;
568
- var Il = {
569
- ArrowLeft: "prev",
570
- ArrowUp: "prev",
571
- ArrowRight: "next",
572
- ArrowDown: "next",
573
- PageUp: "first",
574
- Home: "first",
575
- PageDown: "last",
576
- End: "last"
577
- };
578
- function Dl(e, o) {
579
- return o !== "rtl" ? e : e === "ArrowLeft" ? "ArrowRight" : e === "ArrowRight" ? "ArrowLeft" : e;
580
- }
581
- function Al(e, o, t) {
582
- const n = Dl(e.key, t);
583
- if (!(o === "vertical" && ["ArrowLeft", "ArrowRight"].includes(n)) && !(o === "horizontal" && ["ArrowUp", "ArrowDown"].includes(n)))
584
- return Il[n];
585
- }
586
- function sn(e, o = !1) {
587
- const t = document.activeElement;
588
- for (const n of e)
589
- if (n === t || (n.focus({ preventScroll: o }), document.activeElement !== t)) return;
590
- }
591
- function Ml(e, o) {
592
- return e.map((t, n) => e[(o + n) % e.length]);
593
- }
594
- var Tl = rn, Pl = ln;
595
- const jl = a.forwardRef(
596
- ({ className: e, ...o }, t) => /* @__PURE__ */ l.jsx(
597
- "textarea",
598
- {
599
- className: E(
600
- "al-flex al-min-h-[80px] al-w-full al-rounded-md al-border al-border-input al-bg-background al-px-3 al-py-2 al-text-base al-ring-offset-background placeholder:al-text-muted-foreground focus-visible:al-outline-none focus-visible:al-ring-2 focus-visible:al-ring-ring focus-visible:al-ring-offset-2 disabled:al-cursor-not-allowed disabled:al-opacity-50 md:al-text-sm",
601
- e
602
- ),
603
- ref: t,
604
- ...o
605
- }
606
- )
607
- );
608
- jl.displayName = "Textarea";
609
- var cn = a.forwardRef((e, o) => {
610
- const { children: t, ...n } = e, r = a.Children.toArray(t), s = r.find(kl);
611
- if (s) {
612
- const i = s.props.children, c = r.map((d) => d === s ? a.Children.count(i) > 1 ? a.Children.only(null) : a.isValidElement(i) ? i.props.children : null : d);
613
- return /* @__PURE__ */ l.jsx(Dt, { ...n, ref: o, children: a.isValidElement(i) ? a.cloneElement(i, void 0, c) : null });
614
- }
615
- return /* @__PURE__ */ l.jsx(Dt, { ...n, ref: o, children: t });
616
- });
617
- cn.displayName = "Slot";
618
- var Dt = a.forwardRef((e, o) => {
619
- const { children: t, ...n } = e;
620
- if (a.isValidElement(t)) {
621
- const r = Ll(t);
622
- return a.cloneElement(t, {
623
- ...$l(n, t.props),
624
- // @ts-ignore
625
- ref: o ? _e(o, r) : r
626
- });
627
- }
628
- return a.Children.count(t) > 1 ? a.Children.only(null) : null;
629
- });
630
- Dt.displayName = "SlotClone";
631
- var Ol = ({ children: e }) => /* @__PURE__ */ l.jsx(l.Fragment, { children: e });
632
- function kl(e) {
633
- return a.isValidElement(e) && e.type === Ol;
634
- }
635
- function $l(e, o) {
636
- const t = { ...o };
637
- for (const n in o) {
638
- const r = e[n], s = o[n];
639
- /^on[A-Z]/.test(n) ? r && s ? t[n] = (...c) => {
640
- s(...c), r(...c);
641
- } : r && (t[n] = r) : n === "style" ? t[n] = { ...r, ...s } : n === "className" && (t[n] = [r, s].filter(Boolean).join(" "));
642
- }
643
- return { ...e, ...t };
644
- }
645
- function Ll(e) {
646
- var n, r;
647
- let o = (n = Object.getOwnPropertyDescriptor(e.props, "ref")) == null ? void 0 : n.get, t = o && "isReactWarning" in o && o.isReactWarning;
648
- return t ? e.ref : (o = (r = Object.getOwnPropertyDescriptor(e, "ref")) == null ? void 0 : r.get, t = o && "isReactWarning" in o && o.isReactWarning, t ? e.props.ref : e.props.ref || e.ref);
649
- }
650
- var At = ["Enter", " "], Fl = ["ArrowDown", "PageUp", "Home"], dn = ["ArrowUp", "PageDown", "End"], Vl = [...Fl, ...dn], Gl = {
651
- ltr: [...At, "ArrowRight"],
652
- rtl: [...At, "ArrowLeft"]
653
- }, Bl = {
654
- ltr: ["ArrowLeft"],
655
- rtl: ["ArrowRight"]
656
- }, Ke = "Menu", [$e, Kl, Hl] = rt(Ke), [Re, un] = ue(Ke, [
657
- Hl,
658
- tt,
659
- nn
660
- ]), He = tt(), pn = nn(), [fn, ge] = Re(Ke), [Wl, We] = Re(Ke), mn = (e) => {
661
- const { __scopeMenu: o, open: t = !1, children: n, dir: r, onOpenChange: s, modal: i = !0 } = e, c = He(o), [d, u] = a.useState(null), f = a.useRef(!1), p = Ve(s), x = at(r);
662
- return a.useEffect(() => {
663
- const y = () => {
664
- f.current = !0, document.addEventListener("pointerdown", g, { capture: !0, once: !0 }), document.addEventListener("pointermove", g, { capture: !0, once: !0 });
665
- }, g = () => f.current = !1;
666
- return document.addEventListener("keydown", y, { capture: !0 }), () => {
667
- document.removeEventListener("keydown", y, { capture: !0 }), document.removeEventListener("pointerdown", g, { capture: !0 }), document.removeEventListener("pointermove", g, { capture: !0 });
668
- };
669
- }, []), /* @__PURE__ */ l.jsx(Xt, { ...c, children: /* @__PURE__ */ l.jsx(
670
- fn,
671
- {
672
- scope: o,
673
- open: t,
674
- onOpenChange: p,
675
- content: d,
676
- onContentChange: u,
677
- children: /* @__PURE__ */ l.jsx(
678
- Wl,
679
- {
680
- scope: o,
681
- onClose: a.useCallback(() => p(!1), [p]),
682
- isUsingKeyboardRef: f,
683
- dir: x,
684
- modal: i,
685
- children: n
686
- }
687
- )
688
- }
689
- ) });
690
- };
691
- mn.displayName = Ke;
692
- var Ul = "MenuAnchor", oo = a.forwardRef(
693
- (e, o) => {
694
- const { __scopeMenu: t, ...n } = e, r = He(t);
695
- return /* @__PURE__ */ l.jsx(To, { ...r, ...n, ref: o });
696
- }
697
- );
698
- oo.displayName = Ul;
699
- var no = "MenuPortal", [zl, gn] = Re(no, {
700
- forceMount: void 0
701
- }), vn = (e) => {
702
- const { __scopeMenu: o, forceMount: t, children: n, container: r } = e, s = ge(no, o);
703
- return /* @__PURE__ */ l.jsx(zl, { scope: o, forceMount: t, children: /* @__PURE__ */ l.jsx(me, { present: t || s.open, children: /* @__PURE__ */ l.jsx(Yt, { asChild: !0, container: r, children: n }) }) });
704
- };
705
- vn.displayName = no;
706
- var le = "MenuContent", [Yl, ro] = Re(le), hn = a.forwardRef(
707
- (e, o) => {
708
- const t = gn(le, e.__scopeMenu), { forceMount: n = t.forceMount, ...r } = e, s = ge(le, e.__scopeMenu), i = We(le, e.__scopeMenu);
709
- return /* @__PURE__ */ l.jsx($e.Provider, { scope: e.__scopeMenu, children: /* @__PURE__ */ l.jsx(me, { present: n || s.open, children: /* @__PURE__ */ l.jsx($e.Slot, { scope: e.__scopeMenu, children: i.modal ? /* @__PURE__ */ l.jsx(ql, { ...r, ref: o }) : /* @__PURE__ */ l.jsx(Xl, { ...r, ref: o }) }) }) });
710
- }
711
- ), ql = a.forwardRef(
712
- (e, o) => {
713
- const t = ge(le, e.__scopeMenu), n = a.useRef(null), r = K(o, n);
714
- return a.useEffect(() => {
715
- const s = n.current;
716
- if (s) return Ht(s);
717
- }, []), /* @__PURE__ */ l.jsx(
718
- ao,
719
- {
720
- ...e,
721
- ref: r,
722
- trapFocus: t.open,
723
- disableOutsidePointerEvents: t.open,
724
- disableOutsideScroll: !0,
725
- onFocusOutside: _(
726
- e.onFocusOutside,
727
- (s) => s.preventDefault(),
728
- { checkForDefaultPrevented: !1 }
729
- ),
730
- onDismiss: () => t.onOpenChange(!1)
731
- }
732
- );
733
- }
734
- ), Xl = a.forwardRef((e, o) => {
735
- const t = ge(le, e.__scopeMenu);
736
- return /* @__PURE__ */ l.jsx(
737
- ao,
738
- {
739
- ...e,
740
- ref: o,
741
- trapFocus: !1,
742
- disableOutsidePointerEvents: !1,
743
- disableOutsideScroll: !1,
744
- onDismiss: () => t.onOpenChange(!1)
745
- }
746
- );
747
- }), ao = a.forwardRef(
748
- (e, o) => {
749
- const {
750
- __scopeMenu: t,
751
- loop: n = !1,
752
- trapFocus: r,
753
- onOpenAutoFocus: s,
754
- onCloseAutoFocus: i,
755
- disableOutsidePointerEvents: c,
756
- onEntryFocus: d,
757
- onEscapeKeyDown: u,
758
- onPointerDownOutside: f,
759
- onFocusOutside: p,
760
- onInteractOutside: x,
761
- onDismiss: y,
762
- disableOutsideScroll: g,
763
- ...m
764
- } = e, w = ge(le, t), S = We(le, t), h = He(t), C = pn(t), F = Kl(t), [k, j] = a.useState(null), A = a.useRef(null), O = K(o, A, w.onContentChange), H = a.useRef(0), W = a.useRef(""), q = a.useRef(0), X = a.useRef(null), oe = a.useRef("right"), z = a.useRef(0), Z = g ? Kt : a.Fragment, V = g ? { as: cn, allowPinchZoom: !0 } : void 0, ne = (R) => {
765
- var b, M;
766
- const Q = W.current + R, te = F().filter(($) => !$.disabled), v = document.activeElement, I = (b = te.find(($) => $.ref.current === v)) == null ? void 0 : b.textValue, D = te.map(($) => $.textValue), N = is(D, Q, I), P = (M = te.find(($) => $.textValue === N)) == null ? void 0 : M.ref.current;
767
- (function $(L) {
768
- W.current = L, window.clearTimeout(H.current), L !== "" && (H.current = window.setTimeout(() => $(""), 1e3));
769
- })(Q), P && setTimeout(() => P.focus());
770
- };
771
- a.useEffect(() => () => window.clearTimeout(H.current), []), Wt();
772
- const J = a.useCallback((R) => {
773
- var te, v;
774
- return oe.current === ((te = X.current) == null ? void 0 : te.side) && ds(R, (v = X.current) == null ? void 0 : v.area);
775
- }, []);
776
- return /* @__PURE__ */ l.jsx(
777
- Yl,
778
- {
779
- scope: t,
780
- searchRef: W,
781
- onItemEnter: a.useCallback(
782
- (R) => {
783
- J(R) && R.preventDefault();
784
- },
785
- [J]
786
- ),
787
- onItemLeave: a.useCallback(
788
- (R) => {
789
- var Q;
790
- J(R) || ((Q = A.current) == null || Q.focus(), j(null));
791
- },
792
- [J]
793
- ),
794
- onTriggerLeave: a.useCallback(
795
- (R) => {
796
- J(R) && R.preventDefault();
797
- },
798
- [J]
799
- ),
800
- pointerGraceTimerRef: q,
801
- onPointerGraceIntentChange: a.useCallback((R) => {
802
- X.current = R;
803
- }, []),
804
- children: /* @__PURE__ */ l.jsx(Z, { ...V, children: /* @__PURE__ */ l.jsx(
805
- Ut,
806
- {
807
- asChild: !0,
808
- trapped: r,
809
- onMountAutoFocus: _(s, (R) => {
810
- var Q;
811
- R.preventDefault(), (Q = A.current) == null || Q.focus({ preventScroll: !0 });
812
- }),
813
- onUnmountAutoFocus: i,
814
- children: /* @__PURE__ */ l.jsx(
815
- zt,
816
- {
817
- asChild: !0,
818
- disableOutsidePointerEvents: c,
819
- onEscapeKeyDown: u,
820
- onPointerDownOutside: f,
821
- onFocusOutside: p,
822
- onInteractOutside: x,
823
- onDismiss: y,
824
- children: /* @__PURE__ */ l.jsx(
825
- Tl,
826
- {
827
- asChild: !0,
828
- ...C,
829
- dir: S.dir,
830
- orientation: "vertical",
831
- loop: n,
832
- currentTabStopId: k,
833
- onCurrentTabStopIdChange: j,
834
- onEntryFocus: _(d, (R) => {
835
- S.isUsingKeyboardRef.current || R.preventDefault();
836
- }),
837
- preventScrollOnEntryFocus: !0,
838
- children: /* @__PURE__ */ l.jsx(
839
- Po,
840
- {
841
- role: "menu",
842
- "aria-orientation": "vertical",
843
- "data-state": jn(w.open),
844
- "data-radix-menu-content": "",
845
- dir: S.dir,
846
- ...h,
847
- ...m,
848
- ref: O,
849
- style: { outline: "none", ...m.style },
850
- onKeyDown: _(m.onKeyDown, (R) => {
851
- const te = R.target.closest("[data-radix-menu-content]") === R.currentTarget, v = R.ctrlKey || R.altKey || R.metaKey, I = R.key.length === 1;
852
- te && (R.key === "Tab" && R.preventDefault(), !v && I && ne(R.key));
853
- const D = A.current;
854
- if (R.target !== D || !Vl.includes(R.key)) return;
855
- R.preventDefault();
856
- const P = F().filter((b) => !b.disabled).map((b) => b.ref.current);
857
- dn.includes(R.key) && P.reverse(), ls(P);
858
- }),
859
- onBlur: _(e.onBlur, (R) => {
860
- R.currentTarget.contains(R.target) || (window.clearTimeout(H.current), W.current = "");
861
- }),
862
- onPointerMove: _(
863
- e.onPointerMove,
864
- Le((R) => {
865
- const Q = R.target, te = z.current !== R.clientX;
866
- if (R.currentTarget.contains(Q) && te) {
867
- const v = R.clientX > z.current ? "right" : "left";
868
- oe.current = v, z.current = R.clientX;
869
- }
870
- })
871
- )
872
- }
873
- )
874
- }
875
- )
876
- }
877
- )
878
- }
879
- ) })
880
- }
881
- );
882
- }
883
- );
884
- hn.displayName = le;
885
- var Zl = "MenuGroup", lo = a.forwardRef(
886
- (e, o) => {
887
- const { __scopeMenu: t, ...n } = e;
888
- return /* @__PURE__ */ l.jsx(T.div, { role: "group", ...n, ref: o });
889
- }
890
- );
891
- lo.displayName = Zl;
892
- var Jl = "MenuLabel", xn = a.forwardRef(
893
- (e, o) => {
894
- const { __scopeMenu: t, ...n } = e;
895
- return /* @__PURE__ */ l.jsx(T.div, { ...n, ref: o });
896
- }
897
- );
898
- xn.displayName = Jl;
899
- var Ze = "MenuItem", So = "menu.itemSelect", st = a.forwardRef(
900
- (e, o) => {
901
- const { disabled: t = !1, onSelect: n, ...r } = e, s = a.useRef(null), i = We(Ze, e.__scopeMenu), c = ro(Ze, e.__scopeMenu), d = K(o, s), u = a.useRef(!1), f = () => {
902
- const p = s.current;
903
- if (!t && p) {
904
- const x = new CustomEvent(So, { bubbles: !0, cancelable: !0 });
905
- p.addEventListener(So, (y) => n == null ? void 0 : n(y), { once: !0 }), Ya(p, x), x.defaultPrevented ? u.current = !1 : i.onClose();
906
- }
907
- };
908
- return /* @__PURE__ */ l.jsx(
909
- yn,
910
- {
911
- ...r,
912
- ref: d,
913
- disabled: t,
914
- onClick: _(e.onClick, f),
915
- onPointerDown: (p) => {
916
- var x;
917
- (x = e.onPointerDown) == null || x.call(e, p), u.current = !0;
918
- },
919
- onPointerUp: _(e.onPointerUp, (p) => {
920
- var x;
921
- u.current || (x = p.currentTarget) == null || x.click();
922
- }),
923
- onKeyDown: _(e.onKeyDown, (p) => {
924
- const x = c.searchRef.current !== "";
925
- t || x && p.key === " " || At.includes(p.key) && (p.currentTarget.click(), p.preventDefault());
926
- })
927
- }
928
- );
929
- }
930
- );
931
- st.displayName = Ze;
932
- var yn = a.forwardRef(
933
- (e, o) => {
934
- const { __scopeMenu: t, disabled: n = !1, textValue: r, ...s } = e, i = ro(Ze, t), c = pn(t), d = a.useRef(null), u = K(o, d), [f, p] = a.useState(!1), [x, y] = a.useState("");
935
- return a.useEffect(() => {
936
- const g = d.current;
937
- g && y((g.textContent ?? "").trim());
938
- }, [s.children]), /* @__PURE__ */ l.jsx(
939
- $e.ItemSlot,
940
- {
941
- scope: t,
942
- disabled: n,
943
- textValue: r ?? x,
944
- children: /* @__PURE__ */ l.jsx(Pl, { asChild: !0, ...c, focusable: !n, children: /* @__PURE__ */ l.jsx(
945
- T.div,
946
- {
947
- role: "menuitem",
948
- "data-highlighted": f ? "" : void 0,
949
- "aria-disabled": n || void 0,
950
- "data-disabled": n ? "" : void 0,
951
- ...s,
952
- ref: u,
953
- onPointerMove: _(
954
- e.onPointerMove,
955
- Le((g) => {
956
- n ? i.onItemLeave(g) : (i.onItemEnter(g), g.defaultPrevented || g.currentTarget.focus({ preventScroll: !0 }));
957
- })
958
- ),
959
- onPointerLeave: _(
960
- e.onPointerLeave,
961
- Le((g) => i.onItemLeave(g))
962
- ),
963
- onFocus: _(e.onFocus, () => p(!0)),
964
- onBlur: _(e.onBlur, () => p(!1))
965
- }
966
- ) })
967
- }
968
- );
969
- }
970
- ), Ql = "MenuCheckboxItem", wn = a.forwardRef(
971
- (e, o) => {
972
- const { checked: t = !1, onCheckedChange: n, ...r } = e;
973
- return /* @__PURE__ */ l.jsx(_n, { scope: e.__scopeMenu, checked: t, children: /* @__PURE__ */ l.jsx(
974
- st,
975
- {
976
- role: "menuitemcheckbox",
977
- "aria-checked": Je(t) ? "mixed" : t,
978
- ...r,
979
- ref: o,
980
- "data-state": co(t),
981
- onSelect: _(
982
- r.onSelect,
983
- () => n == null ? void 0 : n(Je(t) ? !0 : !t),
984
- { checkForDefaultPrevented: !1 }
985
- )
986
- }
987
- ) });
988
- }
989
- );
990
- wn.displayName = Ql;
991
- var bn = "MenuRadioGroup", [es, ts] = Re(
992
- bn,
993
- { value: void 0, onValueChange: () => {
994
- } }
995
- ), Sn = a.forwardRef(
996
- (e, o) => {
997
- const { value: t, onValueChange: n, ...r } = e, s = Ve(n);
998
- return /* @__PURE__ */ l.jsx(es, { scope: e.__scopeMenu, value: t, onValueChange: s, children: /* @__PURE__ */ l.jsx(lo, { ...r, ref: o }) });
999
- }
1000
- );
1001
- Sn.displayName = bn;
1002
- var Cn = "MenuRadioItem", Nn = a.forwardRef(
1003
- (e, o) => {
1004
- const { value: t, ...n } = e, r = ts(Cn, e.__scopeMenu), s = t === r.value;
1005
- return /* @__PURE__ */ l.jsx(_n, { scope: e.__scopeMenu, checked: s, children: /* @__PURE__ */ l.jsx(
1006
- st,
1007
- {
1008
- role: "menuitemradio",
1009
- "aria-checked": s,
1010
- ...n,
1011
- ref: o,
1012
- "data-state": co(s),
1013
- onSelect: _(
1014
- n.onSelect,
1015
- () => {
1016
- var i;
1017
- return (i = r.onValueChange) == null ? void 0 : i.call(r, t);
1018
- },
1019
- { checkForDefaultPrevented: !1 }
1020
- )
1021
- }
1022
- ) });
1023
- }
1024
- );
1025
- Nn.displayName = Cn;
1026
- var so = "MenuItemIndicator", [_n, os] = Re(
1027
- so,
1028
- { checked: !1 }
1029
- ), Rn = a.forwardRef(
1030
- (e, o) => {
1031
- const { __scopeMenu: t, forceMount: n, ...r } = e, s = os(so, t);
1032
- return /* @__PURE__ */ l.jsx(
1033
- me,
1034
- {
1035
- present: n || Je(s.checked) || s.checked === !0,
1036
- children: /* @__PURE__ */ l.jsx(
1037
- T.span,
1038
- {
1039
- ...r,
1040
- ref: o,
1041
- "data-state": co(s.checked)
1042
- }
1043
- )
1044
- }
1045
- );
1046
- }
1047
- );
1048
- Rn.displayName = so;
1049
- var ns = "MenuSeparator", En = a.forwardRef(
1050
- (e, o) => {
1051
- const { __scopeMenu: t, ...n } = e;
1052
- return /* @__PURE__ */ l.jsx(
1053
- T.div,
1054
- {
1055
- role: "separator",
1056
- "aria-orientation": "horizontal",
1057
- ...n,
1058
- ref: o
1059
- }
1060
- );
1061
- }
1062
- );
1063
- En.displayName = ns;
1064
- var rs = "MenuArrow", In = a.forwardRef(
1065
- (e, o) => {
1066
- const { __scopeMenu: t, ...n } = e, r = He(t);
1067
- return /* @__PURE__ */ l.jsx(jo, { ...r, ...n, ref: o });
1068
- }
1069
- );
1070
- In.displayName = rs;
1071
- var io = "MenuSub", [as, Dn] = Re(io), An = (e) => {
1072
- const { __scopeMenu: o, children: t, open: n = !1, onOpenChange: r } = e, s = ge(io, o), i = He(o), [c, d] = a.useState(null), [u, f] = a.useState(null), p = Ve(r);
1073
- return a.useEffect(() => (s.open === !1 && p(!1), () => p(!1)), [s.open, p]), /* @__PURE__ */ l.jsx(Xt, { ...i, children: /* @__PURE__ */ l.jsx(
1074
- fn,
1075
- {
1076
- scope: o,
1077
- open: n,
1078
- onOpenChange: p,
1079
- content: u,
1080
- onContentChange: f,
1081
- children: /* @__PURE__ */ l.jsx(
1082
- as,
1083
- {
1084
- scope: o,
1085
- contentId: ee(),
1086
- triggerId: ee(),
1087
- trigger: c,
1088
- onTriggerChange: d,
1089
- children: t
1090
- }
1091
- )
1092
- }
1093
- ) });
1094
- };
1095
- An.displayName = io;
1096
- var je = "MenuSubTrigger", Mn = a.forwardRef(
1097
- (e, o) => {
1098
- const t = ge(je, e.__scopeMenu), n = We(je, e.__scopeMenu), r = Dn(je, e.__scopeMenu), s = ro(je, e.__scopeMenu), i = a.useRef(null), { pointerGraceTimerRef: c, onPointerGraceIntentChange: d } = s, u = { __scopeMenu: e.__scopeMenu }, f = a.useCallback(() => {
1099
- i.current && window.clearTimeout(i.current), i.current = null;
1100
- }, []);
1101
- return a.useEffect(() => f, [f]), a.useEffect(() => {
1102
- const p = c.current;
1103
- return () => {
1104
- window.clearTimeout(p), d(null);
1105
- };
1106
- }, [c, d]), /* @__PURE__ */ l.jsx(oo, { asChild: !0, ...u, children: /* @__PURE__ */ l.jsx(
1107
- yn,
1108
- {
1109
- id: r.triggerId,
1110
- "aria-haspopup": "menu",
1111
- "aria-expanded": t.open,
1112
- "aria-controls": r.contentId,
1113
- "data-state": jn(t.open),
1114
- ...e,
1115
- ref: _e(o, r.onTriggerChange),
1116
- onClick: (p) => {
1117
- var x;
1118
- (x = e.onClick) == null || x.call(e, p), !(e.disabled || p.defaultPrevented) && (p.currentTarget.focus(), t.open || t.onOpenChange(!0));
1119
- },
1120
- onPointerMove: _(
1121
- e.onPointerMove,
1122
- Le((p) => {
1123
- s.onItemEnter(p), !p.defaultPrevented && !e.disabled && !t.open && !i.current && (s.onPointerGraceIntentChange(null), i.current = window.setTimeout(() => {
1124
- t.onOpenChange(!0), f();
1125
- }, 100));
1126
- })
1127
- ),
1128
- onPointerLeave: _(
1129
- e.onPointerLeave,
1130
- Le((p) => {
1131
- var y, g;
1132
- f();
1133
- const x = (y = t.content) == null ? void 0 : y.getBoundingClientRect();
1134
- if (x) {
1135
- const m = (g = t.content) == null ? void 0 : g.dataset.side, w = m === "right", S = w ? -5 : 5, h = x[w ? "left" : "right"], C = x[w ? "right" : "left"];
1136
- s.onPointerGraceIntentChange({
1137
- area: [
1138
- // Apply a bleed on clientX to ensure that our exit point is
1139
- // consistently within polygon bounds
1140
- { x: p.clientX + S, y: p.clientY },
1141
- { x: h, y: x.top },
1142
- { x: C, y: x.top },
1143
- { x: C, y: x.bottom },
1144
- { x: h, y: x.bottom }
1145
- ],
1146
- side: m
1147
- }), window.clearTimeout(c.current), c.current = window.setTimeout(
1148
- () => s.onPointerGraceIntentChange(null),
1149
- 300
1150
- );
1151
- } else {
1152
- if (s.onTriggerLeave(p), p.defaultPrevented) return;
1153
- s.onPointerGraceIntentChange(null);
1154
- }
1155
- })
1156
- ),
1157
- onKeyDown: _(e.onKeyDown, (p) => {
1158
- var y;
1159
- const x = s.searchRef.current !== "";
1160
- e.disabled || x && p.key === " " || Gl[n.dir].includes(p.key) && (t.onOpenChange(!0), (y = t.content) == null || y.focus(), p.preventDefault());
1161
- })
1162
- }
1163
- ) });
1164
- }
1165
- );
1166
- Mn.displayName = je;
1167
- var Tn = "MenuSubContent", Pn = a.forwardRef(
1168
- (e, o) => {
1169
- const t = gn(le, e.__scopeMenu), { forceMount: n = t.forceMount, ...r } = e, s = ge(le, e.__scopeMenu), i = We(le, e.__scopeMenu), c = Dn(Tn, e.__scopeMenu), d = a.useRef(null), u = K(o, d);
1170
- return /* @__PURE__ */ l.jsx($e.Provider, { scope: e.__scopeMenu, children: /* @__PURE__ */ l.jsx(me, { present: n || s.open, children: /* @__PURE__ */ l.jsx($e.Slot, { scope: e.__scopeMenu, children: /* @__PURE__ */ l.jsx(
1171
- ao,
1172
- {
1173
- id: c.contentId,
1174
- "aria-labelledby": c.triggerId,
1175
- ...r,
1176
- ref: u,
1177
- align: "start",
1178
- side: i.dir === "rtl" ? "left" : "right",
1179
- disableOutsidePointerEvents: !1,
1180
- disableOutsideScroll: !1,
1181
- trapFocus: !1,
1182
- onOpenAutoFocus: (f) => {
1183
- var p;
1184
- i.isUsingKeyboardRef.current && ((p = d.current) == null || p.focus()), f.preventDefault();
1185
- },
1186
- onCloseAutoFocus: (f) => f.preventDefault(),
1187
- onFocusOutside: _(e.onFocusOutside, (f) => {
1188
- f.target !== c.trigger && s.onOpenChange(!1);
1189
- }),
1190
- onEscapeKeyDown: _(e.onEscapeKeyDown, (f) => {
1191
- i.onClose(), f.preventDefault();
1192
- }),
1193
- onKeyDown: _(e.onKeyDown, (f) => {
1194
- var y;
1195
- const p = f.currentTarget.contains(f.target), x = Bl[i.dir].includes(f.key);
1196
- p && x && (s.onOpenChange(!1), (y = c.trigger) == null || y.focus(), f.preventDefault());
1197
- })
1198
- }
1199
- ) }) }) });
1200
- }
1201
- );
1202
- Pn.displayName = Tn;
1203
- function jn(e) {
1204
- return e ? "open" : "closed";
1205
- }
1206
- function Je(e) {
1207
- return e === "indeterminate";
1208
- }
1209
- function co(e) {
1210
- return Je(e) ? "indeterminate" : e ? "checked" : "unchecked";
1211
- }
1212
- function ls(e) {
1213
- const o = document.activeElement;
1214
- for (const t of e)
1215
- if (t === o || (t.focus(), document.activeElement !== o)) return;
1216
- }
1217
- function ss(e, o) {
1218
- return e.map((t, n) => e[(o + n) % e.length]);
1219
- }
1220
- function is(e, o, t) {
1221
- const r = o.length > 1 && Array.from(o).every((u) => u === o[0]) ? o[0] : o, s = t ? e.indexOf(t) : -1;
1222
- let i = ss(e, Math.max(s, 0));
1223
- r.length === 1 && (i = i.filter((u) => u !== t));
1224
- const d = i.find(
1225
- (u) => u.toLowerCase().startsWith(r.toLowerCase())
1226
- );
1227
- return d !== t ? d : void 0;
1228
- }
1229
- function cs(e, o) {
1230
- const { x: t, y: n } = e;
1231
- let r = !1;
1232
- for (let s = 0, i = o.length - 1; s < o.length; i = s++) {
1233
- const c = o[s].x, d = o[s].y, u = o[i].x, f = o[i].y;
1234
- d > n != f > n && t < (u - c) * (n - d) / (f - d) + c && (r = !r);
1235
- }
1236
- return r;
1237
- }
1238
- function ds(e, o) {
1239
- if (!o) return !1;
1240
- const t = { x: e.clientX, y: e.clientY };
1241
- return cs(t, o);
1242
- }
1243
- function Le(e) {
1244
- return (o) => o.pointerType === "mouse" ? e(o) : void 0;
1245
- }
1246
- var us = mn, ps = oo, fs = vn, ms = hn, gs = lo, vs = xn, hs = st, xs = wn, ys = Sn, ws = Nn, bs = Rn, Ss = En, Cs = In, Ns = An, _s = Mn, Rs = Pn, uo = "DropdownMenu", [Es, Dd] = ue(
1247
- uo,
1248
- [un]
1249
- ), re = un(), [Is, On] = Es(uo), kn = (e) => {
1250
- const {
1251
- __scopeDropdownMenu: o,
1252
- children: t,
1253
- dir: n,
1254
- open: r,
1255
- defaultOpen: s,
1256
- onOpenChange: i,
1257
- modal: c = !0
1258
- } = e, d = re(o), u = a.useRef(null), [f = !1, p] = ce({
1259
- prop: r,
1260
- defaultProp: s,
1261
- onChange: i
1262
- });
1263
- return /* @__PURE__ */ l.jsx(
1264
- Is,
1265
- {
1266
- scope: o,
1267
- triggerId: ee(),
1268
- triggerRef: u,
1269
- contentId: ee(),
1270
- open: f,
1271
- onOpenChange: p,
1272
- onOpenToggle: a.useCallback(() => p((x) => !x), [p]),
1273
- modal: c,
1274
- children: /* @__PURE__ */ l.jsx(us, { ...d, open: f, onOpenChange: p, dir: n, modal: c, children: t })
1275
- }
1276
- );
1277
- };
1278
- kn.displayName = uo;
1279
- var $n = "DropdownMenuTrigger", Ln = a.forwardRef(
1280
- (e, o) => {
1281
- const { __scopeDropdownMenu: t, disabled: n = !1, ...r } = e, s = On($n, t), i = re(t);
1282
- return /* @__PURE__ */ l.jsx(ps, { asChild: !0, ...i, children: /* @__PURE__ */ l.jsx(
1283
- T.button,
1284
- {
1285
- type: "button",
1286
- id: s.triggerId,
1287
- "aria-haspopup": "menu",
1288
- "aria-expanded": s.open,
1289
- "aria-controls": s.open ? s.contentId : void 0,
1290
- "data-state": s.open ? "open" : "closed",
1291
- "data-disabled": n ? "" : void 0,
1292
- disabled: n,
1293
- ...r,
1294
- ref: _e(o, s.triggerRef),
1295
- onPointerDown: _(e.onPointerDown, (c) => {
1296
- !n && c.button === 0 && c.ctrlKey === !1 && (s.onOpenToggle(), s.open || c.preventDefault());
1297
- }),
1298
- onKeyDown: _(e.onKeyDown, (c) => {
1299
- n || (["Enter", " "].includes(c.key) && s.onOpenToggle(), c.key === "ArrowDown" && s.onOpenChange(!0), ["Enter", " ", "ArrowDown"].includes(c.key) && c.preventDefault());
1300
- })
1301
- }
1302
- ) });
1303
- }
1304
- );
1305
- Ln.displayName = $n;
1306
- var Ds = "DropdownMenuPortal", Fn = (e) => {
1307
- const { __scopeDropdownMenu: o, ...t } = e, n = re(o);
1308
- return /* @__PURE__ */ l.jsx(fs, { ...n, ...t });
1309
- };
1310
- Fn.displayName = Ds;
1311
- var Vn = "DropdownMenuContent", Gn = a.forwardRef(
1312
- (e, o) => {
1313
- const { __scopeDropdownMenu: t, ...n } = e, r = On(Vn, t), s = re(t), i = a.useRef(!1);
1314
- return /* @__PURE__ */ l.jsx(
1315
- ms,
1316
- {
1317
- id: r.contentId,
1318
- "aria-labelledby": r.triggerId,
1319
- ...s,
1320
- ...n,
1321
- ref: o,
1322
- onCloseAutoFocus: _(e.onCloseAutoFocus, (c) => {
1323
- var d;
1324
- i.current || (d = r.triggerRef.current) == null || d.focus(), i.current = !1, c.preventDefault();
1325
- }),
1326
- onInteractOutside: _(e.onInteractOutside, (c) => {
1327
- const d = c.detail.originalEvent, u = d.button === 0 && d.ctrlKey === !0, f = d.button === 2 || u;
1328
- (!r.modal || f) && (i.current = !0);
1329
- }),
1330
- style: {
1331
- ...e.style,
1332
- "--radix-dropdown-menu-content-transform-origin": "var(--radix-popper-transform-origin)",
1333
- "--radix-dropdown-menu-content-available-width": "var(--radix-popper-available-width)",
1334
- "--radix-dropdown-menu-content-available-height": "var(--radix-popper-available-height)",
1335
- "--radix-dropdown-menu-trigger-width": "var(--radix-popper-anchor-width)",
1336
- "--radix-dropdown-menu-trigger-height": "var(--radix-popper-anchor-height)"
1337
- }
1338
- }
1339
- );
1340
- }
1341
- );
1342
- Gn.displayName = Vn;
1343
- var As = "DropdownMenuGroup", Bn = a.forwardRef(
1344
- (e, o) => {
1345
- const { __scopeDropdownMenu: t, ...n } = e, r = re(t);
1346
- return /* @__PURE__ */ l.jsx(gs, { ...r, ...n, ref: o });
1347
- }
1348
- );
1349
- Bn.displayName = As;
1350
- var Ms = "DropdownMenuLabel", Kn = a.forwardRef(
1351
- (e, o) => {
1352
- const { __scopeDropdownMenu: t, ...n } = e, r = re(t);
1353
- return /* @__PURE__ */ l.jsx(vs, { ...r, ...n, ref: o });
1354
- }
1355
- );
1356
- Kn.displayName = Ms;
1357
- var Ts = "DropdownMenuItem", Hn = a.forwardRef(
1358
- (e, o) => {
1359
- const { __scopeDropdownMenu: t, ...n } = e, r = re(t);
1360
- return /* @__PURE__ */ l.jsx(hs, { ...r, ...n, ref: o });
1361
- }
1362
- );
1363
- Hn.displayName = Ts;
1364
- var Ps = "DropdownMenuCheckboxItem", Wn = a.forwardRef((e, o) => {
1365
- const { __scopeDropdownMenu: t, ...n } = e, r = re(t);
1366
- return /* @__PURE__ */ l.jsx(xs, { ...r, ...n, ref: o });
1367
- });
1368
- Wn.displayName = Ps;
1369
- var js = "DropdownMenuRadioGroup", Un = a.forwardRef((e, o) => {
1370
- const { __scopeDropdownMenu: t, ...n } = e, r = re(t);
1371
- return /* @__PURE__ */ l.jsx(ys, { ...r, ...n, ref: o });
1372
- });
1373
- Un.displayName = js;
1374
- var Os = "DropdownMenuRadioItem", zn = a.forwardRef((e, o) => {
1375
- const { __scopeDropdownMenu: t, ...n } = e, r = re(t);
1376
- return /* @__PURE__ */ l.jsx(ws, { ...r, ...n, ref: o });
1377
- });
1378
- zn.displayName = Os;
1379
- var ks = "DropdownMenuItemIndicator", Yn = a.forwardRef((e, o) => {
1380
- const { __scopeDropdownMenu: t, ...n } = e, r = re(t);
1381
- return /* @__PURE__ */ l.jsx(bs, { ...r, ...n, ref: o });
1382
- });
1383
- Yn.displayName = ks;
1384
- var $s = "DropdownMenuSeparator", qn = a.forwardRef((e, o) => {
1385
- const { __scopeDropdownMenu: t, ...n } = e, r = re(t);
1386
- return /* @__PURE__ */ l.jsx(Ss, { ...r, ...n, ref: o });
1387
- });
1388
- qn.displayName = $s;
1389
- var Ls = "DropdownMenuArrow", Fs = a.forwardRef(
1390
- (e, o) => {
1391
- const { __scopeDropdownMenu: t, ...n } = e, r = re(t);
1392
- return /* @__PURE__ */ l.jsx(Cs, { ...r, ...n, ref: o });
1393
- }
1394
- );
1395
- Fs.displayName = Ls;
1396
- var Vs = (e) => {
1397
- const { __scopeDropdownMenu: o, children: t, open: n, onOpenChange: r, defaultOpen: s } = e, i = re(o), [c = !1, d] = ce({
1398
- prop: n,
1399
- defaultProp: s,
1400
- onChange: r
1401
- });
1402
- return /* @__PURE__ */ l.jsx(Ns, { ...i, open: c, onOpenChange: d, children: t });
1403
- }, Gs = "DropdownMenuSubTrigger", Xn = a.forwardRef((e, o) => {
1404
- const { __scopeDropdownMenu: t, ...n } = e, r = re(t);
1405
- return /* @__PURE__ */ l.jsx(_s, { ...r, ...n, ref: o });
1406
- });
1407
- Xn.displayName = Gs;
1408
- var Bs = "DropdownMenuSubContent", Zn = a.forwardRef((e, o) => {
1409
- const { __scopeDropdownMenu: t, ...n } = e, r = re(t);
1410
- return /* @__PURE__ */ l.jsx(
1411
- Rs,
1412
- {
1413
- ...r,
1414
- ...n,
1415
- ref: o,
1416
- style: {
1417
- ...e.style,
1418
- "--radix-dropdown-menu-content-transform-origin": "var(--radix-popper-transform-origin)",
1419
- "--radix-dropdown-menu-content-available-width": "var(--radix-popper-available-width)",
1420
- "--radix-dropdown-menu-content-available-height": "var(--radix-popper-available-height)",
1421
- "--radix-dropdown-menu-trigger-width": "var(--radix-popper-anchor-width)",
1422
- "--radix-dropdown-menu-trigger-height": "var(--radix-popper-anchor-height)"
1423
- }
1424
- }
1425
- );
1426
- });
1427
- Zn.displayName = Bs;
1428
- var Ks = kn, Hs = Ln, Jn = Fn, Qn = Gn, Ws = Bn, er = Kn, tr = Hn, or = Wn, Us = Un, nr = zn, rr = Yn, ar = qn, zs = Vs, lr = Xn, sr = Zn;
1429
- const Ad = Ks, Md = Hs, Td = Ws, Pd = Jn, jd = zs, Od = Us, Ys = Y(({ className: e, inset: o, children: t, ...n }, r) => /* @__PURE__ */ l.jsxs(
1430
- lr,
1431
- {
1432
- ref: r,
1433
- className: E(
1434
- "al-flex al-cursor-default al-gap-2 al-select-none al-items-center al-rounded-sm al-px-2 al-py-1.5 al-text-sm al-outline-none focus:al-bg-accent data-[state=open]:al-bg-accent [&_svg]:al-pointer-events-none [&_svg]:al-size-4 [&_svg]:al-shrink-0",
1435
- o && "al-pl-8",
1436
- e
1437
- ),
1438
- ...n,
1439
- children: [
1440
- t,
1441
- /* @__PURE__ */ l.jsx(Ka, { className: "al-ml-auto" })
1442
- ]
1443
- }
1444
- ));
1445
- Ys.displayName = lr.displayName;
1446
- const qs = Y(({ className: e, ...o }, t) => /* @__PURE__ */ l.jsx(
1447
- sr,
1448
- {
1449
- ref: t,
1450
- className: E(
1451
- "al-z-50 al-min-w-[8rem] al-overflow-hidden al-rounded-md al-border al-bg-popover al-p-1 al-text-popover-foreground al-shadow-lg data-[state=open]:al-animate-in data-[state=closed]:al-animate-out data-[state=closed]:al-fade-out-0 data-[state=open]:al-fade-in-0 data-[state=closed]:al-zoom-out-95 data-[state=open]:al-zoom-in-95 data-[side=bottom]:al-slide-in-from-top-2 data-[side=left]:al-slide-in-from-right-2 data-[side=right]:al-slide-in-from-left-2 data-[side=top]:al-slide-in-from-bottom-2",
1452
- e
1453
- ),
1454
- ...o
1455
- }
1456
- ));
1457
- qs.displayName = sr.displayName;
1458
- const Xs = Y(({ className: e, sideOffset: o = 4, ...t }, n) => /* @__PURE__ */ l.jsx(Jn, { children: /* @__PURE__ */ l.jsx(
1459
- Qn,
1460
- {
1461
- ref: n,
1462
- sideOffset: o,
1463
- className: E(
1464
- "al-z-50 al-min-w-[8rem] al-overflow-hidden al-rounded-md al-border al-bg-popover al-p-1 al-text-popover-foreground al-shadow-md data-[state=open]:al-animate-in data-[state=closed]:al-animate-out data-[state=closed]:al-fade-out-0 data-[state=open]:al-fade-in-0 data-[state=closed]:al-zoom-out-95 data-[state=open]:al-zoom-in-95 data-[side=bottom]:al-slide-in-from-top-2 data-[side=left]:al-slide-in-from-right-2 data-[side=right]:al-slide-in-from-left-2 data-[side=top]:al-slide-in-from-bottom-2",
1465
- e
1466
- ),
1467
- ...t
1468
- }
1469
- ) }));
1470
- Xs.displayName = Qn.displayName;
1471
- const Zs = Y(({ className: e, inset: o, ...t }, n) => /* @__PURE__ */ l.jsx(
1472
- tr,
1473
- {
1474
- ref: n,
1475
- className: E(
1476
- "al-relative al-flex al-cursor-default al-select-none al-items-center al-gap-2 al-rounded-sm al-px-2 al-py-1.5 al-text-sm al-outline-none al-transition-colors focus:al-bg-accent focus:al-text-accent-foreground data-[disabled]:al-pointer-events-none data-[disabled]:al-opacity-50 [&_svg]:al-pointer-events-none [&_svg]:al-size-4 [&_svg]:al-shrink-0",
1477
- o && "al-pl-8",
1478
- e
1479
- ),
1480
- ...t
1481
- }
1482
- ));
1483
- Zs.displayName = tr.displayName;
1484
- const Js = Y(({ className: e, children: o, checked: t, ...n }, r) => /* @__PURE__ */ l.jsxs(
1485
- or,
1486
- {
1487
- ref: r,
1488
- className: E(
1489
- "al-relative al-flex al-cursor-default al-select-none al-items-center al-rounded-sm al-py-1.5 al-pl-8 al-pr-2 al-text-sm al-outline-none al-transition-colors focus:al-bg-accent focus:al-text-accent-foreground data-[disabled]:al-pointer-events-none data-[disabled]:al-opacity-50",
1490
- e
1491
- ),
1492
- checked: t,
1493
- ...n,
1494
- children: [
1495
- /* @__PURE__ */ l.jsx("span", { className: "al-absolute al-left-2 al-flex al-h-3.5 al-w-3.5 al-items-center al-justify-center", children: /* @__PURE__ */ l.jsx(rr, { children: /* @__PURE__ */ l.jsx(Mo, { className: "al-h-4 al-w-4" }) }) }),
1496
- o
1497
- ]
1498
- }
1499
- ));
1500
- Js.displayName = or.displayName;
1501
- const Qs = Y(({ className: e, children: o, ...t }, n) => /* @__PURE__ */ l.jsxs(
1502
- nr,
1503
- {
1504
- ref: n,
1505
- className: E(
1506
- "al-relative al-flex al-cursor-default al-select-none al-items-center al-rounded-sm al-py-1.5 al-pl-8 al-pr-2 al-text-sm al-outline-none al-transition-colors focus:al-bg-accent focus:al-text-accent-foreground data-[disabled]:al-pointer-events-none data-[disabled]:al-opacity-50",
1507
- e
1508
- ),
1509
- ...t,
1510
- children: [
1511
- /* @__PURE__ */ l.jsx("span", { className: "al-absolute al-left-2 al-flex al-h-3.5 al-w-3.5 al-items-center al-justify-center", children: /* @__PURE__ */ l.jsx(rr, { children: /* @__PURE__ */ l.jsx(Ha, { className: "al-h-2 al-w-2 al-fill-current" }) }) }),
1512
- o
1513
- ]
1514
- }
1515
- ));
1516
- Qs.displayName = nr.displayName;
1517
- const ei = Y(({ className: e, inset: o, ...t }, n) => /* @__PURE__ */ l.jsx(
1518
- er,
1519
- {
1520
- ref: n,
1521
- className: E("al-px-2 al-py-1.5 al-text-sm al-font-semibold", o && "al-pl-8", e),
1522
- ...t
1523
- }
1524
- ));
1525
- ei.displayName = er.displayName;
1526
- const ti = Y(({ className: e, ...o }, t) => /* @__PURE__ */ l.jsx(
1527
- ar,
1528
- {
1529
- ref: t,
1530
- className: E("al--mx-1 al-my-1 al-h-px al-bg-muted", e),
1531
- ...o
1532
- }
1533
- ));
1534
- ti.displayName = ar.displayName;
1535
- const oi = ({ className: e, ...o }) => /* @__PURE__ */ l.jsx(
1536
- "span",
1537
- {
1538
- className: E("al-ml-auto al-text-xs al-tracking-widest al-opacity-60", e),
1539
- ...o
1540
- }
1541
- );
1542
- oi.displayName = "DropdownMenuShortcut";
1543
- var Co = 1, ni = 0.9, ri = 0.8, ai = 0.17, xt = 0.1, yt = 0.999, li = 0.9999, si = 0.99, ii = /[\\\/_+.#"@\[\(\{&]/, ci = /[\\\/_+.#"@\[\(\{&]/g, di = /[\s-]/, ir = /[\s-]/g;
1544
- function Mt(e, o, t, n, r, s, i) {
1545
- if (s === o.length) return r === e.length ? Co : si;
1546
- var c = `${r},${s}`;
1547
- if (i[c] !== void 0) return i[c];
1548
- for (var d = n.charAt(s), u = t.indexOf(d, r), f = 0, p, x, y, g; u >= 0; ) p = Mt(e, o, t, n, u + 1, s + 1, i), p > f && (u === r ? p *= Co : ii.test(e.charAt(u - 1)) ? (p *= ri, y = e.slice(r, u - 1).match(ci), y && r > 0 && (p *= Math.pow(yt, y.length))) : di.test(e.charAt(u - 1)) ? (p *= ni, g = e.slice(r, u - 1).match(ir), g && r > 0 && (p *= Math.pow(yt, g.length))) : (p *= ai, r > 0 && (p *= Math.pow(yt, u - r))), e.charAt(u) !== o.charAt(s) && (p *= li)), (p < xt && t.charAt(u - 1) === n.charAt(s + 1) || n.charAt(s + 1) === n.charAt(s) && t.charAt(u - 1) !== n.charAt(s)) && (x = Mt(e, o, t, n, u + 1, s + 2, i), x * xt > p && (p = x * xt)), p > f && (f = p), u = t.indexOf(d, u + 1);
1549
- return i[c] = f, f;
1550
- }
1551
- function No(e) {
1552
- return e.toLowerCase().replace(ir, " ");
1553
- }
1554
- function ui(e, o, t) {
1555
- return e = t && t.length > 0 ? `${e + " " + t.join(" ")}` : e, Mt(e, o, No(e), No(o), 0, 0, {});
1556
- }
1557
- var Tt = { exports: {} }, wt = {};
1558
- /**
1559
- * @license React
1560
- * use-sync-external-store-shim.production.js
1561
- *
1562
- * Copyright (c) Meta Platforms, Inc. and affiliates.
1563
- *
1564
- * This source code is licensed under the MIT license found in the
1565
- * LICENSE file in the root directory of this source tree.
1566
- */
1567
- var _o;
1568
- function pi() {
1569
- if (_o) return wt;
1570
- _o = 1;
1571
- var e = U;
1572
- function o(p, x) {
1573
- return p === x && (p !== 0 || 1 / p === 1 / x) || p !== p && x !== x;
1574
- }
1575
- var t = typeof Object.is == "function" ? Object.is : o, n = e.useState, r = e.useEffect, s = e.useLayoutEffect, i = e.useDebugValue;
1576
- function c(p, x) {
1577
- var y = x(), g = n({ inst: { value: y, getSnapshot: x } }), m = g[0].inst, w = g[1];
1578
- return s(
1579
- function() {
1580
- m.value = y, m.getSnapshot = x, d(m) && w({ inst: m });
1581
- },
1582
- [p, y, x]
1583
- ), r(
1584
- function() {
1585
- return d(m) && w({ inst: m }), p(function() {
1586
- d(m) && w({ inst: m });
1587
- });
1588
- },
1589
- [p]
1590
- ), i(y), y;
1591
- }
1592
- function d(p) {
1593
- var x = p.getSnapshot;
1594
- p = p.value;
1595
- try {
1596
- var y = x();
1597
- return !t(p, y);
1598
- } catch {
1599
- return !0;
1600
- }
1601
- }
1602
- function u(p, x) {
1603
- return x();
1604
- }
1605
- var f = typeof window > "u" || typeof window.document > "u" || typeof window.document.createElement > "u" ? u : c;
1606
- return wt.useSyncExternalStore = e.useSyncExternalStore !== void 0 ? e.useSyncExternalStore : f, wt;
1607
- }
1608
- var bt = {};
1609
- /**
1610
- * @license React
1611
- * use-sync-external-store-shim.development.js
1612
- *
1613
- * Copyright (c) Meta Platforms, Inc. and affiliates.
1614
- *
1615
- * This source code is licensed under the MIT license found in the
1616
- * LICENSE file in the root directory of this source tree.
1617
- */
1618
- var Ro;
1619
- function fi() {
1620
- return Ro || (Ro = 1, process.env.NODE_ENV !== "production" && function() {
1621
- function e(y, g) {
1622
- return y === g && (y !== 0 || 1 / y === 1 / g) || y !== y && g !== g;
1623
- }
1624
- function o(y, g) {
1625
- f || r.startTransition === void 0 || (f = !0, console.error(
1626
- "You are using an outdated, pre-release alpha of React 18 that does not support useSyncExternalStore. The use-sync-external-store shim will not work correctly. Upgrade to a newer pre-release."
1627
- ));
1628
- var m = g();
1629
- if (!p) {
1630
- var w = g();
1631
- s(m, w) || (console.error(
1632
- "The result of getSnapshot should be cached to avoid an infinite loop"
1633
- ), p = !0);
1634
- }
1635
- w = i({
1636
- inst: { value: m, getSnapshot: g }
1637
- });
1638
- var S = w[0].inst, h = w[1];
1639
- return d(
1640
- function() {
1641
- S.value = m, S.getSnapshot = g, t(S) && h({ inst: S });
1642
- },
1643
- [y, m, g]
1644
- ), c(
1645
- function() {
1646
- return t(S) && h({ inst: S }), y(function() {
1647
- t(S) && h({ inst: S });
1648
- });
1649
- },
1650
- [y]
1651
- ), u(m), m;
1652
- }
1653
- function t(y) {
1654
- var g = y.getSnapshot;
1655
- y = y.value;
1656
- try {
1657
- var m = g();
1658
- return !s(y, m);
1659
- } catch {
1660
- return !0;
1661
- }
1662
- }
1663
- function n(y, g) {
1664
- return g();
1665
- }
1666
- typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ < "u" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart == "function" && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());
1667
- var r = U, s = typeof Object.is == "function" ? Object.is : e, i = r.useState, c = r.useEffect, d = r.useLayoutEffect, u = r.useDebugValue, f = !1, p = !1, x = typeof window > "u" || typeof window.document > "u" || typeof window.document.createElement > "u" ? n : o;
1668
- bt.useSyncExternalStore = r.useSyncExternalStore !== void 0 ? r.useSyncExternalStore : x, typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ < "u" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop == "function" && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());
1669
- }()), bt;
1670
- }
1671
- process.env.NODE_ENV === "production" ? Tt.exports = pi() : Tt.exports = fi();
1672
- var mi = Tt.exports, Pe = '[cmdk-group=""]', St = '[cmdk-group-items=""]', gi = '[cmdk-group-heading=""]', po = '[cmdk-item=""]', Eo = `${po}:not([aria-disabled="true"])`, Pt = "cmdk-item-select", we = "data-value", vi = (e, o, t) => ui(e, o, t), cr = a.createContext(void 0), Ue = () => a.useContext(cr), dr = a.createContext(void 0), fo = () => a.useContext(dr), ur = a.createContext(void 0), pr = a.forwardRef((e, o) => {
1673
- let t = Ee(() => {
1674
- var v, I;
1675
- return { search: "", value: (I = (v = e.value) != null ? v : e.defaultValue) != null ? I : "", filtered: { count: 0, items: /* @__PURE__ */ new Map(), groups: /* @__PURE__ */ new Set() } };
1676
- }), n = Ee(() => /* @__PURE__ */ new Set()), r = Ee(() => /* @__PURE__ */ new Map()), s = Ee(() => /* @__PURE__ */ new Map()), i = Ee(() => /* @__PURE__ */ new Set()), c = fr(e), { label: d, children: u, value: f, onValueChange: p, filter: x, shouldFilter: y, loop: g, disablePointerSelection: m = !1, vimBindings: w = !0, ...S } = e, h = ee(), C = ee(), F = ee(), k = a.useRef(null), j = Ei();
1677
- Se(() => {
1678
- if (f !== void 0) {
1679
- let v = f.trim();
1680
- t.current.value = v, A.emit();
1681
- }
1682
- }, [f]), Se(() => {
1683
- j(6, oe);
1684
- }, []);
1685
- let A = a.useMemo(() => ({ subscribe: (v) => (i.current.add(v), () => i.current.delete(v)), snapshot: () => t.current, setState: (v, I, D) => {
1686
- var N, P, b;
1687
- if (!Object.is(t.current[v], I)) {
1688
- if (t.current[v] = I, v === "search") X(), W(), j(1, q);
1689
- else if (v === "value" && (D || j(5, oe), ((N = c.current) == null ? void 0 : N.value) !== void 0)) {
1690
- let M = I ?? "";
1691
- (b = (P = c.current).onValueChange) == null || b.call(P, M);
1692
- return;
1693
- }
1694
- A.emit();
1695
- }
1696
- }, emit: () => {
1697
- i.current.forEach((v) => v());
1698
- } }), []), O = a.useMemo(() => ({ value: (v, I, D) => {
1699
- var N;
1700
- I !== ((N = s.current.get(v)) == null ? void 0 : N.value) && (s.current.set(v, { value: I, keywords: D }), t.current.filtered.items.set(v, H(I, D)), j(2, () => {
1701
- W(), A.emit();
1702
- }));
1703
- }, item: (v, I) => (n.current.add(v), I && (r.current.has(I) ? r.current.get(I).add(v) : r.current.set(I, /* @__PURE__ */ new Set([v]))), j(3, () => {
1704
- X(), W(), t.current.value || q(), A.emit();
1705
- }), () => {
1706
- s.current.delete(v), n.current.delete(v), t.current.filtered.items.delete(v);
1707
- let D = z();
1708
- j(4, () => {
1709
- X(), (D == null ? void 0 : D.getAttribute("id")) === v && q(), A.emit();
1710
- });
1711
- }), group: (v) => (r.current.has(v) || r.current.set(v, /* @__PURE__ */ new Set()), () => {
1712
- s.current.delete(v), r.current.delete(v);
1713
- }), filter: () => c.current.shouldFilter, label: d || e["aria-label"], getDisablePointerSelection: () => c.current.disablePointerSelection, listId: h, inputId: F, labelId: C, listInnerRef: k }), []);
1714
- function H(v, I) {
1715
- var D, N;
1716
- let P = (N = (D = c.current) == null ? void 0 : D.filter) != null ? N : vi;
1717
- return v ? P(v, t.current.search, I) : 0;
1718
- }
1719
- function W() {
1720
- if (!t.current.search || c.current.shouldFilter === !1) return;
1721
- let v = t.current.filtered.items, I = [];
1722
- t.current.filtered.groups.forEach((N) => {
1723
- let P = r.current.get(N), b = 0;
1724
- P.forEach((M) => {
1725
- let $ = v.get(M);
1726
- b = Math.max($, b);
1727
- }), I.push([N, b]);
1728
- });
1729
- let D = k.current;
1730
- Z().sort((N, P) => {
1731
- var b, M;
1732
- let $ = N.getAttribute("id"), L = P.getAttribute("id");
1733
- return ((b = v.get(L)) != null ? b : 0) - ((M = v.get($)) != null ? M : 0);
1734
- }).forEach((N) => {
1735
- let P = N.closest(St);
1736
- P ? P.appendChild(N.parentElement === P ? N : N.closest(`${St} > *`)) : D.appendChild(N.parentElement === D ? N : N.closest(`${St} > *`));
1737
- }), I.sort((N, P) => P[1] - N[1]).forEach((N) => {
1738
- var P;
1739
- let b = (P = k.current) == null ? void 0 : P.querySelector(`${Pe}[${we}="${encodeURIComponent(N[0])}"]`);
1740
- b == null || b.parentElement.appendChild(b);
1741
- });
1742
- }
1743
- function q() {
1744
- let v = Z().find((D) => D.getAttribute("aria-disabled") !== "true"), I = v == null ? void 0 : v.getAttribute(we);
1745
- A.setState("value", I || void 0);
1746
- }
1747
- function X() {
1748
- var v, I, D, N;
1749
- if (!t.current.search || c.current.shouldFilter === !1) {
1750
- t.current.filtered.count = n.current.size;
1751
- return;
1752
- }
1753
- t.current.filtered.groups = /* @__PURE__ */ new Set();
1754
- let P = 0;
1755
- for (let b of n.current) {
1756
- let M = (I = (v = s.current.get(b)) == null ? void 0 : v.value) != null ? I : "", $ = (N = (D = s.current.get(b)) == null ? void 0 : D.keywords) != null ? N : [], L = H(M, $);
1757
- t.current.filtered.items.set(b, L), L > 0 && P++;
1758
- }
1759
- for (let [b, M] of r.current) for (let $ of M) if (t.current.filtered.items.get($) > 0) {
1760
- t.current.filtered.groups.add(b);
1761
- break;
1762
- }
1763
- t.current.filtered.count = P;
1764
- }
1765
- function oe() {
1766
- var v, I, D;
1767
- let N = z();
1768
- N && (((v = N.parentElement) == null ? void 0 : v.firstChild) === N && ((D = (I = N.closest(Pe)) == null ? void 0 : I.querySelector(gi)) == null || D.scrollIntoView({ block: "nearest" })), N.scrollIntoView({ block: "nearest" }));
1769
- }
1770
- function z() {
1771
- var v;
1772
- return (v = k.current) == null ? void 0 : v.querySelector(`${po}[aria-selected="true"]`);
1773
- }
1774
- function Z() {
1775
- var v;
1776
- return Array.from(((v = k.current) == null ? void 0 : v.querySelectorAll(Eo)) || []);
1777
- }
1778
- function V(v) {
1779
- let I = Z()[v];
1780
- I && A.setState("value", I.getAttribute(we));
1781
- }
1782
- function ne(v) {
1783
- var I;
1784
- let D = z(), N = Z(), P = N.findIndex((M) => M === D), b = N[P + v];
1785
- (I = c.current) != null && I.loop && (b = P + v < 0 ? N[N.length - 1] : P + v === N.length ? N[0] : N[P + v]), b && A.setState("value", b.getAttribute(we));
1786
- }
1787
- function J(v) {
1788
- let I = z(), D = I == null ? void 0 : I.closest(Pe), N;
1789
- for (; D && !N; ) D = v > 0 ? _i(D, Pe) : Ri(D, Pe), N = D == null ? void 0 : D.querySelector(Eo);
1790
- N ? A.setState("value", N.getAttribute(we)) : ne(v);
1791
- }
1792
- let R = () => V(Z().length - 1), Q = (v) => {
1793
- v.preventDefault(), v.metaKey ? R() : v.altKey ? J(1) : ne(1);
1794
- }, te = (v) => {
1795
- v.preventDefault(), v.metaKey ? V(0) : v.altKey ? J(-1) : ne(-1);
1796
- };
1797
- return a.createElement(T.div, { ref: o, tabIndex: -1, ...S, "cmdk-root": "", onKeyDown: (v) => {
1798
- var I;
1799
- if ((I = S.onKeyDown) == null || I.call(S, v), !v.defaultPrevented) switch (v.key) {
1800
- case "n":
1801
- case "j": {
1802
- w && v.ctrlKey && Q(v);
1803
- break;
1804
- }
1805
- case "ArrowDown": {
1806
- Q(v);
1807
- break;
1808
- }
1809
- case "p":
1810
- case "k": {
1811
- w && v.ctrlKey && te(v);
1812
- break;
1813
- }
1814
- case "ArrowUp": {
1815
- te(v);
1816
- break;
1817
- }
1818
- case "Home": {
1819
- v.preventDefault(), V(0);
1820
- break;
1821
- }
1822
- case "End": {
1823
- v.preventDefault(), R();
1824
- break;
1825
- }
1826
- case "Enter":
1827
- if (!v.nativeEvent.isComposing && v.keyCode !== 229) {
1828
- v.preventDefault();
1829
- let D = z();
1830
- if (D) {
1831
- let N = new Event(Pt);
1832
- D.dispatchEvent(N);
1833
- }
1834
- }
1835
- }
1836
- } }, a.createElement("label", { "cmdk-label": "", htmlFor: O.inputId, id: O.labelId, style: Di }, d), it(e, (v) => a.createElement(dr.Provider, { value: A }, a.createElement(cr.Provider, { value: O }, v))));
1837
- }), hi = a.forwardRef((e, o) => {
1838
- var t, n;
1839
- let r = ee(), s = a.useRef(null), i = a.useContext(ur), c = Ue(), d = fr(e), u = (n = (t = d.current) == null ? void 0 : t.forceMount) != null ? n : i == null ? void 0 : i.forceMount;
1840
- Se(() => {
1841
- if (!u) return c.item(r, i == null ? void 0 : i.id);
1842
- }, [u]);
1843
- let f = mr(r, s, [e.value, e.children, s], e.keywords), p = fo(), x = Ce((j) => j.value && j.value === f.current), y = Ce((j) => u || c.filter() === !1 ? !0 : j.search ? j.filtered.items.get(r) > 0 : !0);
1844
- a.useEffect(() => {
1845
- let j = s.current;
1846
- if (!(!j || e.disabled)) return j.addEventListener(Pt, g), () => j.removeEventListener(Pt, g);
1847
- }, [y, e.onSelect, e.disabled]);
1848
- function g() {
1849
- var j, A;
1850
- m(), (A = (j = d.current).onSelect) == null || A.call(j, f.current);
1851
- }
1852
- function m() {
1853
- p.setState("value", f.current, !0);
1854
- }
1855
- if (!y) return null;
1856
- let { disabled: w, value: S, onSelect: h, forceMount: C, keywords: F, ...k } = e;
1857
- return a.createElement(T.div, { ref: Fe([s, o]), ...k, id: r, "cmdk-item": "", role: "option", "aria-disabled": !!w, "aria-selected": !!x, "data-disabled": !!w, "data-selected": !!x, onPointerMove: w || c.getDisablePointerSelection() ? void 0 : m, onClick: w ? void 0 : g }, e.children);
1858
- }), xi = a.forwardRef((e, o) => {
1859
- let { heading: t, children: n, forceMount: r, ...s } = e, i = ee(), c = a.useRef(null), d = a.useRef(null), u = ee(), f = Ue(), p = Ce((y) => r || f.filter() === !1 ? !0 : y.search ? y.filtered.groups.has(i) : !0);
1860
- Se(() => f.group(i), []), mr(i, c, [e.value, e.heading, d]);
1861
- let x = a.useMemo(() => ({ id: i, forceMount: r }), [r]);
1862
- return a.createElement(T.div, { ref: Fe([c, o]), ...s, "cmdk-group": "", role: "presentation", hidden: p ? void 0 : !0 }, t && a.createElement("div", { ref: d, "cmdk-group-heading": "", "aria-hidden": !0, id: u }, t), it(e, (y) => a.createElement("div", { "cmdk-group-items": "", role: "group", "aria-labelledby": t ? u : void 0 }, a.createElement(ur.Provider, { value: x }, y))));
1863
- }), yi = a.forwardRef((e, o) => {
1864
- let { alwaysRender: t, ...n } = e, r = a.useRef(null), s = Ce((i) => !i.search);
1865
- return !t && !s ? null : a.createElement(T.div, { ref: Fe([r, o]), ...n, "cmdk-separator": "", role: "separator" });
1866
- }), wi = a.forwardRef((e, o) => {
1867
- let { onValueChange: t, ...n } = e, r = e.value != null, s = fo(), i = Ce((f) => f.search), c = Ce((f) => f.value), d = Ue(), u = a.useMemo(() => {
1868
- var f;
1869
- let p = (f = d.listInnerRef.current) == null ? void 0 : f.querySelector(`${po}[${we}="${encodeURIComponent(c)}"]`);
1870
- return p == null ? void 0 : p.getAttribute("id");
1871
- }, []);
1872
- return a.useEffect(() => {
1873
- e.value != null && s.setState("search", e.value);
1874
- }, [e.value]), a.createElement(T.input, { ref: o, ...n, "cmdk-input": "", autoComplete: "off", autoCorrect: "off", spellCheck: !1, "aria-autocomplete": "list", role: "combobox", "aria-expanded": !0, "aria-controls": d.listId, "aria-labelledby": d.labelId, "aria-activedescendant": u, id: d.inputId, type: "text", value: r ? e.value : i, onChange: (f) => {
1875
- r || s.setState("search", f.target.value), t == null || t(f.target.value);
1876
- } });
1877
- }), bi = a.forwardRef((e, o) => {
1878
- let { children: t, label: n = "Suggestions", ...r } = e, s = a.useRef(null), i = a.useRef(null), c = Ue();
1879
- return a.useEffect(() => {
1880
- if (i.current && s.current) {
1881
- let d = i.current, u = s.current, f, p = new ResizeObserver(() => {
1882
- f = requestAnimationFrame(() => {
1883
- let x = d.offsetHeight;
1884
- u.style.setProperty("--cmdk-list-height", x.toFixed(1) + "px");
1885
- });
1886
- });
1887
- return p.observe(d), () => {
1888
- cancelAnimationFrame(f), p.unobserve(d);
1889
- };
1890
- }
1891
- }, []), a.createElement(T.div, { ref: Fe([s, o]), ...r, "cmdk-list": "", role: "listbox", "aria-label": n, id: c.listId }, it(e, (d) => a.createElement("div", { ref: Fe([i, c.listInnerRef]), "cmdk-list-sizer": "" }, d)));
1892
- }), Si = a.forwardRef((e, o) => {
1893
- let { open: t, onOpenChange: n, overlayClassName: r, contentClassName: s, container: i, ...c } = e;
1894
- return a.createElement(ot, { open: t, onOpenChange: n }, a.createElement(nt, { container: i }, a.createElement(De, { "cmdk-overlay": "", className: r }), a.createElement(Ae, { "aria-label": e.label, "cmdk-dialog": "", className: s }, a.createElement(pr, { ref: o, ...c }))));
1895
- }), Ci = a.forwardRef((e, o) => Ce((t) => t.filtered.count === 0) ? a.createElement(T.div, { ref: o, ...e, "cmdk-empty": "", role: "presentation" }) : null), Ni = a.forwardRef((e, o) => {
1896
- let { progress: t, children: n, label: r = "Loading...", ...s } = e;
1897
- return a.createElement(T.div, { ref: o, ...s, "cmdk-loading": "", role: "progressbar", "aria-valuenow": t, "aria-valuemin": 0, "aria-valuemax": 100, "aria-label": r }, it(e, (i) => a.createElement("div", { "aria-hidden": !0 }, i)));
1898
- }), ae = Object.assign(pr, { List: bi, Item: hi, Input: wi, Group: xi, Separator: yi, Dialog: Si, Empty: Ci, Loading: Ni });
1899
- function _i(e, o) {
1900
- let t = e.nextElementSibling;
1901
- for (; t; ) {
1902
- if (t.matches(o)) return t;
1903
- t = t.nextElementSibling;
1904
- }
1905
- }
1906
- function Ri(e, o) {
1907
- let t = e.previousElementSibling;
1908
- for (; t; ) {
1909
- if (t.matches(o)) return t;
1910
- t = t.previousElementSibling;
1911
- }
1912
- }
1913
- function fr(e) {
1914
- let o = a.useRef(e);
1915
- return Se(() => {
1916
- o.current = e;
1917
- }), o;
1918
- }
1919
- var Se = typeof window > "u" ? a.useEffect : a.useLayoutEffect;
1920
- function Ee(e) {
1921
- let o = a.useRef();
1922
- return o.current === void 0 && (o.current = e()), o;
1923
- }
1924
- function Fe(e) {
1925
- return (o) => {
1926
- e.forEach((t) => {
1927
- typeof t == "function" ? t(o) : t != null && (t.current = o);
1928
- });
1929
- };
1930
- }
1931
- function Ce(e) {
1932
- let o = fo(), t = () => e(o.snapshot());
1933
- return mi.useSyncExternalStore(o.subscribe, t, t);
1934
- }
1935
- function mr(e, o, t, n = []) {
1936
- let r = a.useRef(), s = Ue();
1937
- return Se(() => {
1938
- var i;
1939
- let c = (() => {
1940
- var u;
1941
- for (let f of t) {
1942
- if (typeof f == "string") return f.trim();
1943
- if (typeof f == "object" && "current" in f) return f.current ? (u = f.current.textContent) == null ? void 0 : u.trim() : r.current;
1944
- }
1945
- })(), d = n.map((u) => u.trim());
1946
- s.value(e, c, d), (i = o.current) == null || i.setAttribute(we, c), r.current = c;
1947
- }), r;
1948
- }
1949
- var Ei = () => {
1950
- let [e, o] = a.useState(), t = Ee(() => /* @__PURE__ */ new Map());
1951
- return Se(() => {
1952
- t.current.forEach((n) => n()), t.current = /* @__PURE__ */ new Map();
1953
- }, [e]), (n, r) => {
1954
- t.current.set(n, r), o({});
1955
- };
1956
- };
1957
- function Ii(e) {
1958
- let o = e.type;
1959
- return typeof o == "function" ? o(e.props) : "render" in o ? o.render(e.props) : e;
1960
- }
1961
- function it({ asChild: e, children: o }, t) {
1962
- return e && a.isValidElement(o) ? a.cloneElement(Ii(o), { ref: o.ref }, t(o.props.children)) : t(o);
1963
- }
1964
- var Di = { position: "absolute", width: "1px", height: "1px", padding: "0", margin: "-1px", overflow: "hidden", clip: "rect(0, 0, 0, 0)", whiteSpace: "nowrap", borderWidth: "0" };
1965
- const Ai = ot, kd = to, Mi = nt, $d = Me, gr = Y(({ className: e, ...o }, t) => /* @__PURE__ */ l.jsx(
1966
- De,
1967
- {
1968
- ref: t,
1969
- className: E(
1970
- "al-fixed al-inset-0 al-z-50 al-bg-black/80 al- data-[state=open]:al-animate-in data-[state=closed]:al-animate-out data-[state=closed]:al-fade-out-0 data-[state=open]:al-fade-in-0",
1971
- e
1972
- ),
1973
- ...o
1974
- }
1975
- ));
1976
- gr.displayName = De.displayName;
1977
- const vr = Y(({ className: e, children: o, ...t }, n) => /* @__PURE__ */ l.jsxs(Mi, { children: [
1978
- /* @__PURE__ */ l.jsx(gr, {}),
1979
- /* @__PURE__ */ l.jsxs(
1980
- Ae,
1981
- {
1982
- ref: n,
1983
- className: E(
1984
- "al-fixed al-left-[50%] al-top-[50%] al-z-50 al-grid al-w-full al-max-w-lg al-translate-x-[-50%] al-translate-y-[-50%] al-gap-4 al-border al-bg-background al-p-6 al-shadow-lg al-duration-200 data-[state=open]:al-animate-in data-[state=closed]:al-animate-out data-[state=closed]:al-fade-out-0 data-[state=open]:al-fade-in-0 data-[state=closed]:al-zoom-out-95 data-[state=open]:al-zoom-in-95 data-[state=closed]:al-slide-out-to-left-1/2 data-[state=closed]:al-slide-out-to-top-[48%] data-[state=open]:al-slide-in-from-left-1/2 data-[state=open]:al-slide-in-from-top-[48%] sm:al-rounded-lg",
1985
- e
1986
- ),
1987
- ...t,
1988
- children: [
1989
- o,
1990
- /* @__PURE__ */ l.jsxs(Me, { className: "al-absolute al-right-4 al-top-4 al-rounded-sm al-opacity-70 al-ring-offset-background al-transition-opacity hover:al-opacity-100 focus:al-outline-none focus:al-ring-2 focus:al-ring-ring focus:al-ring-offset-2 disabled:al-pointer-events-none data-[state=open]:al-bg-accent data-[state=open]:al-text-muted-foreground", children: [
1991
- /* @__PURE__ */ l.jsx(Ao, { className: "al-h-4 al-w-4" }),
1992
- /* @__PURE__ */ l.jsx("span", { className: "al-sr-only", children: "Close" })
1993
- ] })
1994
- ]
1995
- }
1996
- )
1997
- ] }));
1998
- vr.displayName = Ae.displayName;
1999
- const Ti = ({ className: e, ...o }) => /* @__PURE__ */ l.jsx(
2000
- "div",
2001
- {
2002
- className: E("al-flex al-flex-col al-space-y-1.5 al-text-center sm:al-text-left", e),
2003
- ...o
2004
- }
2005
- );
2006
- Ti.displayName = "DialogHeader";
2007
- const Pi = ({ className: e, ...o }) => /* @__PURE__ */ l.jsx(
2008
- "div",
2009
- {
2010
- className: E(
2011
- "al-flex al-flex-col-reverse sm:al-flex-row sm:al-justify-end sm:al-space-x-2",
2012
- e
2013
- ),
2014
- ...o
2015
- }
2016
- );
2017
- Pi.displayName = "DialogFooter";
2018
- const ji = Y(({ className: e, ...o }, t) => /* @__PURE__ */ l.jsx(
2019
- Ge,
2020
- {
2021
- ref: t,
2022
- className: E("al-text-lg al-font-semibold al-leading-none al-tracking-tight", e),
2023
- ...o
2024
- }
2025
- ));
2026
- ji.displayName = Ge.displayName;
2027
- const Oi = Y(({ className: e, ...o }, t) => /* @__PURE__ */ l.jsx(
2028
- Be,
2029
- {
2030
- ref: t,
2031
- className: E("al-text-sm al-text-muted-foreground", e),
2032
- ...o
2033
- }
2034
- ));
2035
- Oi.displayName = Be.displayName;
2036
- const hr = Y(({ className: e, ...o }, t) => /* @__PURE__ */ l.jsx(
2037
- ae,
2038
- {
2039
- ref: t,
2040
- className: E(
2041
- "al-flex al-h-full al-w-full al-flex-col al-overflow-hidden al-rounded-md al-bg-popover al-text-popover-foreground",
2042
- e
2043
- ),
2044
- ...o
2045
- }
2046
- ));
2047
- hr.displayName = ae.displayName;
2048
- const Ld = ({ children: e, ...o }) => /* @__PURE__ */ l.jsx(Ai, { ...o, children: /* @__PURE__ */ l.jsx(vr, { className: "al-overflow-hidden al-p-0 al-shadow-lg", children: /* @__PURE__ */ l.jsx(hr, { className: "[&_[cmdk-group-heading]]:al-px-2 [&_[cmdk-group-heading]]:al-font-medium [&_[cmdk-group-heading]]:al-text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:al-pt-0 [&_[cmdk-group]]:al-px-2 [&_[cmdk-input-wrapper]_svg]:al-h-5 [&_[cmdk-input-wrapper]_svg]:al-w-5 [&_[cmdk-input]]:al-h-12 [&_[cmdk-item]]:al-px-2 [&_[cmdk-item]]:al-py-3 [&_[cmdk-item]_svg]:al-h-5 [&_[cmdk-item]_svg]:al-w-5", children: e }) }) }), ki = Y(({ className: e, ...o }, t) => (
2049
- // eslint-disable-next-line react/no-unknown-property
2050
- /* @__PURE__ */ l.jsxs("div", { className: "al-flex al-items-center al-border-b al-px-3", "cmdk-input-wrapper": "", children: [
2051
- /* @__PURE__ */ l.jsx(Wa, { className: "al-mr-2 al-h-4 al-w-4 al-shrink-0 al-opacity-50" }),
2052
- /* @__PURE__ */ l.jsx(
2053
- ae.Input,
2054
- {
2055
- ref: t,
2056
- className: E(
2057
- "al-flex al-h-11 al-w-full al-rounded-md al-bg-transparent al-py-3 al-text-sm al-outline-none placeholder:al-text-muted-foreground disabled:al-cursor-not-allowed disabled:al-opacity-50",
2058
- e
2059
- ),
2060
- ...o
2061
- }
2062
- )
2063
- ] })
2064
- ));
2065
- ki.displayName = ae.Input.displayName;
2066
- const $i = Y(({ className: e, ...o }, t) => /* @__PURE__ */ l.jsx(
2067
- ae.List,
2068
- {
2069
- ref: t,
2070
- className: E("al-max-h-[300px] al-overflow-y-auto al-overflow-x-hidden", e),
2071
- ...o
2072
- }
2073
- ));
2074
- $i.displayName = ae.List.displayName;
2075
- const Li = Y((e, o) => /* @__PURE__ */ l.jsx(ae.Empty, { ref: o, className: "al-py-6 al-text-center al-text-sm", ...e }));
2076
- Li.displayName = ae.Empty.displayName;
2077
- const Fi = Y(({ className: e, ...o }, t) => /* @__PURE__ */ l.jsx(
2078
- ae.Group,
2079
- {
2080
- ref: t,
2081
- className: E(
2082
- "al-overflow-hidden al-p-1 al-text-foreground [&_[cmdk-group-heading]]:al-px-2 [&_[cmdk-group-heading]]:al-py-1.5 [&_[cmdk-group-heading]]:al-text-xs [&_[cmdk-group-heading]]:al-font-medium [&_[cmdk-group-heading]]:al-text-muted-foreground",
2083
- e
2084
- ),
2085
- ...o
2086
- }
2087
- ));
2088
- Fi.displayName = ae.Group.displayName;
2089
- const Vi = Y(({ className: e, ...o }, t) => /* @__PURE__ */ l.jsx(
2090
- ae.Separator,
2091
- {
2092
- ref: t,
2093
- className: E("al--mx-1 al-h-px al-bg-border", e),
2094
- ...o
2095
- }
2096
- ));
2097
- Vi.displayName = ae.Separator.displayName;
2098
- const Gi = Y(({ className: e, ...o }, t) => /* @__PURE__ */ l.jsx(
2099
- ae.Item,
2100
- {
2101
- ref: t,
2102
- role: "option",
2103
- className: E(
2104
- "al-relative al-flex al-cursor-default al-gap-2 al-select-none al-items-center al-rounded-sm al-px-2 al-py-1.5 al-text-sm al-outline-none data-[disabled=true]:al-pointer-events-none data-[selected=true]:al-bg-accent data-[selected=true]:al-text-accent-foreground data-[disabled=true]:al-opacity-50 [&_svg]:al-pointer-events-none [&_svg]:al-size-4 [&_svg]:al-shrink-0",
2105
- e
2106
- ),
2107
- ...o
2108
- }
2109
- ));
2110
- Gi.displayName = ae.Item.displayName;
2111
- const Bi = ({ className: e, ...o }) => /* @__PURE__ */ l.jsx(
2112
- "span",
2113
- {
2114
- className: E("al-ml-auto al-text-xs al-tracking-widest al-text-muted-foreground", e),
2115
- ...o
2116
- }
2117
- );
2118
- Bi.displayName = "CommandShortcut";
2119
- const Ki = qt(
2120
- "al-inline-flex al-items-center al-rounded-full al-border al-px-2.5 al-py-0.5 al-text-xs al-font-semibold al-transition-colors focus:al-outline-none focus:al-ring-2 focus:al-ring-ring focus:al-ring-offset-2",
2121
- {
2122
- variants: {
2123
- variant: {
2124
- default: "al-border-transparent al-bg-primary al-text-primary-foreground hover:al-bg-primary/80",
2125
- secondary: "al-border-transparent al-bg-secondary al-text-secondary-foreground hover:al-bg-secondary/80",
2126
- destructive: "al-border-transparent al-bg-destructive al-text-destructive-foreground hover:al-bg-destructive/80",
2127
- outline: "al-text-foreground"
2128
- },
2129
- interactive: {
2130
- true: "al-cursor-pointer focus:al-ring-2 focus:al-ring-ring focus:al-ring-offset-2",
2131
- false: "al-cursor-default"
2132
- }
2133
- },
2134
- defaultVariants: {
2135
- variant: "default",
2136
- interactive: !1
2137
- }
2138
- }
2139
- );
2140
- function Fd({
2141
- className: e,
2142
- variant: o,
2143
- interactive: t = !0,
2144
- onAction: n,
2145
- children: r,
2146
- role: s = "status",
2147
- tabIndex: i,
2148
- onKeyDown: c,
2149
- ...d
2150
- }) {
2151
- const u = (f) => {
2152
- t && n && (f.key === "Enter" || f.key === " ") && (f.preventDefault(), n()), c == null || c(f);
2153
- };
2154
- return /* @__PURE__ */ l.jsx(
2155
- "div",
2156
- {
2157
- className: E(Ki({ variant: o, interactive: t }), e),
2158
- role: t ? "button" : s,
2159
- tabIndex: t ? 0 : i,
2160
- onKeyDown: u,
2161
- onClick: t ? n : void 0,
2162
- "aria-disabled": t && !n,
2163
- ...d,
2164
- children: r
2165
- }
2166
- );
2167
- }
2168
- var mo = "Collapsible", [Hi, xr] = ue(mo), [Wi, go] = Hi(mo), yr = a.forwardRef(
2169
- (e, o) => {
2170
- const {
2171
- __scopeCollapsible: t,
2172
- open: n,
2173
- defaultOpen: r,
2174
- disabled: s,
2175
- onOpenChange: i,
2176
- ...c
2177
- } = e, [d = !1, u] = ce({
2178
- prop: n,
2179
- defaultProp: r,
2180
- onChange: i
2181
- });
2182
- return /* @__PURE__ */ l.jsx(
2183
- Wi,
2184
- {
2185
- scope: t,
2186
- disabled: s,
2187
- contentId: ee(),
2188
- open: d,
2189
- onOpenToggle: a.useCallback(() => u((f) => !f), [u]),
2190
- children: /* @__PURE__ */ l.jsx(
2191
- T.div,
2192
- {
2193
- "data-state": ho(d),
2194
- "data-disabled": s ? "" : void 0,
2195
- ...c,
2196
- ref: o
2197
- }
2198
- )
2199
- }
2200
- );
2201
- }
2202
- );
2203
- yr.displayName = mo;
2204
- var wr = "CollapsibleTrigger", br = a.forwardRef(
2205
- (e, o) => {
2206
- const { __scopeCollapsible: t, ...n } = e, r = go(wr, t);
2207
- return /* @__PURE__ */ l.jsx(
2208
- T.button,
2209
- {
2210
- type: "button",
2211
- "aria-controls": r.contentId,
2212
- "aria-expanded": r.open || !1,
2213
- "data-state": ho(r.open),
2214
- "data-disabled": r.disabled ? "" : void 0,
2215
- disabled: r.disabled,
2216
- ...n,
2217
- ref: o,
2218
- onClick: _(e.onClick, r.onOpenToggle)
2219
- }
2220
- );
2221
- }
2222
- );
2223
- br.displayName = wr;
2224
- var vo = "CollapsibleContent", Sr = a.forwardRef(
2225
- (e, o) => {
2226
- const { forceMount: t, ...n } = e, r = go(vo, e.__scopeCollapsible);
2227
- return /* @__PURE__ */ l.jsx(me, { present: t || r.open, children: ({ present: s }) => /* @__PURE__ */ l.jsx(Ui, { ...n, ref: o, present: s }) });
2228
- }
2229
- );
2230
- Sr.displayName = vo;
2231
- var Ui = a.forwardRef((e, o) => {
2232
- const { __scopeCollapsible: t, present: n, children: r, ...s } = e, i = go(vo, t), [c, d] = a.useState(n), u = a.useRef(null), f = K(o, u), p = a.useRef(0), x = p.current, y = a.useRef(0), g = y.current, m = i.open || c, w = a.useRef(m), S = a.useRef(void 0);
2233
- return a.useEffect(() => {
2234
- const h = requestAnimationFrame(() => w.current = !1);
2235
- return () => cancelAnimationFrame(h);
2236
- }, []), de(() => {
2237
- const h = u.current;
2238
- if (h) {
2239
- S.current = S.current || {
2240
- transitionDuration: h.style.transitionDuration,
2241
- animationName: h.style.animationName
2242
- }, h.style.transitionDuration = "0s", h.style.animationName = "none";
2243
- const C = h.getBoundingClientRect();
2244
- p.current = C.height, y.current = C.width, w.current || (h.style.transitionDuration = S.current.transitionDuration, h.style.animationName = S.current.animationName), d(n);
2245
- }
2246
- }, [i.open, n]), /* @__PURE__ */ l.jsx(
2247
- T.div,
2248
- {
2249
- "data-state": ho(i.open),
2250
- "data-disabled": i.disabled ? "" : void 0,
2251
- id: i.contentId,
2252
- hidden: !m,
2253
- ...s,
2254
- ref: f,
2255
- style: {
2256
- "--radix-collapsible-content-height": x ? `${x}px` : void 0,
2257
- "--radix-collapsible-content-width": g ? `${g}px` : void 0,
2258
- ...e.style
2259
- },
2260
- children: m && r
2261
- }
2262
- );
2263
- });
2264
- function ho(e) {
2265
- return e ? "open" : "closed";
2266
- }
2267
- var zi = yr, Yi = br, qi = Sr, pe = "Accordion", Xi = ["Home", "End", "ArrowDown", "ArrowUp", "ArrowLeft", "ArrowRight"], [xo, Zi, Ji] = rt(pe), [ct, Vd] = ue(pe, [
2268
- Ji,
2269
- xr
2270
- ]), yo = xr(), Cr = U.forwardRef(
2271
- (e, o) => {
2272
- const { type: t, ...n } = e, r = n, s = n;
2273
- return /* @__PURE__ */ l.jsx(xo.Provider, { scope: e.__scopeAccordion, children: t === "multiple" ? /* @__PURE__ */ l.jsx(oc, { ...s, ref: o }) : /* @__PURE__ */ l.jsx(tc, { ...r, ref: o }) });
2274
- }
2275
- );
2276
- Cr.displayName = pe;
2277
- var [Nr, Qi] = ct(pe), [_r, ec] = ct(
2278
- pe,
2279
- { collapsible: !1 }
2280
- ), tc = U.forwardRef(
2281
- (e, o) => {
2282
- const {
2283
- value: t,
2284
- defaultValue: n,
2285
- onValueChange: r = () => {
2286
- },
2287
- collapsible: s = !1,
2288
- ...i
2289
- } = e, [c, d] = ce({
2290
- prop: t,
2291
- defaultProp: n,
2292
- onChange: r
2293
- });
2294
- return /* @__PURE__ */ l.jsx(
2295
- Nr,
2296
- {
2297
- scope: e.__scopeAccordion,
2298
- value: c ? [c] : [],
2299
- onItemOpen: d,
2300
- onItemClose: U.useCallback(() => s && d(""), [s, d]),
2301
- children: /* @__PURE__ */ l.jsx(_r, { scope: e.__scopeAccordion, collapsible: s, children: /* @__PURE__ */ l.jsx(Rr, { ...i, ref: o }) })
2302
- }
2303
- );
2304
- }
2305
- ), oc = U.forwardRef((e, o) => {
2306
- const {
2307
- value: t,
2308
- defaultValue: n,
2309
- onValueChange: r = () => {
2310
- },
2311
- ...s
2312
- } = e, [i = [], c] = ce({
2313
- prop: t,
2314
- defaultProp: n,
2315
- onChange: r
2316
- }), d = U.useCallback(
2317
- (f) => c((p = []) => [...p, f]),
2318
- [c]
2319
- ), u = U.useCallback(
2320
- (f) => c((p = []) => p.filter((x) => x !== f)),
2321
- [c]
2322
- );
2323
- return /* @__PURE__ */ l.jsx(
2324
- Nr,
2325
- {
2326
- scope: e.__scopeAccordion,
2327
- value: i,
2328
- onItemOpen: d,
2329
- onItemClose: u,
2330
- children: /* @__PURE__ */ l.jsx(_r, { scope: e.__scopeAccordion, collapsible: !0, children: /* @__PURE__ */ l.jsx(Rr, { ...s, ref: o }) })
2331
- }
2332
- );
2333
- }), [nc, dt] = ct(pe), Rr = U.forwardRef(
2334
- (e, o) => {
2335
- const { __scopeAccordion: t, disabled: n, dir: r, orientation: s = "vertical", ...i } = e, c = U.useRef(null), d = K(c, o), u = Zi(t), p = at(r) === "ltr", x = _(e.onKeyDown, (y) => {
2336
- var O;
2337
- if (!Xi.includes(y.key)) return;
2338
- const g = y.target, m = u().filter((H) => {
2339
- var W;
2340
- return !((W = H.ref.current) != null && W.disabled);
2341
- }), w = m.findIndex((H) => H.ref.current === g), S = m.length;
2342
- if (w === -1) return;
2343
- y.preventDefault();
2344
- let h = w;
2345
- const C = 0, F = S - 1, k = () => {
2346
- h = w + 1, h > F && (h = C);
2347
- }, j = () => {
2348
- h = w - 1, h < C && (h = F);
2349
- };
2350
- switch (y.key) {
2351
- case "Home":
2352
- h = C;
2353
- break;
2354
- case "End":
2355
- h = F;
2356
- break;
2357
- case "ArrowRight":
2358
- s === "horizontal" && (p ? k() : j());
2359
- break;
2360
- case "ArrowDown":
2361
- s === "vertical" && k();
2362
- break;
2363
- case "ArrowLeft":
2364
- s === "horizontal" && (p ? j() : k());
2365
- break;
2366
- case "ArrowUp":
2367
- s === "vertical" && j();
2368
- break;
2369
- }
2370
- const A = h % S;
2371
- (O = m[A].ref.current) == null || O.focus();
2372
- });
2373
- return /* @__PURE__ */ l.jsx(
2374
- nc,
2375
- {
2376
- scope: t,
2377
- disabled: n,
2378
- direction: r,
2379
- orientation: s,
2380
- children: /* @__PURE__ */ l.jsx(xo.Slot, { scope: t, children: /* @__PURE__ */ l.jsx(
2381
- T.div,
2382
- {
2383
- ...i,
2384
- "data-orientation": s,
2385
- ref: d,
2386
- onKeyDown: n ? void 0 : x
2387
- }
2388
- ) })
2389
- }
2390
- );
2391
- }
2392
- ), Qe = "AccordionItem", [rc, wo] = ct(Qe), Er = U.forwardRef(
2393
- (e, o) => {
2394
- const { __scopeAccordion: t, value: n, ...r } = e, s = dt(Qe, t), i = Qi(Qe, t), c = yo(t), d = ee(), u = n && i.value.includes(n) || !1, f = s.disabled || e.disabled;
2395
- return /* @__PURE__ */ l.jsx(
2396
- rc,
2397
- {
2398
- scope: t,
2399
- open: u,
2400
- disabled: f,
2401
- triggerId: d,
2402
- children: /* @__PURE__ */ l.jsx(
2403
- zi,
2404
- {
2405
- "data-orientation": s.orientation,
2406
- "data-state": Pr(u),
2407
- ...c,
2408
- ...r,
2409
- ref: o,
2410
- disabled: f,
2411
- open: u,
2412
- onOpenChange: (p) => {
2413
- p ? i.onItemOpen(n) : i.onItemClose(n);
2414
- }
2415
- }
2416
- )
2417
- }
2418
- );
2419
- }
2420
- );
2421
- Er.displayName = Qe;
2422
- var Ir = "AccordionHeader", Dr = U.forwardRef(
2423
- (e, o) => {
2424
- const { __scopeAccordion: t, ...n } = e, r = dt(pe, t), s = wo(Ir, t);
2425
- return /* @__PURE__ */ l.jsx(
2426
- T.h3,
2427
- {
2428
- "data-orientation": r.orientation,
2429
- "data-state": Pr(s.open),
2430
- "data-disabled": s.disabled ? "" : void 0,
2431
- ...n,
2432
- ref: o
2433
- }
2434
- );
2435
- }
2436
- );
2437
- Dr.displayName = Ir;
2438
- var jt = "AccordionTrigger", Ar = U.forwardRef(
2439
- (e, o) => {
2440
- const { __scopeAccordion: t, ...n } = e, r = dt(pe, t), s = wo(jt, t), i = ec(jt, t), c = yo(t);
2441
- return /* @__PURE__ */ l.jsx(xo.ItemSlot, { scope: t, children: /* @__PURE__ */ l.jsx(
2442
- Yi,
2443
- {
2444
- "aria-disabled": s.open && !i.collapsible || void 0,
2445
- "data-orientation": r.orientation,
2446
- id: s.triggerId,
2447
- ...c,
2448
- ...n,
2449
- ref: o
2450
- }
2451
- ) });
2452
- }
2453
- );
2454
- Ar.displayName = jt;
2455
- var Mr = "AccordionContent", Tr = U.forwardRef(
2456
- (e, o) => {
2457
- const { __scopeAccordion: t, ...n } = e, r = dt(pe, t), s = wo(Mr, t), i = yo(t);
2458
- return /* @__PURE__ */ l.jsx(
2459
- qi,
2460
- {
2461
- role: "region",
2462
- "aria-labelledby": s.triggerId,
2463
- "data-orientation": r.orientation,
2464
- ...i,
2465
- ...n,
2466
- ref: o,
2467
- style: {
2468
- "--radix-accordion-content-height": "var(--radix-collapsible-content-height)",
2469
- "--radix-accordion-content-width": "var(--radix-collapsible-content-width)",
2470
- ...e.style
2471
- }
2472
- }
2473
- );
2474
- }
2475
- );
2476
- Tr.displayName = Mr;
2477
- function Pr(e) {
2478
- return e ? "open" : "closed";
2479
- }
2480
- var ac = Cr, lc = Er, sc = Dr, ic = Ar, cc = Tr;
2481
- const Gd = ac, dc = a.forwardRef(({ className: e, ...o }, t) => /* @__PURE__ */ l.jsx(lc, { ref: t, className: E("al-border-b", e), ...o }));
2482
- dc.displayName = "AccordionItem";
2483
- const uc = a.forwardRef(({ className: e, children: o, ...t }, n) => /* @__PURE__ */ l.jsx(sc, { className: "al-flex", children: /* @__PURE__ */ l.jsxs(
2484
- ic,
2485
- {
2486
- ref: n,
2487
- className: E(
2488
- "al-flex al-flex-1 al-items-center al-justify-between al-py-4 al-font-medium al-transition-all hover:al-underline [&[data-state=open]>svg]:al-rotate-180",
2489
- e
2490
- ),
2491
- ...t,
2492
- children: [
2493
- o,
2494
- /* @__PURE__ */ l.jsx(Bt, { className: "al-h-4 al-w-4 al-shrink-0 al-transition-transform al-duration-200" })
2495
- ]
2496
- }
2497
- ) }));
2498
- uc.displayName = "AccordionTrigger";
2499
- const pc = a.forwardRef(({ className: e, children: o, ...t }, n) => /* @__PURE__ */ l.jsx(
2500
- cc,
2501
- {
2502
- ref: n,
2503
- className: E(
2504
- "al-overflow-hidden al-text-sm al-transition-all data-[state=closed]:al-animate-accordion-up data-[state=open]:al-animate-accordion-down",
2505
- e
2506
- ),
2507
- ...t,
2508
- children: /* @__PURE__ */ l.jsx("div", { className: "al-pb-4 al-pt-0", children: o })
2509
- }
2510
- ));
2511
- pc.displayName = "AccordionContent";
2512
- const fc = 1, mc = 1e6;
2513
- let Ct = 0;
2514
- function gc() {
2515
- return Ct = (Ct + 1) % Number.MAX_SAFE_INTEGER, Ct.toString();
2516
- }
2517
- const Nt = /* @__PURE__ */ new Map(), Io = (e) => {
2518
- if (Nt.has(e))
2519
- return;
2520
- const o = setTimeout(() => {
2521
- Nt.delete(e), ke({
2522
- type: "REMOVE_TOAST",
2523
- toastId: e
2524
- });
2525
- }, mc);
2526
- Nt.set(e, o);
2527
- }, vc = (e, o) => {
2528
- switch (o.type) {
2529
- case "ADD_TOAST":
2530
- return {
2531
- ...e,
2532
- toasts: [o.toast, ...e.toasts].slice(0, fc)
2533
- };
2534
- case "UPDATE_TOAST":
2535
- return {
2536
- ...e,
2537
- toasts: e.toasts.map((t) => t.id === o.toast.id ? { ...t, ...o.toast } : t)
2538
- };
2539
- case "DISMISS_TOAST": {
2540
- const { toastId: t } = o;
2541
- return t ? Io(t) : e.toasts.forEach((n) => {
2542
- Io(n.id);
2543
- }), {
2544
- ...e,
2545
- toasts: e.toasts.map(
2546
- (n) => n.id === t || t === void 0 ? {
2547
- ...n,
2548
- open: !1
2549
- } : n
2550
- )
2551
- };
2552
- }
2553
- case "REMOVE_TOAST":
2554
- return o.toastId === void 0 ? {
2555
- ...e,
2556
- toasts: []
2557
- } : {
2558
- ...e,
2559
- toasts: e.toasts.filter((t) => t.id !== o.toastId)
2560
- };
2561
- }
2562
- }, Ye = [];
2563
- let qe = { toasts: [] };
2564
- function ke(e) {
2565
- qe = vc(qe, e), Ye.forEach((o) => {
2566
- o(qe);
2567
- });
2568
- }
2569
- function hc({ ...e }) {
2570
- const o = gc(), t = (r) => ke({
2571
- type: "UPDATE_TOAST",
2572
- toast: { ...r, id: o }
2573
- }), n = () => ke({ type: "DISMISS_TOAST", toastId: o });
2574
- return ke({
2575
- type: "ADD_TOAST",
2576
- toast: {
2577
- ...e,
2578
- id: o,
2579
- open: !0,
2580
- onOpenChange: (r) => {
2581
- r || n();
2582
- }
2583
- }
2584
- }), {
2585
- id: o,
2586
- dismiss: n,
2587
- update: t
2588
- };
2589
- }
2590
- function Bd() {
2591
- const [e, o] = a.useState(qe);
2592
- return a.useEffect(() => (Ye.push(o), () => {
2593
- const t = Ye.indexOf(o);
2594
- t > -1 && Ye.splice(t, 1);
2595
- }), [e]), {
2596
- ...e,
2597
- toast: hc,
2598
- dismiss: (t) => ke({ type: "DISMISS_TOAST", toastId: t })
2599
- };
2600
- }
2601
- var xc = a.forwardRef((e, o) => {
2602
- const { children: t, ...n } = e, r = a.Children.toArray(t), s = r.find(yc);
2603
- if (s) {
2604
- const i = s.props.children, c = r.map((d) => d === s ? a.Children.count(i) > 1 ? a.Children.only(null) : a.isValidElement(i) ? i.props.children : null : d);
2605
- return /* @__PURE__ */ l.jsx(Ot, { ...n, ref: o, children: a.isValidElement(i) ? a.cloneElement(i, void 0, c) : null });
2606
- }
2607
- return /* @__PURE__ */ l.jsx(Ot, { ...n, ref: o, children: t });
2608
- });
2609
- xc.displayName = "Slot";
2610
- var Ot = a.forwardRef((e, o) => {
2611
- const { children: t, ...n } = e;
2612
- if (a.isValidElement(t)) {
2613
- const r = bc(t);
2614
- return a.cloneElement(t, {
2615
- ...wc(n, t.props),
2616
- // @ts-ignore
2617
- ref: o ? _e(o, r) : r
2618
- });
2619
- }
2620
- return a.Children.count(t) > 1 ? a.Children.only(null) : null;
2621
- });
2622
- Ot.displayName = "SlotClone";
2623
- var jr = ({ children: e }) => /* @__PURE__ */ l.jsx(l.Fragment, { children: e });
2624
- function yc(e) {
2625
- return a.isValidElement(e) && e.type === jr;
2626
- }
2627
- function wc(e, o) {
2628
- const t = { ...o };
2629
- for (const n in o) {
2630
- const r = e[n], s = o[n];
2631
- /^on[A-Z]/.test(n) ? r && s ? t[n] = (...c) => {
2632
- s(...c), r(...c);
2633
- } : r && (t[n] = r) : n === "style" ? t[n] = { ...r, ...s } : n === "className" && (t[n] = [r, s].filter(Boolean).join(" "));
2634
- }
2635
- return { ...e, ...t };
2636
- }
2637
- function bc(e) {
2638
- var n, r;
2639
- let o = (n = Object.getOwnPropertyDescriptor(e.props, "ref")) == null ? void 0 : n.get, t = o && "isReactWarning" in o && o.isReactWarning;
2640
- return t ? e.ref : (o = (r = Object.getOwnPropertyDescriptor(e, "ref")) == null ? void 0 : r.get, t = o && "isReactWarning" in o && o.isReactWarning, t ? e.props.ref : e.props.ref || e.ref);
2641
- }
2642
- var Or = "AlertDialog", [Sc, Kd] = ue(Or, [
2643
- Fo
2644
- ]), fe = Fo(), kr = (e) => {
2645
- const { __scopeAlertDialog: o, ...t } = e, n = fe(o);
2646
- return /* @__PURE__ */ l.jsx(ot, { ...n, ...t, modal: !0 });
2647
- };
2648
- kr.displayName = Or;
2649
- var Cc = "AlertDialogTrigger", $r = a.forwardRef(
2650
- (e, o) => {
2651
- const { __scopeAlertDialog: t, ...n } = e, r = fe(t);
2652
- return /* @__PURE__ */ l.jsx(to, { ...r, ...n, ref: o });
2653
- }
2654
- );
2655
- $r.displayName = Cc;
2656
- var Nc = "AlertDialogPortal", Lr = (e) => {
2657
- const { __scopeAlertDialog: o, ...t } = e, n = fe(o);
2658
- return /* @__PURE__ */ l.jsx(nt, { ...n, ...t });
2659
- };
2660
- Lr.displayName = Nc;
2661
- var _c = "AlertDialogOverlay", Fr = a.forwardRef(
2662
- (e, o) => {
2663
- const { __scopeAlertDialog: t, ...n } = e, r = fe(t);
2664
- return /* @__PURE__ */ l.jsx(De, { ...r, ...n, ref: o });
2665
- }
2666
- );
2667
- Fr.displayName = _c;
2668
- var Ie = "AlertDialogContent", [Rc, Ec] = Sc(Ie), Vr = a.forwardRef(
2669
- (e, o) => {
2670
- const { __scopeAlertDialog: t, children: n, ...r } = e, s = fe(t), i = a.useRef(null), c = K(o, i), d = a.useRef(null);
2671
- return /* @__PURE__ */ l.jsx(
2672
- ll,
2673
- {
2674
- contentName: Ie,
2675
- titleName: Gr,
2676
- docsSlug: "alert-dialog",
2677
- children: /* @__PURE__ */ l.jsx(Rc, { scope: t, cancelRef: d, children: /* @__PURE__ */ l.jsxs(
2678
- Ae,
2679
- {
2680
- role: "alertdialog",
2681
- ...s,
2682
- ...r,
2683
- ref: c,
2684
- onOpenAutoFocus: _(r.onOpenAutoFocus, (u) => {
2685
- var f;
2686
- u.preventDefault(), (f = d.current) == null || f.focus({ preventScroll: !0 });
2687
- }),
2688
- onPointerDownOutside: (u) => u.preventDefault(),
2689
- onInteractOutside: (u) => u.preventDefault(),
2690
- children: [
2691
- /* @__PURE__ */ l.jsx(jr, { children: n }),
2692
- /* @__PURE__ */ l.jsx(Dc, { contentRef: i })
2693
- ]
2694
- }
2695
- ) })
2696
- }
2697
- );
2698
- }
2699
- );
2700
- Vr.displayName = Ie;
2701
- var Gr = "AlertDialogTitle", Br = a.forwardRef(
2702
- (e, o) => {
2703
- const { __scopeAlertDialog: t, ...n } = e, r = fe(t);
2704
- return /* @__PURE__ */ l.jsx(Ge, { ...r, ...n, ref: o });
2705
- }
2706
- );
2707
- Br.displayName = Gr;
2708
- var Kr = "AlertDialogDescription", Hr = a.forwardRef((e, o) => {
2709
- const { __scopeAlertDialog: t, ...n } = e, r = fe(t);
2710
- return /* @__PURE__ */ l.jsx(Be, { ...r, ...n, ref: o });
2711
- });
2712
- Hr.displayName = Kr;
2713
- var Ic = "AlertDialogAction", Wr = a.forwardRef(
2714
- (e, o) => {
2715
- const { __scopeAlertDialog: t, ...n } = e, r = fe(t);
2716
- return /* @__PURE__ */ l.jsx(Me, { ...r, ...n, ref: o });
2717
- }
2718
- );
2719
- Wr.displayName = Ic;
2720
- var Ur = "AlertDialogCancel", zr = a.forwardRef(
2721
- (e, o) => {
2722
- const { __scopeAlertDialog: t, ...n } = e, { cancelRef: r } = Ec(Ur, t), s = fe(t), i = K(o, r);
2723
- return /* @__PURE__ */ l.jsx(Me, { ...s, ...n, ref: i });
2724
- }
2725
- );
2726
- zr.displayName = Ur;
2727
- var Dc = ({ contentRef: e }) => {
2728
- const o = `\`${Ie}\` requires a description for the component to be accessible for screen reader users.
2729
-
2730
- You can add a description to the \`${Ie}\` by passing a \`${Kr}\` component as a child, which also benefits sighted users by adding visible context to the dialog.
2731
-
2732
- Alternatively, you can use your own component as a description by assigning it an \`id\` and passing the same value to the \`aria-describedby\` prop in \`${Ie}\`. If the description is confusing or duplicative for sighted users, you can use the \`@radix-ui/react-visually-hidden\` primitive as a wrapper around your description component.
2733
-
2734
- For more information, see https://radix-ui.com/primitives/docs/components/alert-dialog`;
2735
- return a.useEffect(() => {
2736
- var n;
2737
- document.getElementById(
2738
- (n = e.current) == null ? void 0 : n.getAttribute("aria-describedby")
2739
- ) || console.warn(o);
2740
- }, [o, e]), null;
2741
- }, Ac = kr, Mc = $r, Tc = Lr, Yr = Fr, qr = Vr, Xr = Wr, Zr = zr, Jr = Br, Qr = Hr;
2742
- const Hd = Ac, Wd = Mc, Pc = Tc, ea = a.forwardRef(({ className: e, ...o }, t) => /* @__PURE__ */ l.jsx(
2743
- Yr,
2744
- {
2745
- className: E(
2746
- "al-fixed al-inset-0 al-z-50 al-bg-black/80 al- data-[state=open]:al-animate-in data-[state=closed]:al-animate-out data-[state=closed]:al-fade-out-0 data-[state=open]:al-fade-in-0",
2747
- e
2748
- ),
2749
- ...o,
2750
- ref: t
2751
- }
2752
- ));
2753
- ea.displayName = Yr.displayName;
2754
- const jc = a.forwardRef(({ className: e, ...o }, t) => /* @__PURE__ */ l.jsxs(Pc, { children: [
2755
- /* @__PURE__ */ l.jsx(ea, {}),
2756
- /* @__PURE__ */ l.jsx(
2757
- qr,
2758
- {
2759
- ref: t,
2760
- className: E(
2761
- "al-fixed al-left-[50%] al-top-[50%] al-z-50 al-grid al-w-full al-max-w-lg al-translate-x-[-50%] al-translate-y-[-50%] al-gap-4 al-border al-bg-background al-p-6 al-shadow-lg al-duration-200 data-[state=open]:al-animate-in data-[state=closed]:al-animate-out data-[state=closed]:al-fade-out-0 data-[state=open]:al-fade-in-0 data-[state=closed]:al-zoom-out-95 data-[state=open]:al-zoom-in-95 data-[state=closed]:al-slide-out-to-left-1/2 data-[state=closed]:al-slide-out-to-top-[48%] data-[state=open]:al-slide-in-from-left-1/2 data-[state=open]:al-slide-in-from-top-[48%] sm:al-rounded-lg",
2762
- e
2763
- ),
2764
- ...o
2765
- }
2766
- )
2767
- ] }));
2768
- jc.displayName = qr.displayName;
2769
- const Oc = ({ className: e, ...o }) => /* @__PURE__ */ l.jsx(
2770
- "div",
2771
- {
2772
- className: E("al-flex al-flex-col al-space-y-2 al-text-center sm:al-text-left", e),
2773
- ...o
2774
- }
2775
- );
2776
- Oc.displayName = "AlertDialogHeader";
2777
- const kc = ({ className: e, ...o }) => /* @__PURE__ */ l.jsx(
2778
- "div",
2779
- {
2780
- className: E(
2781
- "al-flex al-flex-col-reverse sm:al-flex-row sm:al-justify-end sm:al-space-x-2",
2782
- e
2783
- ),
2784
- ...o
2785
- }
2786
- );
2787
- kc.displayName = "AlertDialogFooter";
2788
- const $c = a.forwardRef(({ className: e, ...o }, t) => /* @__PURE__ */ l.jsx(
2789
- Jr,
2790
- {
2791
- ref: t,
2792
- className: E("al-text-lg al-font-semibold", e),
2793
- ...o
2794
- }
2795
- ));
2796
- $c.displayName = Jr.displayName;
2797
- const Lc = a.forwardRef(({ className: e, ...o }, t) => /* @__PURE__ */ l.jsx(
2798
- Qr,
2799
- {
2800
- ref: t,
2801
- className: E("al-text-sm al-text-muted-foreground", e),
2802
- ...o
2803
- }
2804
- ));
2805
- Lc.displayName = Qr.displayName;
2806
- const Fc = a.forwardRef(({ className: e, ...o }, t) => /* @__PURE__ */ l.jsx(Xr, { ref: t, className: E(Oo(), e), ...o }));
2807
- Fc.displayName = Xr.displayName;
2808
- const Vc = a.forwardRef(({ className: e, ...o }, t) => /* @__PURE__ */ l.jsx(
2809
- Zr,
2810
- {
2811
- ref: t,
2812
- className: E(Oo({ variant: "outline" }), "al-mt-2 sm:al-mt-0", e),
2813
- ...o
2814
- }
2815
- ));
2816
- Vc.displayName = Zr.displayName;
2817
- function Do(e, [o, t]) {
2818
- return Math.min(t, Math.max(o, e));
2819
- }
2820
- var ta = a.forwardRef((e, o) => {
2821
- const { children: t, ...n } = e, r = a.Children.toArray(t), s = r.find(Bc);
2822
- if (s) {
2823
- const i = s.props.children, c = r.map((d) => d === s ? a.Children.count(i) > 1 ? a.Children.only(null) : a.isValidElement(i) ? i.props.children : null : d);
2824
- return /* @__PURE__ */ l.jsx(kt, { ...n, ref: o, children: a.isValidElement(i) ? a.cloneElement(i, void 0, c) : null });
2825
- }
2826
- return /* @__PURE__ */ l.jsx(kt, { ...n, ref: o, children: t });
2827
- });
2828
- ta.displayName = "Slot";
2829
- var kt = a.forwardRef((e, o) => {
2830
- const { children: t, ...n } = e;
2831
- if (a.isValidElement(t)) {
2832
- const r = Hc(t);
2833
- return a.cloneElement(t, {
2834
- ...Kc(n, t.props),
2835
- // @ts-ignore
2836
- ref: o ? _e(o, r) : r
2837
- });
2838
- }
2839
- return a.Children.count(t) > 1 ? a.Children.only(null) : null;
2840
- });
2841
- kt.displayName = "SlotClone";
2842
- var Gc = ({ children: e }) => /* @__PURE__ */ l.jsx(l.Fragment, { children: e });
2843
- function Bc(e) {
2844
- return a.isValidElement(e) && e.type === Gc;
2845
- }
2846
- function Kc(e, o) {
2847
- const t = { ...o };
2848
- for (const n in o) {
2849
- const r = e[n], s = o[n];
2850
- /^on[A-Z]/.test(n) ? r && s ? t[n] = (...c) => {
2851
- s(...c), r(...c);
2852
- } : r && (t[n] = r) : n === "style" ? t[n] = { ...r, ...s } : n === "className" && (t[n] = [r, s].filter(Boolean).join(" "));
2853
- }
2854
- return { ...e, ...t };
2855
- }
2856
- function Hc(e) {
2857
- var n, r;
2858
- let o = (n = Object.getOwnPropertyDescriptor(e.props, "ref")) == null ? void 0 : n.get, t = o && "isReactWarning" in o && o.isReactWarning;
2859
- return t ? e.ref : (o = (r = Object.getOwnPropertyDescriptor(e, "ref")) == null ? void 0 : r.get, t = o && "isReactWarning" in o && o.isReactWarning, t ? e.props.ref : e.props.ref || e.ref);
2860
- }
2861
- var Wc = [" ", "Enter", "ArrowUp", "ArrowDown"], Uc = [" ", "Enter"], ze = "Select", [ut, pt, zc] = rt(ze), [Te, Ud] = ue(ze, [
2862
- zc,
2863
- tt
2864
- ]), ft = tt(), [Yc, ve] = Te(ze), [qc, Xc] = Te(ze), oa = (e) => {
2865
- const {
2866
- __scopeSelect: o,
2867
- children: t,
2868
- open: n,
2869
- defaultOpen: r,
2870
- onOpenChange: s,
2871
- value: i,
2872
- defaultValue: c,
2873
- onValueChange: d,
2874
- dir: u,
2875
- name: f,
2876
- autoComplete: p,
2877
- disabled: x,
2878
- required: y,
2879
- form: g
2880
- } = e, m = ft(o), [w, S] = a.useState(null), [h, C] = a.useState(null), [F, k] = a.useState(!1), j = at(u), [A = !1, O] = ce({
2881
- prop: n,
2882
- defaultProp: r,
2883
- onChange: s
2884
- }), [H, W] = ce({
2885
- prop: i,
2886
- defaultProp: c,
2887
- onChange: d
2888
- }), q = a.useRef(null), X = w ? g || !!w.closest("form") : !0, [oe, z] = a.useState(/* @__PURE__ */ new Set()), Z = Array.from(oe).map((V) => V.props.value).join(";");
2889
- return /* @__PURE__ */ l.jsx(Xt, { ...m, children: /* @__PURE__ */ l.jsxs(
2890
- Yc,
2891
- {
2892
- required: y,
2893
- scope: o,
2894
- trigger: w,
2895
- onTriggerChange: S,
2896
- valueNode: h,
2897
- onValueNodeChange: C,
2898
- valueNodeHasChildren: F,
2899
- onValueNodeHasChildrenChange: k,
2900
- contentId: ee(),
2901
- value: H,
2902
- onValueChange: W,
2903
- open: A,
2904
- onOpenChange: O,
2905
- dir: j,
2906
- triggerPointerDownPosRef: q,
2907
- disabled: x,
2908
- children: [
2909
- /* @__PURE__ */ l.jsx(ut.Provider, { scope: o, children: /* @__PURE__ */ l.jsx(
2910
- qc,
2911
- {
2912
- scope: e.__scopeSelect,
2913
- onNativeOptionAdd: a.useCallback((V) => {
2914
- z((ne) => new Set(ne).add(V));
2915
- }, []),
2916
- onNativeOptionRemove: a.useCallback((V) => {
2917
- z((ne) => {
2918
- const J = new Set(ne);
2919
- return J.delete(V), J;
2920
- });
2921
- }, []),
2922
- children: t
2923
- }
2924
- ) }),
2925
- X ? /* @__PURE__ */ l.jsxs(
2926
- Ia,
2927
- {
2928
- "aria-hidden": !0,
2929
- required: y,
2930
- tabIndex: -1,
2931
- name: f,
2932
- autoComplete: p,
2933
- value: H,
2934
- onChange: (V) => W(V.target.value),
2935
- disabled: x,
2936
- form: g,
2937
- children: [
2938
- H === void 0 ? /* @__PURE__ */ l.jsx("option", { value: "" }) : null,
2939
- Array.from(oe)
2940
- ]
2941
- },
2942
- Z
2943
- ) : null
2944
- ]
2945
- }
2946
- ) });
2947
- };
2948
- oa.displayName = ze;
2949
- var na = "SelectTrigger", ra = a.forwardRef(
2950
- (e, o) => {
2951
- const { __scopeSelect: t, disabled: n = !1, ...r } = e, s = ft(t), i = ve(na, t), c = i.disabled || n, d = K(o, i.onTriggerChange), u = pt(t), f = a.useRef("touch"), [p, x, y] = Da((m) => {
2952
- const w = u().filter((C) => !C.disabled), S = w.find((C) => C.value === i.value), h = Aa(w, m, S);
2953
- h !== void 0 && i.onValueChange(h.value);
2954
- }), g = (m) => {
2955
- c || (i.onOpenChange(!0), y()), m && (i.triggerPointerDownPosRef.current = {
2956
- x: Math.round(m.pageX),
2957
- y: Math.round(m.pageY)
2958
- });
2959
- };
2960
- return /* @__PURE__ */ l.jsx(To, { asChild: !0, ...s, children: /* @__PURE__ */ l.jsx(
2961
- T.button,
2962
- {
2963
- type: "button",
2964
- role: "combobox",
2965
- "aria-controls": i.contentId,
2966
- "aria-expanded": i.open,
2967
- "aria-required": i.required,
2968
- "aria-autocomplete": "none",
2969
- dir: i.dir,
2970
- "data-state": i.open ? "open" : "closed",
2971
- disabled: c,
2972
- "data-disabled": c ? "" : void 0,
2973
- "data-placeholder": Ea(i.value) ? "" : void 0,
2974
- ...r,
2975
- ref: d,
2976
- onClick: _(r.onClick, (m) => {
2977
- m.currentTarget.focus(), f.current !== "mouse" && g(m);
2978
- }),
2979
- onPointerDown: _(r.onPointerDown, (m) => {
2980
- f.current = m.pointerType;
2981
- const w = m.target;
2982
- w.hasPointerCapture(m.pointerId) && w.releasePointerCapture(m.pointerId), m.button === 0 && m.ctrlKey === !1 && m.pointerType === "mouse" && (g(m), m.preventDefault());
2983
- }),
2984
- onKeyDown: _(r.onKeyDown, (m) => {
2985
- const w = p.current !== "";
2986
- !(m.ctrlKey || m.altKey || m.metaKey) && m.key.length === 1 && x(m.key), !(w && m.key === " ") && Wc.includes(m.key) && (g(), m.preventDefault());
2987
- })
2988
- }
2989
- ) });
2990
- }
2991
- );
2992
- ra.displayName = na;
2993
- var aa = "SelectValue", la = a.forwardRef(
2994
- (e, o) => {
2995
- const { __scopeSelect: t, className: n, style: r, children: s, placeholder: i = "", ...c } = e, d = ve(aa, t), { onValueNodeHasChildrenChange: u } = d, f = s !== void 0, p = K(o, d.onValueNodeChange);
2996
- return de(() => {
2997
- u(f);
2998
- }, [u, f]), /* @__PURE__ */ l.jsx(
2999
- T.span,
3000
- {
3001
- ...c,
3002
- ref: p,
3003
- style: { pointerEvents: "none" },
3004
- children: Ea(d.value) ? /* @__PURE__ */ l.jsx(l.Fragment, { children: i }) : s
3005
- }
3006
- );
3007
- }
3008
- );
3009
- la.displayName = aa;
3010
- var Zc = "SelectIcon", sa = a.forwardRef(
3011
- (e, o) => {
3012
- const { __scopeSelect: t, children: n, ...r } = e;
3013
- return /* @__PURE__ */ l.jsx(T.span, { "aria-hidden": !0, ...r, ref: o, children: n || "▼" });
3014
- }
3015
- );
3016
- sa.displayName = Zc;
3017
- var Jc = "SelectPortal", ia = (e) => /* @__PURE__ */ l.jsx(Yt, { asChild: !0, ...e });
3018
- ia.displayName = Jc;
3019
- var Ne = "SelectContent", ca = a.forwardRef(
3020
- (e, o) => {
3021
- const t = ve(Ne, e.__scopeSelect), [n, r] = a.useState();
3022
- if (de(() => {
3023
- r(new DocumentFragment());
3024
- }, []), !t.open) {
3025
- const s = n;
3026
- return s ? ko.createPortal(
3027
- /* @__PURE__ */ l.jsx(da, { scope: e.__scopeSelect, children: /* @__PURE__ */ l.jsx(ut.Slot, { scope: e.__scopeSelect, children: /* @__PURE__ */ l.jsx("div", { children: e.children }) }) }),
3028
- s
3029
- ) : null;
3030
- }
3031
- return /* @__PURE__ */ l.jsx(ua, { ...e, ref: o });
3032
- }
3033
- );
3034
- ca.displayName = Ne;
3035
- var se = 10, [da, he] = Te(Ne), Qc = "SelectContentImpl", ua = a.forwardRef(
3036
- (e, o) => {
3037
- const {
3038
- __scopeSelect: t,
3039
- position: n = "item-aligned",
3040
- onCloseAutoFocus: r,
3041
- onEscapeKeyDown: s,
3042
- onPointerDownOutside: i,
3043
- //
3044
- // PopperContent props
3045
- side: c,
3046
- sideOffset: d,
3047
- align: u,
3048
- alignOffset: f,
3049
- arrowPadding: p,
3050
- collisionBoundary: x,
3051
- collisionPadding: y,
3052
- sticky: g,
3053
- hideWhenDetached: m,
3054
- avoidCollisions: w,
3055
- //
3056
- ...S
3057
- } = e, h = ve(Ne, t), [C, F] = a.useState(null), [k, j] = a.useState(null), A = K(o, (b) => F(b)), [O, H] = a.useState(null), [W, q] = a.useState(
3058
- null
3059
- ), X = pt(t), [oe, z] = a.useState(!1), Z = a.useRef(!1);
3060
- a.useEffect(() => {
3061
- if (C) return Ht(C);
3062
- }, [C]), Wt();
3063
- const V = a.useCallback(
3064
- (b) => {
3065
- const [M, ...$] = X().map((B) => B.ref.current), [L] = $.slice(-1), G = document.activeElement;
3066
- for (const B of b)
3067
- if (B === G || (B == null || B.scrollIntoView({ block: "nearest" }), B === M && k && (k.scrollTop = 0), B === L && k && (k.scrollTop = k.scrollHeight), B == null || B.focus(), document.activeElement !== G)) return;
3068
- },
3069
- [X, k]
3070
- ), ne = a.useCallback(
3071
- () => V([O, C]),
3072
- [V, O, C]
3073
- );
3074
- a.useEffect(() => {
3075
- oe && ne();
3076
- }, [oe, ne]);
3077
- const { onOpenChange: J, triggerPointerDownPosRef: R } = h;
3078
- a.useEffect(() => {
3079
- if (C) {
3080
- let b = { x: 0, y: 0 };
3081
- const M = (L) => {
3082
- var G, B;
3083
- b = {
3084
- x: Math.abs(Math.round(L.pageX) - (((G = R.current) == null ? void 0 : G.x) ?? 0)),
3085
- y: Math.abs(Math.round(L.pageY) - (((B = R.current) == null ? void 0 : B.y) ?? 0))
3086
- };
3087
- }, $ = (L) => {
3088
- b.x <= 10 && b.y <= 10 ? L.preventDefault() : C.contains(L.target) || J(!1), document.removeEventListener("pointermove", M), R.current = null;
3089
- };
3090
- return R.current !== null && (document.addEventListener("pointermove", M), document.addEventListener("pointerup", $, { capture: !0, once: !0 })), () => {
3091
- document.removeEventListener("pointermove", M), document.removeEventListener("pointerup", $, { capture: !0 });
3092
- };
3093
- }
3094
- }, [C, J, R]), a.useEffect(() => {
3095
- const b = () => J(!1);
3096
- return window.addEventListener("blur", b), window.addEventListener("resize", b), () => {
3097
- window.removeEventListener("blur", b), window.removeEventListener("resize", b);
3098
- };
3099
- }, [J]);
3100
- const [Q, te] = Da((b) => {
3101
- const M = X().filter((G) => !G.disabled), $ = M.find((G) => G.ref.current === document.activeElement), L = Aa(M, b, $);
3102
- L && setTimeout(() => L.ref.current.focus());
3103
- }), v = a.useCallback(
3104
- (b, M, $) => {
3105
- const L = !Z.current && !$;
3106
- (h.value !== void 0 && h.value === M || L) && (H(b), L && (Z.current = !0));
3107
- },
3108
- [h.value]
3109
- ), I = a.useCallback(() => C == null ? void 0 : C.focus(), [C]), D = a.useCallback(
3110
- (b, M, $) => {
3111
- const L = !Z.current && !$;
3112
- (h.value !== void 0 && h.value === M || L) && q(b);
3113
- },
3114
- [h.value]
3115
- ), N = n === "popper" ? $t : pa, P = N === $t ? {
3116
- side: c,
3117
- sideOffset: d,
3118
- align: u,
3119
- alignOffset: f,
3120
- arrowPadding: p,
3121
- collisionBoundary: x,
3122
- collisionPadding: y,
3123
- sticky: g,
3124
- hideWhenDetached: m,
3125
- avoidCollisions: w
3126
- } : {};
3127
- return /* @__PURE__ */ l.jsx(
3128
- da,
3129
- {
3130
- scope: t,
3131
- content: C,
3132
- viewport: k,
3133
- onViewportChange: j,
3134
- itemRefCallback: v,
3135
- selectedItem: O,
3136
- onItemLeave: I,
3137
- itemTextRefCallback: D,
3138
- focusSelectedItem: ne,
3139
- selectedItemText: W,
3140
- position: n,
3141
- isPositioned: oe,
3142
- searchRef: Q,
3143
- children: /* @__PURE__ */ l.jsx(Kt, { as: ta, allowPinchZoom: !0, children: /* @__PURE__ */ l.jsx(
3144
- Ut,
3145
- {
3146
- asChild: !0,
3147
- trapped: h.open,
3148
- onMountAutoFocus: (b) => {
3149
- b.preventDefault();
3150
- },
3151
- onUnmountAutoFocus: _(r, (b) => {
3152
- var M;
3153
- (M = h.trigger) == null || M.focus({ preventScroll: !0 }), b.preventDefault();
3154
- }),
3155
- children: /* @__PURE__ */ l.jsx(
3156
- zt,
3157
- {
3158
- asChild: !0,
3159
- disableOutsidePointerEvents: !0,
3160
- onEscapeKeyDown: s,
3161
- onPointerDownOutside: i,
3162
- onFocusOutside: (b) => b.preventDefault(),
3163
- onDismiss: () => h.onOpenChange(!1),
3164
- children: /* @__PURE__ */ l.jsx(
3165
- N,
3166
- {
3167
- role: "listbox",
3168
- id: h.contentId,
3169
- "data-state": h.open ? "open" : "closed",
3170
- dir: h.dir,
3171
- onContextMenu: (b) => b.preventDefault(),
3172
- ...S,
3173
- ...P,
3174
- onPlaced: () => z(!0),
3175
- ref: A,
3176
- style: {
3177
- // flex layout so we can place the scroll buttons properly
3178
- display: "flex",
3179
- flexDirection: "column",
3180
- // reset the outline by default as the content MAY get focused
3181
- outline: "none",
3182
- ...S.style
3183
- },
3184
- onKeyDown: _(S.onKeyDown, (b) => {
3185
- const M = b.ctrlKey || b.altKey || b.metaKey;
3186
- if (b.key === "Tab" && b.preventDefault(), !M && b.key.length === 1 && te(b.key), ["ArrowUp", "ArrowDown", "Home", "End"].includes(b.key)) {
3187
- let L = X().filter((G) => !G.disabled).map((G) => G.ref.current);
3188
- if (["ArrowUp", "End"].includes(b.key) && (L = L.slice().reverse()), ["ArrowUp", "ArrowDown"].includes(b.key)) {
3189
- const G = b.target, B = L.indexOf(G);
3190
- L = L.slice(B + 1);
3191
- }
3192
- setTimeout(() => V(L)), b.preventDefault();
3193
- }
3194
- })
3195
- }
3196
- )
3197
- }
3198
- )
3199
- }
3200
- ) })
3201
- }
3202
- );
3203
- }
3204
- );
3205
- ua.displayName = Qc;
3206
- var ed = "SelectItemAlignedPosition", pa = a.forwardRef((e, o) => {
3207
- const { __scopeSelect: t, onPlaced: n, ...r } = e, s = ve(Ne, t), i = he(Ne, t), [c, d] = a.useState(null), [u, f] = a.useState(null), p = K(o, (A) => f(A)), x = pt(t), y = a.useRef(!1), g = a.useRef(!0), { viewport: m, selectedItem: w, selectedItemText: S, focusSelectedItem: h } = i, C = a.useCallback(() => {
3208
- if (s.trigger && s.valueNode && c && u && m && w && S) {
3209
- const A = s.trigger.getBoundingClientRect(), O = u.getBoundingClientRect(), H = s.valueNode.getBoundingClientRect(), W = S.getBoundingClientRect();
3210
- if (s.dir !== "rtl") {
3211
- const G = W.left - O.left, B = H.left - G, xe = A.left - B, ye = A.width + xe, mt = Math.max(ye, O.width), gt = window.innerWidth - se, vt = Do(B, [
3212
- se,
3213
- // Prevents the content from going off the starting edge of the
3214
- // viewport. It may still go off the ending edge, but this can be
3215
- // controlled by the user since they may want to manage overflow in a
3216
- // specific way.
3217
- // https://github.com/radix-ui/primitives/issues/2049
3218
- Math.max(se, gt - mt)
3219
- ]);
3220
- c.style.minWidth = ye + "px", c.style.left = vt + "px";
3221
- } else {
3222
- const G = O.right - W.right, B = window.innerWidth - H.right - G, xe = window.innerWidth - A.right - B, ye = A.width + xe, mt = Math.max(ye, O.width), gt = window.innerWidth - se, vt = Do(B, [
3223
- se,
3224
- Math.max(se, gt - mt)
3225
- ]);
3226
- c.style.minWidth = ye + "px", c.style.right = vt + "px";
3227
- }
3228
- const q = x(), X = window.innerHeight - se * 2, oe = m.scrollHeight, z = window.getComputedStyle(u), Z = parseInt(z.borderTopWidth, 10), V = parseInt(z.paddingTop, 10), ne = parseInt(z.borderBottomWidth, 10), J = parseInt(z.paddingBottom, 10), R = Z + V + oe + J + ne, Q = Math.min(w.offsetHeight * 5, R), te = window.getComputedStyle(m), v = parseInt(te.paddingTop, 10), I = parseInt(te.paddingBottom, 10), D = A.top + A.height / 2 - se, N = X - D, P = w.offsetHeight / 2, b = w.offsetTop + P, M = Z + V + b, $ = R - M;
3229
- if (M <= D) {
3230
- const G = q.length > 0 && w === q[q.length - 1].ref.current;
3231
- c.style.bottom = "0px";
3232
- const B = u.clientHeight - m.offsetTop - m.offsetHeight, xe = Math.max(
3233
- N,
3234
- P + // viewport might have padding bottom, include it to avoid a scrollable viewport
3235
- (G ? I : 0) + B + ne
3236
- ), ye = M + xe;
3237
- c.style.height = ye + "px";
3238
- } else {
3239
- const G = q.length > 0 && w === q[0].ref.current;
3240
- c.style.top = "0px";
3241
- const xe = Math.max(
3242
- D,
3243
- Z + m.offsetTop + // viewport might have padding top, include it to avoid a scrollable viewport
3244
- (G ? v : 0) + P
3245
- ) + $;
3246
- c.style.height = xe + "px", m.scrollTop = M - D + m.offsetTop;
3247
- }
3248
- c.style.margin = `${se}px 0`, c.style.minHeight = Q + "px", c.style.maxHeight = X + "px", n == null || n(), requestAnimationFrame(() => y.current = !0);
3249
- }
3250
- }, [
3251
- x,
3252
- s.trigger,
3253
- s.valueNode,
3254
- c,
3255
- u,
3256
- m,
3257
- w,
3258
- S,
3259
- s.dir,
3260
- n
3261
- ]);
3262
- de(() => C(), [C]);
3263
- const [F, k] = a.useState();
3264
- de(() => {
3265
- u && k(window.getComputedStyle(u).zIndex);
3266
- }, [u]);
3267
- const j = a.useCallback(
3268
- (A) => {
3269
- A && g.current === !0 && (C(), h == null || h(), g.current = !1);
3270
- },
3271
- [C, h]
3272
- );
3273
- return /* @__PURE__ */ l.jsx(
3274
- od,
3275
- {
3276
- scope: t,
3277
- contentWrapper: c,
3278
- shouldExpandOnScrollRef: y,
3279
- onScrollButtonChange: j,
3280
- children: /* @__PURE__ */ l.jsx(
3281
- "div",
3282
- {
3283
- ref: d,
3284
- style: {
3285
- display: "flex",
3286
- flexDirection: "column",
3287
- position: "fixed",
3288
- zIndex: F
3289
- },
3290
- children: /* @__PURE__ */ l.jsx(
3291
- T.div,
3292
- {
3293
- ...r,
3294
- ref: p,
3295
- style: {
3296
- // When we get the height of the content, it includes borders. If we were to set
3297
- // the height without having `boxSizing: 'border-box'` it would be too big.
3298
- boxSizing: "border-box",
3299
- // We need to ensure the content doesn't get taller than the wrapper
3300
- maxHeight: "100%",
3301
- ...r.style
3302
- }
3303
- }
3304
- )
3305
- }
3306
- )
3307
- }
3308
- );
3309
- });
3310
- pa.displayName = ed;
3311
- var td = "SelectPopperPosition", $t = a.forwardRef((e, o) => {
3312
- const {
3313
- __scopeSelect: t,
3314
- align: n = "start",
3315
- collisionPadding: r = se,
3316
- ...s
3317
- } = e, i = ft(t);
3318
- return /* @__PURE__ */ l.jsx(
3319
- Po,
3320
- {
3321
- ...i,
3322
- ...s,
3323
- ref: o,
3324
- align: n,
3325
- collisionPadding: r,
3326
- style: {
3327
- // Ensure border-box for floating-ui calculations
3328
- boxSizing: "border-box",
3329
- ...s.style,
3330
- "--radix-select-content-transform-origin": "var(--radix-popper-transform-origin)",
3331
- "--radix-select-content-available-width": "var(--radix-popper-available-width)",
3332
- "--radix-select-content-available-height": "var(--radix-popper-available-height)",
3333
- "--radix-select-trigger-width": "var(--radix-popper-anchor-width)",
3334
- "--radix-select-trigger-height": "var(--radix-popper-anchor-height)"
3335
- }
3336
- }
3337
- );
3338
- });
3339
- $t.displayName = td;
3340
- var [od, bo] = Te(Ne, {}), Lt = "SelectViewport", fa = a.forwardRef(
3341
- (e, o) => {
3342
- const { __scopeSelect: t, nonce: n, ...r } = e, s = he(Lt, t), i = bo(Lt, t), c = K(o, s.onViewportChange), d = a.useRef(0);
3343
- return /* @__PURE__ */ l.jsxs(l.Fragment, { children: [
3344
- /* @__PURE__ */ l.jsx(
3345
- "style",
3346
- {
3347
- dangerouslySetInnerHTML: {
3348
- __html: "[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"
3349
- },
3350
- nonce: n
3351
- }
3352
- ),
3353
- /* @__PURE__ */ l.jsx(ut.Slot, { scope: t, children: /* @__PURE__ */ l.jsx(
3354
- T.div,
3355
- {
3356
- "data-radix-select-viewport": "",
3357
- role: "presentation",
3358
- ...r,
3359
- ref: c,
3360
- style: {
3361
- // we use position: 'relative' here on the `viewport` so that when we call
3362
- // `selectedItem.offsetTop` in calculations, the offset is relative to the viewport
3363
- // (independent of the scrollUpButton).
3364
- position: "relative",
3365
- flex: 1,
3366
- // Viewport should only be scrollable in the vertical direction.
3367
- // This won't work in vertical writing modes, so we'll need to
3368
- // revisit this if/when that is supported
3369
- // https://developer.chrome.com/blog/vertical-form-controls
3370
- overflow: "hidden auto",
3371
- ...r.style
3372
- },
3373
- onScroll: _(r.onScroll, (u) => {
3374
- const f = u.currentTarget, { contentWrapper: p, shouldExpandOnScrollRef: x } = i;
3375
- if (x != null && x.current && p) {
3376
- const y = Math.abs(d.current - f.scrollTop);
3377
- if (y > 0) {
3378
- const g = window.innerHeight - se * 2, m = parseFloat(p.style.minHeight), w = parseFloat(p.style.height), S = Math.max(m, w);
3379
- if (S < g) {
3380
- const h = S + y, C = Math.min(g, h), F = h - C;
3381
- p.style.height = C + "px", p.style.bottom === "0px" && (f.scrollTop = F > 0 ? F : 0, p.style.justifyContent = "flex-end");
3382
- }
3383
- }
3384
- }
3385
- d.current = f.scrollTop;
3386
- })
3387
- }
3388
- ) })
3389
- ] });
3390
- }
3391
- );
3392
- fa.displayName = Lt;
3393
- var ma = "SelectGroup", [nd, rd] = Te(ma), ga = a.forwardRef(
3394
- (e, o) => {
3395
- const { __scopeSelect: t, ...n } = e, r = ee();
3396
- return /* @__PURE__ */ l.jsx(nd, { scope: t, id: r, children: /* @__PURE__ */ l.jsx(T.div, { role: "group", "aria-labelledby": r, ...n, ref: o }) });
3397
- }
3398
- );
3399
- ga.displayName = ma;
3400
- var va = "SelectLabel", ha = a.forwardRef(
3401
- (e, o) => {
3402
- const { __scopeSelect: t, ...n } = e, r = rd(va, t);
3403
- return /* @__PURE__ */ l.jsx(T.div, { id: r.id, ...n, ref: o });
3404
- }
3405
- );
3406
- ha.displayName = va;
3407
- var et = "SelectItem", [ad, xa] = Te(et), ya = a.forwardRef(
3408
- (e, o) => {
3409
- const {
3410
- __scopeSelect: t,
3411
- value: n,
3412
- disabled: r = !1,
3413
- textValue: s,
3414
- ...i
3415
- } = e, c = ve(et, t), d = he(et, t), u = c.value === n, [f, p] = a.useState(s ?? ""), [x, y] = a.useState(!1), g = K(
3416
- o,
3417
- (h) => {
3418
- var C;
3419
- return (C = d.itemRefCallback) == null ? void 0 : C.call(d, h, n, r);
3420
- }
3421
- ), m = ee(), w = a.useRef("touch"), S = () => {
3422
- r || (c.onValueChange(n), c.onOpenChange(!1));
3423
- };
3424
- if (n === "")
3425
- throw new Error(
3426
- "A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder."
3427
- );
3428
- return /* @__PURE__ */ l.jsx(
3429
- ad,
3430
- {
3431
- scope: t,
3432
- value: n,
3433
- disabled: r,
3434
- textId: m,
3435
- isSelected: u,
3436
- onItemTextChange: a.useCallback((h) => {
3437
- p((C) => C || ((h == null ? void 0 : h.textContent) ?? "").trim());
3438
- }, []),
3439
- children: /* @__PURE__ */ l.jsx(
3440
- ut.ItemSlot,
3441
- {
3442
- scope: t,
3443
- value: n,
3444
- disabled: r,
3445
- textValue: f,
3446
- children: /* @__PURE__ */ l.jsx(
3447
- T.div,
3448
- {
3449
- role: "option",
3450
- "aria-labelledby": m,
3451
- "data-highlighted": x ? "" : void 0,
3452
- "aria-selected": u && x,
3453
- "data-state": u ? "checked" : "unchecked",
3454
- "aria-disabled": r || void 0,
3455
- "data-disabled": r ? "" : void 0,
3456
- tabIndex: r ? void 0 : -1,
3457
- ...i,
3458
- ref: g,
3459
- onFocus: _(i.onFocus, () => y(!0)),
3460
- onBlur: _(i.onBlur, () => y(!1)),
3461
- onClick: _(i.onClick, () => {
3462
- w.current !== "mouse" && S();
3463
- }),
3464
- onPointerUp: _(i.onPointerUp, () => {
3465
- w.current === "mouse" && S();
3466
- }),
3467
- onPointerDown: _(i.onPointerDown, (h) => {
3468
- w.current = h.pointerType;
3469
- }),
3470
- onPointerMove: _(i.onPointerMove, (h) => {
3471
- var C;
3472
- w.current = h.pointerType, r ? (C = d.onItemLeave) == null || C.call(d) : w.current === "mouse" && h.currentTarget.focus({ preventScroll: !0 });
3473
- }),
3474
- onPointerLeave: _(i.onPointerLeave, (h) => {
3475
- var C;
3476
- h.currentTarget === document.activeElement && ((C = d.onItemLeave) == null || C.call(d));
3477
- }),
3478
- onKeyDown: _(i.onKeyDown, (h) => {
3479
- var F;
3480
- ((F = d.searchRef) == null ? void 0 : F.current) !== "" && h.key === " " || (Uc.includes(h.key) && S(), h.key === " " && h.preventDefault());
3481
- })
3482
- }
3483
- )
3484
- }
3485
- )
3486
- }
3487
- );
3488
- }
3489
- );
3490
- ya.displayName = et;
3491
- var Oe = "SelectItemText", wa = a.forwardRef(
3492
- (e, o) => {
3493
- const { __scopeSelect: t, className: n, style: r, ...s } = e, i = ve(Oe, t), c = he(Oe, t), d = xa(Oe, t), u = Xc(Oe, t), [f, p] = a.useState(null), x = K(
3494
- o,
3495
- (S) => p(S),
3496
- d.onItemTextChange,
3497
- (S) => {
3498
- var h;
3499
- return (h = c.itemTextRefCallback) == null ? void 0 : h.call(c, S, d.value, d.disabled);
3500
- }
3501
- ), y = f == null ? void 0 : f.textContent, g = a.useMemo(
3502
- () => /* @__PURE__ */ l.jsx("option", { value: d.value, disabled: d.disabled, children: y }, d.value),
3503
- [d.disabled, d.value, y]
3504
- ), { onNativeOptionAdd: m, onNativeOptionRemove: w } = u;
3505
- return de(() => (m(g), () => w(g)), [m, w, g]), /* @__PURE__ */ l.jsxs(l.Fragment, { children: [
3506
- /* @__PURE__ */ l.jsx(T.span, { id: d.textId, ...s, ref: x }),
3507
- d.isSelected && i.valueNode && !i.valueNodeHasChildren ? ko.createPortal(s.children, i.valueNode) : null
3508
- ] });
3509
- }
3510
- );
3511
- wa.displayName = Oe;
3512
- var ba = "SelectItemIndicator", Sa = a.forwardRef(
3513
- (e, o) => {
3514
- const { __scopeSelect: t, ...n } = e;
3515
- return xa(ba, t).isSelected ? /* @__PURE__ */ l.jsx(T.span, { "aria-hidden": !0, ...n, ref: o }) : null;
3516
- }
3517
- );
3518
- Sa.displayName = ba;
3519
- var Ft = "SelectScrollUpButton", Ca = a.forwardRef((e, o) => {
3520
- const t = he(Ft, e.__scopeSelect), n = bo(Ft, e.__scopeSelect), [r, s] = a.useState(!1), i = K(o, n.onScrollButtonChange);
3521
- return de(() => {
3522
- if (t.viewport && t.isPositioned) {
3523
- let c = function() {
3524
- const u = d.scrollTop > 0;
3525
- s(u);
3526
- };
3527
- const d = t.viewport;
3528
- return c(), d.addEventListener("scroll", c), () => d.removeEventListener("scroll", c);
3529
- }
3530
- }, [t.viewport, t.isPositioned]), r ? /* @__PURE__ */ l.jsx(
3531
- _a,
3532
- {
3533
- ...e,
3534
- ref: i,
3535
- onAutoScroll: () => {
3536
- const { viewport: c, selectedItem: d } = t;
3537
- c && d && (c.scrollTop = c.scrollTop - d.offsetHeight);
3538
- }
3539
- }
3540
- ) : null;
3541
- });
3542
- Ca.displayName = Ft;
3543
- var Vt = "SelectScrollDownButton", Na = a.forwardRef((e, o) => {
3544
- const t = he(Vt, e.__scopeSelect), n = bo(Vt, e.__scopeSelect), [r, s] = a.useState(!1), i = K(o, n.onScrollButtonChange);
3545
- return de(() => {
3546
- if (t.viewport && t.isPositioned) {
3547
- let c = function() {
3548
- const u = d.scrollHeight - d.clientHeight, f = Math.ceil(d.scrollTop) < u;
3549
- s(f);
3550
- };
3551
- const d = t.viewport;
3552
- return c(), d.addEventListener("scroll", c), () => d.removeEventListener("scroll", c);
3553
- }
3554
- }, [t.viewport, t.isPositioned]), r ? /* @__PURE__ */ l.jsx(
3555
- _a,
3556
- {
3557
- ...e,
3558
- ref: i,
3559
- onAutoScroll: () => {
3560
- const { viewport: c, selectedItem: d } = t;
3561
- c && d && (c.scrollTop = c.scrollTop + d.offsetHeight);
3562
- }
3563
- }
3564
- ) : null;
3565
- });
3566
- Na.displayName = Vt;
3567
- var _a = a.forwardRef((e, o) => {
3568
- const { __scopeSelect: t, onAutoScroll: n, ...r } = e, s = he("SelectScrollButton", t), i = a.useRef(null), c = pt(t), d = a.useCallback(() => {
3569
- i.current !== null && (window.clearInterval(i.current), i.current = null);
3570
- }, []);
3571
- return a.useEffect(() => () => d(), [d]), de(() => {
3572
- var f;
3573
- const u = c().find((p) => p.ref.current === document.activeElement);
3574
- (f = u == null ? void 0 : u.ref.current) == null || f.scrollIntoView({ block: "nearest" });
3575
- }, [c]), /* @__PURE__ */ l.jsx(
3576
- T.div,
3577
- {
3578
- "aria-hidden": !0,
3579
- ...r,
3580
- ref: o,
3581
- style: { flexShrink: 0, ...r.style },
3582
- onPointerDown: _(r.onPointerDown, () => {
3583
- i.current === null && (i.current = window.setInterval(n, 50));
3584
- }),
3585
- onPointerMove: _(r.onPointerMove, () => {
3586
- var u;
3587
- (u = s.onItemLeave) == null || u.call(s), i.current === null && (i.current = window.setInterval(n, 50));
3588
- }),
3589
- onPointerLeave: _(r.onPointerLeave, () => {
3590
- d();
3591
- })
3592
- }
3593
- );
3594
- }), ld = "SelectSeparator", Ra = a.forwardRef(
3595
- (e, o) => {
3596
- const { __scopeSelect: t, ...n } = e;
3597
- return /* @__PURE__ */ l.jsx(T.div, { "aria-hidden": !0, ...n, ref: o });
3598
- }
3599
- );
3600
- Ra.displayName = ld;
3601
- var Gt = "SelectArrow", sd = a.forwardRef(
3602
- (e, o) => {
3603
- const { __scopeSelect: t, ...n } = e, r = ft(t), s = ve(Gt, t), i = he(Gt, t);
3604
- return s.open && i.position === "popper" ? /* @__PURE__ */ l.jsx(jo, { ...r, ...n, ref: o }) : null;
3605
- }
3606
- );
3607
- sd.displayName = Gt;
3608
- function Ea(e) {
3609
- return e === "" || e === void 0;
3610
- }
3611
- var Ia = a.forwardRef(
3612
- (e, o) => {
3613
- const { value: t, ...n } = e, r = a.useRef(null), s = K(o, r), i = qa(t);
3614
- return a.useEffect(() => {
3615
- const c = r.current, d = window.HTMLSelectElement.prototype, f = Object.getOwnPropertyDescriptor(
3616
- d,
3617
- "value"
3618
- ).set;
3619
- if (i !== t && f) {
3620
- const p = new Event("change", { bubbles: !0 });
3621
- f.call(c, t), c.dispatchEvent(p);
3622
- }
3623
- }, [i, t]), /* @__PURE__ */ l.jsx(Xa, { asChild: !0, children: /* @__PURE__ */ l.jsx("select", { ...n, ref: s, defaultValue: t }) });
3624
- }
3625
- );
3626
- Ia.displayName = "BubbleSelect";
3627
- function Da(e) {
3628
- const o = Ve(e), t = a.useRef(""), n = a.useRef(0), r = a.useCallback(
3629
- (i) => {
3630
- const c = t.current + i;
3631
- o(c), function d(u) {
3632
- t.current = u, window.clearTimeout(n.current), u !== "" && (n.current = window.setTimeout(() => d(""), 1e3));
3633
- }(c);
3634
- },
3635
- [o]
3636
- ), s = a.useCallback(() => {
3637
- t.current = "", window.clearTimeout(n.current);
3638
- }, []);
3639
- return a.useEffect(() => () => window.clearTimeout(n.current), []), [t, r, s];
3640
- }
3641
- function Aa(e, o, t) {
3642
- const r = o.length > 1 && Array.from(o).every((u) => u === o[0]) ? o[0] : o, s = t ? e.indexOf(t) : -1;
3643
- let i = id(e, Math.max(s, 0));
3644
- r.length === 1 && (i = i.filter((u) => u !== t));
3645
- const d = i.find(
3646
- (u) => u.textValue.toLowerCase().startsWith(r.toLowerCase())
3647
- );
3648
- return d !== t ? d : void 0;
3649
- }
3650
- function id(e, o) {
3651
- return e.map((t, n) => e[(o + n) % e.length]);
3652
- }
3653
- var cd = oa, Ma = ra, dd = la, ud = sa, pd = ia, Ta = ca, fd = fa, md = ga, Pa = ha, ja = ya, gd = wa, vd = Sa, Oa = Ca, ka = Na, $a = Ra;
3654
- const hd = cd, zd = md, xd = dd, La = a.forwardRef(({ className: e, children: o, ...t }, n) => /* @__PURE__ */ l.jsxs(
3655
- Ma,
3656
- {
3657
- ref: n,
3658
- className: E(
3659
- "al-flex al-h-10 al-items-center al-justify-between al-rounded-md al-border al-border-input al-bg-transparent al-px-3 al-py-2 al-text-sm al-ring-offset-background placeholder:al-text-muted-foreground focus:al-outline-none focus:al-ring-2 focus:al-ring-ring focus:al-ring-offset-2 disabled:al-cursor-not-allowed disabled:al-opacity-50 [&>span]:al-line-clamp-1 data-[placeholder]:al-text-muted-foreground",
3660
- e
3661
- ),
3662
- ...t,
3663
- children: [
3664
- o,
3665
- /* @__PURE__ */ l.jsx(ud, { asChild: !0, children: /* @__PURE__ */ l.jsx(Bt, { className: "al-h-4 al-w-4 al-opacity-50 al-ml-2" }) })
3666
- ]
3667
- }
3668
- ));
3669
- La.displayName = Ma.displayName;
3670
- const Fa = a.forwardRef(({ className: e, ...o }, t) => /* @__PURE__ */ l.jsx(
3671
- Oa,
3672
- {
3673
- ref: t,
3674
- className: E("al-flex al-cursor-default al-items-center al-justify-center al-py-1", e),
3675
- ...o,
3676
- children: /* @__PURE__ */ l.jsx(Ua, { className: "al-h-4 al-w-4" })
3677
- }
3678
- ));
3679
- Fa.displayName = Oa.displayName;
3680
- const Va = a.forwardRef(({ className: e, ...o }, t) => /* @__PURE__ */ l.jsx(
3681
- ka,
3682
- {
3683
- ref: t,
3684
- className: E("al-flex al-cursor-default al-items-center al-justify-center al-py-1", e),
3685
- ...o,
3686
- children: /* @__PURE__ */ l.jsx(Bt, { className: "al-h-4 al-w-4" })
3687
- }
3688
- ));
3689
- Va.displayName = ka.displayName;
3690
- const Ga = a.forwardRef(({ className: e, children: o, position: t = "popper", ...n }, r) => /* @__PURE__ */ l.jsx(pd, { children: /* @__PURE__ */ l.jsxs(
3691
- Ta,
3692
- {
3693
- ref: r,
3694
- className: E(
3695
- "al-relative al-z-[100] al-max-h-96 al-min-w-[8rem] al-overflow-hidden al-rounded-md al-border al-bg-popover al-text-popover-foreground al-shadow-md data-[state=open]:al-animate-in data-[state=closed]:al-animate-out data-[state=closed]:al-fade-out-0 data-[state=open]:al-fade-in-0 data-[state=closed]:al-zoom-out-95 data-[state=open]:al-zoom-in-95 data-[side=bottom]:al-slide-in-from-top-2 data-[side=left]:al-slide-in-from-right-2 data-[side=right]:al-slide-in-from-left-2 data-[side=top]:al-slide-in-from-bottom-2",
3696
- t === "popper" && "data-[side=bottom]:al-translate-y-1 data-[side=left]:al--translate-x-1 data-[side=right]:al-translate-x-1 data-[side=top]:al--translate-y-1",
3697
- e
3698
- ),
3699
- position: t,
3700
- ...n,
3701
- children: [
3702
- /* @__PURE__ */ l.jsx(Fa, {}),
3703
- /* @__PURE__ */ l.jsx(
3704
- fd,
3705
- {
3706
- className: E(
3707
- "al-p-1",
3708
- t === "popper" && "al-h-[var(--radix-select-trigger-height)] al-w-full al-min-w-[var(--radix-select-trigger-width)]"
3709
- ),
3710
- children: o
3711
- }
3712
- ),
3713
- /* @__PURE__ */ l.jsx(Va, {})
3714
- ]
3715
- }
3716
- ) }));
3717
- Ga.displayName = Ta.displayName;
3718
- const yd = a.forwardRef(({ className: e, ...o }, t) => /* @__PURE__ */ l.jsx(
3719
- Pa,
3720
- {
3721
- ref: t,
3722
- className: E("al-py-1.5 al-pl-8 al-pr-2 al-text-sm al-font-semibold", e),
3723
- ...o
3724
- }
3725
- ));
3726
- yd.displayName = Pa.displayName;
3727
- const Ba = a.forwardRef(({ className: e, children: o, ...t }, n) => /* @__PURE__ */ l.jsxs(
3728
- ja,
3729
- {
3730
- ref: n,
3731
- className: E(
3732
- "al-relative al-flex al-w-full al-cursor-default al-select-none al-items-center al-rounded-sm al-py-1.5 al-pl-8 al-pr-2 al-text-sm al-outline-none focus:al-bg-accent focus:al-text-accent-foreground data-[disabled]:al-pointer-events-none data-[disabled]:al-opacity-50",
3733
- e
3734
- ),
3735
- ...t,
3736
- children: [
3737
- /* @__PURE__ */ l.jsx("span", { className: "al-absolute al-left-2 al-flex al-h-3.5 al-w-3.5 al-items-center al-justify-center", children: /* @__PURE__ */ l.jsx(vd, { children: /* @__PURE__ */ l.jsx(Mo, { className: "al-h-4 al-w-4" }) }) }),
3738
- /* @__PURE__ */ l.jsx(gd, { children: o })
3739
- ]
3740
- }
3741
- ));
3742
- Ba.displayName = ja.displayName;
3743
- const wd = a.forwardRef(({ className: e, ...o }, t) => /* @__PURE__ */ l.jsx(
3744
- $a,
3745
- {
3746
- ref: t,
3747
- className: E("al--mx-1 al-my-1 al-h-px al-bg-muted", e),
3748
- ...o
3749
- }
3750
- ));
3751
- wd.displayName = $a.displayName;
3752
- const bd = qt(
3753
- [
3754
- "al-flex al-items-center al-justify-between al-rounded-md",
3755
- "al-text-sm al-font-normal",
3756
- "al-transition-colors",
3757
- "focus-visible:al-outline-none focus-visible:al-ring-2 focus-visible:al-ring-ring focus-visible:al-ring-offset-2",
3758
- "disabled:al-pointer-events-none disabled:al-opacity-50",
3759
- "[&>span]:al-line-clamp-1",
3760
- // Override base styles
3761
- "!al-bg-transparent"
3762
- ].join(" "),
3763
- {
3764
- variants: {
3765
- variant: {
3766
- default: [
3767
- "!al-bg-primary !al-text-brand !al-border-primary",
3768
- "hover:!al-bg-primary/90 hover:!al-text-white",
3769
- "focus:!al-bg-primary/90 focus:!al-text-white"
3770
- ].join(" "),
3771
- destructive: [
3772
- "!al-bg-destructive !al-text-destructive-foreground",
3773
- "hover:!al-bg-destructive/90",
3774
- "focus:!al-bg-destructive/90"
3775
- ].join(" "),
3776
- outline: [
3777
- "!al-border !al-border-input !al-bg-background",
3778
- "hover:!al-bg-accent hover:!al-text-accent-foreground",
3779
- "focus:!al-bg-accent focus:!al-text-accent-foreground"
3780
- ].join(" "),
3781
- success: [
3782
- "!al-bg-success !al-text-success-foreground",
3783
- "hover:!al-bg-success/90",
3784
- "focus:!al-bg-success/90"
3785
- ].join(" "),
3786
- secondary: [
3787
- "!al-bg-secondary !al-text-secondary-foreground !al-border-2 !al-border-secondary",
3788
- "hover:!al-bg-secondary/80",
3789
- "focus:!al-bg-secondary/80"
3790
- ].join(" "),
3791
- ghost: [
3792
- "!al-bg-transparent !al-text-foreground",
3793
- "hover:!al-bg-accent hover:!al-text-accent-foreground",
3794
- "focus:!al-bg-accent focus:!al-text-accent-foreground"
3795
- ].join(" ")
3796
- },
3797
- size: {
3798
- default: "!al-h-10 !al-px-4 !al-py-2",
3799
- sm: "!al-h-9 !al-px-3",
3800
- lg: "!al-h-11 !al-px-8"
3801
- }
3802
- },
3803
- defaultVariants: {
3804
- variant: "default",
3805
- size: "default"
3806
- }
3807
- }
3808
- ), Sd = Y(
3809
- ({ options: e, onChange: o, value: t, placeholder: n, className: r, disabled: s, icon: i, variant: c, size: d, open: u }, f) => /* @__PURE__ */ l.jsxs(hd, { value: t, onValueChange: o, disabled: s, open: u, children: [
3810
- /* @__PURE__ */ l.jsxs(La, { ref: f, className: E(bd({ variant: c, size: d, className: r })), children: [
3811
- i && /* @__PURE__ */ l.jsx("div", { className: "al-mr-2", children: i }),
3812
- /* @__PURE__ */ l.jsx(xd, { placeholder: n })
3813
- ] }),
3814
- /* @__PURE__ */ l.jsx(Ga, { children: e.map((p) => /* @__PURE__ */ l.jsx(Ba, { value: p.value, children: p.label }, p.value)) })
3815
- ] })
3816
- );
3817
- Sd.displayName = "NativeSelect";
3818
- export {
3819
- qs as $,
3820
- ps as A,
3821
- Ed as B,
3822
- hr as C,
3823
- Id as D,
3824
- fl as E,
3825
- ml as F,
3826
- gs as G,
3827
- gl as H,
3828
- Pl as I,
3829
- vl as J,
3830
- Ad as K,
3831
- vs as L,
3832
- Md as M,
3833
- Xs as N,
3834
- Zs as O,
3835
- fs as P,
3836
- Js as Q,
3837
- Tl as R,
3838
- Rd as S,
3839
- jl as T,
3840
- Qs as U,
3841
- ei as V,
3842
- ti as W,
3843
- oi as X,
3844
- Td as Y,
3845
- Pd as Z,
3846
- jd as _,
3847
- rt as a,
3848
- Ys as a0,
3849
- Od as a1,
3850
- Ld as a2,
3851
- Bi as a3,
3852
- Vi as a4,
3853
- Ai as a5,
3854
- Mi as a6,
3855
- gr as a7,
3856
- $d as a8,
3857
- kd as a9,
3858
- zd as aA,
3859
- xd as aB,
3860
- La as aC,
3861
- Ga as aD,
3862
- yd as aE,
3863
- Ba as aF,
3864
- wd as aG,
3865
- Fa as aH,
3866
- Va as aI,
3867
- vr as aa,
3868
- Ti as ab,
3869
- Pi as ac,
3870
- ji as ad,
3871
- Oi as ae,
3872
- Fd as af,
3873
- Ki as ag,
3874
- Gd as ah,
3875
- dc as ai,
3876
- uc as aj,
3877
- pc as ak,
3878
- vc as al,
3879
- hc as am,
3880
- Hd as an,
3881
- Pc as ao,
3882
- ea as ap,
3883
- Wd as aq,
3884
- jc as ar,
3885
- Oc as as,
3886
- kc as at,
3887
- $c as au,
3888
- Lc as av,
3889
- Fc as aw,
3890
- Vc as ax,
3891
- Sd as ay,
3892
- hd as az,
3893
- Bd as b,
3894
- nn as c,
3895
- ki as d,
3896
- $i as e,
3897
- Li as f,
3898
- Fi as g,
3899
- Gi as h,
3900
- pl as i,
3901
- Do as j,
3902
- un as k,
3903
- ms as l,
3904
- hs as m,
3905
- xs as n,
3906
- ys as o,
3907
- ws as p,
3908
- bs as q,
3909
- Ss as r,
3910
- Cs as s,
3911
- _s as t,
3912
- at as u,
3913
- Rs as v,
3914
- us as w,
3915
- Ns as x,
3916
- dl as y,
3917
- tn as z
3918
- };