@dnotrever2/super-kit 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/README.md +666 -0
  2. package/dist/Badge/Badge.d.ts +15 -0
  3. package/dist/Badge/index.d.ts +1 -0
  4. package/dist/Button/Button.d.ts +17 -0
  5. package/dist/Button/index.d.ts +1 -0
  6. package/dist/Card/Card.d.ts +33 -0
  7. package/dist/Card/index.d.ts +1 -0
  8. package/dist/Input/Input.d.ts +43 -0
  9. package/dist/Input/index.d.ts +1 -0
  10. package/dist/Markers/Markers.d.ts +38 -0
  11. package/dist/Markers/index.d.ts +1 -0
  12. package/dist/Menu/Menu.d.ts +23 -0
  13. package/dist/Menu/index.d.ts +1 -0
  14. package/dist/Modal/Modal.d.ts +19 -0
  15. package/dist/Modal/index.d.ts +1 -0
  16. package/dist/Popover/Popover.d.ts +17 -0
  17. package/dist/Popover/index.d.ts +1 -0
  18. package/dist/PushButton/PushButton.d.ts +19 -0
  19. package/dist/PushButton/index.d.ts +1 -0
  20. package/dist/Scrollable/Scrollable.d.ts +16 -0
  21. package/dist/Scrollable/index.d.ts +1 -0
  22. package/dist/Select/Select.d.ts +44 -0
  23. package/dist/Select/index.d.ts +1 -0
  24. package/dist/Spinner/Spinner.d.ts +13 -0
  25. package/dist/Spinner/index.d.ts +1 -0
  26. package/dist/Textarea/Textarea.d.ts +23 -0
  27. package/dist/Textarea/index.d.ts +1 -0
  28. package/dist/Toast/Toast.d.ts +28 -0
  29. package/dist/Toast/index.d.ts +1 -0
  30. package/dist/Tooltip/Tooltip.d.ts +13 -0
  31. package/dist/Tooltip/index.d.ts +1 -0
  32. package/dist/hooks/index.d.ts +1 -0
  33. package/dist/hooks/useControlledState.d.ts +1 -0
  34. package/dist/index.d.ts +18 -0
  35. package/dist/super-kit.cjs +2 -0
  36. package/dist/super-kit.cjs.map +1 -0
  37. package/dist/super-kit.css +1 -0
  38. package/dist/super-kit.js +1239 -0
  39. package/dist/super-kit.js.map +1 -0
  40. package/dist/types/index.d.ts +3 -0
  41. package/dist/utils/index.d.ts +1 -0
  42. package/dist/utils/mask.d.ts +6 -0
  43. package/package.json +50 -0
@@ -0,0 +1,1239 @@
1
+ import { jsxs as d, jsx as e, Fragment as ve } from "react/jsx-runtime";
2
+ import { forwardRef as Z, useState as G, useCallback as ee, useRef as te, useImperativeHandle as ue, useEffect as ae, useMemo as le, useContext as ke, createContext as be } from "react";
3
+ import { createPortal as Ne } from "react-dom";
4
+ const ye = "_badge_lyltm_1", xe = "_neutral_lyltm_18", we = "_accent_lyltm_24", Be = "_outline_lyltm_29", je = "_success_lyltm_35", Ce = "_warning_lyltm_40", Ie = "_danger_lyltm_45", $e = "_info_lyltm_50", Le = "_count_lyltm_55", Me = "_mono_lyltm_63", Se = "_version_lyltm_71", qe = "_dismiss_lyltm_80", Re = "_dismissBtn_lyltm_84", Te = "_dot_lyltm_98", De = "_dotIndicator_lyltm_111", Oe = "_pill_lyltm_119", E = {
5
+ badge: ye,
6
+ neutral: xe,
7
+ accent: we,
8
+ outline: Be,
9
+ success: je,
10
+ warning: Ce,
11
+ danger: Ie,
12
+ info: $e,
13
+ count: Le,
14
+ mono: Me,
15
+ version: Se,
16
+ dismiss: qe,
17
+ dismissBtn: Re,
18
+ dot: Te,
19
+ dotIndicator: De,
20
+ pill: Oe
21
+ }, We = () => /* @__PURE__ */ e("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", width: "10", height: "10", children: /* @__PURE__ */ e("path", { d: "M18 6 6 18M6 6l12 12" }) });
22
+ function Ee({
23
+ variant: s = "neutral",
24
+ icon: l,
25
+ pill: t = !1,
26
+ dismissable: n = !1,
27
+ onDismiss: a,
28
+ dotColor: o,
29
+ children: c,
30
+ className: r,
31
+ ...i
32
+ }) {
33
+ if (s === "dot") {
34
+ const m = [E.badge, E.dot, r].filter(Boolean).join(" ");
35
+ return /* @__PURE__ */ d("span", { ...i, className: m, children: [
36
+ /* @__PURE__ */ e(
37
+ "span",
38
+ {
39
+ className: E.dotIndicator,
40
+ style: { background: o ?? "var(--accent)" }
41
+ }
42
+ ),
43
+ c
44
+ ] });
45
+ }
46
+ const h = [
47
+ E.badge,
48
+ E[s],
49
+ t ? E.pill : null,
50
+ n ? E.dismiss : null,
51
+ r
52
+ ].filter(Boolean).join(" ");
53
+ return /* @__PURE__ */ d("span", { ...i, className: h, children: [
54
+ l || null,
55
+ c,
56
+ n && /* @__PURE__ */ e(
57
+ "button",
58
+ {
59
+ type: "button",
60
+ className: E.dismissBtn,
61
+ "aria-label": "Remove",
62
+ onClick: a,
63
+ children: /* @__PURE__ */ e(We, {})
64
+ }
65
+ )
66
+ ] });
67
+ }
68
+ Ee.displayName = "Badge";
69
+ function Ae({
70
+ direction: s = "vertical",
71
+ track: l = !1,
72
+ arrows: t = !1,
73
+ autoHide: n = !1,
74
+ expand: a = !1,
75
+ scrollbarSize: o,
76
+ height: c,
77
+ children: r,
78
+ className: i,
79
+ style: h,
80
+ ...m
81
+ }) {
82
+ const g = [
83
+ "sb",
84
+ l ? "sb-track" : null,
85
+ t ? "sb-arrows" : null,
86
+ n ? "sb-auto-hide" : null,
87
+ a ? "sb-expand" : null,
88
+ i
89
+ ].filter(Boolean).join(" "), k = s === "vertical" ? { overflowY: "auto", overflowX: "hidden" } : s === "horizontal" ? { overflowX: "auto", overflowY: "hidden" } : { overflow: "auto" }, p = o !== void 0 ? { "--sb-w": `${o}px` } : void 0;
90
+ return /* @__PURE__ */ e(
91
+ "div",
92
+ {
93
+ ...m,
94
+ className: g,
95
+ style: { height: c, ...k, ...p, ...h },
96
+ children: r
97
+ }
98
+ );
99
+ }
100
+ Ae.displayName = "Scrollable";
101
+ const Fe = "_btn_8cdvn_1", ze = "_icon_8cdvn_34", Xe = "_primary_8cdvn_43", Ue = "_secondary_8cdvn_51", Ve = "_ghost_8cdvn_61", Ge = "_danger_8cdvn_71", He = "_success_8cdvn_79", Ke = "_warning_8cdvn_87", Ye = "_sm_8cdvn_96", Ze = "_md_8cdvn_104", Je = "_lg_8cdvn_106", P = {
102
+ btn: Fe,
103
+ icon: ze,
104
+ primary: Xe,
105
+ secondary: Ue,
106
+ ghost: Ve,
107
+ danger: Ge,
108
+ success: He,
109
+ warning: Ke,
110
+ sm: Ye,
111
+ md: Ze,
112
+ lg: Je
113
+ }, Qe = Z(
114
+ ({
115
+ type: s = "button",
116
+ variant: l = "secondary",
117
+ size: t = "md",
118
+ icon: n,
119
+ loading: a = !1,
120
+ children: o,
121
+ className: c,
122
+ disabled: r,
123
+ ...i
124
+ }, h) => {
125
+ const m = [
126
+ P.btn,
127
+ P[l],
128
+ P[t],
129
+ c
130
+ ].filter(Boolean).join(" ");
131
+ return /* @__PURE__ */ d(
132
+ "button",
133
+ {
134
+ ref: h,
135
+ type: s,
136
+ disabled: r || a,
137
+ className: m,
138
+ ...i,
139
+ children: [
140
+ n ? /* @__PURE__ */ e("span", { className: P.icon, children: n }) : null,
141
+ o
142
+ ]
143
+ }
144
+ );
145
+ }
146
+ );
147
+ Qe.displayName = "Button";
148
+ const Pe = "_card_1gxgi_1", et = "_bordered_1gxgi_8", tt = "_tilt_1gxgi_12", nt = "_closeBtn_1gxgi_20", st = "_padSm_1gxgi_41", lt = "_padMd_1gxgi_42", ot = "_padLg_1gxgi_43", at = "_padNone_1gxgi_44", ct = "_header_1gxgi_47", it = "_headerIcon_1gxgi_54", rt = "_title_1gxgi_63", dt = "_subtitle_1gxgi_69", _t = "_stat_1gxgi_76", ut = "_statValue_1gxgi_83", ht = "_statUnit_1gxgi_91", mt = "_statDelta_1gxgi_97", ft = "_deltaPositive_1gxgi_102", pt = "_deltaNegative_1gxgi_103", gt = "_deltaNeutral_1gxgi_104", v = {
149
+ card: Pe,
150
+ bordered: et,
151
+ tilt: tt,
152
+ closeBtn: nt,
153
+ padSm: st,
154
+ padMd: lt,
155
+ padLg: ot,
156
+ padNone: at,
157
+ header: ct,
158
+ headerIcon: it,
159
+ title: rt,
160
+ subtitle: dt,
161
+ stat: _t,
162
+ statValue: ut,
163
+ statUnit: ht,
164
+ statDelta: mt,
165
+ deltaPositive: ft,
166
+ deltaNegative: pt,
167
+ deltaNeutral: gt
168
+ }, vt = {
169
+ none: v.padNone,
170
+ sm: v.padSm,
171
+ md: v.padMd,
172
+ lg: v.padLg
173
+ }, kt = () => /* @__PURE__ */ e("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", width: "10", height: "10", children: /* @__PURE__ */ e("path", { d: "M18 6 6 18M6 6l12 12" }) });
174
+ function bt({
175
+ padding: s = "md",
176
+ bordered: l = !1,
177
+ tilt: t = !1,
178
+ onClose: n,
179
+ closeBtnProps: a,
180
+ children: o,
181
+ className: c,
182
+ ...r
183
+ }) {
184
+ const i = [v.card, vt[s], l ? v.bordered : null, t ? v.tilt : null, c].filter(Boolean).join(" ");
185
+ return /* @__PURE__ */ d("div", { ...r, className: i, children: [
186
+ n && /* @__PURE__ */ e(
187
+ "button",
188
+ {
189
+ type: "button",
190
+ "aria-label": "Close",
191
+ ...a,
192
+ className: [v.closeBtn, a == null ? void 0 : a.className].filter(Boolean).join(" "),
193
+ onClick: n,
194
+ children: /* @__PURE__ */ e(kt, {})
195
+ }
196
+ ),
197
+ o
198
+ ] });
199
+ }
200
+ bt.displayName = "Card";
201
+ function Nt({
202
+ icon: s,
203
+ title: l,
204
+ subtitle: t,
205
+ className: n,
206
+ ...a
207
+ }) {
208
+ return /* @__PURE__ */ d("div", { ...a, className: [v.header, n].filter(Boolean).join(" "), children: [
209
+ s && /* @__PURE__ */ e("span", { className: v.headerIcon, children: s }),
210
+ /* @__PURE__ */ d("div", { children: [
211
+ /* @__PURE__ */ e("div", { className: v.title, children: l }),
212
+ t && /* @__PURE__ */ e("div", { className: v.subtitle, children: t })
213
+ ] })
214
+ ] });
215
+ }
216
+ Nt.displayName = "CardHeader";
217
+ function yt({
218
+ value: s,
219
+ unit: l,
220
+ delta: t,
221
+ deltaDirection: n = "positive",
222
+ className: a,
223
+ ...o
224
+ }) {
225
+ const c = [
226
+ v.statDelta,
227
+ n === "positive" ? v.deltaPositive : n === "negative" ? v.deltaNegative : v.deltaNeutral
228
+ ].filter(Boolean).join(" ");
229
+ return /* @__PURE__ */ d("div", { ...o, className: [v.stat, a].filter(Boolean).join(" "), children: [
230
+ /* @__PURE__ */ d("span", { className: v.statValue, children: [
231
+ s,
232
+ l && /* @__PURE__ */ d("span", { className: v.statUnit, children: [
233
+ " ",
234
+ l
235
+ ] })
236
+ ] }),
237
+ t && /* @__PURE__ */ e("span", { className: c, children: t })
238
+ ] });
239
+ }
240
+ yt.displayName = "CardStat";
241
+ function ce(s, l, t) {
242
+ const [n, a] = G(l), o = s !== void 0, c = o ? s : n, r = ee(
243
+ (i) => {
244
+ o || a(i), t == null || t(i);
245
+ },
246
+ [o, t]
247
+ );
248
+ return [c, r, o];
249
+ }
250
+ const xt = "X", wt = /[a-zA-Z0-9]/;
251
+ function he(s, l = {}) {
252
+ const t = l.allowedPattern ?? wt;
253
+ return s.split("").filter((n) => t.test(n)).join("");
254
+ }
255
+ function Bt(s, l, t = {}) {
256
+ const n = t.placeholder ?? xt, a = he(s, t);
257
+ let o = 0, c = "";
258
+ for (const r of l) {
259
+ if (o >= a.length)
260
+ break;
261
+ if (r === n) {
262
+ c += a[o], o += 1;
263
+ continue;
264
+ }
265
+ c += r;
266
+ }
267
+ return c;
268
+ }
269
+ const jt = "_wrapper_25x8h_1", Ct = "_field_25x8h_7", It = "_label_25x8h_13", $t = "_input_25x8h_22", Lt = "_hasIcon_25x8h_52", Mt = "_hasIconRight_25x8h_55", St = "_hasClear_25x8h_58", qt = "_hasClearAndIconRight_25x8h_61", Rt = "_iconSlot_25x8h_64", Tt = "_iconSlotRight_25x8h_78", Dt = "_iconSlotRightWithClear_25x8h_92", Ot = "_clearBtn_25x8h_95", L = {
270
+ wrapper: jt,
271
+ field: Ct,
272
+ label: It,
273
+ input: $t,
274
+ hasIcon: Lt,
275
+ hasIconRight: Mt,
276
+ hasClear: St,
277
+ hasClearAndIconRight: qt,
278
+ iconSlot: Rt,
279
+ iconSlotRight: Tt,
280
+ iconSlotRightWithClear: Dt,
281
+ clearBtn: Ot
282
+ }, Wt = () => /* @__PURE__ */ e("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", width: "12", height: "12", children: /* @__PURE__ */ e("path", { d: "M18 6 6 18M6 6l12 12" }) }), Et = Z(
283
+ ({
284
+ label: s,
285
+ icon: l,
286
+ iconPosition: t = "left",
287
+ clearable: n = !1,
288
+ clearButtonProps: a,
289
+ clearLabel: o,
290
+ defaultValue: c = "",
291
+ disabled: r,
292
+ mask: i,
293
+ maskAllowedPattern: h,
294
+ maskPlaceholder: m,
295
+ selectOnFocus: g = !1,
296
+ textAlign: k,
297
+ onChange: p,
298
+ onValueChange: N,
299
+ value: R,
300
+ wrapperProps: j,
301
+ fieldProps: y,
302
+ className: $,
303
+ ...f
304
+ }, x) => {
305
+ const w = te(null), [z, X] = ce(
306
+ R,
307
+ c,
308
+ (b) => {
309
+ N == null || N({
310
+ value: b,
311
+ rawValue: i ? he(b, {
312
+ allowedPattern: h
313
+ }) : b
314
+ });
315
+ }
316
+ );
317
+ ue(x, () => w.current);
318
+ const O = ee(
319
+ (b) => i ? Bt(b, i, {
320
+ allowedPattern: h,
321
+ placeholder: m
322
+ }) : b,
323
+ [i, h, m]
324
+ ), H = (b) => {
325
+ const W = O(b.target.value);
326
+ b.target.value = W, X(W), p == null || p(b);
327
+ }, C = () => {
328
+ var b;
329
+ X(""), (b = w.current) == null || b.focus();
330
+ }, S = l && t === "right", K = l && t === "left", Y = [
331
+ L.input,
332
+ K ? L.hasIcon : null,
333
+ S ? L.hasIconRight : null,
334
+ n && S ? L.hasClearAndIconRight : n ? L.hasClear : null,
335
+ $
336
+ ].filter(Boolean).join(" "), ne = (b) => {
337
+ var W;
338
+ g && b.target.select(), (W = f.onFocus) == null || W.call(f, b);
339
+ }, J = /* @__PURE__ */ e(
340
+ "input",
341
+ {
342
+ ref: w,
343
+ disabled: r,
344
+ value: O(z),
345
+ onChange: H,
346
+ onFocus: ne,
347
+ className: Y,
348
+ style: k ? { textAlign: k, ...f.style } : f.style,
349
+ ...f
350
+ }
351
+ ), se = [L.wrapper, j == null ? void 0 : j.className].filter(Boolean).join(" "), Q = /* @__PURE__ */ d("span", { ...j, className: se, children: [
352
+ K ? /* @__PURE__ */ e("span", { className: L.iconSlot, children: l }) : null,
353
+ J,
354
+ S ? /* @__PURE__ */ e("span", { className: [L.iconSlotRight, n ? L.iconSlotRightWithClear : null].filter(Boolean).join(" "), children: l }) : null,
355
+ n ? /* @__PURE__ */ e(
356
+ "button",
357
+ {
358
+ type: "button",
359
+ "aria-label": "Clear",
360
+ title: "Clear",
361
+ disabled: r || z.length === 0,
362
+ onClick: C,
363
+ className: L.clearBtn,
364
+ ...a,
365
+ children: (a == null ? void 0 : a.children) ?? /* @__PURE__ */ e(Wt, {})
366
+ }
367
+ ) : null
368
+ ] });
369
+ return !s && !y ? Q : /* @__PURE__ */ d("div", { ...y, className: [L.field, y == null ? void 0 : y.className].filter(Boolean).join(" "), children: [
370
+ s ? /* @__PURE__ */ e("label", { className: L.label, children: s }) : null,
371
+ Q
372
+ ] });
373
+ }
374
+ );
375
+ Et.displayName = "Input";
376
+ const At = "_checkbox_7kjwa_2", Ft = "_checkboxBox_7kjwa_13", zt = "_checked_7kjwa_33", Xt = "_indeterminate_7kjwa_42", Ut = "_disabled_7kjwa_55", Vt = "_radio_7kjwa_61", Gt = "_radioDot_7kjwa_72", Ht = "_radioChecked_7kjwa_85", Kt = "_radioDisabled_7kjwa_97", Yt = "_radioGroup_7kjwa_102", Zt = "_switchWrap_7kjwa_109", Jt = "_switchTrack_7kjwa_120", Qt = "_switchOn_7kjwa_143", Pt = "_switchDisabled_7kjwa_153", B = {
377
+ checkbox: At,
378
+ checkboxBox: Ft,
379
+ checked: zt,
380
+ indeterminate: Xt,
381
+ disabled: Ut,
382
+ radio: Vt,
383
+ radioDot: Gt,
384
+ radioChecked: Ht,
385
+ radioDisabled: Kt,
386
+ radioGroup: Yt,
387
+ switchWrap: Zt,
388
+ switchTrack: Jt,
389
+ switchOn: Qt,
390
+ switchDisabled: Pt
391
+ }, en = () => /* @__PURE__ */ e("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "3", strokeLinecap: "round", strokeLinejoin: "round", children: /* @__PURE__ */ e("path", { d: "M20 6 9 17l-5-5" }) });
392
+ function tn({
393
+ label: s,
394
+ checked: l,
395
+ defaultChecked: t,
396
+ indeterminate: n = !1,
397
+ disabled: a = !1,
398
+ onChange: o,
399
+ className: c,
400
+ ...r
401
+ }) {
402
+ const i = l ?? t ?? !1, h = [
403
+ B.checkbox,
404
+ i && !n ? B.checked : null,
405
+ n ? B.indeterminate : null,
406
+ a ? B.disabled : null,
407
+ c
408
+ ].filter(Boolean).join(" ");
409
+ return /* @__PURE__ */ d("label", { className: h, children: [
410
+ /* @__PURE__ */ e(
411
+ "input",
412
+ {
413
+ ...r,
414
+ type: "checkbox",
415
+ checked: i,
416
+ disabled: a,
417
+ style: { display: "none" },
418
+ onChange: (m) => o == null ? void 0 : o(m.currentTarget.checked)
419
+ }
420
+ ),
421
+ /* @__PURE__ */ e("span", { className: B.checkboxBox, children: !n && /* @__PURE__ */ e(en, {}) }),
422
+ s
423
+ ] });
424
+ }
425
+ tn.displayName = "Checkbox";
426
+ function nn({
427
+ label: s,
428
+ checked: l = !1,
429
+ disabled: t = !1,
430
+ onChange: n,
431
+ value: a,
432
+ className: o,
433
+ ...c
434
+ }) {
435
+ const r = [
436
+ B.radio,
437
+ l ? B.radioChecked : null,
438
+ t ? B.radioDisabled : null,
439
+ o
440
+ ].filter(Boolean).join(" ");
441
+ return /* @__PURE__ */ d("label", { className: r, children: [
442
+ /* @__PURE__ */ e(
443
+ "input",
444
+ {
445
+ ...c,
446
+ type: "radio",
447
+ checked: l,
448
+ disabled: t,
449
+ value: a,
450
+ style: { display: "none" },
451
+ onChange: (i) => n == null ? void 0 : n(i.currentTarget.value)
452
+ }
453
+ ),
454
+ /* @__PURE__ */ e("span", { className: B.radioDot }),
455
+ s
456
+ ] });
457
+ }
458
+ nn.displayName = "Radio";
459
+ function sn({ children: s, className: l, ...t }) {
460
+ const n = [B.radioGroup, l].filter(Boolean).join(" ");
461
+ return /* @__PURE__ */ e("div", { ...t, className: n, role: "radiogroup", children: s });
462
+ }
463
+ sn.displayName = "RadioGroup";
464
+ function ln({
465
+ label: s,
466
+ checked: l,
467
+ defaultChecked: t,
468
+ disabled: n = !1,
469
+ onChange: a,
470
+ className: o,
471
+ ...c
472
+ }) {
473
+ const r = l ?? t ?? !1, i = [
474
+ B.switchWrap,
475
+ r ? B.switchOn : null,
476
+ n ? B.switchDisabled : null,
477
+ o
478
+ ].filter(Boolean).join(" ");
479
+ return /* @__PURE__ */ d("label", { className: i, children: [
480
+ /* @__PURE__ */ e(
481
+ "input",
482
+ {
483
+ ...c,
484
+ type: "checkbox",
485
+ checked: r,
486
+ disabled: n,
487
+ style: { display: "none" },
488
+ onChange: (h) => a == null ? void 0 : a(h.currentTarget.checked)
489
+ }
490
+ ),
491
+ /* @__PURE__ */ e("span", { className: B.switchTrack }),
492
+ s
493
+ ] });
494
+ }
495
+ ln.displayName = "Switch";
496
+ const on = "_menu_pga52_1", an = "_item_pga52_13", cn = "_active_pga52_41", rn = "_danger_pga52_53", dn = "_disabled_pga52_65", _n = "_kbd_pga52_71", un = "_separator_pga52_79", F = {
497
+ menu: on,
498
+ item: an,
499
+ active: cn,
500
+ danger: rn,
501
+ disabled: dn,
502
+ kbd: _n,
503
+ separator: un
504
+ };
505
+ function hn({ children: s, className: l, ...t }) {
506
+ const n = [F.menu, l].filter(Boolean).join(" ");
507
+ return /* @__PURE__ */ e("div", { ...t, className: n, role: "menu", children: s });
508
+ }
509
+ hn.displayName = "Menu";
510
+ function mn({
511
+ icon: s,
512
+ kbd: l,
513
+ active: t = !1,
514
+ danger: n = !1,
515
+ disabled: a = !1,
516
+ children: o,
517
+ className: c,
518
+ ...r
519
+ }) {
520
+ const i = [
521
+ F.item,
522
+ t ? F.active : null,
523
+ n ? F.danger : null,
524
+ a ? F.disabled : null,
525
+ c
526
+ ].filter(Boolean).join(" ");
527
+ return /* @__PURE__ */ d("button", { ...r, type: "button", className: i, disabled: a, role: "menuitem", children: [
528
+ s,
529
+ o,
530
+ l && /* @__PURE__ */ e("span", { className: F.kbd, children: l })
531
+ ] });
532
+ }
533
+ mn.displayName = "MenuItem";
534
+ function fn({ className: s, ...l }) {
535
+ const t = [F.separator, s].filter(Boolean).join(" ");
536
+ return /* @__PURE__ */ e("div", { ...l, className: t, role: "separator" });
537
+ }
538
+ fn.displayName = "MenuSeparator";
539
+ const pn = "_backdrop_pya14_1", gn = "_modal_pya14_23", vn = "_header_pya14_37", kn = "_titleBlock_pya14_45", bn = "_title_pya14_45", Nn = "_subtitle_pya14_58", yn = "_closeBtn_pya14_64", xn = "_body_pya14_86", wn = "_footer_pya14_92", T = {
540
+ backdrop: pn,
541
+ modal: gn,
542
+ header: vn,
543
+ titleBlock: kn,
544
+ title: bn,
545
+ subtitle: Nn,
546
+ closeBtn: yn,
547
+ body: xn,
548
+ footer: wn
549
+ }, Bn = () => /* @__PURE__ */ e("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", width: "11", height: "11", children: /* @__PURE__ */ e("path", { d: "M18 6 6 18M6 6l12 12" }) }), jn = Z(
550
+ ({
551
+ open: s,
552
+ title: l,
553
+ subtitle: t,
554
+ children: n,
555
+ footer: a,
556
+ closeOnBackdrop: o = !0,
557
+ showCloseButton: c = !0,
558
+ backdropProps: r,
559
+ modalProps: i,
560
+ headerProps: h,
561
+ bodyProps: m,
562
+ footerProps: g,
563
+ closeButtonProps: k,
564
+ onOpenChange: p,
565
+ onClose: N
566
+ }, R) => {
567
+ const j = te(null);
568
+ ue(R, () => j.current), ae(() => {
569
+ if (!s) return;
570
+ const w = (z) => {
571
+ z.key === "Escape" && y();
572
+ };
573
+ return document.addEventListener("keydown", w), () => document.removeEventListener("keydown", w);
574
+ }, [s]);
575
+ const y = () => {
576
+ p == null || p(!1), N == null || N();
577
+ }, $ = (w) => {
578
+ o && w.target === w.currentTarget && y();
579
+ };
580
+ if (!s) return null;
581
+ const f = [T.backdrop, r == null ? void 0 : r.className].filter(Boolean).join(" "), x = [T.modal, i == null ? void 0 : i.className].filter(Boolean).join(" ");
582
+ return /* @__PURE__ */ e(
583
+ "div",
584
+ {
585
+ ...r,
586
+ className: f,
587
+ onClick: $,
588
+ role: "presentation",
589
+ children: /* @__PURE__ */ d(
590
+ "div",
591
+ {
592
+ ref: j,
593
+ ...i,
594
+ className: x,
595
+ role: "dialog",
596
+ "aria-modal": "true",
597
+ children: [
598
+ (l || c) && /* @__PURE__ */ d("header", { ...h, className: [T.header, h == null ? void 0 : h.className].filter(Boolean).join(" "), children: [
599
+ /* @__PURE__ */ d("div", { className: T.titleBlock, children: [
600
+ l ? /* @__PURE__ */ e("div", { className: T.title, children: l }) : null,
601
+ t ? /* @__PURE__ */ e("div", { className: T.subtitle, children: t }) : null
602
+ ] }),
603
+ c && /* @__PURE__ */ e(
604
+ "button",
605
+ {
606
+ type: "button",
607
+ "aria-label": "Close",
608
+ className: T.closeBtn,
609
+ onClick: y,
610
+ ...k,
611
+ children: (k == null ? void 0 : k.children) ?? /* @__PURE__ */ e(Bn, {})
612
+ }
613
+ )
614
+ ] }),
615
+ /* @__PURE__ */ e(
616
+ "section",
617
+ {
618
+ ...m,
619
+ className: [T.body, m == null ? void 0 : m.className].filter(Boolean).join(" "),
620
+ children: n
621
+ }
622
+ ),
623
+ a && /* @__PURE__ */ e(
624
+ "footer",
625
+ {
626
+ ...g,
627
+ className: [T.footer, g == null ? void 0 : g.className].filter(Boolean).join(" "),
628
+ children: a
629
+ }
630
+ )
631
+ ]
632
+ }
633
+ )
634
+ }
635
+ );
636
+ }
637
+ );
638
+ jn.displayName = "Modal";
639
+ const Cn = "_wrapper_10d4l_1", In = "_pop_10d4l_8", $n = "_sideRight_10d4l_22", Ln = "_sideTop_10d4l_27", Mn = "_arrow_10d4l_34", Sn = "_head_10d4l_60", qn = "_title_10d4l_67", Rn = "_closeBtn_10d4l_74", Tn = "_body_10d4l_105", D = {
640
+ wrapper: Cn,
641
+ pop: In,
642
+ sideRight: $n,
643
+ sideTop: Ln,
644
+ arrow: Mn,
645
+ head: Sn,
646
+ title: qn,
647
+ closeBtn: Rn,
648
+ body: Tn
649
+ }, Dn = () => /* @__PURE__ */ d("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [
650
+ /* @__PURE__ */ e("line", { x1: "18", y1: "6", x2: "6", y2: "18" }),
651
+ /* @__PURE__ */ e("line", { x1: "6", y1: "6", x2: "18", y2: "18" })
652
+ ] });
653
+ function On({
654
+ open: s,
655
+ defaultOpen: l = !1,
656
+ title: t,
657
+ children: n,
658
+ trigger: a,
659
+ side: o = "bottom-start",
660
+ showCloseButton: c = !0,
661
+ onOpenChange: r,
662
+ popProps: i
663
+ }) {
664
+ const [h, m] = G(l), g = s !== void 0, k = g ? s : h, p = te(null);
665
+ function N($) {
666
+ g || m($), r == null || r($);
667
+ }
668
+ ae(() => {
669
+ function $(f) {
670
+ p.current && !p.current.contains(f.target) && N(!1);
671
+ }
672
+ return k && document.addEventListener("mousedown", $), () => document.removeEventListener("mousedown", $);
673
+ }, [k]);
674
+ const R = o.startsWith("top"), j = o.endsWith("end"), y = [
675
+ D.pop,
676
+ j ? D.sideRight : null,
677
+ R ? D.sideTop : null,
678
+ i == null ? void 0 : i.className
679
+ ].filter(Boolean).join(" ");
680
+ return /* @__PURE__ */ d("div", { ref: p, className: D.wrapper, children: [
681
+ a && /* @__PURE__ */ e("div", { onClick: () => N(!k), style: { display: "inline-flex" }, children: a }),
682
+ k && /* @__PURE__ */ d("div", { ...i, className: y, children: [
683
+ /* @__PURE__ */ e("span", { className: D.arrow }),
684
+ (t || c) && /* @__PURE__ */ d("div", { className: D.head, children: [
685
+ t && /* @__PURE__ */ e("span", { className: D.title, children: t }),
686
+ c && /* @__PURE__ */ e(
687
+ "button",
688
+ {
689
+ type: "button",
690
+ className: D.closeBtn,
691
+ "aria-label": "Close",
692
+ onClick: () => N(!1),
693
+ children: /* @__PURE__ */ e(Dn, {})
694
+ }
695
+ )
696
+ ] }),
697
+ /* @__PURE__ */ e("div", { className: D.body, children: n })
698
+ ] })
699
+ ] });
700
+ }
701
+ On.displayName = "Popover";
702
+ const Wn = "_group_1ehqf_1", En = "_pb_1ehqf_9", An = "_on_1ehqf_37", Fn = "_accent_1ehqf_42", zn = "_solo_1ehqf_47", Xn = "_disabled_1ehqf_62", V = {
703
+ group: Wn,
704
+ pb: En,
705
+ on: An,
706
+ accent: Fn,
707
+ solo: zn,
708
+ disabled: Xn
709
+ };
710
+ function Un({ children: s, className: l, ...t }) {
711
+ const n = [V.group, l].filter(Boolean).join(" ");
712
+ return /* @__PURE__ */ e("div", { ...t, className: n, role: "group", children: s });
713
+ }
714
+ Un.displayName = "PushButtonGroup";
715
+ function Vn({
716
+ on: s = !1,
717
+ accent: l = !1,
718
+ solo: t = !1,
719
+ icon: n,
720
+ children: a,
721
+ disabled: o = !1,
722
+ className: c,
723
+ ...r
724
+ }) {
725
+ const i = [
726
+ V.pb,
727
+ s ? V.on : null,
728
+ s && l ? V.accent : null,
729
+ t ? V.solo : null,
730
+ o ? V.disabled : null,
731
+ c
732
+ ].filter(Boolean).join(" ");
733
+ return /* @__PURE__ */ d("button", { ...r, type: "button", className: i, disabled: o, children: [
734
+ n,
735
+ a
736
+ ] });
737
+ }
738
+ Vn.displayName = "PushButton";
739
+ const Gn = "_root_156qh_1", Hn = "_field_156qh_6", Kn = "_label_156qh_12", Yn = "_labelMeta_156qh_24", Zn = "_trigger_156qh_33", Jn = "_triggerOpen_156qh_59", Qn = "_triggerConnected_156qh_64", Pn = "_triggerValue_156qh_69", es = "_triggerPlaceholder_156qh_78", ts = "_chevron_156qh_80", ns = "_chevronOpen_156qh_89", ss = "_chips_156qh_92", ls = "_chip_156qh_92", os = "_chipOverflow_156qh_115", as = "_clearBtn_156qh_118", cs = "_popover_156qh_138", is = "_search_156qh_160", rs = "_searchIcon_156qh_167", ds = "_searchInput_156qh_174", _s = "_list_156qh_188", us = "_item_156qh_196", hs = "_itemActive_156qh_209", ms = "_itemDisabled_156qh_217", fs = "_itemMeta_156qh_219", ps = "_checkbox_156qh_227", gs = "_checkboxChecked_156qh_239", vs = "_checkIcon_156qh_245", ks = "_emptyState_156qh_256", bs = "_popFooter_156qh_264", Ns = "_popFooterBtn_156qh_274", u = {
740
+ root: Gn,
741
+ field: Hn,
742
+ label: Kn,
743
+ labelMeta: Yn,
744
+ trigger: Zn,
745
+ triggerOpen: Jn,
746
+ triggerConnected: Qn,
747
+ triggerValue: Pn,
748
+ triggerPlaceholder: es,
749
+ chevron: ts,
750
+ chevronOpen: ns,
751
+ chips: ss,
752
+ chip: ls,
753
+ chipOverflow: os,
754
+ clearBtn: as,
755
+ popover: cs,
756
+ search: is,
757
+ searchIcon: rs,
758
+ searchInput: ds,
759
+ list: _s,
760
+ item: us,
761
+ itemActive: hs,
762
+ itemDisabled: ms,
763
+ itemMeta: fs,
764
+ checkbox: ps,
765
+ checkboxChecked: gs,
766
+ checkIcon: vs,
767
+ emptyState: ks,
768
+ popFooter: bs,
769
+ popFooterBtn: Ns
770
+ }, ys = () => /* @__PURE__ */ e("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", width: "14", height: "14", children: /* @__PURE__ */ e("path", { d: "m6 9 6 6 6-6" }) }), de = () => /* @__PURE__ */ e("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", width: "12", height: "12", children: /* @__PURE__ */ e("path", { d: "M18 6 6 18M6 6l12 12" }) }), xs = () => /* @__PURE__ */ d("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", children: [
771
+ /* @__PURE__ */ e("circle", { cx: "11", cy: "11", r: "7" }),
772
+ /* @__PURE__ */ e("path", { d: "m20 20-3.5-3.5" })
773
+ ] }), _e = () => /* @__PURE__ */ e("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", width: "10", height: "10", children: /* @__PURE__ */ e("path", { d: "M20 6 9 17l-5-5" }) }), ws = (s, l) => {
774
+ const t = l.trim().toLowerCase();
775
+ return t ? s.filter(
776
+ (n) => String(n.label).toLowerCase().includes(t)
777
+ ) : s;
778
+ }, Bs = Z(
779
+ ({
780
+ label: s,
781
+ clearable: l = !1,
782
+ defaultValue: t = null,
783
+ disabled: n = !1,
784
+ emptyLabel: a = "No options found",
785
+ filterOptions: o = ws,
786
+ isLoading: c = !1,
787
+ loadingLabel: r = "Loading...",
788
+ multiple: i = !1,
789
+ onSearchChange: h,
790
+ onValueChange: m,
791
+ options: g,
792
+ placeholder: k = "Select",
793
+ searchable: p = !1,
794
+ searchPlaceholder: N = "Search...",
795
+ value: R,
796
+ className: j,
797
+ ...y
798
+ }, $) => {
799
+ const [f, x] = G(!1), [w, z] = G(""), X = te(null), [O, H] = ce(
800
+ R,
801
+ t,
802
+ (_) => {
803
+ const I = g.filter(
804
+ (U) => Array.isArray(_) ? _.includes(U.value) : U.value === _
805
+ );
806
+ m == null || m(_, I);
807
+ }
808
+ ), C = le(
809
+ () => Array.isArray(O) ? O : O ? [O] : [],
810
+ [O]
811
+ ), S = le(
812
+ () => g.filter((_) => C.includes(_.value)),
813
+ [g, C]
814
+ ), K = le(
815
+ () => o(g, w),
816
+ [o, g, w]
817
+ );
818
+ ae(() => {
819
+ if (!f) return;
820
+ const _ = (I) => {
821
+ X.current && !X.current.contains(I.target) && x(!1);
822
+ };
823
+ return document.addEventListener("mousedown", _), () => document.removeEventListener("mousedown", _);
824
+ }, [f]);
825
+ const Y = (_) => {
826
+ z(_), h == null || h(_);
827
+ }, ne = (_) => {
828
+ if (!_.disabled) {
829
+ if (i) {
830
+ const I = C.includes(_.value) ? C.filter((U) => U !== _.value) : [...C, _.value];
831
+ H(I);
832
+ return;
833
+ }
834
+ H(_.value), x(!1);
835
+ }
836
+ }, J = () => {
837
+ H(i ? [] : null), Y("");
838
+ }, se = (_) => {
839
+ (_.key === "Enter" || _.key === " ") && (_.preventDefault(), x((I) => !I)), _.key === "Escape" && x(!1);
840
+ }, Q = [
841
+ u.trigger,
842
+ f ? u.triggerOpen : null,
843
+ f ? u.triggerConnected : null
844
+ ].filter(Boolean).join(" "), b = i && S.length > 0, W = 2, ie = S.length - W, ge = [u.root, j].filter(Boolean).join(" "), re = /* @__PURE__ */ d("div", { ref: X, ...y, className: ge, children: [
845
+ /* @__PURE__ */ d(
846
+ "button",
847
+ {
848
+ type: "button",
849
+ className: Q,
850
+ disabled: n,
851
+ "aria-haspopup": "listbox",
852
+ "aria-expanded": f,
853
+ onClick: () => !n && x((_) => !_),
854
+ onKeyDown: se,
855
+ children: [
856
+ b ? /* @__PURE__ */ d("div", { className: u.chips, children: [
857
+ S.slice(0, W).map((_) => /* @__PURE__ */ e("span", { className: u.chip, children: _.label }, _.value)),
858
+ ie > 0 && /* @__PURE__ */ d("span", { className: [u.chip, u.chipOverflow].join(" "), children: [
859
+ "+",
860
+ ie
861
+ ] })
862
+ ] }) : /* @__PURE__ */ e("span", { className: [u.triggerValue, S.length === 0 ? u.triggerPlaceholder : null].filter(Boolean).join(" "), children: S.length > 0 ? S.map((_) => _.label).join(", ") : k }),
863
+ l && C.length > 0 && /* @__PURE__ */ e(
864
+ "button",
865
+ {
866
+ type: "button",
867
+ "aria-label": "Clear",
868
+ className: u.clearBtn,
869
+ disabled: n,
870
+ onClick: (_) => {
871
+ _.stopPropagation(), J();
872
+ },
873
+ children: /* @__PURE__ */ e(de, {})
874
+ }
875
+ ),
876
+ /* @__PURE__ */ e("span", { className: [u.chevron, f ? u.chevronOpen : null].filter(Boolean).join(" "), children: /* @__PURE__ */ e(ys, {}) })
877
+ ]
878
+ }
879
+ ),
880
+ f && /* @__PURE__ */ d("div", { className: u.popover, role: "listbox", "aria-multiselectable": i || void 0, children: [
881
+ p && /* @__PURE__ */ d("div", { className: u.search, children: [
882
+ /* @__PURE__ */ e("span", { className: u.searchIcon, children: /* @__PURE__ */ e(xs, {}) }),
883
+ /* @__PURE__ */ e(
884
+ "input",
885
+ {
886
+ autoFocus: !0,
887
+ value: w,
888
+ placeholder: N,
889
+ className: u.searchInput,
890
+ onChange: (_) => Y(_.target.value)
891
+ }
892
+ ),
893
+ w && /* @__PURE__ */ e("button", { className: u.clearBtn, onClick: () => Y(""), children: /* @__PURE__ */ e(de, {}) })
894
+ ] }),
895
+ /* @__PURE__ */ d("ul", { className: u.list, children: [
896
+ c && /* @__PURE__ */ e("li", { className: u.emptyState, children: r }),
897
+ !c && K.length === 0 && /* @__PURE__ */ e("li", { className: u.emptyState, children: a }),
898
+ !c && K.map((_) => {
899
+ const I = C.includes(_.value), U = [
900
+ u.item,
901
+ I ? u.itemActive : null,
902
+ _.disabled ? u.itemDisabled : null
903
+ ].filter(Boolean).join(" ");
904
+ return /* @__PURE__ */ d(
905
+ "li",
906
+ {
907
+ className: U,
908
+ role: "option",
909
+ "aria-selected": I,
910
+ onClick: () => ne(_),
911
+ children: [
912
+ i ? /* @__PURE__ */ e("span", { className: [u.checkbox, I ? u.checkboxChecked : null].filter(Boolean).join(" "), children: I && /* @__PURE__ */ e(_e, {}) }) : null,
913
+ /* @__PURE__ */ e("span", { children: _.label }),
914
+ _.meta && /* @__PURE__ */ e("span", { className: u.itemMeta, children: _.meta }),
915
+ !i && I && /* @__PURE__ */ e("span", { className: u.checkIcon, children: /* @__PURE__ */ e(_e, {}) })
916
+ ]
917
+ },
918
+ _.value
919
+ );
920
+ })
921
+ ] }),
922
+ i && C.length > 0 && /* @__PURE__ */ d("div", { className: u.popFooter, children: [
923
+ /* @__PURE__ */ d("span", { children: [
924
+ C.length,
925
+ " selected"
926
+ ] }),
927
+ /* @__PURE__ */ e("button", { className: u.popFooterBtn, onClick: J, children: "Clear all" })
928
+ ] })
929
+ ] })
930
+ ] });
931
+ return s ? /* @__PURE__ */ d("div", { className: u.field, children: [
932
+ /* @__PURE__ */ d("label", { className: u.label, children: [
933
+ s,
934
+ i && C.length > 0 && /* @__PURE__ */ d("span", { className: u.labelMeta, children: [
935
+ "· ",
936
+ C.length,
937
+ " selected"
938
+ ] })
939
+ ] }),
940
+ re
941
+ ] }) : re;
942
+ }
943
+ );
944
+ Bs.displayName = "Select";
945
+ const js = "_ring_mxe7t_2", Cs = "_spin_mxe7t_1", Is = "_ringMuted_mxe7t_12", $s = "_sm_mxe7t_14", Ls = "_md_mxe7t_15", Ms = "_lg_mxe7t_16", Ss = "_onAccent_mxe7t_19", qs = "_dots_mxe7t_29", Rs = "_dot_mxe7t_29", Ts = "_dotPulse_mxe7t_1", Ds = "_bar_mxe7t_52", Os = "_barFill_mxe7t_62", Ws = "_barSlide_mxe7t_1", q = {
946
+ ring: js,
947
+ spin: Cs,
948
+ ringMuted: Is,
949
+ sm: $s,
950
+ md: Ls,
951
+ lg: Ms,
952
+ onAccent: Ss,
953
+ dots: qs,
954
+ dot: Rs,
955
+ dotPulse: Ts,
956
+ bar: Ds,
957
+ barFill: Os,
958
+ barSlide: Ws
959
+ };
960
+ function Es({
961
+ variant: s = "ring",
962
+ size: l = "md",
963
+ muted: t = !1,
964
+ onAccent: n = !1,
965
+ className: a,
966
+ ...o
967
+ }) {
968
+ if (s === "dots") {
969
+ const r = [q.dots, a].filter(Boolean).join(" ");
970
+ return /* @__PURE__ */ d("span", { ...o, className: r, role: "status", "aria-label": "Loading", children: [
971
+ /* @__PURE__ */ e("span", { className: q.dot }),
972
+ /* @__PURE__ */ e("span", { className: q.dot }),
973
+ /* @__PURE__ */ e("span", { className: q.dot })
974
+ ] });
975
+ }
976
+ if (s === "bar") {
977
+ const r = [q.bar, a].filter(Boolean).join(" ");
978
+ return /* @__PURE__ */ e("span", { ...o, className: r, role: "status", "aria-label": "Loading", children: /* @__PURE__ */ e("span", { className: q.barFill }) });
979
+ }
980
+ const c = [
981
+ q.ring,
982
+ q[l],
983
+ t ? q.ringMuted : null,
984
+ n ? q.onAccent : null,
985
+ a
986
+ ].filter(Boolean).join(" ");
987
+ return /* @__PURE__ */ e(
988
+ "span",
989
+ {
990
+ ...o,
991
+ className: c,
992
+ role: "status",
993
+ "aria-label": "Loading"
994
+ }
995
+ );
996
+ }
997
+ Es.displayName = "Spinner";
998
+ const As = "_field_fazrx_1", Fs = "_label_fazrx_7", zs = "_wrapper_fazrx_16", Xs = "_textarea_fazrx_20", Us = "_mono_fazrx_53", Vs = "_hasClear_fazrx_59", Gs = "_clearBtn_fazrx_62", Hs = "_footer_fazrx_84", Ks = "_helpText_fazrx_92", Ys = "_charCount_fazrx_94", Zs = "_charCountOver_fazrx_100", M = {
999
+ field: As,
1000
+ label: Fs,
1001
+ wrapper: zs,
1002
+ textarea: Xs,
1003
+ mono: Us,
1004
+ hasClear: Vs,
1005
+ clearBtn: Gs,
1006
+ footer: Hs,
1007
+ helpText: Ks,
1008
+ charCount: Ys,
1009
+ charCountOver: Zs
1010
+ }, Js = () => /* @__PURE__ */ e("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", width: "12", height: "12", children: /* @__PURE__ */ e("path", { d: "M18 6 6 18M6 6l12 12" }) }), Qs = Z(
1011
+ ({
1012
+ label: s,
1013
+ helpText: l,
1014
+ maxLength: t,
1015
+ clearable: n = !1,
1016
+ mono: a = !1,
1017
+ value: o,
1018
+ defaultValue: c = "",
1019
+ disabled: r,
1020
+ onChange: i,
1021
+ onValueChange: h,
1022
+ className: m,
1023
+ ...g
1024
+ }, k) => {
1025
+ const [p, N] = ce(
1026
+ o,
1027
+ c,
1028
+ (x) => h == null ? void 0 : h(x)
1029
+ ), R = (x) => {
1030
+ N(x.target.value), i == null || i(x);
1031
+ }, j = () => {
1032
+ N("");
1033
+ }, y = t !== void 0 && p.length > t, $ = [
1034
+ M.textarea,
1035
+ "sb",
1036
+ a ? M.mono : null,
1037
+ n ? M.hasClear : null,
1038
+ m
1039
+ ].filter(Boolean).join(" "), f = /* @__PURE__ */ d("div", { className: M.wrapper, children: [
1040
+ /* @__PURE__ */ e(
1041
+ "textarea",
1042
+ {
1043
+ ref: k,
1044
+ disabled: r,
1045
+ maxLength: t,
1046
+ value: p,
1047
+ onChange: R,
1048
+ className: $,
1049
+ ...g
1050
+ }
1051
+ ),
1052
+ n && /* @__PURE__ */ e(
1053
+ "button",
1054
+ {
1055
+ type: "button",
1056
+ className: M.clearBtn,
1057
+ disabled: r || p.length === 0,
1058
+ "aria-label": "Clear",
1059
+ onClick: j,
1060
+ children: /* @__PURE__ */ e(Js, {})
1061
+ }
1062
+ )
1063
+ ] });
1064
+ return !s && !l && t === void 0 ? f : /* @__PURE__ */ d("div", { className: M.field, children: [
1065
+ s && /* @__PURE__ */ e("label", { className: M.label, children: s }),
1066
+ f,
1067
+ (l || t !== void 0) && /* @__PURE__ */ d("div", { className: M.footer, children: [
1068
+ l && /* @__PURE__ */ e("span", { className: M.helpText, children: l }),
1069
+ t !== void 0 && /* @__PURE__ */ d("span", { className: [M.charCount, y ? M.charCountOver : null].filter(Boolean).join(" "), children: [
1070
+ p.length,
1071
+ " / ",
1072
+ t
1073
+ ] })
1074
+ ] })
1075
+ ] });
1076
+ }
1077
+ );
1078
+ Qs.displayName = "Textarea";
1079
+ const Ps = "_toast_d6t69_1", el = "_slideUp_d6t69_1", tl = "_toastExiting_d6t69_26", nl = "_slideOut_d6t69_1", sl = "_lead_d6t69_30", ll = "_body_d6t69_37", ol = "_title_d6t69_45", al = "_message_d6t69_51", cl = "_closeBtn_d6t69_56", il = "_ok_d6t69_79", rl = "_error_d6t69_82", dl = "_warning_d6t69_85", _l = "_info_d6t69_88", ul = "_stack_d6t69_92", A = {
1080
+ toast: Ps,
1081
+ slideUp: el,
1082
+ toastExiting: tl,
1083
+ slideOut: nl,
1084
+ lead: sl,
1085
+ body: ll,
1086
+ title: ol,
1087
+ message: al,
1088
+ closeBtn: cl,
1089
+ ok: il,
1090
+ error: rl,
1091
+ warning: dl,
1092
+ info: _l,
1093
+ stack: ul
1094
+ }, hl = () => /* @__PURE__ */ e("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", width: "16", height: "16", children: /* @__PURE__ */ e("path", { d: "M20 6 9 17l-5-5" }) }), me = () => /* @__PURE__ */ e("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", width: "11", height: "11", children: /* @__PURE__ */ e("path", { d: "M18 6 6 18M6 6l12 12" }) }), ml = () => /* @__PURE__ */ d("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", width: "16", height: "16", children: [
1095
+ /* @__PURE__ */ e("path", { d: "M10.29 3.86 1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z" }),
1096
+ /* @__PURE__ */ e("line", { x1: "12", y1: "9", x2: "12", y2: "13" }),
1097
+ /* @__PURE__ */ e("line", { x1: "12", y1: "17", x2: "12.01", y2: "17" })
1098
+ ] }), fl = () => /* @__PURE__ */ d("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", width: "16", height: "16", children: [
1099
+ /* @__PURE__ */ e("circle", { cx: "12", cy: "12", r: "10" }),
1100
+ /* @__PURE__ */ e("line", { x1: "12", y1: "16", x2: "12", y2: "12" }),
1101
+ /* @__PURE__ */ e("line", { x1: "12", y1: "8", x2: "12.01", y2: "8" })
1102
+ ] }), pl = {
1103
+ ok: /* @__PURE__ */ e(hl, {}),
1104
+ error: /* @__PURE__ */ e(me, {}),
1105
+ warning: /* @__PURE__ */ e(ml, {}),
1106
+ info: /* @__PURE__ */ e(fl, {})
1107
+ };
1108
+ function fe({
1109
+ variant: s = "ok",
1110
+ title: l,
1111
+ message: t,
1112
+ onDismiss: n,
1113
+ className: a,
1114
+ ...o
1115
+ }) {
1116
+ const c = [
1117
+ A.toast,
1118
+ A[s],
1119
+ a
1120
+ ].filter(Boolean).join(" ");
1121
+ return /* @__PURE__ */ d("div", { ...o, className: c, role: "alert", children: [
1122
+ /* @__PURE__ */ e("span", { className: A.lead, children: pl[s] }),
1123
+ /* @__PURE__ */ d("div", { className: A.body, children: [
1124
+ /* @__PURE__ */ e("div", { className: A.title, children: l }),
1125
+ t && /* @__PURE__ */ e("div", { className: A.message, children: t })
1126
+ ] }),
1127
+ n && /* @__PURE__ */ e(
1128
+ "button",
1129
+ {
1130
+ type: "button",
1131
+ className: A.closeBtn,
1132
+ "aria-label": "Dismiss",
1133
+ onClick: n,
1134
+ children: /* @__PURE__ */ e(me, {})
1135
+ }
1136
+ )
1137
+ ] });
1138
+ }
1139
+ fe.displayName = "Toast";
1140
+ const pe = be(null);
1141
+ function Cl({ children: s }) {
1142
+ const [l, t] = G([]), n = ee((o) => {
1143
+ t((c) => c.filter((r) => r.id !== o));
1144
+ }, []), a = ee(
1145
+ (o) => {
1146
+ const c = Math.random().toString(36).slice(2), r = o.duration ?? 4e3;
1147
+ return t((i) => [...i, { ...o, id: c }]), r > 0 && setTimeout(() => n(c), r), c;
1148
+ },
1149
+ [n]
1150
+ );
1151
+ return /* @__PURE__ */ d(pe.Provider, { value: { toast: a, dismiss: n }, children: [
1152
+ s,
1153
+ typeof document < "u" && Ne(
1154
+ /* @__PURE__ */ e("div", { className: A.stack, children: l.map((o) => /* @__PURE__ */ e(
1155
+ fe,
1156
+ {
1157
+ variant: o.variant,
1158
+ title: o.title,
1159
+ message: o.message,
1160
+ onDismiss: () => n(o.id)
1161
+ },
1162
+ o.id
1163
+ )) }),
1164
+ document.body
1165
+ )
1166
+ ] });
1167
+ }
1168
+ function Il() {
1169
+ const s = ke(pe);
1170
+ if (!s)
1171
+ throw new Error("useToast must be used within a ToastProvider");
1172
+ return s;
1173
+ }
1174
+ const gl = "_wrapper_18lxw_1", vl = "_tooltip_18lxw_6", kl = "_fadeIn_18lxw_1", bl = "_top_18lxw_33", Nl = "_bottom_18lxw_52", yl = "_kbd_18lxw_72", oe = {
1175
+ wrapper: gl,
1176
+ tooltip: vl,
1177
+ fadeIn: kl,
1178
+ top: bl,
1179
+ bottom: Nl,
1180
+ kbd: yl
1181
+ };
1182
+ function xl({
1183
+ content: s,
1184
+ side: l = "top",
1185
+ children: t,
1186
+ wrapperProps: n,
1187
+ disabled: a = !1
1188
+ }) {
1189
+ const [o, c] = G(!1);
1190
+ if (a) return /* @__PURE__ */ e(ve, { children: t });
1191
+ const r = [oe.tooltip, oe[l]].filter(Boolean).join(" "), i = [oe.wrapper, n == null ? void 0 : n.className].filter(Boolean).join(" ");
1192
+ return /* @__PURE__ */ d(
1193
+ "span",
1194
+ {
1195
+ ...n,
1196
+ className: i,
1197
+ onMouseEnter: () => c(!0),
1198
+ onMouseLeave: () => c(!1),
1199
+ onFocus: () => c(!0),
1200
+ onBlur: () => c(!1),
1201
+ children: [
1202
+ t,
1203
+ o && /* @__PURE__ */ e("span", { className: r, role: "tooltip", children: s })
1204
+ ]
1205
+ }
1206
+ );
1207
+ }
1208
+ xl.displayName = "Tooltip";
1209
+ export {
1210
+ Ee as Badge,
1211
+ Qe as Button,
1212
+ bt as Card,
1213
+ Nt as CardHeader,
1214
+ yt as CardStat,
1215
+ tn as Checkbox,
1216
+ Et as Input,
1217
+ hn as Menu,
1218
+ mn as MenuItem,
1219
+ fn as MenuSeparator,
1220
+ jn as Modal,
1221
+ On as Popover,
1222
+ Vn as PushButton,
1223
+ Un as PushButtonGroup,
1224
+ nn as Radio,
1225
+ sn as RadioGroup,
1226
+ Ae as Scrollable,
1227
+ Bs as Select,
1228
+ Es as Spinner,
1229
+ ln as Switch,
1230
+ Qs as Textarea,
1231
+ fe as Toast,
1232
+ Cl as ToastProvider,
1233
+ xl as Tooltip,
1234
+ Bt as applyMask,
1235
+ he as getRawMaskValue,
1236
+ ce as useControlledState,
1237
+ Il as useToast
1238
+ };
1239
+ //# sourceMappingURL=super-kit.js.map