@velocityuikit/velocityui 0.1.10

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 (70) hide show
  1. package/README.md +85 -0
  2. package/dist/components/Accordion/Accordion.d.ts +18 -0
  3. package/dist/components/Accordion/index.d.ts +2 -0
  4. package/dist/components/Alert/Alert.d.ts +11 -0
  5. package/dist/components/Alert/index.d.ts +2 -0
  6. package/dist/components/Avatar/Avatar.d.ts +14 -0
  7. package/dist/components/Avatar/index.d.ts +2 -0
  8. package/dist/components/Badge/Badge.d.ts +12 -0
  9. package/dist/components/Badge/index.d.ts +2 -0
  10. package/dist/components/Breadcrumb/Breadcrumb.d.ts +11 -0
  11. package/dist/components/Breadcrumb/index.d.ts +2 -0
  12. package/dist/components/Button/Button.d.ts +14 -0
  13. package/dist/components/Button/index.d.ts +2 -0
  14. package/dist/components/Card/Card.d.ts +29 -0
  15. package/dist/components/Card/index.d.ts +2 -0
  16. package/dist/components/Checkbox/Checkbox.d.ts +10 -0
  17. package/dist/components/Checkbox/index.d.ts +2 -0
  18. package/dist/components/Dialog/Dialog.d.ts +32 -0
  19. package/dist/components/Dialog/index.d.ts +2 -0
  20. package/dist/components/Divider/Divider.d.ts +8 -0
  21. package/dist/components/Divider/index.d.ts +2 -0
  22. package/dist/components/Dropdown/Dropdown.d.ts +26 -0
  23. package/dist/components/Dropdown/index.d.ts +2 -0
  24. package/dist/components/EmptyState/EmptyState.d.ts +9 -0
  25. package/dist/components/EmptyState/index.d.ts +2 -0
  26. package/dist/components/FileUpload/FileUpload.d.ts +15 -0
  27. package/dist/components/FileUpload/index.d.ts +2 -0
  28. package/dist/components/Input/Input.d.ts +21 -0
  29. package/dist/components/Input/index.d.ts +2 -0
  30. package/dist/components/NumberInput/NumberInput.d.ts +15 -0
  31. package/dist/components/NumberInput/index.d.ts +2 -0
  32. package/dist/components/Pagination/Pagination.d.ts +10 -0
  33. package/dist/components/Pagination/index.d.ts +2 -0
  34. package/dist/components/Popover/Popover.d.ts +12 -0
  35. package/dist/components/Popover/index.d.ts +2 -0
  36. package/dist/components/Progress/Progress.d.ts +12 -0
  37. package/dist/components/Progress/index.d.ts +2 -0
  38. package/dist/components/RadioGroup/RadioGroup.d.ts +24 -0
  39. package/dist/components/RadioGroup/index.d.ts +2 -0
  40. package/dist/components/Select/Select.d.ts +19 -0
  41. package/dist/components/Select/index.d.ts +2 -0
  42. package/dist/components/Skeleton/Skeleton.d.ts +10 -0
  43. package/dist/components/Skeleton/index.d.ts +2 -0
  44. package/dist/components/Slider/Slider.d.ts +14 -0
  45. package/dist/components/Slider/index.d.ts +2 -0
  46. package/dist/components/Spinner/Spinner.d.ts +10 -0
  47. package/dist/components/Spinner/index.d.ts +2 -0
  48. package/dist/components/Stepper/Stepper.d.ts +15 -0
  49. package/dist/components/Stepper/index.d.ts +2 -0
  50. package/dist/components/Switch/Switch.d.ts +9 -0
  51. package/dist/components/Switch/index.d.ts +2 -0
  52. package/dist/components/Table/Table.d.ts +21 -0
  53. package/dist/components/Table/index.d.ts +2 -0
  54. package/dist/components/Tabs/Tabs.d.ts +17 -0
  55. package/dist/components/Tabs/index.d.ts +2 -0
  56. package/dist/components/Tag/Tag.d.ts +12 -0
  57. package/dist/components/Tag/index.d.ts +2 -0
  58. package/dist/components/Textarea/Textarea.d.ts +14 -0
  59. package/dist/components/Textarea/index.d.ts +2 -0
  60. package/dist/components/Title/Title.d.ts +17 -0
  61. package/dist/components/Title/index.d.ts +2 -0
  62. package/dist/components/Toast/Toast.d.ts +17 -0
  63. package/dist/components/Toast/index.d.ts +2 -0
  64. package/dist/components/Tooltip/Tooltip.d.ts +10 -0
  65. package/dist/components/Tooltip/index.d.ts +2 -0
  66. package/dist/index.cjs +1 -0
  67. package/dist/index.d.ts +65 -0
  68. package/dist/index.js +2259 -0
  69. package/dist/style.css +1 -0
  70. package/package.json +59 -0
package/dist/index.js ADDED
@@ -0,0 +1,2259 @@
1
+ import { jsxs as h, jsx as e, Fragment as He } from "react/jsx-runtime";
2
+ import j, { useRef as A, useEffect as pe, useState as S, useId as Ie, useCallback as ve, useContext as et, createContext as tt } from "react";
3
+ import { createPortal as Te } from "react-dom";
4
+ const nt = "_button_u2ihs_1", ot = "_loading_u2ihs_51", rt = "_sm_u2ihs_65", st = "_md_u2ihs_77", at = "_lg_u2ihs_89", it = "_primary_u2ihs_103", lt = "_secondary_u2ihs_129", ct = "_outline_u2ihs_155", dt = "_ghost_u2ihs_179", _t = "_danger_u2ihs_201", ut = "_fullWidth_u2ihs_227", pt = "_spinner_u2ihs_237", ht = "_spin_u2ihs_237", ie = {
5
+ button: nt,
6
+ loading: ot,
7
+ sm: rt,
8
+ md: st,
9
+ lg: at,
10
+ primary: it,
11
+ secondary: lt,
12
+ outline: ct,
13
+ ghost: dt,
14
+ danger: _t,
15
+ fullWidth: ut,
16
+ spinner: pt,
17
+ spin: ht
18
+ }, mt = j.forwardRef(
19
+ ({
20
+ variant: t = "primary",
21
+ size: o = "md",
22
+ loading: n = !1,
23
+ fullWidth: r = !1,
24
+ leftIcon: s,
25
+ rightIcon: a,
26
+ children: l,
27
+ className: i,
28
+ disabled: c,
29
+ ..._
30
+ }, p) => {
31
+ const m = [
32
+ ie.button,
33
+ ie[t],
34
+ ie[o],
35
+ r ? ie.fullWidth : "",
36
+ n ? ie.loading : "",
37
+ i ?? ""
38
+ ].filter(Boolean).join(" ");
39
+ return /* @__PURE__ */ h(
40
+ "button",
41
+ {
42
+ ref: p,
43
+ className: m,
44
+ disabled: c || n,
45
+ "aria-busy": n,
46
+ ..._,
47
+ children: [
48
+ n && /* @__PURE__ */ e("span", { className: ie.spinner, "aria-hidden": "true" }),
49
+ !n && s && /* @__PURE__ */ e("span", { "aria-hidden": "true", children: s }),
50
+ l,
51
+ !n && a && /* @__PURE__ */ e("span", { "aria-hidden": "true", children: a })
52
+ ]
53
+ }
54
+ );
55
+ }
56
+ );
57
+ mt.displayName = "Button";
58
+ const ft = "_wrapper_1bqzb_1", bt = "_label_1bqzb_15", gt = "_required_1bqzb_29", vt = "_inputWrapper_1bqzb_39", wt = "_input_1bqzb_39", $t = "_error_1bqzb_109", kt = "_sm_1bqzb_127", Nt = "_md_1bqzb_139", yt = "_lg_1bqzb_151", xt = "_hasLeft_1bqzb_165", Lt = "_hasRight_1bqzb_173", Bt = "_iconLeft_1bqzb_181", jt = "_iconRight_1bqzb_183", It = "_hint_1bqzb_221", qt = "_errorText_1bqzb_233", zt = "_floatingWrapper_1bqzb_249", Ct = "_inputFloating_1bqzb_259", Et = "_floatingLabelEl_1bqzb_297", Wt = "_floatingLabelSm_1bqzb_329", Tt = "_floatingLabelMd_1bqzb_331", Rt = "_floatingLabelLg_1bqzb_333", Mt = "_floatingLabelWithLeft_1bqzb_339", Dt = "_floatingLabelError_1bqzb_379", B = {
59
+ wrapper: ft,
60
+ label: bt,
61
+ required: gt,
62
+ inputWrapper: vt,
63
+ input: wt,
64
+ error: $t,
65
+ sm: kt,
66
+ md: Nt,
67
+ lg: yt,
68
+ hasLeft: xt,
69
+ hasRight: Lt,
70
+ iconLeft: Bt,
71
+ iconRight: jt,
72
+ hint: It,
73
+ errorText: qt,
74
+ floatingWrapper: zt,
75
+ inputFloating: Ct,
76
+ floatingLabelEl: Et,
77
+ floatingLabelSm: Wt,
78
+ floatingLabelMd: Tt,
79
+ floatingLabelLg: Rt,
80
+ floatingLabelWithLeft: Mt,
81
+ floatingLabelError: Dt
82
+ }, St = () => /* @__PURE__ */ e("svg", { width: "16", height: "16", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ e(
83
+ "path",
84
+ {
85
+ strokeLinecap: "round",
86
+ strokeLinejoin: "round",
87
+ strokeWidth: 2,
88
+ d: "M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"
89
+ }
90
+ ) }), Ft = j.forwardRef(
91
+ ({
92
+ label: t,
93
+ size: o = "md",
94
+ error: n,
95
+ hint: r,
96
+ leftIcon: s,
97
+ rightIcon: a,
98
+ search: l = !1,
99
+ searchIcon: i,
100
+ searchIconPosition: c = "left",
101
+ leftIconClassName: _,
102
+ rightIconClassName: p,
103
+ required: m,
104
+ fullWidth: d,
105
+ floatingLabel: f,
106
+ className: g,
107
+ id: u,
108
+ placeholder: v,
109
+ ...w
110
+ }, L) => {
111
+ const $ = u ?? (t ? `vui-input-${t.toLowerCase().replace(/\s+/g, "-")}` : void 0), C = $ ? `${$}-error` : void 0, y = $ ? `${$}-hint` : void 0, U = l || !!i, K = i ?? /* @__PURE__ */ e(St, {});
112
+ let k = s, N = a, P = !1, G = !1;
113
+ U && (c === "right" ? N || (N = K, G = !0) : k || (k = K, P = !0));
114
+ const se = [
115
+ B.input,
116
+ B[o],
117
+ f ? B.inputFloating : "",
118
+ n ? B.error : "",
119
+ k ? B.hasLeft : "",
120
+ N ? B.hasRight : "",
121
+ g ?? ""
122
+ ].filter(Boolean).join(" "), we = [
123
+ B.floatingLabelEl,
124
+ B[`floatingLabel${o.charAt(0).toUpperCase() + o.slice(1)}`],
125
+ k ? B.floatingLabelWithLeft : "",
126
+ n ? B.floatingLabelError : ""
127
+ ].filter(Boolean).join(" ");
128
+ return /* @__PURE__ */ h("div", { className: B.wrapper, children: [
129
+ t && !f && /* @__PURE__ */ h("label", { htmlFor: $, className: B.label, children: [
130
+ t,
131
+ m && /* @__PURE__ */ e("span", { className: B.required, "aria-hidden": "true", children: "*" })
132
+ ] }),
133
+ /* @__PURE__ */ h("div", { className: `${B.inputWrapper}${f ? ` ${B.floatingWrapper}` : ""}`, children: [
134
+ k && /* @__PURE__ */ e(
135
+ "span",
136
+ {
137
+ className: [B.iconLeft, _ ?? ""].filter(Boolean).join(" "),
138
+ "data-slot": "left-icon",
139
+ "data-search-icon": P ? "true" : void 0,
140
+ "aria-hidden": "true",
141
+ children: k
142
+ }
143
+ ),
144
+ /* @__PURE__ */ e(
145
+ "input",
146
+ {
147
+ ref: L,
148
+ id: $,
149
+ className: se,
150
+ required: m,
151
+ "aria-invalid": !!n,
152
+ "aria-describedby": [n ? C : null, r ? y : null].filter(Boolean).join(" ") || void 0,
153
+ placeholder: f ? " " : v,
154
+ ...w
155
+ }
156
+ ),
157
+ t && f && /* @__PURE__ */ h("label", { htmlFor: $, className: we, children: [
158
+ t,
159
+ m && /* @__PURE__ */ e("span", { className: B.required, "aria-hidden": "true", children: "*" })
160
+ ] }),
161
+ N && /* @__PURE__ */ e(
162
+ "span",
163
+ {
164
+ className: [B.iconRight, p ?? ""].filter(Boolean).join(" "),
165
+ "data-slot": "right-icon",
166
+ "data-search-icon": G ? "true" : void 0,
167
+ "aria-hidden": "true",
168
+ children: N
169
+ }
170
+ )
171
+ ] }),
172
+ n && /* @__PURE__ */ e("span", { id: C, className: B.errorText, role: "alert", children: n }),
173
+ r && !n && /* @__PURE__ */ e("span", { id: y, className: B.hint, children: r })
174
+ ] });
175
+ }
176
+ );
177
+ Ft.displayName = "Input";
178
+ const At = "_title_3f7c8_1", Ht = "_xs_3f7c8_17", Ot = "_sm_3f7c8_27", Ut = "_md_3f7c8_37", Pt = "_lg_3f7c8_47", Vt = "_xl_3f7c8_57", Xt = "_xxl_3f7c8_67", Yt = "_light_3f7c8_79", Kt = "_normal_3f7c8_87", Gt = "_medium_3f7c8_95", Jt = "_semibold_3f7c8_103", Qt = "_bold_3f7c8_111", Zt = "_extrabold_3f7c8_119", en = "_left_3f7c8_129", tn = "_center_3f7c8_137", nn = "_right_3f7c8_145", on = "_muted_3f7c8_163", rn = "_primary_3f7c8_171", sn = "_gradient_3f7c8_179", fe = {
179
+ title: At,
180
+ xs: Ht,
181
+ sm: Ot,
182
+ md: Ut,
183
+ lg: Pt,
184
+ xl: Vt,
185
+ xxl: Xt,
186
+ light: Yt,
187
+ normal: Kt,
188
+ medium: Gt,
189
+ semibold: Jt,
190
+ bold: Qt,
191
+ extrabold: Zt,
192
+ left: en,
193
+ center: tn,
194
+ right: nn,
195
+ default: "_default_3f7c8_155",
196
+ muted: on,
197
+ primary: rn,
198
+ gradient: sn
199
+ }, an = {
200
+ h1: "xxl",
201
+ h2: "xl",
202
+ h3: "lg",
203
+ h4: "md",
204
+ h5: "sm",
205
+ h6: "xs"
206
+ }, Al = ({
207
+ as: t,
208
+ level: o = "h1",
209
+ size: n,
210
+ weight: r = "bold",
211
+ align: s = "left",
212
+ color: a = "default",
213
+ children: l,
214
+ className: i,
215
+ ...c
216
+ }) => {
217
+ const _ = t ?? o, p = n ?? an[_], m = [
218
+ fe.title,
219
+ fe[p],
220
+ fe[r],
221
+ fe[s],
222
+ fe[a],
223
+ i ?? ""
224
+ ].filter(Boolean).join(" ");
225
+ return j.createElement(_, { className: m, ...c }, l);
226
+ }, ln = "_badge_26q6t_1", cn = "_sm_26q6t_27", dn = "_md_26q6t_37", _n = "_lg_26q6t_47", un = "_info_26q6t_71", pn = "_success_26q6t_83", hn = "_warning_26q6t_95", mn = "_danger_26q6t_107", fn = "_primary_26q6t_119", bn = "_dot_26q6t_133", xe = {
227
+ badge: ln,
228
+ sm: cn,
229
+ md: dn,
230
+ lg: _n,
231
+ default: "_default_26q6t_59",
232
+ info: un,
233
+ success: pn,
234
+ warning: hn,
235
+ danger: mn,
236
+ primary: fn,
237
+ dot: bn
238
+ }, Hl = ({
239
+ variant: t = "default",
240
+ size: o = "md",
241
+ dot: n = !1,
242
+ leftIcon: r,
243
+ children: s,
244
+ className: a,
245
+ ...l
246
+ }) => {
247
+ const i = [
248
+ xe.badge,
249
+ xe[t],
250
+ xe[o],
251
+ a ?? ""
252
+ ].filter(Boolean).join(" ");
253
+ return /* @__PURE__ */ h("span", { className: i, ...l, children: [
254
+ n && /* @__PURE__ */ e("span", { className: xe.dot, "aria-hidden": "true" }),
255
+ !n && r && /* @__PURE__ */ e("span", { "aria-hidden": "true", children: r }),
256
+ s
257
+ ] });
258
+ }, gn = "_card_pl1wm_1", vn = "_bordered_pl1wm_21", wn = "_shadow_pl1wm_29", $n = "_elevated_pl1wm_37", kn = "_ghost_pl1wm_45", Nn = "_sm_pl1wm_57", yn = "_cardHeader_pl1wm_57", xn = "_cardBody_pl1wm_59", Ln = "_cardFooter_pl1wm_61", Bn = "_md_pl1wm_69", jn = "_lg_pl1wm_81", In = "_hoverable_pl1wm_143", re = {
259
+ card: gn,
260
+ bordered: vn,
261
+ shadow: wn,
262
+ elevated: $n,
263
+ ghost: kn,
264
+ sm: Nn,
265
+ cardHeader: yn,
266
+ cardBody: xn,
267
+ cardFooter: Ln,
268
+ md: Bn,
269
+ lg: jn,
270
+ hoverable: In
271
+ }, Oe = ({ children: t, className: o, ...n }) => /* @__PURE__ */ e("div", { className: `${re.cardHeader} ${o ?? ""}`, ...n, children: t });
272
+ Oe.displayName = "Card.Header";
273
+ const Ue = ({ children: t, className: o, ...n }) => /* @__PURE__ */ e("div", { className: `${re.cardBody} ${o ?? ""}`, ...n, children: t });
274
+ Ue.displayName = "Card.Body";
275
+ const Pe = ({ children: t, className: o, ...n }) => /* @__PURE__ */ e("div", { className: `${re.cardFooter} ${o ?? ""}`, ...n, children: t });
276
+ Pe.displayName = "Card.Footer";
277
+ const qn = ({
278
+ variant: t = "bordered",
279
+ size: o = "md",
280
+ hoverable: n = !1,
281
+ children: r,
282
+ className: s,
283
+ ...a
284
+ }) => {
285
+ const l = [
286
+ re.card,
287
+ re[t],
288
+ re[o],
289
+ n ? re.hoverable : "",
290
+ s ?? ""
291
+ ].filter(Boolean).join(" ");
292
+ return /* @__PURE__ */ e("div", { className: l, ...a, children: r });
293
+ }, qe = qn;
294
+ qe.Header = Oe;
295
+ qe.Body = Ue;
296
+ qe.Footer = Pe;
297
+ qe.displayName = "Card";
298
+ const zn = "_wrapper_1xu0d_1", Cn = "_wrapperFullWidth_1xu0d_7", En = "_label_1xu0d_11", Wn = "_required_1xu0d_18", Tn = "_textarea_1xu0d_23", Rn = "_hasError_1xu0d_53", Mn = "_sm_1xu0d_62", Dn = "_md_1xu0d_67", Sn = "_lg_1xu0d_72", Fn = "_none_1xu0d_78", An = "_vertical_1xu0d_82", Hn = "_horizontal_1xu0d_86", On = "_both_1xu0d_90", Un = "_fullWidth_1xu0d_94", Pn = "_hint_1xu0d_98", Vn = "_errorText_1xu0d_104", F = {
299
+ wrapper: zn,
300
+ wrapperFullWidth: Cn,
301
+ label: En,
302
+ required: Wn,
303
+ textarea: Tn,
304
+ hasError: Rn,
305
+ sm: Mn,
306
+ md: Dn,
307
+ lg: Sn,
308
+ none: Fn,
309
+ vertical: An,
310
+ horizontal: Hn,
311
+ both: On,
312
+ fullWidth: Un,
313
+ hint: Pn,
314
+ errorText: Vn
315
+ }, Xn = j.forwardRef(
316
+ ({
317
+ label: t,
318
+ size: o = "md",
319
+ error: n,
320
+ hint: r,
321
+ required: s,
322
+ fullWidth: a = !1,
323
+ resize: l = "vertical",
324
+ className: i,
325
+ id: c,
326
+ ..._
327
+ }, p) => {
328
+ const m = c ?? (t ? `vui-textarea-${t.toLowerCase().replace(/\s+/g, "-")}` : void 0), d = m ? `${m}-error` : void 0, f = m ? `${m}-hint` : void 0, g = [
329
+ F.textarea,
330
+ F[o],
331
+ F[l],
332
+ n ? F.hasError : "",
333
+ a ? F.fullWidth : "",
334
+ i ?? ""
335
+ ].filter(Boolean).join(" ");
336
+ return /* @__PURE__ */ h("div", { className: `${F.wrapper}${a ? ` ${F.wrapperFullWidth}` : ""}`, children: [
337
+ t && /* @__PURE__ */ h("label", { htmlFor: m, className: F.label, children: [
338
+ t,
339
+ s && /* @__PURE__ */ e("span", { className: F.required, "aria-hidden": "true", children: "*" })
340
+ ] }),
341
+ /* @__PURE__ */ e(
342
+ "textarea",
343
+ {
344
+ ref: p,
345
+ id: m,
346
+ className: g,
347
+ required: s,
348
+ "aria-invalid": !!n,
349
+ "aria-describedby": [n ? d : null, r && !n ? f : null].filter(Boolean).join(" ") || void 0,
350
+ ..._
351
+ }
352
+ ),
353
+ n && /* @__PURE__ */ e("span", { id: d, className: F.errorText, role: "alert", children: n }),
354
+ r && !n && /* @__PURE__ */ e("span", { id: f, className: F.hint, children: r })
355
+ ] });
356
+ }
357
+ );
358
+ Xn.displayName = "Textarea";
359
+ const Yn = "_wrapper_1cpn4_1", Kn = "_wrapperFullWidth_1cpn4_7", Gn = "_label_1cpn4_11", Jn = "_required_1cpn4_18", Qn = "_selectWrapper_1cpn4_23", Zn = "_hiddenSelect_1cpn4_46", eo = "_trigger_1cpn4_53", to = "_hasError_1cpn4_103", no = "_sm_1cpn4_114", oo = "_md_1cpn4_120", ro = "_lg_1cpn4_126", so = "_fullWidth_1cpn4_132", ao = "_valueText_1cpn4_136", io = "_placeholder_1cpn4_144", lo = "_chevron_1cpn4_148", co = "_isOpen_1cpn4_180", _o = "_menu_1cpn4_184", uo = "_option_1cpn4_203", po = "_optionFocused_1cpn4_222", ho = "_optionSelected_1cpn4_229", mo = "_optionLabel_1cpn4_238", fo = "_optionCheck_1cpn4_243", bo = "_optionCheckVisible_1cpn4_250", go = "_hint_1cpn4_260", vo = "_errorText_1cpn4_266", x = {
360
+ wrapper: Yn,
361
+ wrapperFullWidth: Kn,
362
+ label: Gn,
363
+ required: Jn,
364
+ selectWrapper: Qn,
365
+ hiddenSelect: Zn,
366
+ trigger: eo,
367
+ hasError: to,
368
+ sm: no,
369
+ md: oo,
370
+ lg: ro,
371
+ fullWidth: so,
372
+ valueText: ao,
373
+ placeholder: io,
374
+ chevron: lo,
375
+ isOpen: co,
376
+ menu: _o,
377
+ option: uo,
378
+ optionFocused: po,
379
+ optionSelected: ho,
380
+ optionLabel: mo,
381
+ optionCheck: fo,
382
+ optionCheckVisible: bo,
383
+ hint: go,
384
+ errorText: vo
385
+ };
386
+ function wo(t) {
387
+ return j.Children.toArray(t).flatMap((o) => {
388
+ if (!j.isValidElement(o) || o.type !== "option")
389
+ return [];
390
+ const n = o.props.value, r = typeof o.props.children == "string" ? o.props.children : String(n ?? "");
391
+ return n == null ? [] : [
392
+ {
393
+ value: String(n),
394
+ label: r,
395
+ disabled: !!o.props.disabled
396
+ }
397
+ ];
398
+ });
399
+ }
400
+ const $o = j.forwardRef(
401
+ ({
402
+ label: t,
403
+ size: o = "md",
404
+ error: n,
405
+ hint: r,
406
+ required: s,
407
+ fullWidth: a = !1,
408
+ options: l,
409
+ placeholder: i,
410
+ className: c,
411
+ id: _,
412
+ children: p,
413
+ value: m,
414
+ defaultValue: d,
415
+ onChange: f,
416
+ onBlur: g,
417
+ onFocus: u,
418
+ onKeyDown: v,
419
+ disabled: w,
420
+ name: L,
421
+ autoComplete: $,
422
+ form: C,
423
+ ...y
424
+ }, U) => {
425
+ const K = j.useRef(null), k = j.useRef(null);
426
+ j.useImperativeHandle(U, () => K.current);
427
+ const N = _ ?? (t ? `vui-select-${t.toLowerCase().replace(/\s+/g, "-")}` : void 0), P = N ? `${N}-error` : void 0, G = N ? `${N}-hint` : void 0, se = N ? `${N}-listbox` : void 0, we = N ? `${N}-label` : void 0, I = j.useMemo(
428
+ () => l || wo(p),
429
+ [p, l]
430
+ ), $e = m !== void 0, ee = I.find((b) => !b.disabled), Ge = String(d ?? (i ? "" : (ee == null ? void 0 : ee.value) ?? "")), [Ce, Re] = j.useState(Ge), ke = String($e ? m ?? "" : Ce), [te, ae] = j.useState(!1), [he, Ne] = j.useState(-1);
431
+ j.useEffect(() => {
432
+ if ($e || !I.length) return;
433
+ I.some((q) => q.value === Ce) || Re((ee == null ? void 0 : ee.value) ?? "");
434
+ }, [I, $e, Ce, ee]), j.useEffect(() => {
435
+ const b = (q) => {
436
+ k.current && !k.current.contains(q.target) && ae(!1);
437
+ };
438
+ return document.addEventListener("mousedown", b), () => document.removeEventListener("mousedown", b);
439
+ }, []);
440
+ const ye = I.find((b) => b.value === ke), Je = (ye == null ? void 0 : ye.label) ?? i ?? "", Qe = [
441
+ x.trigger,
442
+ x[o],
443
+ n ? x.hasError : "",
444
+ a ? x.fullWidth : "",
445
+ te ? x.isOpen : "",
446
+ c ?? ""
447
+ ].filter(Boolean).join(" "), Me = (b) => {
448
+ var E;
449
+ $e || Re(b);
450
+ const q = K.current;
451
+ if (q) {
452
+ const me = (E = Object.getOwnPropertyDescriptor(
453
+ HTMLSelectElement.prototype,
454
+ "value"
455
+ )) == null ? void 0 : E.set;
456
+ me == null || me.call(q, b), q.dispatchEvent(new Event("change", { bubbles: !0 }));
457
+ }
458
+ }, Ee = () => {
459
+ if (w || !I.length) return;
460
+ ae(!0);
461
+ const b = I.findIndex((E) => E.value === ke && !E.disabled);
462
+ if (b >= 0) {
463
+ Ne(b);
464
+ return;
465
+ }
466
+ const q = I.findIndex((E) => !E.disabled);
467
+ Ne(q);
468
+ }, De = (b) => {
469
+ if (!I.length) return;
470
+ let q = he;
471
+ for (let E = 0; E < I.length; E += 1)
472
+ if (q = (q + b + I.length) % I.length, !I[q].disabled) {
473
+ Ne(q);
474
+ return;
475
+ }
476
+ }, Ze = (b) => {
477
+ if (v == null || v(b), !b.defaultPrevented) {
478
+ if (!te && (b.key === "ArrowDown" || b.key === "ArrowUp")) {
479
+ b.preventDefault(), Ee();
480
+ return;
481
+ }
482
+ if (!te && (b.key === "Enter" || b.key === " ")) {
483
+ b.preventDefault(), Ee();
484
+ return;
485
+ }
486
+ if (te) {
487
+ if (b.key === "Escape") {
488
+ b.preventDefault(), ae(!1);
489
+ return;
490
+ }
491
+ if (b.key === "ArrowDown") {
492
+ b.preventDefault(), De(1);
493
+ return;
494
+ }
495
+ if (b.key === "ArrowUp") {
496
+ b.preventDefault(), De(-1);
497
+ return;
498
+ }
499
+ (b.key === "Enter" || b.key === " ") && (b.preventDefault(), he >= 0 && !I[he].disabled && (Me(I[he].value), ae(!1)));
500
+ }
501
+ }
502
+ };
503
+ return /* @__PURE__ */ h("div", { className: `${x.wrapper}${a ? ` ${x.wrapperFullWidth}` : ""}`, children: [
504
+ t && /* @__PURE__ */ h("label", { id: we, className: x.label, children: [
505
+ t,
506
+ s && /* @__PURE__ */ e("span", { className: x.required, "aria-hidden": "true", children: "*" })
507
+ ] }),
508
+ /* @__PURE__ */ h("div", { className: x.selectWrapper, ref: k, children: [
509
+ /* @__PURE__ */ h(
510
+ "select",
511
+ {
512
+ ref: K,
513
+ id: N,
514
+ className: x.hiddenSelect,
515
+ value: ke,
516
+ required: s,
517
+ disabled: w,
518
+ name: L,
519
+ form: C,
520
+ autoComplete: $,
521
+ "aria-invalid": !!n,
522
+ "aria-describedby": [n ? P : null, r && !n ? G : null].filter(Boolean).join(" ") || void 0,
523
+ "aria-hidden": "true",
524
+ tabIndex: -1,
525
+ onChange: f ?? (() => {
526
+ }),
527
+ ...y,
528
+ children: [
529
+ i && /* @__PURE__ */ e("option", { value: "", disabled: s, children: i }),
530
+ I.map((b) => /* @__PURE__ */ e("option", { value: b.value, disabled: b.disabled, children: b.label }, b.value))
531
+ ]
532
+ }
533
+ ),
534
+ /* @__PURE__ */ e(
535
+ "button",
536
+ {
537
+ type: "button",
538
+ className: Qe,
539
+ disabled: w,
540
+ role: "combobox",
541
+ "aria-invalid": !!n,
542
+ "aria-labelledby": we,
543
+ "aria-haspopup": "listbox",
544
+ "aria-expanded": te,
545
+ "aria-controls": se,
546
+ onClick: () => te ? ae(!1) : Ee(),
547
+ onKeyDown: Ze,
548
+ onFocus: (b) => u == null ? void 0 : u(b),
549
+ onBlur: (b) => g == null ? void 0 : g(b),
550
+ children: /* @__PURE__ */ e("span", { className: `${x.valueText}${ye ? "" : ` ${x.placeholder}`}`, children: Je })
551
+ }
552
+ ),
553
+ /* @__PURE__ */ e("span", { className: x.chevron, "aria-hidden": "true", children: /* @__PURE__ */ e("svg", { width: "16", height: "16", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: /* @__PURE__ */ e(
554
+ "path",
555
+ {
556
+ strokeLinecap: "round",
557
+ strokeLinejoin: "round",
558
+ strokeWidth: 2,
559
+ d: "M19 9l-7 7-7-7"
560
+ }
561
+ ) }) }),
562
+ te && /* @__PURE__ */ e("ul", { id: se, role: "listbox", className: x.menu, children: I.map((b, q) => {
563
+ const E = b.value === ke, me = q === he;
564
+ return /* @__PURE__ */ e("li", { children: /* @__PURE__ */ h(
565
+ "button",
566
+ {
567
+ type: "button",
568
+ role: "option",
569
+ "aria-selected": E,
570
+ className: [
571
+ x.option,
572
+ E ? x.optionSelected : "",
573
+ me ? x.optionFocused : ""
574
+ ].filter(Boolean).join(" "),
575
+ disabled: b.disabled,
576
+ onMouseEnter: () => Ne(q),
577
+ onClick: () => {
578
+ Me(b.value), ae(!1);
579
+ },
580
+ children: [
581
+ /* @__PURE__ */ e("span", { className: x.optionLabel, children: b.label }),
582
+ /* @__PURE__ */ e(
583
+ "span",
584
+ {
585
+ className: `${x.optionCheck}${E ? ` ${x.optionCheckVisible}` : ""}`,
586
+ "aria-hidden": "true",
587
+ children: /* @__PURE__ */ e("svg", { width: "14", height: "14", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: /* @__PURE__ */ e(
588
+ "path",
589
+ {
590
+ strokeLinecap: "round",
591
+ strokeLinejoin: "round",
592
+ strokeWidth: 2.25,
593
+ d: "M5 13l4 4L19 7"
594
+ }
595
+ ) })
596
+ }
597
+ )
598
+ ]
599
+ }
600
+ ) }, b.value);
601
+ }) })
602
+ ] }),
603
+ n && /* @__PURE__ */ e("span", { id: P, className: x.errorText, role: "alert", children: n }),
604
+ r && !n && /* @__PURE__ */ e("span", { id: G, className: x.hint, children: r })
605
+ ] });
606
+ }
607
+ );
608
+ $o.displayName = "Select";
609
+ const ko = "_wrapper_iu9cq_1", No = "_row_iu9cq_7", yo = "_checkbox_iu9cq_14", xo = "_hasError_iu9cq_51", Lo = "_sm_iu9cq_60", Bo = "_md_iu9cq_74", jo = "_lg_iu9cq_88", Io = "_label_iu9cq_102", qo = "_description_iu9cq_113", zo = "_errorText_iu9cq_123", V = {
610
+ wrapper: ko,
611
+ row: No,
612
+ checkbox: yo,
613
+ hasError: xo,
614
+ sm: Lo,
615
+ md: Bo,
616
+ lg: jo,
617
+ label: Io,
618
+ description: qo,
619
+ errorText: zo
620
+ }, Co = j.forwardRef(
621
+ ({ label: t, description: o, error: n, size: r = "md", className: s, id: a, ...l }, i) => {
622
+ const c = a ?? (t ? `vui-checkbox-${t.toLowerCase().replace(/\s+/g, "-")}` : void 0), _ = c ? `${c}-error` : void 0, p = c && o ? `${c}-desc` : void 0, m = [
623
+ V.checkbox,
624
+ V[r],
625
+ n ? V.hasError : "",
626
+ s ?? ""
627
+ ].filter(Boolean).join(" ");
628
+ return /* @__PURE__ */ h("div", { className: `${V.wrapper} ${V[r]}`, children: [
629
+ /* @__PURE__ */ h("div", { className: V.row, children: [
630
+ /* @__PURE__ */ e(
631
+ "input",
632
+ {
633
+ ref: i,
634
+ type: "checkbox",
635
+ id: c,
636
+ className: m,
637
+ "aria-invalid": !!n,
638
+ "aria-describedby": [n ? _ : null, p].filter(Boolean).join(" ") || void 0,
639
+ ...l
640
+ }
641
+ ),
642
+ t && /* @__PURE__ */ e("label", { htmlFor: c, className: V.label, children: t })
643
+ ] }),
644
+ o && !n && /* @__PURE__ */ e("span", { id: p, className: V.description, children: o }),
645
+ n && /* @__PURE__ */ e("span", { id: _, className: V.errorText, role: "alert", children: n })
646
+ ] });
647
+ }
648
+ );
649
+ Co.displayName = "Checkbox";
650
+ const Eo = "_fieldset_nj7or_1", Wo = "_legend_nj7or_10", To = "_required_nj7or_19", Ro = "_group_nj7or_24", Mo = "_vertical_nj7or_28", Do = "_horizontal_nj7or_33", So = "_option_nj7or_39", Fo = "_radio_nj7or_46", Ao = "_hasError_nj7or_81", Ho = "_sm_nj7or_86", Oo = "_md_nj7or_87", Uo = "_lg_nj7or_88", Po = "_optionContent_nj7or_90", Vo = "_optionLabel_nj7or_96", Xo = "_optionDescription_nj7or_107", Yo = "_hint_nj7or_113", Ko = "_errorText_nj7or_119", W = {
651
+ fieldset: Eo,
652
+ legend: Wo,
653
+ required: To,
654
+ group: Ro,
655
+ vertical: Mo,
656
+ horizontal: Do,
657
+ option: So,
658
+ radio: Fo,
659
+ hasError: Ao,
660
+ sm: Ho,
661
+ md: Oo,
662
+ lg: Uo,
663
+ optionContent: Po,
664
+ optionLabel: Vo,
665
+ optionDescription: Xo,
666
+ hint: Yo,
667
+ errorText: Ko
668
+ }, Ol = ({
669
+ name: t,
670
+ label: o,
671
+ options: n,
672
+ value: r,
673
+ defaultValue: s,
674
+ onChange: a,
675
+ size: l = "md",
676
+ orientation: i = "vertical",
677
+ error: c,
678
+ hint: _,
679
+ required: p
680
+ }) => {
681
+ const m = `vui-radiogroup-${t}`, d = `${m}-error`, f = `${m}-hint`, g = r !== void 0;
682
+ return /* @__PURE__ */ h(
683
+ "fieldset",
684
+ {
685
+ className: `${W.fieldset} ${W[l]}`,
686
+ "aria-describedby": [c ? d : null, _ && !c ? f : null].filter(Boolean).join(" ") || void 0,
687
+ children: [
688
+ o && /* @__PURE__ */ h("legend", { className: W.legend, children: [
689
+ o,
690
+ p && /* @__PURE__ */ e("span", { className: W.required, "aria-hidden": "true", children: "*" })
691
+ ] }),
692
+ /* @__PURE__ */ e("div", { className: `${W.group} ${W[i]}`, children: n.map((u) => {
693
+ const v = `${m}-${u.value}`, w = g ? { checked: r === u.value } : { defaultChecked: s === u.value };
694
+ return /* @__PURE__ */ h("div", { className: W.option, children: [
695
+ /* @__PURE__ */ e(
696
+ "input",
697
+ {
698
+ type: "radio",
699
+ id: v,
700
+ name: t,
701
+ value: u.value,
702
+ disabled: u.disabled,
703
+ required: p,
704
+ onChange: () => a == null ? void 0 : a(u.value),
705
+ className: `${W.radio} ${c ? W.hasError : ""}`,
706
+ "aria-invalid": c ? !0 : void 0,
707
+ ...w
708
+ }
709
+ ),
710
+ /* @__PURE__ */ h("div", { className: W.optionContent, children: [
711
+ /* @__PURE__ */ e("label", { htmlFor: v, className: W.optionLabel, children: u.label }),
712
+ u.description && /* @__PURE__ */ e("span", { className: W.optionDescription, children: u.description })
713
+ ] })
714
+ ] }, u.value);
715
+ }) }),
716
+ c && /* @__PURE__ */ e("span", { id: d, className: W.errorText, role: "alert", children: c }),
717
+ _ && !c && /* @__PURE__ */ e("span", { id: f, className: W.hint, children: _ })
718
+ ]
719
+ }
720
+ );
721
+ }, Go = "_wrapper_okiio_1", Jo = "_labelRow_okiio_7", Qo = "_track_okiio_15", Zo = "_input_okiio_23", er = "_thumb_okiio_32", tr = "_labelText_okiio_65", nr = "_sm_okiio_74", or = "_md_okiio_80", rr = "_lg_okiio_86", sr = "_description_okiio_98", J = {
722
+ wrapper: Go,
723
+ labelRow: Jo,
724
+ track: Qo,
725
+ input: Zo,
726
+ thumb: er,
727
+ labelText: tr,
728
+ sm: nr,
729
+ md: or,
730
+ lg: rr,
731
+ description: sr
732
+ }, ar = j.forwardRef(
733
+ ({ label: t, description: o, size: n = "md", className: r, id: s, ...a }, l) => {
734
+ const i = s ?? (t ? `vui-switch-${t.toLowerCase().replace(/\s+/g, "-")}` : void 0), c = i && o ? `${i}-desc` : void 0;
735
+ return /* @__PURE__ */ h("div", { className: `${J.wrapper} ${J[n]}`, children: [
736
+ /* @__PURE__ */ h("label", { className: J.labelRow, htmlFor: i, children: [
737
+ /* @__PURE__ */ h("span", { className: J.track, children: [
738
+ /* @__PURE__ */ e(
739
+ "input",
740
+ {
741
+ ref: l,
742
+ type: "checkbox",
743
+ role: "switch",
744
+ id: i,
745
+ className: `${J.input} ${r ?? ""}`,
746
+ "aria-describedby": c || void 0,
747
+ ...a
748
+ }
749
+ ),
750
+ /* @__PURE__ */ e("span", { className: J.thumb, "aria-hidden": "true" })
751
+ ] }),
752
+ t && /* @__PURE__ */ e("span", { className: J.labelText, children: t })
753
+ ] }),
754
+ o && /* @__PURE__ */ e("span", { id: c, className: J.description, children: o })
755
+ ] });
756
+ }
757
+ );
758
+ ar.displayName = "Switch";
759
+ const ir = "_overlay_gedqr_1", lr = "_overlayFadeIn_gedqr_1", cr = "_dialog_gedqr_19", dr = "_dialogSlideUp_gedqr_1", _r = "_sm_gedqr_39", ur = "_md_gedqr_40", pr = "_lg_gedqr_41", hr = "_xl_gedqr_42", mr = "_header_gedqr_45", fr = "_title_gedqr_51", br = "_description_gedqr_59", gr = "_body_gedqr_66", vr = "_footer_gedqr_71", wr = "_closeBtn_gedqr_81", O = {
760
+ overlay: ir,
761
+ overlayFadeIn: lr,
762
+ dialog: cr,
763
+ dialogSlideUp: dr,
764
+ sm: _r,
765
+ md: ur,
766
+ lg: pr,
767
+ xl: hr,
768
+ header: mr,
769
+ title: fr,
770
+ description: br,
771
+ body: gr,
772
+ footer: vr,
773
+ closeBtn: wr
774
+ }, Se = 'a[href], button:not([disabled]), textarea:not([disabled]), input:not([disabled]), select:not([disabled]), [tabindex]:not([tabindex="-1"])', Ve = ({ children: t, className: o, ...n }) => /* @__PURE__ */ e("div", { className: `${O.header} ${o ?? ""}`, ...n, children: t });
775
+ Ve.displayName = "Dialog.Header";
776
+ const Xe = ({ children: t, className: o, ...n }) => /* @__PURE__ */ e("div", { className: `${O.body} ${o ?? ""}`, ...n, children: t });
777
+ Xe.displayName = "Dialog.Body";
778
+ const Ye = ({ children: t, className: o, ...n }) => /* @__PURE__ */ e("div", { className: `${O.footer} ${o ?? ""}`, ...n, children: t });
779
+ Ye.displayName = "Dialog.Footer";
780
+ const Fe = { current: 0 }, $r = ({
781
+ open: t,
782
+ onClose: o,
783
+ title: n,
784
+ description: r,
785
+ size: s = "md",
786
+ children: a,
787
+ className: l,
788
+ closeOnOverlayClick: i = !0
789
+ }) => {
790
+ const c = A(null), _ = A(`vui-dialog-title-${++Fe.current}`).current, p = A(`vui-dialog-desc-${Fe.current}`).current, m = A(null);
791
+ if (pe(() => {
792
+ if (!t) return;
793
+ m.current = document.activeElement, document.body.style.overflow = "hidden";
794
+ const g = requestAnimationFrame(() => {
795
+ var w, L;
796
+ const v = (w = c.current) == null ? void 0 : w.querySelectorAll(Se);
797
+ (L = v == null ? void 0 : v[0]) == null || L.focus();
798
+ }), u = (v) => {
799
+ if (v.key === "Escape") {
800
+ o();
801
+ return;
802
+ }
803
+ if (v.key === "Tab" && c.current) {
804
+ const w = Array.from(
805
+ c.current.querySelectorAll(Se)
806
+ );
807
+ if (w.length === 0) {
808
+ v.preventDefault();
809
+ return;
810
+ }
811
+ const L = w[0], $ = w[w.length - 1];
812
+ v.shiftKey ? document.activeElement === L && ($.focus(), v.preventDefault()) : document.activeElement === $ && (L.focus(), v.preventDefault());
813
+ }
814
+ };
815
+ return document.addEventListener("keydown", u), () => {
816
+ var v;
817
+ cancelAnimationFrame(g), document.removeEventListener("keydown", u), document.body.style.overflow = "", (v = m.current) == null || v.focus();
818
+ };
819
+ }, [t, o]), !t) return null;
820
+ const d = (f) => {
821
+ i && f.target === f.currentTarget && o();
822
+ };
823
+ return /* @__PURE__ */ e(
824
+ "div",
825
+ {
826
+ className: O.overlay,
827
+ onClick: d,
828
+ "aria-modal": "true",
829
+ role: "presentation",
830
+ children: /* @__PURE__ */ h(
831
+ "div",
832
+ {
833
+ ref: c,
834
+ role: "dialog",
835
+ "aria-labelledby": n ? _ : void 0,
836
+ "aria-describedby": r ? p : void 0,
837
+ className: [O.dialog, O[s], l ?? ""].filter(Boolean).join(" "),
838
+ children: [
839
+ n && /* @__PURE__ */ h("div", { className: O.header, children: [
840
+ /* @__PURE__ */ e("p", { id: _, className: O.title, children: n }),
841
+ r && /* @__PURE__ */ e("p", { id: p, className: O.description, children: r })
842
+ ] }),
843
+ a,
844
+ /* @__PURE__ */ e(
845
+ "button",
846
+ {
847
+ type: "button",
848
+ className: O.closeBtn,
849
+ onClick: o,
850
+ "aria-label": "Close dialog",
851
+ children: /* @__PURE__ */ e(
852
+ "svg",
853
+ {
854
+ width: "18",
855
+ height: "18",
856
+ fill: "none",
857
+ viewBox: "0 0 24 24",
858
+ stroke: "currentColor",
859
+ "aria-hidden": "true",
860
+ children: /* @__PURE__ */ e(
861
+ "path",
862
+ {
863
+ strokeLinecap: "round",
864
+ strokeLinejoin: "round",
865
+ strokeWidth: 2,
866
+ d: "M6 18L18 6M6 6l12 12"
867
+ }
868
+ )
869
+ }
870
+ )
871
+ }
872
+ )
873
+ ]
874
+ }
875
+ )
876
+ }
877
+ );
878
+ }, ze = $r;
879
+ ze.Header = Ve;
880
+ ze.Body = Xe;
881
+ ze.Footer = Ye;
882
+ ze.displayName = "Dialog";
883
+ const kr = "_wrapper_16e9w_1", Nr = "_tooltip_16e9w_6", yr = "_visible_16e9w_25", xr = "_top_16e9w_30", Lr = "_bottom_16e9w_36", Br = "_left_16e9w_42", jr = "_right_16e9w_48", Ir = "_arrow_16e9w_55", qr = "_arrowTop_16e9w_61", zr = "_arrowBottom_16e9w_70", Cr = "_arrowLeft_16e9w_79", Er = "_arrowRight_16e9w_88", le = {
884
+ wrapper: kr,
885
+ tooltip: Nr,
886
+ visible: yr,
887
+ top: xr,
888
+ bottom: Lr,
889
+ left: Br,
890
+ right: jr,
891
+ arrow: Ir,
892
+ arrowTop: qr,
893
+ arrowBottom: zr,
894
+ arrowLeft: Cr,
895
+ arrowRight: Er
896
+ }, Ul = ({
897
+ content: t,
898
+ children: o,
899
+ placement: n = "top",
900
+ delay: r = 0
901
+ }) => {
902
+ const [s, a] = S(!1), i = `vui-tooltip-${Ie().replace(/:/g, "")}`, c = j.useRef(null), _ = () => {
903
+ r > 0 ? c.current = setTimeout(() => a(!0), r) : a(!0);
904
+ }, p = () => {
905
+ c.current && clearTimeout(c.current), a(!1);
906
+ }, m = j.cloneElement(o, {
907
+ "aria-describedby": s ? i : void 0
908
+ });
909
+ return /* @__PURE__ */ h(
910
+ "span",
911
+ {
912
+ className: le.wrapper,
913
+ onMouseEnter: _,
914
+ onMouseLeave: p,
915
+ onFocus: _,
916
+ onBlur: p,
917
+ children: [
918
+ m,
919
+ /* @__PURE__ */ h(
920
+ "span",
921
+ {
922
+ id: i,
923
+ role: "tooltip",
924
+ className: [le.tooltip, le[n], s ? le.visible : ""].filter(Boolean).join(" "),
925
+ "aria-hidden": !s,
926
+ children: [
927
+ t,
928
+ /* @__PURE__ */ e("span", { className: `${le.arrow} ${le[`arrow${n.charAt(0).toUpperCase()}${n.slice(1)}`]}`, "aria-hidden": "true" })
929
+ ]
930
+ }
931
+ )
932
+ ]
933
+ }
934
+ );
935
+ }, Wr = "_tabs_16y0p_1", Tr = "_tablist_16y0p_8", Rr = "_underline_16y0p_14", Mr = "_tab_16y0p_1", Dr = "_activeTab_16y0p_39", Sr = "_pills_16y0p_50", Fr = "_boxed_16y0p_89", Ar = "_panel_16y0p_139", ce = {
936
+ tabs: Wr,
937
+ tablist: Tr,
938
+ underline: Rr,
939
+ tab: Mr,
940
+ activeTab: Dr,
941
+ pills: Sr,
942
+ boxed: Fr,
943
+ panel: Ar
944
+ }, Pl = ({
945
+ items: t,
946
+ defaultValue: o,
947
+ value: n,
948
+ onChange: r,
949
+ variant: s = "underline"
950
+ }) => {
951
+ var g;
952
+ const a = n !== void 0, [l, i] = S(
953
+ o ?? ((g = t[0]) == null ? void 0 : g.value) ?? ""
954
+ ), c = a ? n : l, _ = A(null), p = (u) => {
955
+ a || i(u), r == null || r(u);
956
+ }, m = (u, v) => {
957
+ var C;
958
+ const w = t.filter((y) => !y.disabled), L = w.findIndex((y) => y.value === t[v].value);
959
+ let $ = null;
960
+ if (u.key === "ArrowRight" ? $ = (L + 1) % w.length : u.key === "ArrowLeft" ? $ = (L - 1 + w.length) % w.length : u.key === "Home" ? $ = 0 : u.key === "End" && ($ = w.length - 1), $ !== null) {
961
+ u.preventDefault();
962
+ const y = w[$];
963
+ p(y.value);
964
+ const U = (C = _.current) == null ? void 0 : C.querySelector(
965
+ `[data-value="${y.value}"]`
966
+ );
967
+ U == null || U.focus();
968
+ }
969
+ }, d = (u) => `vui-tabpanel-${u}`, f = (u) => `vui-tab-${u}`;
970
+ return /* @__PURE__ */ h("div", { className: ce.tabs, children: [
971
+ /* @__PURE__ */ e(
972
+ "div",
973
+ {
974
+ ref: _,
975
+ role: "tablist",
976
+ className: [ce.tablist, ce[s]].filter(Boolean).join(" "),
977
+ children: t.map((u, v) => /* @__PURE__ */ e(
978
+ "button",
979
+ {
980
+ id: f(u.value),
981
+ role: "tab",
982
+ type: "button",
983
+ "data-value": u.value,
984
+ "aria-selected": c === u.value,
985
+ "aria-controls": d(u.value),
986
+ disabled: u.disabled,
987
+ tabIndex: c === u.value ? 0 : -1,
988
+ className: [
989
+ ce.tab,
990
+ c === u.value ? ce.activeTab : ""
991
+ ].filter(Boolean).join(" "),
992
+ onClick: () => p(u.value),
993
+ onKeyDown: (w) => m(w, v),
994
+ children: u.label
995
+ },
996
+ u.value
997
+ ))
998
+ }
999
+ ),
1000
+ t.map((u) => /* @__PURE__ */ e(
1001
+ "div",
1002
+ {
1003
+ id: d(u.value),
1004
+ role: "tabpanel",
1005
+ "aria-labelledby": f(u.value),
1006
+ hidden: c !== u.value,
1007
+ className: ce.panel,
1008
+ children: u.children
1009
+ },
1010
+ u.value
1011
+ ))
1012
+ ] });
1013
+ }, Hr = "_accordion_wacbm_1", Or = "_bordered_wacbm_7", Ur = "_item_wacbm_13", Pr = "_flush_wacbm_17", Vr = "_separated_wacbm_21", Xr = "_heading_wacbm_35", Yr = "_trigger_wacbm_40", Kr = "_icon_wacbm_72", Gr = "_open_wacbm_80", Jr = "_contentOuter_wacbm_85", Qr = "_contentInner_wacbm_95", X = {
1014
+ accordion: Hr,
1015
+ bordered: Or,
1016
+ item: Ur,
1017
+ flush: Pr,
1018
+ separated: Vr,
1019
+ heading: Xr,
1020
+ trigger: Yr,
1021
+ icon: Kr,
1022
+ open: Gr,
1023
+ contentOuter: Jr,
1024
+ contentInner: Qr
1025
+ }, Vl = ({
1026
+ items: t,
1027
+ defaultValue: o,
1028
+ value: n,
1029
+ onChange: r,
1030
+ multiple: s = !1,
1031
+ variant: a = "bordered"
1032
+ }) => {
1033
+ const l = n !== void 0, i = (d) => d ? Array.isArray(d) ? d : [d] : [], [c, _] = S(i(o)), p = l ? i(n) : c, m = (d) => {
1034
+ let f;
1035
+ p.includes(d) ? f = p.filter((g) => g !== d) : f = s ? [...p, d] : [d], l || _(f), r == null || r(s ? f : f[0] ?? "");
1036
+ };
1037
+ return /* @__PURE__ */ e("div", { className: [X.accordion, X[a]].filter(Boolean).join(" "), children: t.map((d) => {
1038
+ const f = p.includes(d.value), g = `vui-accordion-trigger-${d.value}`, u = `vui-accordion-panel-${d.value}`;
1039
+ return /* @__PURE__ */ h(
1040
+ "div",
1041
+ {
1042
+ className: [X.item, f ? X.open : ""].filter(Boolean).join(" "),
1043
+ children: [
1044
+ /* @__PURE__ */ e("h3", { className: X.heading, children: /* @__PURE__ */ h(
1045
+ "button",
1046
+ {
1047
+ id: g,
1048
+ type: "button",
1049
+ "aria-expanded": f,
1050
+ "aria-controls": u,
1051
+ disabled: d.disabled,
1052
+ className: X.trigger,
1053
+ onClick: () => !d.disabled && m(d.value),
1054
+ children: [
1055
+ /* @__PURE__ */ e("span", { children: d.title }),
1056
+ /* @__PURE__ */ e("span", { className: X.icon, "aria-hidden": "true", children: /* @__PURE__ */ e(
1057
+ "svg",
1058
+ {
1059
+ width: "16",
1060
+ height: "16",
1061
+ fill: "none",
1062
+ viewBox: "0 0 24 24",
1063
+ stroke: "currentColor",
1064
+ children: /* @__PURE__ */ e(
1065
+ "path",
1066
+ {
1067
+ strokeLinecap: "round",
1068
+ strokeLinejoin: "round",
1069
+ strokeWidth: 2,
1070
+ d: "M19 9l-7 7-7-7"
1071
+ }
1072
+ )
1073
+ }
1074
+ ) })
1075
+ ]
1076
+ }
1077
+ ) }),
1078
+ /* @__PURE__ */ e(
1079
+ "div",
1080
+ {
1081
+ id: u,
1082
+ role: "region",
1083
+ "aria-labelledby": g,
1084
+ className: X.contentOuter,
1085
+ children: /* @__PURE__ */ e("div", { className: X.contentInner, children: d.content })
1086
+ }
1087
+ )
1088
+ ]
1089
+ },
1090
+ d.value
1091
+ );
1092
+ }) });
1093
+ }, Zr = "_alert_b1vtk_1", es = "_icon_b1vtk_12", ts = "_content_b1vtk_19", ns = "_title_b1vtk_24", os = "_body_b1vtk_31", rs = "_closeBtn_b1vtk_35", ss = "_info_b1vtk_64", as = "_success_b1vtk_70", is = "_warning_b1vtk_76", ls = "_danger_b1vtk_82", ne = {
1094
+ alert: Zr,
1095
+ icon: es,
1096
+ content: ts,
1097
+ title: ns,
1098
+ body: os,
1099
+ closeBtn: rs,
1100
+ info: ss,
1101
+ success: as,
1102
+ warning: is,
1103
+ danger: ls
1104
+ }, cs = () => /* @__PURE__ */ e("svg", { width: "20", height: "20", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: /* @__PURE__ */ e(
1105
+ "path",
1106
+ {
1107
+ strokeLinecap: "round",
1108
+ strokeLinejoin: "round",
1109
+ strokeWidth: 2,
1110
+ d: "M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"
1111
+ }
1112
+ ) }), ds = () => /* @__PURE__ */ e("svg", { width: "20", height: "20", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: /* @__PURE__ */ e(
1113
+ "path",
1114
+ {
1115
+ strokeLinecap: "round",
1116
+ strokeLinejoin: "round",
1117
+ strokeWidth: 2,
1118
+ d: "M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"
1119
+ }
1120
+ ) }), _s = () => /* @__PURE__ */ e("svg", { width: "20", height: "20", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: /* @__PURE__ */ e(
1121
+ "path",
1122
+ {
1123
+ strokeLinecap: "round",
1124
+ strokeLinejoin: "round",
1125
+ strokeWidth: 2,
1126
+ d: "M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"
1127
+ }
1128
+ ) }), us = () => /* @__PURE__ */ e("svg", { width: "20", height: "20", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: /* @__PURE__ */ e(
1129
+ "path",
1130
+ {
1131
+ strokeLinecap: "round",
1132
+ strokeLinejoin: "round",
1133
+ strokeWidth: 2,
1134
+ d: "M10 14l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2m7-2a9 9 0 11-18 0 9 9 0 0118 0z"
1135
+ }
1136
+ ) }), ps = {
1137
+ info: /* @__PURE__ */ e(cs, {}),
1138
+ success: /* @__PURE__ */ e(ds, {}),
1139
+ warning: /* @__PURE__ */ e(_s, {}),
1140
+ danger: /* @__PURE__ */ e(us, {})
1141
+ }, Xl = ({
1142
+ variant: t = "info",
1143
+ title: o,
1144
+ icon: n,
1145
+ onClose: r,
1146
+ children: s,
1147
+ className: a,
1148
+ ...l
1149
+ }) => {
1150
+ const i = [ne.alert, ne[t], a ?? ""].filter(Boolean).join(" "), c = n !== void 0 ? n : ps[t];
1151
+ return /* @__PURE__ */ h("div", { className: i, role: "alert", ...l, children: [
1152
+ c && /* @__PURE__ */ e("span", { className: ne.icon, "aria-hidden": "true", children: c }),
1153
+ /* @__PURE__ */ h("div", { className: ne.content, children: [
1154
+ o && /* @__PURE__ */ e("p", { className: ne.title, children: o }),
1155
+ /* @__PURE__ */ e("div", { className: ne.body, children: s })
1156
+ ] }),
1157
+ r && /* @__PURE__ */ e(
1158
+ "button",
1159
+ {
1160
+ type: "button",
1161
+ className: ne.closeBtn,
1162
+ onClick: r,
1163
+ "aria-label": "Dismiss alert",
1164
+ children: /* @__PURE__ */ e(
1165
+ "svg",
1166
+ {
1167
+ width: "16",
1168
+ height: "16",
1169
+ fill: "none",
1170
+ viewBox: "0 0 24 24",
1171
+ stroke: "currentColor",
1172
+ "aria-hidden": "true",
1173
+ children: /* @__PURE__ */ e(
1174
+ "path",
1175
+ {
1176
+ strokeLinecap: "round",
1177
+ strokeLinejoin: "round",
1178
+ strokeWidth: 2,
1179
+ d: "M6 18L18 6M6 6l12 12"
1180
+ }
1181
+ )
1182
+ }
1183
+ )
1184
+ }
1185
+ )
1186
+ ] });
1187
+ }, hs = "_divider_vfae1_1", ms = "_horizontal_vfae1_6", fs = "_vertical_vfae1_12", bs = "_withLabel_vfae1_19", gs = "_label_vfae1_33", Le = {
1188
+ divider: hs,
1189
+ horizontal: ms,
1190
+ vertical: fs,
1191
+ withLabel: bs,
1192
+ label: gs
1193
+ }, Yl = ({
1194
+ orientation: t = "horizontal",
1195
+ label: o,
1196
+ className: n,
1197
+ ...r
1198
+ }) => {
1199
+ const s = [
1200
+ Le.divider,
1201
+ Le[t],
1202
+ o ? Le.withLabel : "",
1203
+ n ?? ""
1204
+ ].filter(Boolean).join(" ");
1205
+ return /* @__PURE__ */ e(
1206
+ "div",
1207
+ {
1208
+ role: "separator",
1209
+ "aria-orientation": t,
1210
+ className: s,
1211
+ ...r,
1212
+ children: o && /* @__PURE__ */ e("span", { className: Le.label, children: o })
1213
+ }
1214
+ );
1215
+ }, vs = "_spinner_1232t_1", ws = "_svg_1232t_8", $s = "_spin_1232t_1", ks = "_track_1232t_17", Ns = "_arc_1232t_21", ys = "_sm_1232t_27", xs = "_md_1232t_33", Ls = "_lg_1232t_39", Bs = "_primary_1232t_46", js = "_muted_1232t_50", Is = "_white_1232t_54", de = {
1216
+ spinner: vs,
1217
+ svg: ws,
1218
+ spin: $s,
1219
+ track: ks,
1220
+ arc: Ns,
1221
+ sm: ys,
1222
+ md: xs,
1223
+ lg: Ls,
1224
+ primary: Bs,
1225
+ muted: js,
1226
+ white: Is
1227
+ }, Kl = ({
1228
+ size: t = "md",
1229
+ color: o = "primary",
1230
+ label: n = "Loading…",
1231
+ className: r,
1232
+ ...s
1233
+ }) => {
1234
+ const a = [de.spinner, de[t], de[o], r ?? ""].filter(Boolean).join(" ");
1235
+ return /* @__PURE__ */ e("span", { className: a, role: "status", "aria-label": n, ...s, children: /* @__PURE__ */ h(
1236
+ "svg",
1237
+ {
1238
+ className: de.svg,
1239
+ viewBox: "0 0 24 24",
1240
+ fill: "none",
1241
+ "aria-hidden": "true",
1242
+ children: [
1243
+ /* @__PURE__ */ e(
1244
+ "circle",
1245
+ {
1246
+ className: de.track,
1247
+ cx: "12",
1248
+ cy: "12",
1249
+ r: "10",
1250
+ stroke: "currentColor",
1251
+ strokeWidth: "3"
1252
+ }
1253
+ ),
1254
+ /* @__PURE__ */ e(
1255
+ "circle",
1256
+ {
1257
+ className: de.arc,
1258
+ cx: "12",
1259
+ cy: "12",
1260
+ r: "10",
1261
+ stroke: "currentColor",
1262
+ strokeWidth: "3",
1263
+ strokeLinecap: "round"
1264
+ }
1265
+ )
1266
+ ]
1267
+ }
1268
+ ) });
1269
+ }, qs = "_block_tuupu_1", zs = "_stack_tuupu_13", We = {
1270
+ block: qs,
1271
+ stack: zs
1272
+ }, oe = (t) => {
1273
+ if (t !== void 0)
1274
+ return typeof t == "number" ? `${t}px` : t;
1275
+ }, Gl = ({
1276
+ width: t,
1277
+ height: o,
1278
+ radius: n,
1279
+ lines: r,
1280
+ gap: s,
1281
+ className: a,
1282
+ style: l,
1283
+ ...i
1284
+ }) => {
1285
+ if (r && r > 1) {
1286
+ const c = oe(s) ?? "0.5rem";
1287
+ return /* @__PURE__ */ e(
1288
+ "span",
1289
+ {
1290
+ className: [We.stack, a ?? ""].filter(Boolean).join(" "),
1291
+ style: { gap: c, ...l },
1292
+ "aria-hidden": "true",
1293
+ ...i,
1294
+ children: Array.from({ length: r }).map((_, p) => {
1295
+ const m = p === r - 1;
1296
+ return /* @__PURE__ */ e(
1297
+ "span",
1298
+ {
1299
+ className: We.block,
1300
+ style: {
1301
+ width: m ? "75%" : oe(t) ?? "100%",
1302
+ height: oe(o) ?? "1rem",
1303
+ borderRadius: oe(n) ?? "var(--vui-radius-sm, 0.375rem)"
1304
+ }
1305
+ },
1306
+ p
1307
+ );
1308
+ })
1309
+ }
1310
+ );
1311
+ }
1312
+ return /* @__PURE__ */ e(
1313
+ "span",
1314
+ {
1315
+ className: [We.block, a ?? ""].filter(Boolean).join(" "),
1316
+ style: {
1317
+ width: oe(t),
1318
+ height: oe(o) ?? "1rem",
1319
+ borderRadius: oe(n) ?? "var(--vui-radius-sm, 0.375rem)",
1320
+ ...l
1321
+ },
1322
+ "aria-hidden": "true",
1323
+ ...i
1324
+ }
1325
+ );
1326
+ }, Cs = "_wrapper_xgu51_1", Es = "_labelRow_xgu51_8", Ws = "_label_xgu51_8", Ts = "_value_xgu51_20", Rs = "_track_xgu51_26", Ms = "_sm_xgu51_33", Ds = "_md_xgu51_34", Ss = "_lg_xgu51_35", Fs = "_bar_xgu51_37", As = "_primary_xgu51_43", Hs = "_success_xgu51_44", Os = "_warning_xgu51_45", Us = "_danger_xgu51_46", Q = {
1327
+ wrapper: Cs,
1328
+ labelRow: Es,
1329
+ label: Ws,
1330
+ value: Ts,
1331
+ track: Rs,
1332
+ sm: Ms,
1333
+ md: Ds,
1334
+ lg: Ss,
1335
+ bar: Fs,
1336
+ primary: As,
1337
+ success: Hs,
1338
+ warning: Os,
1339
+ danger: Us
1340
+ }, Jl = ({
1341
+ value: t,
1342
+ variant: o = "primary",
1343
+ size: n = "md",
1344
+ label: r,
1345
+ showValue: s = !1,
1346
+ className: a,
1347
+ ...l
1348
+ }) => {
1349
+ const i = Math.min(100, Math.max(0, t));
1350
+ return /* @__PURE__ */ h("div", { className: [Q.wrapper, a ?? ""].filter(Boolean).join(" "), ...l, children: [
1351
+ (r || s) && /* @__PURE__ */ h("div", { className: Q.labelRow, children: [
1352
+ r && /* @__PURE__ */ e("span", { className: Q.label, children: r }),
1353
+ s && /* @__PURE__ */ h("span", { className: Q.value, children: [
1354
+ i,
1355
+ "%"
1356
+ ] })
1357
+ ] }),
1358
+ /* @__PURE__ */ e(
1359
+ "div",
1360
+ {
1361
+ className: [Q.track, Q[n]].filter(Boolean).join(" "),
1362
+ role: "progressbar",
1363
+ "aria-valuenow": i,
1364
+ "aria-valuemin": 0,
1365
+ "aria-valuemax": 100,
1366
+ "aria-label": r ?? `${i}%`,
1367
+ children: /* @__PURE__ */ e(
1368
+ "div",
1369
+ {
1370
+ className: [Q.bar, Q[o]].filter(Boolean).join(" "),
1371
+ style: { width: `${i}%` }
1372
+ }
1373
+ )
1374
+ }
1375
+ )
1376
+ ] });
1377
+ }, Ps = "_container_2etd3_1", Vs = "_toast_2etd3_14", Xs = "_slideUp_2etd3_1", Ys = "_message_2etd3_31", Ks = "_close_2etd3_38", Gs = "_info_2etd3_63", Js = "_success_2etd3_69", Qs = "_warning_2etd3_75", Zs = "_danger_2etd3_81", ge = {
1378
+ container: Ps,
1379
+ toast: Vs,
1380
+ slideUp: Xs,
1381
+ message: Ys,
1382
+ close: Ks,
1383
+ info: Gs,
1384
+ success: Js,
1385
+ warning: Qs,
1386
+ danger: Zs
1387
+ }, Ke = tt(null);
1388
+ let ea = 0;
1389
+ const ta = () => /* @__PURE__ */ e("svg", { width: "14", height: "14", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", "aria-hidden": "true", children: /* @__PURE__ */ e("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M6 18L18 6M6 6l12 12" }) }), na = ({ item: t, onRemove: o }) => {
1390
+ const n = A(null);
1391
+ pe(() => {
1392
+ const s = t.duration ?? 4e3;
1393
+ return s > 0 && (n.current = setTimeout(() => o(t.id), s)), () => {
1394
+ n.current && clearTimeout(n.current);
1395
+ };
1396
+ }, [t.id, t.duration, o]);
1397
+ const r = [ge.toast, ge[t.variant ?? "info"]].filter(Boolean).join(" ");
1398
+ return /* @__PURE__ */ h("div", { className: r, role: "alert", "aria-live": "assertive", children: [
1399
+ /* @__PURE__ */ e("span", { className: ge.message, children: t.message }),
1400
+ /* @__PURE__ */ e(
1401
+ "button",
1402
+ {
1403
+ type: "button",
1404
+ className: ge.close,
1405
+ onClick: () => o(t.id),
1406
+ "aria-label": "Dismiss notification",
1407
+ children: /* @__PURE__ */ e(ta, {})
1408
+ }
1409
+ )
1410
+ ] });
1411
+ }, Ql = ({ children: t }) => {
1412
+ const [o, n] = S([]), r = ve((a) => {
1413
+ const l = `toast-${++ea}`;
1414
+ n((i) => [...i, { ...a, id: l }]);
1415
+ }, []), s = ve((a) => {
1416
+ n((l) => l.filter((i) => i.id !== a));
1417
+ }, []);
1418
+ return /* @__PURE__ */ h(Ke.Provider, { value: { addToast: r, removeToast: s }, children: [
1419
+ t,
1420
+ typeof document < "u" && Te(
1421
+ /* @__PURE__ */ e("div", { className: ge.container, "aria-label": "Notifications", children: o.map((a) => /* @__PURE__ */ e(na, { item: a, onRemove: s }, a.id)) }),
1422
+ document.body
1423
+ )
1424
+ ] });
1425
+ }, Zl = () => {
1426
+ const t = et(Ke);
1427
+ if (!t)
1428
+ throw new Error("useToast must be used inside <ToastProvider>");
1429
+ return t;
1430
+ }, oa = "_avatar_1ado7_1", ra = "_xs_1ado7_15", sa = "_sm_1ado7_16", aa = "_md_1ado7_17", ia = "_lg_1ado7_18", la = "_xl_1ado7_19", ca = "_circle_1ado7_22", da = "_square_1ado7_23", _a = "_img_1ado7_25", ua = "_initials_1ado7_32", pa = "_fallbackIcon_1ado7_37", ha = "_status_1ado7_44", ma = "_online_1ado7_56", fa = "_away_1ado7_57", ba = "_offline_1ado7_58", Z = {
1431
+ avatar: oa,
1432
+ xs: ra,
1433
+ sm: sa,
1434
+ md: aa,
1435
+ lg: ia,
1436
+ xl: la,
1437
+ circle: ca,
1438
+ square: da,
1439
+ img: _a,
1440
+ initials: ua,
1441
+ fallbackIcon: pa,
1442
+ status: ha,
1443
+ online: ma,
1444
+ away: fa,
1445
+ offline: ba
1446
+ };
1447
+ function ga(t) {
1448
+ const o = t.trim().split(/\s+/);
1449
+ return o.length === 1 ? o[0].charAt(0).toUpperCase() : (o[0].charAt(0) + o[o.length - 1].charAt(0)).toUpperCase();
1450
+ }
1451
+ const ec = ({
1452
+ src: t,
1453
+ alt: o,
1454
+ name: n,
1455
+ size: r = "md",
1456
+ shape: s = "circle",
1457
+ status: a,
1458
+ className: l,
1459
+ ...i
1460
+ }) => {
1461
+ const [c, _] = S(!1), p = [Z.avatar, Z[r], Z[s], l ?? ""].filter(Boolean).join(" "), m = t && !c, d = n ? ga(n) : null;
1462
+ return /* @__PURE__ */ h("span", { className: p, "aria-label": o ?? n, ...i, children: [
1463
+ m ? /* @__PURE__ */ e(
1464
+ "img",
1465
+ {
1466
+ src: t,
1467
+ alt: o ?? n ?? "",
1468
+ className: Z.img,
1469
+ onError: () => _(!0)
1470
+ }
1471
+ ) : d ? /* @__PURE__ */ e("span", { className: Z.initials, "aria-hidden": "true", children: d }) : /* @__PURE__ */ e("svg", { className: Z.fallbackIcon, viewBox: "0 0 24 24", fill: "currentColor", "aria-hidden": "true", children: /* @__PURE__ */ e("path", { d: "M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z" }) }),
1472
+ a && /* @__PURE__ */ e("span", { className: [Z.status, Z[a]].filter(Boolean).join(" "), "aria-label": a })
1473
+ ] });
1474
+ }, va = "_tag_13w40_1", wa = "_sm_13w40_14", $a = "_md_13w40_19", ka = "_lg_13w40_24", Na = "_info_13w40_36", ya = "_success_13w40_42", xa = "_warning_13w40_48", La = "_danger_13w40_54", Ba = "_primary_13w40_60", ja = "_label_13w40_66", Ia = "_icon_13w40_70", qa = "_close_13w40_75", _e = {
1475
+ tag: va,
1476
+ sm: wa,
1477
+ md: $a,
1478
+ lg: ka,
1479
+ default: "_default_13w40_30",
1480
+ info: Na,
1481
+ success: ya,
1482
+ warning: xa,
1483
+ danger: La,
1484
+ primary: Ba,
1485
+ label: ja,
1486
+ icon: Ia,
1487
+ close: qa
1488
+ }, tc = ({
1489
+ variant: t = "default",
1490
+ size: o = "md",
1491
+ onClose: n,
1492
+ leftIcon: r,
1493
+ children: s,
1494
+ className: a,
1495
+ ...l
1496
+ }) => {
1497
+ const i = [_e.tag, _e[t], _e[o], a ?? ""].filter(Boolean).join(" ");
1498
+ return /* @__PURE__ */ h("span", { className: i, ...l, children: [
1499
+ r && /* @__PURE__ */ e("span", { className: _e.icon, "aria-hidden": "true", children: r }),
1500
+ /* @__PURE__ */ e("span", { className: _e.label, children: s }),
1501
+ n && /* @__PURE__ */ e(
1502
+ "button",
1503
+ {
1504
+ type: "button",
1505
+ className: _e.close,
1506
+ onClick: (c) => {
1507
+ c.stopPropagation(), n();
1508
+ },
1509
+ "aria-label": "Remove",
1510
+ children: /* @__PURE__ */ e("svg", { width: "10", height: "10", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "aria-hidden": "true", children: /* @__PURE__ */ e("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2.5, d: "M6 18L18 6M6 6l12 12" }) })
1511
+ }
1512
+ )
1513
+ ] });
1514
+ }, za = "_root_6ieqa_1", Ca = "_icon_6ieqa_11", Ea = "_title_6ieqa_23", Wa = "_description_6ieqa_31", Ta = "_action_6ieqa_39", be = {
1515
+ root: za,
1516
+ icon: Ca,
1517
+ title: Ea,
1518
+ description: Wa,
1519
+ action: Ta
1520
+ }, nc = ({
1521
+ icon: t,
1522
+ title: o,
1523
+ description: n,
1524
+ action: r,
1525
+ className: s,
1526
+ ...a
1527
+ }) => /* @__PURE__ */ h("div", { className: [be.root, s ?? ""].filter(Boolean).join(" "), ...a, children: [
1528
+ t && /* @__PURE__ */ e("span", { className: be.icon, "aria-hidden": "true", children: t }),
1529
+ /* @__PURE__ */ e("p", { className: be.title, children: o }),
1530
+ n && /* @__PURE__ */ e("p", { className: be.description, children: n }),
1531
+ r && /* @__PURE__ */ e("div", { className: be.action, children: r })
1532
+ ] }), Ra = "_nav_1s2na_1", Ma = "_list_1s2na_5", Da = "_item_1s2na_15", Sa = "_separator_1s2na_20", Fa = "_crumb_1s2na_27", Aa = "_link_1s2na_33", Ha = "_current_1s2na_50", Y = {
1533
+ nav: Ra,
1534
+ list: Ma,
1535
+ item: Da,
1536
+ separator: Sa,
1537
+ crumb: Fa,
1538
+ link: Aa,
1539
+ current: Ha
1540
+ }, Oa = () => /* @__PURE__ */ e("svg", { width: "12", height: "12", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "aria-hidden": "true", children: /* @__PURE__ */ e("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M9 18l6-6-6-6" }) }), oc = ({
1541
+ items: t,
1542
+ separator: o,
1543
+ className: n,
1544
+ ...r
1545
+ }) => {
1546
+ const s = o ?? /* @__PURE__ */ e(Oa, {});
1547
+ return /* @__PURE__ */ e("nav", { "aria-label": "Breadcrumb", className: [Y.nav, n ?? ""].filter(Boolean).join(" "), ...r, children: /* @__PURE__ */ e("ol", { className: Y.list, children: t.map((a, l) => {
1548
+ const i = l === t.length - 1;
1549
+ return /* @__PURE__ */ h("li", { className: Y.item, children: [
1550
+ l > 0 && /* @__PURE__ */ e("span", { className: Y.separator, "aria-hidden": "true", children: s }),
1551
+ i || !a.href ? /* @__PURE__ */ e(
1552
+ "span",
1553
+ {
1554
+ className: [Y.crumb, i ? Y.current : Y.link].filter(Boolean).join(" "),
1555
+ "aria-current": i ? "page" : void 0,
1556
+ children: a.label
1557
+ }
1558
+ ) : /* @__PURE__ */ e("a", { href: a.href, className: [Y.crumb, Y.link].filter(Boolean).join(" "), children: a.label })
1559
+ ] }, l);
1560
+ }) }) });
1561
+ }, Ua = "_nav_10kny_1", Pa = "_list_10kny_5", Va = "_btn_10kny_14", Xa = "_disabled_10kny_32", Ya = "_active_10kny_32", Ka = "_dots_10kny_54", T = {
1562
+ nav: Ua,
1563
+ list: Pa,
1564
+ btn: Va,
1565
+ disabled: Xa,
1566
+ active: Ya,
1567
+ dots: Ka
1568
+ };
1569
+ function Be(t, o) {
1570
+ const n = o - t + 1;
1571
+ return Array.from({ length: n }, (r, s) => t + s);
1572
+ }
1573
+ function Ga(t, o, n) {
1574
+ const r = n * 2 + 5;
1575
+ if (o <= r)
1576
+ return Be(1, o);
1577
+ const s = Math.max(t - n, 1), a = Math.min(t + n, o), l = s > 2, i = a < o - 1;
1578
+ return !l && i ? [...Be(1, 3 + n * 2), "...", o] : l && !i ? [1, "...", ...Be(o - (2 + n * 2), o)] : [1, "...", ...Be(s, a), "...", o];
1579
+ }
1580
+ const Ja = () => /* @__PURE__ */ e("svg", { width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "aria-hidden": "true", children: /* @__PURE__ */ e("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M15 18l-6-6 6-6" }) }), Qa = () => /* @__PURE__ */ e("svg", { width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "aria-hidden": "true", children: /* @__PURE__ */ e("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M9 18l6-6-6-6" }) }), Za = () => /* @__PURE__ */ e("svg", { width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "aria-hidden": "true", children: /* @__PURE__ */ e("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M11 17l-5-5 5-5M18 17l-5-5 5-5" }) }), ei = () => /* @__PURE__ */ e("svg", { width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "aria-hidden": "true", children: /* @__PURE__ */ e("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M13 17l5-5-5-5M6 17l5-5-5-5" }) }), rc = ({
1581
+ page: t,
1582
+ totalPages: o,
1583
+ onChange: n,
1584
+ siblingCount: r = 1,
1585
+ showFirstLast: s = !0,
1586
+ className: a,
1587
+ ...l
1588
+ }) => {
1589
+ const i = Ga(t, o, r), c = (_) => {
1590
+ _ < 1 || _ > o || _ === t || n(_);
1591
+ };
1592
+ return /* @__PURE__ */ e(
1593
+ "nav",
1594
+ {
1595
+ "aria-label": "Pagination",
1596
+ className: [T.nav, a ?? ""].filter(Boolean).join(" "),
1597
+ ...l,
1598
+ children: /* @__PURE__ */ h("ul", { className: T.list, children: [
1599
+ s && /* @__PURE__ */ e("li", { children: /* @__PURE__ */ e(
1600
+ "button",
1601
+ {
1602
+ className: [T.btn, t === 1 ? T.disabled : ""].filter(Boolean).join(" "),
1603
+ onClick: () => c(1),
1604
+ disabled: t === 1,
1605
+ "aria-label": "First page",
1606
+ children: /* @__PURE__ */ e(Za, {})
1607
+ }
1608
+ ) }),
1609
+ /* @__PURE__ */ e("li", { children: /* @__PURE__ */ e(
1610
+ "button",
1611
+ {
1612
+ className: [T.btn, t === 1 ? T.disabled : ""].filter(Boolean).join(" "),
1613
+ onClick: () => c(t - 1),
1614
+ disabled: t === 1,
1615
+ "aria-label": "Previous page",
1616
+ children: /* @__PURE__ */ e(Ja, {})
1617
+ }
1618
+ ) }),
1619
+ i.map(
1620
+ (_, p) => _ === "..." ? /* @__PURE__ */ e("li", { children: /* @__PURE__ */ e("span", { className: T.dots, children: "…" }) }, `dots-${p}`) : /* @__PURE__ */ e("li", { children: /* @__PURE__ */ e(
1621
+ "button",
1622
+ {
1623
+ className: [T.btn, _ === t ? T.active : ""].filter(Boolean).join(" "),
1624
+ onClick: () => c(_),
1625
+ "aria-label": `Page ${_}`,
1626
+ "aria-current": _ === t ? "page" : void 0,
1627
+ children: _
1628
+ }
1629
+ ) }, _)
1630
+ ),
1631
+ /* @__PURE__ */ e("li", { children: /* @__PURE__ */ e(
1632
+ "button",
1633
+ {
1634
+ className: [T.btn, t === o ? T.disabled : ""].filter(Boolean).join(" "),
1635
+ onClick: () => c(t + 1),
1636
+ disabled: t === o,
1637
+ "aria-label": "Next page",
1638
+ children: /* @__PURE__ */ e(Qa, {})
1639
+ }
1640
+ ) }),
1641
+ s && /* @__PURE__ */ e("li", { children: /* @__PURE__ */ e(
1642
+ "button",
1643
+ {
1644
+ className: [T.btn, t === o ? T.disabled : ""].filter(Boolean).join(" "),
1645
+ onClick: () => c(o),
1646
+ disabled: t === o,
1647
+ "aria-label": "Last page",
1648
+ children: /* @__PURE__ */ e(ei, {})
1649
+ }
1650
+ ) })
1651
+ ] })
1652
+ }
1653
+ );
1654
+ }, ti = "_root_1wmfi_1", ni = "_horizontal_1wmfi_6", oi = "_vertical_1wmfi_11", ri = "_step_1wmfi_16", si = "_connector_1wmfi_32", ai = "_indicator_1wmfi_37", ii = "_circle_1wmfi_55", li = "_pending_1wmfi_88", ci = "_active_1wmfi_94", di = "_completed_1wmfi_100", _i = "_content_1wmfi_111", ui = "_label_1wmfi_127", pi = "_description_1wmfi_139", R = {
1655
+ root: ti,
1656
+ horizontal: ni,
1657
+ vertical: oi,
1658
+ step: ri,
1659
+ connector: si,
1660
+ indicator: ai,
1661
+ circle: ii,
1662
+ pending: li,
1663
+ active: ci,
1664
+ completed: di,
1665
+ content: _i,
1666
+ label: ui,
1667
+ description: pi
1668
+ }, hi = () => /* @__PURE__ */ e("svg", { width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "aria-hidden": "true", children: /* @__PURE__ */ e("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2.5, d: "M5 13l4 4L19 7" }) }), sc = ({
1669
+ steps: t,
1670
+ currentStep: o,
1671
+ orientation: n = "horizontal",
1672
+ variant: r = "default",
1673
+ className: s,
1674
+ ...a
1675
+ }) => {
1676
+ const l = [
1677
+ R.root,
1678
+ R[n],
1679
+ R[r],
1680
+ s ?? ""
1681
+ ].filter(Boolean).join(" ");
1682
+ return /* @__PURE__ */ e(
1683
+ "div",
1684
+ {
1685
+ className: l,
1686
+ role: "list",
1687
+ "aria-label": "Steps",
1688
+ ...a,
1689
+ children: t.map((i, c) => {
1690
+ const _ = c + 1, p = _ < o, m = _ === o, d = c === t.length - 1, f = [
1691
+ R.step,
1692
+ p ? R.completed : "",
1693
+ m ? R.active : "",
1694
+ !p && !m ? R.pending : ""
1695
+ ].filter(Boolean).join(" ");
1696
+ return /* @__PURE__ */ h("div", { className: f, role: "listitem", children: [
1697
+ /* @__PURE__ */ h("div", { className: R.indicator, children: [
1698
+ /* @__PURE__ */ e("span", { className: R.circle, children: p ? /* @__PURE__ */ e(hi, {}) : /* @__PURE__ */ e("span", { children: _ }) }),
1699
+ !d && /* @__PURE__ */ e("span", { className: R.connector, "aria-hidden": "true" })
1700
+ ] }),
1701
+ r !== "compact" && /* @__PURE__ */ h("div", { className: R.content, children: [
1702
+ /* @__PURE__ */ e("span", { className: R.label, children: i.label }),
1703
+ i.description && /* @__PURE__ */ e("span", { className: R.description, children: i.description })
1704
+ ] })
1705
+ ] }, c);
1706
+ })
1707
+ }
1708
+ );
1709
+ }, mi = "_triggerWrapper_v2cko_1", fi = "_popover_v2cko_6", bi = "_fadeIn_v2cko_1", gi = "_arrow_v2cko_24", vi = "_bottom_v2cko_34", wi = "_top_v2cko_42", $i = "_right_v2cko_50", ki = "_left_v2cko_58", je = {
1710
+ triggerWrapper: mi,
1711
+ popover: fi,
1712
+ fadeIn: bi,
1713
+ arrow: gi,
1714
+ bottom: vi,
1715
+ top: wi,
1716
+ right: $i,
1717
+ left: ki
1718
+ };
1719
+ function Ni(t, o, n) {
1720
+ const { top: r, left: s, bottom: a, right: l, width: i, height: c } = t, _ = o.offsetWidth, p = o.offsetHeight, m = 8;
1721
+ switch (n) {
1722
+ case "top":
1723
+ return { top: r - p - m + window.scrollY, left: s + i / 2 - _ / 2 + window.scrollX };
1724
+ case "bottom":
1725
+ return { top: a + m + window.scrollY, left: s + i / 2 - _ / 2 + window.scrollX };
1726
+ case "left":
1727
+ return { top: r + c / 2 - p / 2 + window.scrollY, left: s - _ - m + window.scrollX };
1728
+ case "right":
1729
+ return { top: r + c / 2 - p / 2 + window.scrollY, left: l + m + window.scrollX };
1730
+ }
1731
+ }
1732
+ const ac = ({
1733
+ trigger: t,
1734
+ content: o,
1735
+ placement: n = "bottom",
1736
+ open: r,
1737
+ onOpenChange: s,
1738
+ className: a
1739
+ }) => {
1740
+ const l = r !== void 0, [i, c] = S(!1), _ = l ? r : i, p = A(null), m = A(null), [d, f] = S({ top: 0, left: 0 }), g = ve(
1741
+ (w) => {
1742
+ l || c(w), s == null || s(w);
1743
+ },
1744
+ [l, s]
1745
+ ), u = ve(() => {
1746
+ if (!p.current || !m.current) return;
1747
+ const w = p.current.getBoundingClientRect();
1748
+ f(Ni(w, m.current, n));
1749
+ }, [n]);
1750
+ pe(() => {
1751
+ if (_)
1752
+ return u(), window.addEventListener("resize", u), window.addEventListener("scroll", u, !0), () => {
1753
+ window.removeEventListener("resize", u), window.removeEventListener("scroll", u, !0);
1754
+ };
1755
+ }, [_, u]), pe(() => {
1756
+ if (!_) return;
1757
+ const w = ($) => {
1758
+ var C, y;
1759
+ !((C = p.current) != null && C.contains($.target)) && !((y = m.current) != null && y.contains($.target)) && g(!1);
1760
+ }, L = ($) => {
1761
+ $.key === "Escape" && g(!1);
1762
+ };
1763
+ return document.addEventListener("mousedown", w), document.addEventListener("keydown", L), () => {
1764
+ document.removeEventListener("mousedown", w), document.removeEventListener("keydown", L);
1765
+ };
1766
+ }, [_, g]);
1767
+ const v = [je.popover, je[n], a ?? ""].filter(Boolean).join(" ");
1768
+ return /* @__PURE__ */ h(He, { children: [
1769
+ /* @__PURE__ */ e(
1770
+ "span",
1771
+ {
1772
+ ref: p,
1773
+ className: je.triggerWrapper,
1774
+ onClick: () => g(!_),
1775
+ "aria-expanded": _,
1776
+ "aria-haspopup": "true",
1777
+ children: t
1778
+ }
1779
+ ),
1780
+ _ && typeof document < "u" && Te(
1781
+ /* @__PURE__ */ h(
1782
+ "div",
1783
+ {
1784
+ ref: m,
1785
+ className: v,
1786
+ style: { top: d.top, left: d.left },
1787
+ role: "dialog",
1788
+ children: [
1789
+ /* @__PURE__ */ e("div", { className: je.arrow, "aria-hidden": "true" }),
1790
+ o
1791
+ ]
1792
+ }
1793
+ ),
1794
+ document.body
1795
+ )
1796
+ ] });
1797
+ }, yi = "_triggerWrapper_19rgz_1", xi = "_menu_19rgz_6", Li = "_item_19rgz_23", Bi = "_itemDisabled_19rgz_41", ji = "_itemIcon_19rgz_56", Ii = "_separator_19rgz_63", ue = {
1798
+ triggerWrapper: yi,
1799
+ menu: xi,
1800
+ item: Li,
1801
+ itemDisabled: Bi,
1802
+ itemIcon: ji,
1803
+ separator: Ii
1804
+ };
1805
+ function qi(t, o, n) {
1806
+ const { top: r, left: s, bottom: a, right: l } = t, i = o.offsetHeight, c = o.offsetWidth, _ = 4;
1807
+ switch (n) {
1808
+ case "bottom-start":
1809
+ return { top: a + _ + window.scrollY, left: s + window.scrollX };
1810
+ case "bottom-end":
1811
+ return { top: a + _ + window.scrollY, left: l - c + window.scrollX };
1812
+ case "top-start":
1813
+ return { top: r - i - _ + window.scrollY, left: s + window.scrollX };
1814
+ case "top-end":
1815
+ return { top: r - i - _ + window.scrollY, left: l - c + window.scrollX };
1816
+ default:
1817
+ return { top: a + _ + window.scrollY, left: s + window.scrollX };
1818
+ }
1819
+ }
1820
+ const ic = ({
1821
+ trigger: t,
1822
+ items: o,
1823
+ placement: n = "bottom-start",
1824
+ className: r
1825
+ }) => {
1826
+ const [s, a] = S(!1), l = A(null), i = A(null), [c, _] = S({ top: 0, left: 0 }), p = ve(() => {
1827
+ if (!l.current || !i.current) return;
1828
+ const d = l.current.getBoundingClientRect();
1829
+ _(qi(d, i.current, n));
1830
+ }, [n]);
1831
+ pe(() => {
1832
+ if (s)
1833
+ return p(), window.addEventListener("resize", p), window.addEventListener("scroll", p, !0), () => {
1834
+ window.removeEventListener("resize", p), window.removeEventListener("scroll", p, !0);
1835
+ };
1836
+ }, [s, p]), pe(() => {
1837
+ if (!s) return;
1838
+ const d = (g) => {
1839
+ var u, v;
1840
+ !((u = l.current) != null && u.contains(g.target)) && !((v = i.current) != null && v.contains(g.target)) && a(!1);
1841
+ }, f = (g) => {
1842
+ var u, v;
1843
+ g.key === "Escape" && (a(!1), (v = (u = l.current) == null ? void 0 : u.querySelector("button, a, [tabindex]")) == null || v.dispatchEvent(
1844
+ new Event("focus")
1845
+ ));
1846
+ };
1847
+ return document.addEventListener("mousedown", d), document.addEventListener("keydown", f), () => {
1848
+ document.removeEventListener("mousedown", d), document.removeEventListener("keydown", f);
1849
+ };
1850
+ }, [s]);
1851
+ const m = (d) => {
1852
+ var f;
1853
+ d.disabled || ((f = d.onClick) == null || f.call(d), a(!1));
1854
+ };
1855
+ return /* @__PURE__ */ h(He, { children: [
1856
+ /* @__PURE__ */ e(
1857
+ "span",
1858
+ {
1859
+ ref: l,
1860
+ className: ue.triggerWrapper,
1861
+ onClick: () => a((d) => !d),
1862
+ "aria-haspopup": "menu",
1863
+ "aria-expanded": s,
1864
+ children: t
1865
+ }
1866
+ ),
1867
+ s && typeof document < "u" && Te(
1868
+ /* @__PURE__ */ e(
1869
+ "div",
1870
+ {
1871
+ ref: i,
1872
+ className: [ue.menu, r ?? ""].filter(Boolean).join(" "),
1873
+ style: { top: c.top, left: c.left },
1874
+ role: "menu",
1875
+ children: o.map((d, f) => d.separator ? /* @__PURE__ */ e("div", { className: ue.separator, role: "separator" }, f) : /* @__PURE__ */ h(
1876
+ "button",
1877
+ {
1878
+ type: "button",
1879
+ role: "menuitem",
1880
+ className: [ue.item, d.disabled ? ue.itemDisabled : ""].filter(Boolean).join(" "),
1881
+ onClick: () => m(d),
1882
+ disabled: d.disabled,
1883
+ children: [
1884
+ d.icon && /* @__PURE__ */ e("span", { className: ue.itemIcon, "aria-hidden": "true", children: d.icon }),
1885
+ /* @__PURE__ */ e("span", { children: d.label })
1886
+ ]
1887
+ },
1888
+ f
1889
+ ))
1890
+ }
1891
+ ),
1892
+ document.body
1893
+ )
1894
+ ] });
1895
+ }, zi = "_wrapper_13j54_1", Ci = "_wrapperDisabled_13j54_8", Ei = "_labelRow_13j54_13", Wi = "_label_13j54_13", Ti = "_valueDisplay_13j54_25", Ri = "_trackWrapper_13j54_31", Mi = "_sm_13j54_37", Di = "_md_13j54_38", Si = "_lg_13j54_39", Fi = "_trackBg_13j54_41", Ai = "_trackFill_13j54_51", Hi = "_input_13j54_61", H = {
1896
+ wrapper: zi,
1897
+ wrapperDisabled: Ci,
1898
+ labelRow: Ei,
1899
+ label: Wi,
1900
+ valueDisplay: Ti,
1901
+ trackWrapper: Ri,
1902
+ sm: Mi,
1903
+ md: Di,
1904
+ lg: Si,
1905
+ trackBg: Fi,
1906
+ trackFill: Ai,
1907
+ input: Hi
1908
+ }, lc = ({
1909
+ min: t = 0,
1910
+ max: o = 100,
1911
+ step: n = 1,
1912
+ value: r,
1913
+ onChange: s,
1914
+ label: a,
1915
+ showValue: l = !1,
1916
+ size: i = "md",
1917
+ disabled: c,
1918
+ className: _,
1919
+ id: p,
1920
+ ...m
1921
+ }) => {
1922
+ const d = Ie(), f = p ?? d, g = r !== void 0 ? (r - t) / (o - t) * 100 : 0;
1923
+ return /* @__PURE__ */ h("div", { className: [H.wrapper, c ? H.wrapperDisabled : "", _ ?? ""].filter(Boolean).join(" "), children: [
1924
+ (a || l) && /* @__PURE__ */ h("div", { className: H.labelRow, children: [
1925
+ a && /* @__PURE__ */ e("label", { htmlFor: f, className: H.label, children: a }),
1926
+ l && r !== void 0 && /* @__PURE__ */ e("span", { className: H.valueDisplay, children: r })
1927
+ ] }),
1928
+ /* @__PURE__ */ h("div", { className: [H.trackWrapper, H[i]].filter(Boolean).join(" "), children: [
1929
+ /* @__PURE__ */ e("div", { className: H.trackBg }),
1930
+ /* @__PURE__ */ e("div", { className: H.trackFill, style: { width: `${g}%` } }),
1931
+ /* @__PURE__ */ e(
1932
+ "input",
1933
+ {
1934
+ id: f,
1935
+ type: "range",
1936
+ min: t,
1937
+ max: o,
1938
+ step: n,
1939
+ value: r,
1940
+ disabled: c,
1941
+ onChange: (u) => s == null ? void 0 : s(Number(u.target.value)),
1942
+ className: H.input,
1943
+ "aria-valuemin": t,
1944
+ "aria-valuemax": o,
1945
+ "aria-valuenow": r,
1946
+ ...m
1947
+ }
1948
+ )
1949
+ ] })
1950
+ ] });
1951
+ }, Oi = "_root_q5j4f_1", Ui = "_label_q5j4f_7", Pi = "_required_q5j4f_14", Vi = "_wrapper_q5j4f_18", Xi = "_hasError_q5j4f_33", Yi = "_disabled_q5j4f_41", Ki = "_sm_q5j4f_47", Gi = "_md_q5j4f_48", Ji = "_lg_q5j4f_49", Qi = "_input_q5j4f_51", Zi = "_stepBtn_q5j4f_72", el = "_errorMsg_q5j4f_96", tl = "_hintMsg_q5j4f_103", D = {
1952
+ root: Oi,
1953
+ label: Ui,
1954
+ required: Pi,
1955
+ wrapper: Vi,
1956
+ hasError: Xi,
1957
+ disabled: Yi,
1958
+ sm: Ki,
1959
+ md: Gi,
1960
+ lg: Ji,
1961
+ input: Qi,
1962
+ stepBtn: Zi,
1963
+ errorMsg: el,
1964
+ hintMsg: tl
1965
+ }, cc = ({
1966
+ value: t,
1967
+ onChange: o,
1968
+ min: n,
1969
+ max: r,
1970
+ step: s = 1,
1971
+ label: a,
1972
+ error: l,
1973
+ hint: i,
1974
+ size: c = "md",
1975
+ disabled: _,
1976
+ required: p,
1977
+ id: m,
1978
+ className: d,
1979
+ ...f
1980
+ }) => {
1981
+ const g = Ie(), u = m ?? g, v = `${u}-hint`, w = `${u}-error`, L = () => {
1982
+ const y = (t ?? 0) - s;
1983
+ n !== void 0 && y < n || o == null || o(y);
1984
+ }, $ = () => {
1985
+ const y = (t ?? 0) + s;
1986
+ r !== void 0 && y > r || o == null || o(y);
1987
+ }, C = [
1988
+ D.wrapper,
1989
+ D[c],
1990
+ l ? D.hasError : "",
1991
+ _ ? D.disabled : "",
1992
+ d ?? ""
1993
+ ].filter(Boolean).join(" ");
1994
+ return /* @__PURE__ */ h("div", { className: D.root, children: [
1995
+ a && /* @__PURE__ */ h("label", { htmlFor: u, className: D.label, children: [
1996
+ a,
1997
+ p && /* @__PURE__ */ e("span", { className: D.required, "aria-hidden": "true", children: " *" })
1998
+ ] }),
1999
+ /* @__PURE__ */ h("div", { className: C, children: [
2000
+ /* @__PURE__ */ e(
2001
+ "button",
2002
+ {
2003
+ type: "button",
2004
+ className: D.stepBtn,
2005
+ onClick: L,
2006
+ disabled: _ || n !== void 0 && (t ?? 0) <= n,
2007
+ "aria-label": "Decrease value",
2008
+ tabIndex: -1,
2009
+ children: /* @__PURE__ */ e("svg", { width: "12", height: "12", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "aria-hidden": "true", children: /* @__PURE__ */ e("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2.5, d: "M5 12h14" }) })
2010
+ }
2011
+ ),
2012
+ /* @__PURE__ */ e(
2013
+ "input",
2014
+ {
2015
+ id: u,
2016
+ type: "number",
2017
+ className: D.input,
2018
+ value: t,
2019
+ min: n,
2020
+ max: r,
2021
+ step: s,
2022
+ disabled: _,
2023
+ required: p,
2024
+ "aria-invalid": !!l,
2025
+ "aria-describedby": l ? w : i ? v : void 0,
2026
+ onChange: (y) => o == null ? void 0 : o(y.target.valueAsNumber),
2027
+ ...f
2028
+ }
2029
+ ),
2030
+ /* @__PURE__ */ e(
2031
+ "button",
2032
+ {
2033
+ type: "button",
2034
+ className: D.stepBtn,
2035
+ onClick: $,
2036
+ disabled: _ || r !== void 0 && (t ?? 0) >= r,
2037
+ "aria-label": "Increase value",
2038
+ tabIndex: -1,
2039
+ children: /* @__PURE__ */ e("svg", { width: "12", height: "12", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "aria-hidden": "true", children: /* @__PURE__ */ e("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2.5, d: "M12 5v14M5 12h14" }) })
2040
+ }
2041
+ )
2042
+ ] }),
2043
+ l && /* @__PURE__ */ e("p", { id: w, className: D.errorMsg, role: "alert", children: l }),
2044
+ !l && i && /* @__PURE__ */ e("p", { id: v, className: D.hintMsg, children: i })
2045
+ ] });
2046
+ }, nl = "_root_10bwd_1", ol = "_label_10bwd_7", rl = "_zone_10bwd_14", sl = "_zoneDisabled_10bwd_29", al = "_dragging_10bwd_34", il = "_zoneError_10bwd_39", ll = "_hiddenInput_10bwd_48", cl = "_uploadIcon_10bwd_52", dl = "_zoneText_10bwd_56", _l = "_zoneLink_10bwd_61", ul = "_zoneHint_10bwd_68", pl = "_errorMsg_10bwd_73", hl = "_fileList_10bwd_79", ml = "_fileItem_10bwd_88", fl = "_fileName_10bwd_98", bl = "_fileSize_10bwd_108", gl = "_removeBtn_10bwd_114", z = {
2047
+ root: nl,
2048
+ label: ol,
2049
+ zone: rl,
2050
+ zoneDisabled: sl,
2051
+ dragging: al,
2052
+ zoneError: il,
2053
+ hiddenInput: ll,
2054
+ uploadIcon: cl,
2055
+ zoneText: dl,
2056
+ zoneLink: _l,
2057
+ zoneHint: ul,
2058
+ errorMsg: pl,
2059
+ fileList: hl,
2060
+ fileItem: ml,
2061
+ fileName: fl,
2062
+ fileSize: bl,
2063
+ removeBtn: gl
2064
+ }, vl = () => /* @__PURE__ */ e("svg", { width: "32", height: "32", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "aria-hidden": "true", children: /* @__PURE__ */ e("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 1.5, d: "M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-8l-4-4m0 0L8 8m4-4v12" }) });
2065
+ function Ae(t) {
2066
+ return t < 1024 ? `${t} B` : t < 1024 * 1024 ? `${(t / 1024).toFixed(1)} KB` : `${(t / (1024 * 1024)).toFixed(1)} MB`;
2067
+ }
2068
+ const dc = ({
2069
+ accept: t,
2070
+ multiple: o = !1,
2071
+ maxSize: n,
2072
+ onChange: r,
2073
+ label: s,
2074
+ hint: a,
2075
+ error: l,
2076
+ disabled: i = !1,
2077
+ className: c,
2078
+ id: _
2079
+ }) => {
2080
+ const p = Ie(), m = _ ?? p, d = A(null), [f, g] = S(!1), [u, v] = S([]), [w, L] = S(null), $ = l ?? w, C = (k) => {
2081
+ if (!k) return;
2082
+ const N = Array.from(k);
2083
+ if (n && N.filter((se) => se.size > n).length > 0) {
2084
+ L(`File exceeds maximum size of ${Ae(n)}.`);
2085
+ return;
2086
+ }
2087
+ L(null);
2088
+ const P = o ? N : N.slice(0, 1);
2089
+ v(P), r == null || r(P);
2090
+ }, y = (k) => {
2091
+ k.preventDefault(), g(!1), i || C(k.dataTransfer.files);
2092
+ }, U = (k) => {
2093
+ const N = u.filter((P, G) => G !== k);
2094
+ v(N), r == null || r(N);
2095
+ }, K = [
2096
+ z.zone,
2097
+ f ? z.dragging : "",
2098
+ $ ? z.zoneError : "",
2099
+ i ? z.zoneDisabled : ""
2100
+ ].filter(Boolean).join(" ");
2101
+ return /* @__PURE__ */ h("div", { className: [z.root, c ?? ""].filter(Boolean).join(" "), children: [
2102
+ s && /* @__PURE__ */ e("span", { className: z.label, children: s }),
2103
+ /* @__PURE__ */ h(
2104
+ "label",
2105
+ {
2106
+ htmlFor: m,
2107
+ className: K,
2108
+ onDragOver: (k) => {
2109
+ k.preventDefault(), i || g(!0);
2110
+ },
2111
+ onDragLeave: () => g(!1),
2112
+ onDrop: y,
2113
+ children: [
2114
+ /* @__PURE__ */ e(
2115
+ "input",
2116
+ {
2117
+ ref: d,
2118
+ id: m,
2119
+ type: "file",
2120
+ accept: t,
2121
+ multiple: o,
2122
+ disabled: i,
2123
+ className: z.hiddenInput,
2124
+ onChange: (k) => C(k.target.files)
2125
+ }
2126
+ ),
2127
+ /* @__PURE__ */ e("span", { className: z.uploadIcon, children: /* @__PURE__ */ e(vl, {}) }),
2128
+ /* @__PURE__ */ h("span", { className: z.zoneText, children: [
2129
+ /* @__PURE__ */ e("span", { className: z.zoneLink, children: "Choose files" }),
2130
+ " or drag and drop"
2131
+ ] }),
2132
+ a && /* @__PURE__ */ e("span", { className: z.zoneHint, children: a })
2133
+ ]
2134
+ }
2135
+ ),
2136
+ $ && /* @__PURE__ */ e("p", { className: z.errorMsg, role: "alert", children: $ }),
2137
+ u.length > 0 && /* @__PURE__ */ e("ul", { className: z.fileList, children: u.map((k, N) => /* @__PURE__ */ h("li", { className: z.fileItem, children: [
2138
+ /* @__PURE__ */ e("span", { className: z.fileName, children: k.name }),
2139
+ /* @__PURE__ */ e("span", { className: z.fileSize, children: Ae(k.size) }),
2140
+ /* @__PURE__ */ e(
2141
+ "button",
2142
+ {
2143
+ type: "button",
2144
+ className: z.removeBtn,
2145
+ onClick: () => U(N),
2146
+ "aria-label": `Remove ${k.name}`,
2147
+ children: /* @__PURE__ */ e("svg", { width: "12", height: "12", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "aria-hidden": "true", children: /* @__PURE__ */ e("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2.5, d: "M6 18L18 6M6 6l12 12" }) })
2148
+ }
2149
+ )
2150
+ ] }, N)) })
2151
+ ] });
2152
+ }, wl = "_wrapper_i5kin_1", $l = "_table_i5kin_8", kl = "_sm_i5kin_15", Nl = "_th_i5kin_15", yl = "_td_i5kin_16", xl = "_md_i5kin_21", Ll = "_lg_i5kin_27", Bl = "_thContent_i5kin_43", jl = "_sortable_i5kin_49", Il = "_sortActive_i5kin_58", ql = "_sortIcon_i5kin_62", zl = "_tr_i5kin_72", Cl = "_striped_i5kin_91", El = "_bordered_i5kin_100", Wl = "_empty_i5kin_105", M = {
2153
+ wrapper: wl,
2154
+ table: $l,
2155
+ sm: kl,
2156
+ th: Nl,
2157
+ td: yl,
2158
+ md: xl,
2159
+ lg: Ll,
2160
+ thContent: Bl,
2161
+ sortable: jl,
2162
+ sortActive: Il,
2163
+ sortIcon: ql,
2164
+ tr: zl,
2165
+ striped: Cl,
2166
+ bordered: El,
2167
+ empty: Wl
2168
+ }, Tl = () => /* @__PURE__ */ e("svg", { width: "12", height: "12", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "aria-hidden": "true", children: /* @__PURE__ */ e("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M5 15l7-7 7 7" }) }), Rl = () => /* @__PURE__ */ e("svg", { width: "12", height: "12", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "aria-hidden": "true", children: /* @__PURE__ */ e("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M19 9l-7 7-7-7" }) }), Ml = () => /* @__PURE__ */ e("svg", { width: "12", height: "12", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "aria-hidden": "true", children: /* @__PURE__ */ e("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M8 9l4-4 4 4M16 15l-4 4-4-4" }) });
2169
+ function _c({
2170
+ columns: t,
2171
+ data: o,
2172
+ sortKey: n,
2173
+ sortDir: r,
2174
+ onSort: s,
2175
+ striped: a = !1,
2176
+ bordered: l = !1,
2177
+ size: i = "md",
2178
+ className: c,
2179
+ ..._
2180
+ }) {
2181
+ const p = (d) => {
2182
+ if (!d.sortable || !s) return;
2183
+ const f = n === d.key && r === "asc" ? "desc" : "asc";
2184
+ s(d.key, f);
2185
+ }, m = [
2186
+ M.table,
2187
+ M[i],
2188
+ a ? M.striped : "",
2189
+ l ? M.bordered : ""
2190
+ ].filter(Boolean).join(" ");
2191
+ return /* @__PURE__ */ e(
2192
+ "div",
2193
+ {
2194
+ className: [M.wrapper, c ?? ""].filter(Boolean).join(" "),
2195
+ ..._,
2196
+ children: /* @__PURE__ */ h("table", { className: m, children: [
2197
+ /* @__PURE__ */ e("thead", { children: /* @__PURE__ */ e("tr", { children: t.map((d) => {
2198
+ const f = n === d.key, g = [
2199
+ M.th,
2200
+ d.sortable ? M.sortable : "",
2201
+ f ? M.sortActive : ""
2202
+ ].filter(Boolean).join(" ");
2203
+ return /* @__PURE__ */ e(
2204
+ "th",
2205
+ {
2206
+ className: g,
2207
+ onClick: () => p(d),
2208
+ "aria-sort": f ? r === "asc" ? "ascending" : "descending" : d.sortable ? "none" : void 0,
2209
+ children: /* @__PURE__ */ h("span", { className: M.thContent, children: [
2210
+ d.header,
2211
+ d.sortable && /* @__PURE__ */ e("span", { className: M.sortIcon, children: f ? r === "asc" ? /* @__PURE__ */ e(Tl, {}) : /* @__PURE__ */ e(Rl, {}) : /* @__PURE__ */ e(Ml, {}) })
2212
+ ] })
2213
+ },
2214
+ d.key
2215
+ );
2216
+ }) }) }),
2217
+ /* @__PURE__ */ e("tbody", { children: o.length === 0 ? /* @__PURE__ */ e("tr", { children: /* @__PURE__ */ e("td", { colSpan: t.length, className: M.empty, children: "No data available." }) }) : o.map((d, f) => /* @__PURE__ */ e("tr", { className: M.tr, children: t.map((g) => {
2218
+ const u = d[g.key], v = g.render ? g.render(u, d, f) : u;
2219
+ return /* @__PURE__ */ e("td", { className: M.td, children: v }, g.key);
2220
+ }) }, f)) })
2221
+ ] })
2222
+ }
2223
+ );
2224
+ }
2225
+ export {
2226
+ Vl as Accordion,
2227
+ Xl as Alert,
2228
+ ec as Avatar,
2229
+ Hl as Badge,
2230
+ oc as Breadcrumb,
2231
+ mt as Button,
2232
+ qe as Card,
2233
+ Co as Checkbox,
2234
+ ze as Dialog,
2235
+ Yl as Divider,
2236
+ ic as Dropdown,
2237
+ nc as EmptyState,
2238
+ dc as FileUpload,
2239
+ Ft as Input,
2240
+ cc as NumberInput,
2241
+ rc as Pagination,
2242
+ ac as Popover,
2243
+ Jl as Progress,
2244
+ Ol as RadioGroup,
2245
+ $o as Select,
2246
+ Gl as Skeleton,
2247
+ lc as Slider,
2248
+ Kl as Spinner,
2249
+ sc as Stepper,
2250
+ ar as Switch,
2251
+ _c as Table,
2252
+ Pl as Tabs,
2253
+ tc as Tag,
2254
+ Xn as Textarea,
2255
+ Al as Title,
2256
+ Ql as ToastProvider,
2257
+ Ul as Tooltip,
2258
+ Zl as useToast
2259
+ };