@myghf/ui 0.3.0 → 0.4.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 (42) hide show
  1. package/README.md +27 -223
  2. package/dist/components/avatar/Avatar.vue.d.ts +12 -0
  3. package/dist/components/avatar/Avatar.vue.d.ts.map +1 -0
  4. package/dist/components/button/Button.vue.d.ts +7 -0
  5. package/dist/components/button/Button.vue.d.ts.map +1 -1
  6. package/dist/components/dropdown-menu/DropdownMenuGroup.vue.d.ts +18 -0
  7. package/dist/components/dropdown-menu/DropdownMenuGroup.vue.d.ts.map +1 -0
  8. package/dist/components/dropdown-menu/DropdownMenuItem.vue.d.ts +5 -1
  9. package/dist/components/dropdown-menu/DropdownMenuItem.vue.d.ts.map +1 -1
  10. package/dist/components/dropdown-menu/DropdownMenuLabel.vue.d.ts +18 -0
  11. package/dist/components/dropdown-menu/DropdownMenuLabel.vue.d.ts.map +1 -0
  12. package/dist/components/dropdown-menu/DropdownMenuSeparator.vue.d.ts +3 -0
  13. package/dist/components/dropdown-menu/DropdownMenuSeparator.vue.d.ts.map +1 -0
  14. package/dist/components/form-field/FormDescription.vue.d.ts +22 -0
  15. package/dist/components/form-field/FormDescription.vue.d.ts.map +1 -0
  16. package/dist/components/form-field/FormField.vue.d.ts +37 -0
  17. package/dist/components/form-field/FormField.vue.d.ts.map +1 -0
  18. package/dist/components/form-field/FormMessage.vue.d.ts +22 -0
  19. package/dist/components/form-field/FormMessage.vue.d.ts.map +1 -0
  20. package/dist/components/input/Input.vue.d.ts +8 -0
  21. package/dist/components/input/Input.vue.d.ts.map +1 -1
  22. package/dist/components/label/Label.vue.d.ts +24 -0
  23. package/dist/components/label/Label.vue.d.ts.map +1 -0
  24. package/dist/components/select/Select.vue.d.ts +4 -0
  25. package/dist/components/select/Select.vue.d.ts.map +1 -1
  26. package/dist/components/skeleton/Skeleton.vue.d.ts +51 -0
  27. package/dist/components/skeleton/Skeleton.vue.d.ts.map +1 -0
  28. package/dist/components/spinner/Spinner.vue.d.ts +13 -0
  29. package/dist/components/spinner/Spinner.vue.d.ts.map +1 -0
  30. package/dist/components/textarea/Textarea.vue.d.ts +9 -1
  31. package/dist/components/textarea/Textarea.vue.d.ts.map +1 -1
  32. package/dist/index.d.ts +12 -0
  33. package/dist/index.d.ts.map +1 -1
  34. package/dist/index.js +845 -517
  35. package/dist/index.js.map +1 -1
  36. package/dist/lib/formField.d.ts +27 -0
  37. package/dist/lib/formField.d.ts.map +1 -0
  38. package/dist/nuxt.d.ts +14 -0
  39. package/dist/nuxt.d.ts.map +1 -0
  40. package/dist/nuxt.js +32 -0
  41. package/dist/nuxt.js.map +1 -0
  42. package/package.json +17 -1
package/dist/index.js CHANGED
@@ -1,25 +1,25 @@
1
1
  import { clsx as e } from "clsx";
2
2
  import { twMerge as t } from "tailwind-merge";
3
3
  import { CalendarDate as n, CalendarDateTime as r, getLocalTimeZone as i } from "@internationalized/date";
4
- import { Fragment as a, computed as o, createBlock as s, createCommentVNode as c, createElementBlock as l, createElementVNode as u, createTextVNode as d, createVNode as f, defineComponent as p, inject as m, mergeProps as h, normalizeClass as g, normalizeStyle as _, onBeforeUnmount as v, onMounted as y, openBlock as b, provide as x, ref as S, renderList as C, renderSlot as w, resolveDynamicComponent as T, toDisplayString as E, unref as D, useAttrs as O, useSlots as ee, vModelSelect as k, vModelText as A, vShow as te, watch as j, withCtx as M, withDirectives as N, withModifiers as P } from "vue";
5
- import * as ne from "lucide-vue-next";
6
- import { Calendar as re, Check as F, ChevronDown as I, ChevronLeft as ie, ChevronRight as L, ChevronUp as ae, ChevronsLeft as oe, ChevronsRight as se, ChevronsUpDown as ce, Clock as le, Eye as R, EyeOff as ue, Moon as de, Search as fe, Sun as pe, X as z } from "lucide-vue-next";
7
- import { tv as B } from "tailwind-variants";
8
- import { CheckboxIndicator as V, CheckboxRoot as me, DialogClose as he, DialogContent as ge, DialogDescription as _e, DialogOverlay as ve, DialogPortal as ye, DialogRoot as be, DialogTitle as H, DialogTrigger as xe, DropdownMenuContent as Se, DropdownMenuItem as Ce, DropdownMenuPortal as we, DropdownMenuRoot as Te, DropdownMenuTrigger as Ee, NumberFieldDecrement as De, NumberFieldIncrement as Oe, NumberFieldInput as ke, NumberFieldRoot as Ae, PopoverContent as je, PopoverRoot as Me, PopoverTrigger as Ne, RadioGroupIndicator as Pe, RadioGroupItem as Fe, RadioGroupRoot as Ie, SelectContent as Le, SelectItem as Re, SelectItemIndicator as ze, SelectItemText as Be, SelectRoot as Ve, SelectTrigger as He, SelectValue as Ue, TabsContent as We, TabsList as Ge, TabsRoot as Ke, TabsTrigger as qe, ToastAction as Je, ToastClose as Ye, ToastDescription as Xe, ToastProvider as Ze, ToastRoot as Qe, ToastTitle as $e, ToastViewport as et, TreeItem as tt, TreeRoot as nt, VisuallyHidden as rt } from "reka-ui";
9
- import { FlexRender as it, createExpandedRowModel as at, createPaginatedRowModel as ot, createSortedRowModel as st, rowExpandingFeature as ct, rowPaginationFeature as lt, rowSortingFeature as ut, sortFns as dt, tableFeatures as ft, useTable as pt } from "@tanstack/vue-table";
4
+ import { Fragment as a, computed as o, createBlock as s, createCommentVNode as c, createElementBlock as l, createElementVNode as u, createTextVNode as d, createVNode as f, defineComponent as p, inject as m, mergeProps as h, normalizeClass as g, normalizeStyle as _, onBeforeUnmount as v, onBeforeUpdate as y, onMounted as b, openBlock as x, provide as S, ref as C, renderList as w, renderSlot as T, resolveDynamicComponent as E, toDisplayString as D, unref as O, useAttrs as k, useId as ee, useSlots as A, vModelSelect as j, vModelText as M, vShow as te, watch as N, withCtx as P, withDirectives as F, withModifiers as I } from "vue";
5
+ import * as L from "lucide-vue-next";
6
+ import { Calendar as ne, Check as R, ChevronDown as z, ChevronLeft as re, ChevronRight as B, ChevronUp as ie, ChevronsLeft as ae, ChevronsRight as V, ChevronsUpDown as oe, Clock as se, Eye as ce, EyeOff as le, Moon as ue, Search as de, Sun as fe, X as H } from "lucide-vue-next";
7
+ import { tv as pe } from "tailwind-variants";
8
+ import { CheckboxIndicator as me, CheckboxRoot as he, DialogClose as ge, DialogContent as _e, DialogDescription as ve, DialogOverlay as ye, DialogPortal as be, DialogRoot as xe, DialogTitle as Se, DialogTrigger as Ce, DropdownMenuContent as we, DropdownMenuGroup as Te, DropdownMenuItem as Ee, DropdownMenuLabel as De, DropdownMenuPortal as Oe, DropdownMenuRoot as ke, DropdownMenuSeparator as Ae, DropdownMenuTrigger as je, NumberFieldDecrement as Me, NumberFieldIncrement as Ne, NumberFieldInput as Pe, NumberFieldRoot as Fe, PopoverContent as Ie, PopoverRoot as Le, PopoverTrigger as Re, RadioGroupIndicator as ze, RadioGroupItem as Be, RadioGroupRoot as Ve, SelectContent as He, SelectItem as Ue, SelectItemIndicator as We, SelectItemText as Ge, SelectRoot as Ke, SelectTrigger as qe, SelectValue as Je, TabsContent as Ye, TabsList as Xe, TabsRoot as Ze, TabsTrigger as Qe, ToastAction as $e, ToastClose as et, ToastDescription as tt, ToastProvider as nt, ToastRoot as rt, ToastTitle as it, ToastViewport as at, TreeItem as ot, TreeRoot as st, VisuallyHidden as ct } from "reka-ui";
9
+ import { FlexRender as lt, createExpandedRowModel as ut, createPaginatedRowModel as dt, createSortedRowModel as ft, rowExpandingFeature as pt, rowPaginationFeature as mt, rowSortingFeature as ht, sortFns as gt, tableFeatures as _t, useTable as vt } from "@tanstack/vue-table";
10
10
  //#region src/lib/cn.ts
11
11
  function U(...n) {
12
12
  return t(e(n));
13
13
  }
14
14
  //#endregion
15
15
  //#region src/lib/date.ts
16
- function mt(e) {
16
+ function yt(e) {
17
17
  return new n(e.getFullYear(), e.getMonth() + 1, e.getDate());
18
18
  }
19
- function ht(e) {
19
+ function bt(e) {
20
20
  return e instanceof r ? e.toDate(i()) : new Date(e.year, e.month - 1, e.day);
21
21
  }
22
- function gt(e) {
22
+ function xt(e) {
23
23
  let [t, n] = e.split(":").map(Number);
24
24
  return t * 60 + (n || 0);
25
25
  }
@@ -27,21 +27,21 @@ function W(e) {
27
27
  let t = Math.floor(e / 60), n = e % 60;
28
28
  return `${String(t).padStart(2, "0")}:${String(n).padStart(2, "0")}`;
29
29
  }
30
- function _t(e, t) {
30
+ function St(e, t) {
31
31
  let n = new Date(e);
32
- return n.setHours(Math.floor(gt(t) / 60), gt(t) % 60, 0, 0), n;
32
+ return n.setHours(Math.floor(xt(t) / 60), xt(t) % 60, 0, 0), n;
33
33
  }
34
34
  function G(e, t) {
35
35
  return !e || !t || e.getTime() <= t.getTime() ? [e, t] : [t, e];
36
36
  }
37
- function vt(e) {
37
+ function Ct(e) {
38
38
  let t = e.getMonth() + 1, n = e.getDate();
39
39
  return `${e.getFullYear()}-${String(t).padStart(2, "0")}-${String(n).padStart(2, "0")}`;
40
40
  }
41
- function yt(e) {
41
+ function wt(e) {
42
42
  return e === "12" ? Array.from({ length: 12 }, (e, t) => t + 1) : Array.from({ length: 24 }, (e, t) => t);
43
43
  }
44
- function bt(e) {
44
+ function Tt(e) {
45
45
  let t = Number.isFinite(e) && e > 0 ? e : 1, n = [];
46
46
  for (let e = 0; e < 60; e += t) n.push(e);
47
47
  return n;
@@ -53,24 +53,24 @@ function K(e) {
53
53
  meridiem: n
54
54
  };
55
55
  }
56
- function xt(e, t) {
56
+ function Et(e, t) {
57
57
  let n = Math.trunc(e) % 12;
58
58
  return t === "pm" ? n + 12 : n;
59
59
  }
60
60
  //#endregion
61
61
  //#region src/lib/locale.ts
62
- function St(e) {
62
+ function Dt(e) {
63
63
  try {
64
64
  let t = new Intl.Locale(e), n = t.weekInfo ?? t.getWeekInfo?.();
65
65
  if (n && typeof n.firstDay == "number") return n.firstDay % 7;
66
66
  } catch {}
67
67
  return 1;
68
68
  }
69
- function Ct(e, t) {
69
+ function Ot(e, t) {
70
70
  let n = (Math.trunc(t) % 7 + 7) % 7, r = new Intl.DateTimeFormat(e, { weekday: "short" });
71
71
  return Array.from({ length: 7 }, (e, t) => r.format(new Date(2026, 0, 4 + (n + t) % 7)));
72
72
  }
73
- function wt(e, t) {
73
+ function kt(e, t) {
74
74
  return new Intl.DateTimeFormat(t, {
75
75
  month: "long",
76
76
  year: "numeric"
@@ -79,7 +79,7 @@ function wt(e, t) {
79
79
  function q(e, t) {
80
80
  return new Intl.DateTimeFormat(t, { dateStyle: "medium" }).format(e);
81
81
  }
82
- function Tt(e, t, n) {
82
+ function At(e, t, n) {
83
83
  let r = n === "24" ? {
84
84
  hour: "2-digit",
85
85
  minute: "2-digit",
@@ -93,10 +93,10 @@ function Tt(e, t, n) {
93
93
  }
94
94
  //#endregion
95
95
  //#region src/lib/number.ts
96
- function Et(e) {
96
+ function jt(e) {
97
97
  return e == null || !Number.isFinite(e) ? null : e;
98
98
  }
99
- function Dt(e) {
99
+ function Mt(e) {
100
100
  return {
101
101
  ...e.currency ? {
102
102
  style: "currency",
@@ -108,13 +108,13 @@ function Dt(e) {
108
108
  }
109
109
  //#endregion
110
110
  //#region src/lib/icons.ts
111
- function Ot(e) {
111
+ function Nt(e) {
112
112
  return e.split("-").map((e) => e.charAt(0).toUpperCase() + e.slice(1)).join("");
113
113
  }
114
- var kt = "circle";
115
- function At(e) {
114
+ var Pt = "circle";
115
+ function Ft(e) {
116
116
  let t = e.trim();
117
- return t ? t.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase() : kt;
117
+ return t ? t.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase() : Pt;
118
118
  }
119
119
  //#endregion
120
120
  //#region src/lib/tones.ts
@@ -149,14 +149,14 @@ var J = {
149
149
  icon: "text-muted",
150
150
  role: "status"
151
151
  }
152
- }, jt = "myghf-theme", Mt = "both", Nt = "system";
152
+ }, It = "myghf-theme", Lt = "both", Rt = "system";
153
153
  function Y() {
154
154
  return typeof window < "u" && typeof document < "u";
155
155
  }
156
- function Pt() {
156
+ function zt() {
157
157
  return !Y() || typeof window.matchMedia != "function" ? "light" : window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
158
158
  }
159
- function Ft(e) {
159
+ function Bt(e) {
160
160
  try {
161
161
  let t = window.localStorage.getItem(e);
162
162
  return t === "light" || t === "dark" || t === "system" ? t : null;
@@ -164,15 +164,15 @@ function Ft(e) {
164
164
  return null;
165
165
  }
166
166
  }
167
- function It(e) {
167
+ function Vt(e) {
168
168
  return {
169
- storageKey: e.storageKey ?? jt,
170
- attribute: e.attribute ?? Mt,
171
- defaultMode: e.defaultMode ?? Nt
169
+ storageKey: e.storageKey ?? It,
170
+ attribute: e.attribute ?? Lt,
171
+ defaultMode: e.defaultMode ?? Rt
172
172
  };
173
173
  }
174
- function Lt(e = {}) {
175
- let { storageKey: t, attribute: n, defaultMode: r } = It(e), i = Y() ? Ft(t) ?? r : r, a = S(i), s = o(() => a.value === "system" ? Pt() : a.value), c = o(() => s.value === "dark");
174
+ function Ht(e = {}) {
175
+ let { storageKey: t, attribute: n, defaultMode: r } = Vt(e), i = Y() ? Bt(t) ?? r : r, a = C(i), s = o(() => a.value === "system" ? zt() : a.value), c = o(() => s.value === "dark");
176
176
  function l() {
177
177
  if (!Y()) return;
178
178
  let e = c.value, t = document.documentElement;
@@ -212,20 +212,20 @@ function Lt(e = {}) {
212
212
  reset: h
213
213
  };
214
214
  }
215
- var Rt = null;
216
- function zt(e) {
217
- return Rt || (Rt = Lt(e), Rt);
215
+ var Ut = null;
216
+ function Wt(e) {
217
+ return Ut || (Ut = Ht(e), Ut);
218
218
  }
219
219
  //#endregion
220
220
  //#region src/components/theme-toggle/ThemeToggle.vue?vue&type=script&setup=true&lang.ts
221
- var Bt = ["aria-label", "aria-pressed"], Vt = /* @__PURE__ */ p({
221
+ var Gt = ["aria-label", "aria-pressed"], Kt = /* @__PURE__ */ p({
222
222
  __name: "ThemeToggle",
223
223
  props: {
224
224
  size: { default: "default" },
225
225
  label: { default: "Toggle theme" }
226
226
  },
227
227
  setup(e) {
228
- let t = e, { isDark: n, toggle: r } = zt(), i = {
228
+ let t = e, { isDark: n, toggle: r } = Wt(), i = {
229
229
  sm: "h-8 px-3 text-xs",
230
230
  default: "h-9 px-4",
231
231
  lg: "h-10 px-6"
@@ -236,13 +236,13 @@ var Bt = ["aria-label", "aria-pressed"], Vt = /* @__PURE__ */ p({
236
236
  "disabled:pointer-events-none disabled:opacity-50 [&_svg]:size-4",
237
237
  i[t.size]
238
238
  ]);
239
- return (t, i) => (b(), l("button", {
239
+ return (t, i) => (x(), l("button", {
240
240
  type: "button",
241
241
  class: g(a.value),
242
242
  "aria-label": e.label,
243
- "aria-pressed": D(n),
244
- onClick: i[0] ||= (e) => D(r)()
245
- }, [D(n) ? (b(), s(D(pe), { key: 0 })) : (b(), s(D(de), { key: 1 }))], 10, Bt));
243
+ "aria-pressed": O(n),
244
+ onClick: i[0] ||= (e) => O(r)()
245
+ }, [O(n) ? (x(), s(O(fe), { key: 0 })) : (x(), s(O(ue), { key: 1 }))], 10, Gt));
246
246
  }
247
247
  }), X = /* @__PURE__ */ p({
248
248
  __name: "Icon",
@@ -251,23 +251,20 @@ var Bt = ["aria-label", "aria-pressed"], Vt = /* @__PURE__ */ p({
251
251
  size: { default: 16 }
252
252
  },
253
253
  setup(e) {
254
- let t = e, n = o(() => ne[Ot(At(t.name))] ?? ne.Circle);
255
- return (t, r) => (b(), s(T(n.value), {
254
+ let t = e, n = o(() => L[Nt(Ft(t.name))] ?? L.Circle);
255
+ return (t, r) => (x(), s(E(n.value), {
256
256
  size: e.size,
257
257
  "aria-hidden": "true",
258
258
  "data-icon": "",
259
259
  name: e.name
260
260
  }, null, 8, ["size", "name"]));
261
261
  }
262
- }), Ht = [
262
+ }), qt = [
263
263
  "type",
264
264
  "disabled",
265
- "data-loading"
266
- ], Ut = {
267
- key: 0,
268
- class: "size-4 animate-spin rounded-full border-2 border-current border-t-transparent",
269
- "aria-hidden": "true"
270
- }, Z = /* @__PURE__ */ p({
265
+ "data-loading",
266
+ "aria-busy"
267
+ ], Z = /* @__PURE__ */ p({
271
268
  __name: "Button",
272
269
  props: {
273
270
  variant: { default: "default" },
@@ -281,10 +278,13 @@ var Bt = ["aria-label", "aria-pressed"], Vt = /* @__PURE__ */ p({
281
278
  type: Boolean,
282
279
  default: !1
283
280
  },
284
- label: {}
281
+ label: {},
282
+ icon: {},
283
+ iconTrailing: {},
284
+ iconPos: { default: "start" }
285
285
  },
286
286
  setup(e) {
287
- let t = B({
287
+ let t = pe({
288
288
  base: "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500 focus-visible:ring-offset-2 dark:focus-visible:ring-offset-background disabled:pointer-events-none disabled:opacity-50 [&_svg]:size-4 data-[loading=true]:cursor-not-allowed",
289
289
  variants: {
290
290
  variant: {
@@ -306,72 +306,125 @@ var Bt = ["aria-label", "aria-pressed"], Vt = /* @__PURE__ */ p({
306
306
  variant: "default",
307
307
  size: "default"
308
308
  }
309
- }), n = e, r = O(), i = o(() => n.disabled || n.loading || !!r.disabled);
310
- return (n, a) => (b(), l("button", h({
309
+ }), n = e, r = k(), i = o(() => n.disabled || n.loading || !!r.disabled);
310
+ return (n, a) => (x(), l("button", h({
311
311
  type: e.type,
312
312
  disabled: i.value,
313
313
  "data-loading": e.loading || void 0,
314
- class: D(t)({
314
+ "aria-busy": e.loading || void 0,
315
+ class: O(t)({
315
316
  variant: e.variant,
316
317
  size: e.size
317
318
  })
318
- }, D(r)), [e.loading ? (b(), l("span", Ut)) : w(n.$slots, "default", {}, () => [d(E(e.label), 1)], void 0, 1)], 16, Ht));
319
+ }, O(r)), [
320
+ e.loading ? (x(), s(X, {
321
+ key: 0,
322
+ name: "loader-circle",
323
+ class: "animate-spin",
324
+ "aria-hidden": "true"
325
+ })) : e.iconPos === "start" && e.icon ? (x(), s(X, {
326
+ key: 1,
327
+ name: e.icon,
328
+ "aria-hidden": "true"
329
+ }, null, 8, ["name"])) : c("", !0),
330
+ T(n.$slots, "default", {}, () => [d(D(e.label), 1)]),
331
+ e.iconTrailing ? (x(), s(X, {
332
+ key: 2,
333
+ name: e.iconTrailing,
334
+ "aria-hidden": "true"
335
+ }, null, 8, ["name"])) : e.iconPos === "end" && e.icon ? (x(), s(X, {
336
+ key: 3,
337
+ name: e.icon,
338
+ "aria-hidden": "true"
339
+ }, null, 8, ["name"])) : c("", !0)
340
+ ], 16, qt));
319
341
  }
320
- }), Wt = { class: "relative w-full" }, Gt = [
342
+ }), Jt = Symbol("myghf-form-field");
343
+ function Q() {
344
+ return m(Jt, null);
345
+ }
346
+ //#endregion
347
+ //#region src/components/input/Input.vue?vue&type=script&setup=true&lang.ts
348
+ var Yt = { class: "relative w-full" }, Xt = [
349
+ "id",
350
+ "type",
351
+ "name",
352
+ "autocomplete",
321
353
  "value",
322
354
  "placeholder",
323
- "disabled"
324
- ], Kt = /* @__PURE__ */ p({
355
+ "disabled",
356
+ "required",
357
+ "aria-invalid",
358
+ "aria-describedby"
359
+ ], Zt = /* @__PURE__ */ p({
325
360
  __name: "Input",
326
361
  props: {
327
362
  modelValue: {},
328
363
  placeholder: {},
329
364
  disabled: { type: Boolean },
330
- invalid: { type: Boolean },
365
+ invalid: {
366
+ type: Boolean,
367
+ default: void 0
368
+ },
331
369
  leadingIcon: {},
332
370
  trailingIcon: {},
333
- size: { default: "default" }
371
+ size: { default: "default" },
372
+ type: { default: "text" },
373
+ id: {},
374
+ name: {},
375
+ autocomplete: {},
376
+ required: {
377
+ type: Boolean,
378
+ default: void 0
379
+ }
334
380
  },
335
381
  emits: ["update:modelValue"],
336
382
  setup(e, { expose: t, emit: n }) {
337
- let r = n, i = O(), a = S();
338
- return t({ focus: () => a.value?.focus() }), (t, n) => (b(), l("div", Wt, [
339
- e.leadingIcon ? (b(), s(X, {
383
+ let r = e, i = n, a = k(), d = C(), f = Q(), p = o(() => r.id ?? f?.id.value), m = o(() => r.invalid ?? f?.invalid.value ?? !1), g = o(() => r.required ?? f?.required.value ?? !1), _ = o(() => f?.describedBy.value);
384
+ return t({ focus: () => d.value?.focus() }), (t, n) => (x(), l("div", Yt, [
385
+ e.leadingIcon ? (x(), s(X, {
340
386
  key: 0,
341
387
  name: e.leadingIcon,
342
388
  class: "pointer-events-none absolute start-3 top-1/2 size-4 -translate-y-1/2 text-muted"
343
389
  }, null, 8, ["name"])) : c("", !0),
344
390
  u("input", h({
345
391
  ref_key: "inputRef",
346
- ref: a,
392
+ ref: d,
393
+ id: p.value,
394
+ type: e.type,
395
+ name: e.name,
396
+ autocomplete: e.autocomplete,
347
397
  value: e.modelValue,
348
398
  placeholder: e.placeholder,
349
399
  disabled: e.disabled,
400
+ required: g.value,
401
+ "aria-invalid": m.value || void 0,
402
+ "aria-describedby": _.value,
350
403
  class: [
351
404
  "flex w-full rounded-md border border-border bg-surface px-3 py-1 text-sm text-foreground shadow-sm transition-colors placeholder:text-muted focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500 disabled:cursor-not-allowed disabled:opacity-50",
352
405
  e.size === "sm" ? "h-8 text-xs" : e.size === "lg" ? "h-10" : "h-9",
353
406
  e.leadingIcon ? "ps-9" : "ps-3",
354
407
  e.trailingIcon ? "pe-9" : "pe-3",
355
- e.invalid ? "border-error-500 focus-visible:ring-error-500" : ""
408
+ m.value ? "border-error-500 focus-visible:ring-error-500" : ""
356
409
  ]
357
- }, D(i), { onInput: n[0] ||= (e) => r("update:modelValue", e.target.value) }), null, 16, Gt),
358
- e.trailingIcon ? (b(), s(X, {
410
+ }, O(a), { onInput: n[0] ||= (e) => i("update:modelValue", e.target.value) }), null, 16, Xt),
411
+ e.trailingIcon ? (x(), s(X, {
359
412
  key: 1,
360
413
  name: e.trailingIcon,
361
414
  class: "pointer-events-none absolute end-3 top-1/2 size-4 -translate-y-1/2 text-muted"
362
415
  }, null, 8, ["name"])) : c("", !0)
363
416
  ]));
364
417
  }
365
- }), qt = {
418
+ }), Qt = {
366
419
  key: 0,
367
420
  class: "shrink-0 select-none text-muted"
368
- }, Jt = {
421
+ }, $t = {
369
422
  key: 1,
370
423
  class: "shrink-0 select-none text-muted"
371
- }, Yt = {
424
+ }, en = {
372
425
  key: 2,
373
426
  class: "ms-1 flex shrink-0 flex-col"
374
- }, Xt = /* @__PURE__ */ p({
427
+ }, tn = /* @__PURE__ */ p({
375
428
  inheritAttrs: !1,
376
429
  __name: "InputNumber",
377
430
  props: {
@@ -397,7 +450,7 @@ var Bt = ["aria-label", "aria-pressed"], Vt = /* @__PURE__ */ p({
397
450
  },
398
451
  emits: ["update:modelValue"],
399
452
  setup(e, { emit: t }) {
400
- let n = e, r = t, i = O(), a = o(() => Number.isFinite(n.step) && n.step > 0 ? n.step : 1), s = o(() => Dt({
453
+ let n = e, r = t, i = k(), a = o(() => Number.isFinite(n.step) && n.step > 0 ? n.step : 1), s = o(() => Mt({
401
454
  currency: n.currency,
402
455
  formatOptions: n.formatOptions,
403
456
  integer: n.integer
@@ -408,11 +461,11 @@ var Bt = ["aria-label", "aria-pressed"], Vt = /* @__PURE__ */ p({
408
461
  return;
409
462
  }
410
463
  });
411
- return (t, n) => (b(), l("div", { class: g(["relative flex w-full items-center rounded-md border border-border bg-surface px-3 text-sm text-foreground shadow-sm transition-colors focus-within:ring-2 focus-within:ring-primary-500", [
464
+ return (t, n) => (x(), l("div", { class: g(["relative flex w-full items-center rounded-md border border-border bg-surface px-3 text-sm text-foreground shadow-sm transition-colors focus-within:ring-2 focus-within:ring-primary-500", [
412
465
  e.size === "sm" ? "h-8 text-xs" : e.size === "lg" ? "h-10" : "h-9",
413
466
  e.invalid ? "border-error-500 focus-within:ring-error-500" : "",
414
467
  e.disabled ? "cursor-not-allowed opacity-50" : ""
415
- ]]) }, [f(D(Ae), {
468
+ ]]) }, [f(O(Fe), {
416
469
  "model-value": e.modelValue,
417
470
  min: e.min,
418
471
  max: e.max,
@@ -425,11 +478,11 @@ var Bt = ["aria-label", "aria-pressed"], Vt = /* @__PURE__ */ p({
425
478
  id: e.id,
426
479
  name: e.name,
427
480
  class: "flex min-w-0 flex-1 items-center gap-1",
428
- "onUpdate:modelValue": n[0] ||= (e) => r("update:modelValue", D(Et)(e))
481
+ "onUpdate:modelValue": n[0] ||= (e) => r("update:modelValue", O(jt)(e))
429
482
  }, {
430
- default: M(() => [
431
- e.prefix ? (b(), l("span", qt, E(e.prefix), 1)) : c("", !0),
432
- f(D(ke), h(D(i), {
483
+ default: P(() => [
484
+ e.prefix ? (x(), l("span", Qt, D(e.prefix), 1)) : c("", !0),
485
+ f(O(Pe), h(O(i), {
433
486
  placeholder: e.placeholder,
434
487
  "aria-invalid": e.invalid || void 0,
435
488
  "aria-valuetext": u.value,
@@ -439,15 +492,15 @@ var Bt = ["aria-label", "aria-pressed"], Vt = /* @__PURE__ */ p({
439
492
  "aria-invalid",
440
493
  "aria-valuetext"
441
494
  ]),
442
- e.suffix ? (b(), l("span", Jt, E(e.suffix), 1)) : c("", !0),
443
- e.showButtons ? (b(), l("div", Yt, [f(D(Oe), { class: "flex size-4 items-center justify-center rounded text-muted transition-colors hover:text-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-primary-500 disabled:cursor-not-allowed disabled:opacity-40" }, {
444
- default: M(() => [f(X, {
495
+ e.suffix ? (x(), l("span", $t, D(e.suffix), 1)) : c("", !0),
496
+ e.showButtons ? (x(), l("div", en, [f(O(Ne), { class: "flex size-4 items-center justify-center rounded text-muted transition-colors hover:text-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-primary-500 disabled:cursor-not-allowed disabled:opacity-40" }, {
497
+ default: P(() => [f(X, {
445
498
  name: "chevron-up",
446
499
  size: 12
447
500
  })]),
448
501
  _: 1
449
- }), f(D(De), { class: "flex size-4 items-center justify-center rounded text-muted transition-colors hover:text-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-primary-500 disabled:cursor-not-allowed disabled:opacity-40" }, {
450
- default: M(() => [f(X, {
502
+ }), f(O(Me), { class: "flex size-4 items-center justify-center rounded text-muted transition-colors hover:text-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-primary-500 disabled:cursor-not-allowed disabled:opacity-40" }, {
503
+ default: P(() => [f(X, {
451
504
  name: "chevron-down",
452
505
  size: 12
453
506
  })]),
@@ -469,42 +522,81 @@ var Bt = ["aria-label", "aria-pressed"], Vt = /* @__PURE__ */ p({
469
522
  "name"
470
523
  ])], 2));
471
524
  }
472
- }), Zt = [
525
+ }), nn = [
526
+ "id",
473
527
  "value",
474
528
  "placeholder",
475
529
  "disabled",
476
- "rows"
477
- ], Qt = /* @__PURE__ */ p({
530
+ "rows",
531
+ "required",
532
+ "aria-invalid",
533
+ "aria-describedby"
534
+ ], rn = /* @__PURE__ */ p({
478
535
  __name: "Textarea",
479
536
  props: {
480
537
  modelValue: {},
481
538
  placeholder: {},
482
539
  disabled: { type: Boolean },
483
540
  rows: { default: 3 },
484
- invalid: { type: Boolean }
541
+ invalid: {
542
+ type: Boolean,
543
+ default: void 0
544
+ },
545
+ autoResize: { type: Boolean },
546
+ maxRows: {},
547
+ id: {},
548
+ required: {
549
+ type: Boolean,
550
+ default: void 0
551
+ }
485
552
  },
486
553
  emits: ["update:modelValue"],
487
554
  setup(e, { emit: t }) {
488
- let n = t, r = O();
489
- return (t, i) => (b(), l("textarea", h({
555
+ let n = e, r = t, i = k(), a = C(), s = Q(), c = C(!1), u = o(() => n.id ?? s?.id.value), d = o(() => n.invalid ?? s?.invalid.value ?? !1), f = o(() => n.required ?? s?.required.value ?? !1), p = o(() => s?.describedBy.value);
556
+ function m() {
557
+ if (!n.autoResize || !a.value) return;
558
+ let e = a.value;
559
+ e.style.height = "auto";
560
+ let t = e.scrollHeight, r = t;
561
+ if (c.value = !1, n.maxRows && t) {
562
+ let i = parseFloat(getComputedStyle(e).lineHeight) || 0, a = n.maxRows * i;
563
+ a > 0 && t > a && (r = a, c.value = !0);
564
+ }
565
+ e.style.height = t ? `${r}px` : "";
566
+ }
567
+ function g(e) {
568
+ r("update:modelValue", e.target.value), m();
569
+ }
570
+ return b(m), N(() => n.modelValue, m, { flush: "post" }), (t, n) => (x(), l("textarea", h({
571
+ ref_key: "el",
572
+ ref: a,
573
+ id: u.value,
490
574
  value: e.modelValue,
491
575
  placeholder: e.placeholder,
492
576
  disabled: e.disabled,
493
577
  rows: e.rows,
494
- class: ["w-full rounded-md border border-border bg-surface px-3 py-2 text-sm text-foreground shadow-sm transition-colors placeholder:text-muted focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500 disabled:cursor-not-allowed disabled:opacity-50", e.invalid ? "border-error-500 focus-visible:ring-error-500" : ""]
495
- }, D(r), { onInput: i[0] ||= (e) => n("update:modelValue", e.target.value) }), null, 16, Zt));
578
+ required: f.value,
579
+ "aria-invalid": d.value || void 0,
580
+ "aria-describedby": p.value,
581
+ class: [
582
+ "w-full rounded-md border border-border bg-surface px-3 py-2 text-sm text-foreground shadow-sm transition-colors placeholder:text-muted focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500 disabled:cursor-not-allowed disabled:opacity-50",
583
+ d.value ? "border-error-500 focus-visible:ring-error-500" : "",
584
+ e.autoResize ? "resize-none" : "",
585
+ c.value ? "overflow-y-auto" : ""
586
+ ]
587
+ }, O(i), { onInput: g }), null, 16, nn));
496
588
  }
497
- }), $t = { class: "w-full" }, en = { class: "relative w-full" }, tn = [
589
+ }), an = { class: "w-full" }, on = { class: "relative w-full" }, sn = [
498
590
  "id",
499
591
  "type",
500
592
  "value",
501
593
  "placeholder",
502
594
  "disabled"
503
- ], nn = ["disabled"], rn = {
595
+ ], cn = ["disabled"], ln = {
504
596
  key: 0,
505
597
  class: "mt-1.5 flex items-center gap-1.5",
506
598
  "aria-hidden": "true"
507
- }, an = /* @__PURE__ */ p({
599
+ }, un = /* @__PURE__ */ p({
508
600
  __name: "Password",
509
601
  props: {
510
602
  modelValue: {},
@@ -519,13 +611,13 @@ var Bt = ["aria-label", "aria-pressed"], Vt = /* @__PURE__ */ p({
519
611
  },
520
612
  emits: ["update:modelValue"],
521
613
  setup(e, { emit: t }) {
522
- let n = e, r = t, i = O(), d = S(!1), f = o(() => d.value ? "text" : "password"), p = o(() => {
614
+ let n = e, r = t, i = k(), d = C(!1), f = o(() => d.value ? "text" : "password"), p = o(() => {
523
615
  let e = n.modelValue ?? "";
524
616
  if (e.length === 0) return 0;
525
617
  let t = 0;
526
618
  return e.length >= 8 && t++, e.length >= 12 && t++, /[A-Z]/.test(e) && /[a-z]/.test(e) && t++, /\d/.test(e) && t++, /[^A-Za-z0-9]/.test(e) && t++, Math.max(1, Math.min(4, Math.ceil(t / 5 * 4)));
527
619
  });
528
- return (t, n) => (b(), l("div", $t, [u("div", en, [u("input", h({
620
+ return (t, n) => (x(), l("div", an, [u("div", on, [u("input", h({
529
621
  id: e.id,
530
622
  type: f.value,
531
623
  value: e.modelValue,
@@ -536,24 +628,116 @@ var Bt = ["aria-label", "aria-pressed"], Vt = /* @__PURE__ */ p({
536
628
  e.invalid ? "border-error-500 focus-visible:ring-error-500" : "",
537
629
  "pe-10"
538
630
  ]
539
- }, D(i), { onInput: n[0] ||= (e) => r("update:modelValue", e.target.value) }), null, 16, tn), u("button", {
631
+ }, O(i), { onInput: n[0] ||= (e) => r("update:modelValue", e.target.value) }), null, 16, sn), u("button", {
540
632
  type: "button",
541
633
  disabled: e.disabled,
542
634
  "aria-label": "Toggle password visibility",
543
635
  class: "absolute end-2 top-1/2 -translate-y-1/2 rounded p-1 text-muted transition-colors hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500",
544
636
  onClick: n[1] ||= (e) => d.value = !d.value
545
- }, [d.value ? (b(), s(D(ue), {
637
+ }, [d.value ? (x(), s(O(le), {
546
638
  key: 0,
547
639
  class: "size-4"
548
- })) : (b(), s(D(R), {
640
+ })) : (x(), s(O(ce), {
549
641
  key: 1,
550
642
  class: "size-4"
551
- }))], 8, nn)]), e.feedback && e.modelValue ? (b(), l("div", rn, [(b(), l(a, null, C(4, (e) => u("span", {
643
+ }))], 8, cn)]), e.feedback && e.modelValue ? (x(), l("div", ln, [(x(), l(a, null, w(4, (e) => u("span", {
552
644
  key: e,
553
645
  class: g(["h-1 flex-1 rounded-full transition-colors", e <= p.value ? "bg-success-500" : "bg-surface-muted"])
554
646
  }, null, 2)), 64))])) : c("", !0)]));
555
647
  }
556
- }), on = /* @__PURE__ */ p({
648
+ }), dn = ["for"], fn = {
649
+ key: 0,
650
+ class: "text-error-600",
651
+ "aria-hidden": "true"
652
+ }, pn = /* @__PURE__ */ p({
653
+ __name: "Label",
654
+ props: {
655
+ for: {},
656
+ required: { type: Boolean }
657
+ },
658
+ setup(e) {
659
+ let t = e, n = Q(), r = o(() => t.for ?? n?.id.value);
660
+ return (t, n) => (x(), l("label", {
661
+ for: r.value,
662
+ class: "text-sm font-medium text-foreground text-start"
663
+ }, [T(t.$slots, "default"), e.required ? (x(), l("span", fn, "*")) : c("", !0)], 8, dn));
664
+ }
665
+ }), mn = ["id"], hn = /* @__PURE__ */ p({
666
+ __name: "FormDescription",
667
+ props: { id: {} },
668
+ setup(e) {
669
+ return (t, n) => t.$slots.default ? (x(), l("p", {
670
+ key: 0,
671
+ id: e.id,
672
+ class: "text-sm text-muted"
673
+ }, [T(t.$slots, "default")], 8, mn)) : c("", !0);
674
+ }
675
+ }), gn = ["id"], _n = /* @__PURE__ */ p({
676
+ __name: "FormMessage",
677
+ props: { id: {} },
678
+ setup(e) {
679
+ return (t, n) => t.$slots.default ? (x(), l("p", {
680
+ key: 0,
681
+ id: e.id,
682
+ role: "alert",
683
+ class: "text-sm text-error-600"
684
+ }, [T(t.$slots, "default")], 8, gn)) : c("", !0);
685
+ }
686
+ }), vn = { class: "grid gap-2" }, yn = /* @__PURE__ */ p({
687
+ __name: "FormField",
688
+ props: {
689
+ label: {},
690
+ description: {},
691
+ error: {},
692
+ required: { type: Boolean },
693
+ invalid: {
694
+ type: Boolean,
695
+ default: void 0
696
+ },
697
+ id: {}
698
+ },
699
+ setup(e) {
700
+ let t = e, n = A(), r = C(0);
701
+ y(() => {
702
+ r.value++;
703
+ });
704
+ let i = ee(), a = o(() => t.id ?? i), u = o(() => t.invalid ?? !!t.error), f = o(() => t.required ?? !1), p = o(() => {
705
+ r.value;
706
+ let e = [];
707
+ return (t.description || n.description) && e.push(`${a.value}-description`), (t.error || n.error) && e.push(`${a.value}-error`), e.length > 0 ? e.join(" ") : void 0;
708
+ });
709
+ return S(Jt, {
710
+ id: a,
711
+ describedBy: p,
712
+ invalid: u,
713
+ required: f
714
+ }), (t, n) => (x(), l("div", vn, [
715
+ e.label || t.$slots.label ? (x(), s(pn, {
716
+ key: 0,
717
+ for: a.value,
718
+ required: f.value
719
+ }, {
720
+ default: P(() => [T(t.$slots, "label", {}, () => [d(D(e.label), 1)])]),
721
+ _: 3
722
+ }, 8, ["for", "required"])) : c("", !0),
723
+ T(t.$slots, "default"),
724
+ e.description || t.$slots.description ? (x(), s(hn, {
725
+ key: 1,
726
+ id: `${a.value}-description`
727
+ }, {
728
+ default: P(() => [T(t.$slots, "description", {}, () => [d(D(e.description), 1)])]),
729
+ _: 3
730
+ }, 8, ["id"])) : c("", !0),
731
+ e.error || t.$slots.error ? (x(), s(_n, {
732
+ key: 2,
733
+ id: `${a.value}-error`
734
+ }, {
735
+ default: P(() => [T(t.$slots, "error", {}, () => [d(D(e.error), 1)])]),
736
+ _: 3
737
+ }, 8, ["id"])) : c("", !0)
738
+ ]));
739
+ }
740
+ }), bn = /* @__PURE__ */ p({
557
741
  __name: "Checkbox",
558
742
  props: {
559
743
  modelValue: {
@@ -566,15 +750,15 @@ var Bt = ["aria-label", "aria-pressed"], Vt = /* @__PURE__ */ p({
566
750
  emits: ["update:modelValue"],
567
751
  setup(e, { emit: t }) {
568
752
  let n = t;
569
- return (t, r) => (b(), s(D(me), {
753
+ return (t, r) => (x(), s(O(he), {
570
754
  id: e.id,
571
755
  "model-value": e.modelValue,
572
756
  disabled: e.disabled,
573
757
  class: "peer size-4 shrink-0 rounded border border-border bg-surface shadow-sm transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500 focus-visible:ring-offset-2 dark:focus-visible:ring-offset-background data-[state=checked]:border-primary-500 data-[state=checked]:bg-primary-500 data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50",
574
758
  "onUpdate:modelValue": r[0] ||= (e) => n("update:modelValue", e)
575
759
  }, {
576
- default: M(() => [f(D(V), { class: "flex items-center justify-center text-white" }, {
577
- default: M(() => [f(D(F), { class: "size-3.5" })]),
760
+ default: P(() => [f(O(me), { class: "flex items-center justify-center text-white" }, {
761
+ default: P(() => [f(O(R), { class: "size-3.5" })]),
578
762
  _: 1
579
763
  })]),
580
764
  _: 1
@@ -584,7 +768,7 @@ var Bt = ["aria-label", "aria-pressed"], Vt = /* @__PURE__ */ p({
584
768
  "disabled"
585
769
  ]));
586
770
  }
587
- }), sn = ["aria-label"], cn = /* @__PURE__ */ p({
771
+ }), xn = ["aria-label"], Sn = /* @__PURE__ */ p({
588
772
  __name: "Tag",
589
773
  props: {
590
774
  tone: { default: "secondary" },
@@ -595,26 +779,26 @@ var Bt = ["aria-label", "aria-pressed"], Vt = /* @__PURE__ */ p({
595
779
  emits: ["remove"],
596
780
  setup(e, { emit: t }) {
597
781
  let n = t;
598
- return (t, r) => (b(), l("span", { class: g(["inline-flex items-center gap-1 rounded-full px-2 py-0.5 text-xs font-medium", D(J)[e.tone].soft]) }, [
599
- e.icon ? (b(), s(X, {
782
+ return (t, r) => (x(), l("span", { class: g(["inline-flex items-center gap-1 rounded-full px-2 py-0.5 text-xs font-medium", O(J)[e.tone].soft]) }, [
783
+ e.icon ? (x(), s(X, {
600
784
  key: 0,
601
785
  name: e.icon,
602
786
  class: "size-3"
603
787
  }, null, 8, ["name"])) : c("", !0),
604
- w(t.$slots, "default"),
605
- e.removable ? (b(), l("button", {
788
+ T(t.$slots, "default"),
789
+ e.removable ? (x(), l("button", {
606
790
  key: 1,
607
791
  type: "button",
608
792
  "aria-label": e.removeLabel,
609
793
  class: "-me-0.5 ms-0.5 rounded-full p-0.5 transition-colors hover:bg-black/10 dark:hover:bg-white/10 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500",
610
- onClick: r[0] ||= P((e) => n("remove"), ["stop"])
611
- }, [f(D(z), { class: "size-3" })], 8, sn)) : c("", !0)
794
+ onClick: r[0] ||= I((e) => n("remove"), ["stop"])
795
+ }, [f(O(H), { class: "size-3" })], 8, xn)) : c("", !0)
612
796
  ], 2));
613
797
  }
614
- }), ln = ["role"], un = { class: "min-w-0 flex-1" }, dn = {
798
+ }), Cn = ["role"], wn = { class: "min-w-0 flex-1" }, Tn = {
615
799
  key: 0,
616
800
  class: "font-medium"
617
- }, fn = ["aria-label"], pn = /* @__PURE__ */ p({
801
+ }, En = ["aria-label"], Dn = /* @__PURE__ */ p({
618
802
  __name: "Alert",
619
803
  props: {
620
804
  tone: { default: "info" },
@@ -641,113 +825,201 @@ var Bt = ["aria-label", "aria-pressed"], Vt = /* @__PURE__ */ p({
641
825
  warning: "triangle-alert",
642
826
  danger: "circle-alert",
643
827
  secondary: "info"
644
- }, a = S(!1), o = S(!1), p = S(!1), m, h = 0, _ = 0;
645
- function x() {
828
+ }, a = C(!1), o = C(!1), p = C(!1), m, h = 0, _ = 0;
829
+ function y() {
646
830
  m !== void 0 && (clearTimeout(m), m = void 0);
647
831
  }
648
- function C(e) {
649
- x(), !(e <= 0) && (_ = e, h = Date.now() + e, m = setTimeout(j, e));
832
+ function S(e) {
833
+ y(), !(e <= 0) && (_ = e, h = Date.now() + e, m = setTimeout(M, e));
650
834
  }
651
- function T() {
652
- m !== void 0 && (x(), _ = Math.max(0, h - Date.now()));
835
+ function w() {
836
+ m !== void 0 && (y(), _ = Math.max(0, h - Date.now()));
653
837
  }
654
- function O() {
838
+ function E() {
655
839
  if (!(a.value || o.value || p.value || m !== void 0) && !(!n.duration || n.duration <= 0)) {
656
840
  if (_ <= 0) {
657
- j();
841
+ M();
658
842
  return;
659
843
  }
660
- C(_);
844
+ S(_);
661
845
  }
662
846
  }
663
- function ee() {
664
- o.value = !0, T();
665
- }
666
847
  function k() {
667
- o.value = !1, O();
848
+ o.value = !0, w();
668
849
  }
669
- function A() {
670
- p.value = !0, T();
850
+ function ee() {
851
+ o.value = !1, E();
671
852
  }
672
- function te() {
673
- p.value = !1, O();
853
+ function A() {
854
+ p.value = !0, w();
674
855
  }
675
856
  function j() {
676
- a.value || (a.value = !0, x(), r("close"));
857
+ p.value = !1, E();
677
858
  }
678
- return y(() => {
679
- n.duration && n.duration > 0 && C(n.duration);
680
- }), v(x), (t, n) => a.value ? c("", !0) : (b(), l("div", {
859
+ function M() {
860
+ a.value || (a.value = !0, y(), r("close"));
861
+ }
862
+ return b(() => {
863
+ n.duration && n.duration > 0 && S(n.duration);
864
+ }), v(y), (t, n) => a.value ? c("", !0) : (x(), l("div", {
681
865
  key: 0,
682
- role: D(J)[e.tone].role,
683
- class: g(["flex w-full items-start gap-3 rounded-lg p-4 text-sm", D(J)[e.tone][e.variant]]),
684
- onMouseenter: ee,
685
- onMouseleave: k,
866
+ role: O(J)[e.tone].role,
867
+ class: g(["flex w-full items-start gap-3 rounded-lg p-4 text-sm", O(J)[e.tone][e.variant]]),
868
+ onMouseenter: k,
869
+ onMouseleave: ee,
686
870
  onFocusin: A,
687
- onFocusout: te
871
+ onFocusout: j
688
872
  }, [
689
- w(t.$slots, "icon", {}, () => [e.showIcon ? (b(), s(X, {
873
+ T(t.$slots, "icon", {}, () => [e.showIcon ? (x(), s(X, {
690
874
  key: 0,
691
875
  name: e.icon || i[e.tone],
692
- class: g(["mt-0.5 size-4 shrink-0", D(J)[e.tone].icon])
876
+ class: g(["mt-0.5 size-4 shrink-0", O(J)[e.tone].icon])
693
877
  }, null, 8, ["name", "class"])) : c("", !0)]),
694
- u("div", un, [
695
- e.title || t.$slots.title ? (b(), l("p", dn, [w(t.$slots, "title", {}, () => [d(E(e.title), 1)])])) : c("", !0),
696
- e.description || t.$slots.description ? (b(), l("div", {
878
+ u("div", wn, [
879
+ e.title || t.$slots.title ? (x(), l("p", Tn, [T(t.$slots, "title", {}, () => [d(D(e.title), 1)])])) : c("", !0),
880
+ e.description || t.$slots.description ? (x(), l("div", {
697
881
  key: 1,
698
882
  class: g(["leading-relaxed", e.title || t.$slots.title ? "mt-1" : ""])
699
- }, [w(t.$slots, "description", {}, () => [d(E(e.description), 1)])], 2)) : c("", !0),
700
- w(t.$slots, "default")
883
+ }, [T(t.$slots, "description", {}, () => [d(D(e.description), 1)])], 2)) : c("", !0),
884
+ T(t.$slots, "default")
701
885
  ]),
702
- w(t.$slots, "actions"),
703
- e.closable ? (b(), l("button", {
886
+ T(t.$slots, "actions"),
887
+ e.closable ? (x(), l("button", {
704
888
  key: 0,
705
889
  type: "button",
706
890
  "aria-label": e.closeLabel,
707
891
  class: "-me-1 -mt-1 ms-auto shrink-0 rounded-md p-1 transition-colors hover:bg-black/10 dark:hover:bg-white/10 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500",
708
- onClick: j
709
- }, [w(t.$slots, "close", {}, () => [f(D(z), { class: "size-4" })])], 8, fn)) : c("", !0)
710
- ], 42, ln));
892
+ onClick: M
893
+ }, [T(t.$slots, "close", {}, () => [f(O(H), { class: "size-4" })])], 8, En)) : c("", !0)
894
+ ], 42, Cn));
711
895
  }
712
- }), mn = /* @__PURE__ */ p({
896
+ }), On = { class: "sr-only" }, kn = /* @__PURE__ */ p({
897
+ __name: "Spinner",
898
+ props: {
899
+ size: { default: "default" },
900
+ label: { default: "Loading…" },
901
+ tone: { default: "info" }
902
+ },
903
+ setup(e) {
904
+ let t = e, n = {
905
+ sm: "size-4",
906
+ default: "size-5",
907
+ lg: "size-6"
908
+ }, r = o(() => U("inline-flex items-center", J[t.tone].icon));
909
+ return (t, i) => (x(), l("span", {
910
+ role: "status",
911
+ "aria-live": "polite",
912
+ class: g(r.value)
913
+ }, [f(X, {
914
+ name: "loader-circle",
915
+ class: g(O(U)("animate-spin", n[e.size])),
916
+ "aria-hidden": "true"
917
+ }, null, 8, ["class"]), u("span", On, D(e.label), 1)], 2));
918
+ }
919
+ }), An = /* @__PURE__ */ p({
920
+ inheritAttrs: !1,
921
+ __name: "Skeleton",
922
+ props: {
923
+ rounded: { default: "md" },
924
+ width: {},
925
+ height: {}
926
+ },
927
+ setup(e) {
928
+ let t = pe({
929
+ base: "animate-pulse bg-surface-muted",
930
+ variants: { rounded: {
931
+ none: "",
932
+ sm: "rounded-sm",
933
+ md: "rounded-md",
934
+ lg: "rounded-lg",
935
+ full: "rounded-full"
936
+ } },
937
+ defaultVariants: { rounded: "md" }
938
+ });
939
+ return (n, r) => (x(), l("div", h({
940
+ class: O(t)({ rounded: e.rounded }),
941
+ style: {
942
+ width: e.width,
943
+ height: e.height
944
+ }
945
+ }, n.$attrs), [T(n.$slots, "default")], 16));
946
+ }
947
+ }), jn = ["src", "alt"], Mn = ["role", "aria-label"], Nn = /* @__PURE__ */ p({
948
+ inheritAttrs: !1,
949
+ __name: "Avatar",
950
+ props: {
951
+ src: {},
952
+ alt: {},
953
+ name: {},
954
+ initials: {},
955
+ size: { default: "default" }
956
+ },
957
+ setup(e) {
958
+ let t = e, n = {
959
+ sm: "size-6 text-xs",
960
+ default: "size-8 text-sm",
961
+ lg: "size-10 text-base",
962
+ xl: "size-14 text-lg"
963
+ };
964
+ function r(e) {
965
+ return e ? e.trim().split(/\s+/).filter(Boolean).slice(0, 2).map((e) => e.charAt(0)).join("").toUpperCase() : "";
966
+ }
967
+ let i = o(() => t.initials ?? r(t.name)), a = o(() => n[t.size]), s = o(() => {
968
+ let e = t.alt ?? t.name ?? i.value;
969
+ return e === "" ? void 0 : e;
970
+ }), c = C(!1);
971
+ return N(() => t.src, () => {
972
+ c.value = !1;
973
+ }), (t, n) => e.src && !c.value ? (x(), l("img", h({ key: 0 }, t.$attrs, {
974
+ src: e.src,
975
+ alt: e.alt ?? e.name ?? "",
976
+ class: O(U)(a.value, "shrink-0 rounded-full object-cover"),
977
+ onError: n[0] ||= (e) => c.value = !0
978
+ }), null, 16, jn)) : (x(), l("span", h({ key: 1 }, t.$attrs, {
979
+ role: s.value ? "img" : void 0,
980
+ "aria-label": s.value,
981
+ class: O(U)(a.value, O(J).info.soft, "inline-flex shrink-0 items-center justify-center rounded-full font-medium")
982
+ }), D(i.value), 17, Mn));
983
+ }
984
+ }), Pn = /* @__PURE__ */ p({
713
985
  __name: "Tabs",
714
986
  props: { modelValue: {} },
715
987
  emits: ["update:modelValue"],
716
988
  setup(e, { emit: t }) {
717
989
  let n = t;
718
- return (t, r) => (b(), s(D(Ke), {
990
+ return (t, r) => (x(), s(O(Ze), {
719
991
  "model-value": e.modelValue,
720
992
  "onUpdate:modelValue": r[0] ||= (e) => n("update:modelValue", e)
721
993
  }, {
722
- default: M(() => [w(t.$slots, "default")]),
994
+ default: P(() => [T(t.$slots, "default")]),
723
995
  _: 3
724
996
  }, 8, ["model-value"]));
725
997
  }
726
- }), hn = /* @__PURE__ */ p({
998
+ }), Fn = /* @__PURE__ */ p({
727
999
  __name: "TabsList",
728
1000
  setup(e) {
729
- return (e, t) => (b(), s(D(Ge), { class: "inline-flex h-9 w-full items-center justify-start gap-1 rounded-lg bg-surface-muted p-1 text-muted" }, {
730
- default: M(() => [w(e.$slots, "default")]),
1001
+ return (e, t) => (x(), s(O(Xe), { class: "inline-flex h-9 w-full items-center justify-start gap-1 rounded-lg bg-surface-muted p-1 text-muted" }, {
1002
+ default: P(() => [T(e.$slots, "default")]),
731
1003
  _: 3
732
1004
  }));
733
1005
  }
734
- }), gn = /* @__PURE__ */ p({
1006
+ }), In = /* @__PURE__ */ p({
735
1007
  __name: "TabsTrigger",
736
1008
  props: {
737
1009
  value: {},
738
1010
  disabled: { type: Boolean }
739
1011
  },
740
1012
  setup(e) {
741
- return (t, n) => (b(), s(D(qe), {
1013
+ return (t, n) => (x(), s(O(Qe), {
742
1014
  value: e.value,
743
1015
  disabled: e.disabled,
744
1016
  class: "inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500 data-[state=active]:bg-surface data-[state=active]:text-foreground data-[state=active]:shadow-sm data-[disabled]:opacity-50"
745
1017
  }, {
746
- default: M(() => [w(t.$slots, "default")]),
1018
+ default: P(() => [T(t.$slots, "default")]),
747
1019
  _: 3
748
1020
  }, 8, ["value", "disabled"]));
749
1021
  }
750
- }), _n = /* @__PURE__ */ p({
1022
+ }), Ln = /* @__PURE__ */ p({
751
1023
  __name: "TabsContent",
752
1024
  props: {
753
1025
  value: {},
@@ -757,15 +1029,15 @@ var Bt = ["aria-label", "aria-pressed"], Vt = /* @__PURE__ */ p({
757
1029
  }
758
1030
  },
759
1031
  setup(e) {
760
- return (t, n) => (b(), s(D(We), {
1032
+ return (t, n) => (x(), s(O(Ye), {
761
1033
  value: e.value,
762
1034
  class: g(["focus-visible:outline-none", e.padding ? "pt-4" : ""])
763
1035
  }, {
764
- default: M(() => [w(t.$slots, "default")]),
1036
+ default: P(() => [T(t.$slots, "default")]),
765
1037
  _: 3
766
1038
  }, 8, ["value", "class"]));
767
1039
  }
768
- }), vn = { class: "truncate" }, yn = { class: "ms-auto flex shrink-0 items-center gap-1" }, bn = /* @__PURE__ */ p({
1040
+ }), Rn = { class: "truncate" }, zn = { class: "ms-auto flex shrink-0 items-center gap-1" }, Bn = /* @__PURE__ */ p({
769
1041
  __name: "Select",
770
1042
  props: {
771
1043
  modelValue: {},
@@ -777,57 +1049,76 @@ var Bt = ["aria-label", "aria-pressed"], Vt = /* @__PURE__ */ p({
777
1049
  disabled: { type: Boolean },
778
1050
  multiple: { type: Boolean },
779
1051
  size: { default: "default" },
780
- invalid: { type: Boolean }
1052
+ invalid: {
1053
+ type: Boolean,
1054
+ default: void 0
1055
+ },
1056
+ id: {},
1057
+ required: {
1058
+ type: Boolean,
1059
+ default: void 0
1060
+ }
781
1061
  },
782
1062
  emits: ["update:modelValue"],
783
1063
  setup(e, { emit: t }) {
784
- let n = e, r = t, i = S(!1);
785
- function p(e) {
1064
+ let n = e, r = t, i = Q(), p = o(() => n.id ?? i?.id.value), m = o(() => n.invalid ?? i?.invalid.value ?? !1), g = o(() => n.required ?? i?.required.value ?? !1), _ = o(() => i?.describedBy.value), v = C(!1);
1065
+ function y(e) {
786
1066
  return e && typeof e == "object" && n.optionValue ? e[n.optionValue] ?? e : e;
787
1067
  }
788
- function m(e) {
1068
+ function b(e) {
789
1069
  return e && typeof e == "object" && n.optionLabel ? String(e[n.optionLabel] ?? "") : e == null ? "" : String(e);
790
1070
  }
791
- let g = o(() => n.multiple ? (Array.isArray(n.modelValue) ? n.modelValue : []).map((e) => m(n.options?.find((t) => p(t) === e))).filter(Boolean).join(", ") : n.modelValue == null ? "" : m(n.options?.find((e) => p(e) === n.modelValue))), _ = o(() => n.multiple && Array.isArray(n.modelValue) ? n.modelValue.length > 0 : n.modelValue != null);
792
- function v() {
1071
+ let S = o(() => n.multiple ? (Array.isArray(n.modelValue) ? n.modelValue : []).map((e) => b(n.options?.find((t) => y(t) === e))).filter(Boolean).join(", ") : n.modelValue == null ? "" : b(n.options?.find((e) => y(e) === n.modelValue))), T = o(() => n.multiple && Array.isArray(n.modelValue) ? n.modelValue.length > 0 : n.modelValue != null);
1072
+ function E() {
793
1073
  r("update:modelValue", n.multiple ? [] : null);
794
1074
  }
795
- return (t, n) => (b(), s(D(Ve), {
796
- open: i.value,
797
- "onUpdate:open": n[0] ||= (e) => i.value = e,
1075
+ return (t, n) => (x(), s(O(Ke), {
1076
+ open: v.value,
1077
+ "onUpdate:open": n[0] ||= (e) => v.value = e,
798
1078
  "model-value": e.modelValue,
799
1079
  multiple: e.multiple,
800
1080
  disabled: e.disabled,
1081
+ required: g.value || void 0,
801
1082
  "onUpdate:modelValue": n[1] ||= (e) => r("update:modelValue", e)
802
1083
  }, {
803
- default: M(() => [f(D(He), h({ class: D(U)("flex w-full items-center justify-between gap-2 rounded-md border border-border bg-surface px-3 text-sm text-foreground shadow-sm transition-colors placeholder:text-muted focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500 disabled:cursor-not-allowed disabled:opacity-50", e.size === "sm" ? "h-8 text-xs" : "h-9", e.invalid ? "border-error-500 focus-visible:ring-error-500" : "", t.$attrs.class || "") }, t.$attrs), {
804
- default: M(() => [f(D(Ue), { placeholder: e.placeholder }, {
805
- default: M(() => [u("span", vn, E(g.value || e.placeholder), 1)]),
1084
+ default: P(() => [f(O(qe), h({
1085
+ class: O(U)("flex w-full items-center justify-between gap-2 rounded-md border border-border bg-surface px-3 text-sm text-foreground shadow-sm transition-colors placeholder:text-muted focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500 disabled:cursor-not-allowed disabled:opacity-50", e.size === "sm" ? "h-8 text-xs" : "h-9", m.value ? "border-error-500 focus-visible:ring-error-500" : "", t.$attrs.class || ""),
1086
+ id: p.value,
1087
+ "aria-invalid": m.value || void 0,
1088
+ "aria-describedby": _.value
1089
+ }, t.$attrs), {
1090
+ default: P(() => [f(O(Je), { placeholder: e.placeholder }, {
1091
+ default: P(() => [u("span", Rn, D(S.value || e.placeholder), 1)]),
806
1092
  _: 1
807
- }, 8, ["placeholder"]), u("span", yn, [e.clearable && _.value ? (b(), l("button", {
1093
+ }, 8, ["placeholder"]), u("span", zn, [e.clearable && T.value ? (x(), l("button", {
808
1094
  key: 0,
809
1095
  type: "button",
810
1096
  "aria-label": "Clear selection",
811
1097
  class: "rounded p-0.5 text-muted transition-colors hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500",
812
- onClick: P(v, ["stop"])
813
- }, [f(D(z), { class: "size-3.5" })])) : c("", !0), f(D(I), { class: "size-4 opacity-50" })])]),
1098
+ onClick: I(E, ["stop"])
1099
+ }, [f(O(H), { class: "size-3.5" })])) : c("", !0), f(O(z), { class: "size-4 opacity-50" })])]),
814
1100
  _: 1
815
- }, 16, ["class"]), i.value ? (b(), s(D(Le), {
1101
+ }, 16, [
1102
+ "class",
1103
+ "id",
1104
+ "aria-invalid",
1105
+ "aria-describedby"
1106
+ ]), v.value ? (x(), s(O(He), {
816
1107
  key: 0,
817
1108
  position: "popper",
818
1109
  "side-offset": 4,
819
1110
  class: "z-50 min-w-[--reka-select-trigger-width] rounded-md border border-border bg-surface p-1 shadow-popover"
820
1111
  }, {
821
- default: M(() => [(b(!0), l(a, null, C(e.options, (e) => (b(), s(D(Re), {
822
- key: String(p(e)),
823
- value: p(e),
1112
+ default: P(() => [(x(!0), l(a, null, w(e.options, (e) => (x(), s(O(Ue), {
1113
+ key: String(y(e)),
1114
+ value: y(e),
824
1115
  class: "relative flex cursor-pointer select-none items-center rounded px-2 py-1.5 pe-8 text-sm text-foreground outline-none transition-colors focus:bg-surface-muted data-[highlighted]:bg-surface-muted data-[disabled]:opacity-50"
825
1116
  }, {
826
- default: M(() => [f(D(Be), null, {
827
- default: M(() => [d(E(m(e)), 1)]),
1117
+ default: P(() => [f(O(Ge), null, {
1118
+ default: P(() => [d(D(b(e)), 1)]),
828
1119
  _: 2
829
- }, 1024), f(D(ze), { class: "absolute end-2 flex items-center justify-center text-primary-600" }, {
830
- default: M(() => [f(D(F), { class: "size-4" })]),
1120
+ }, 1024), f(O(We), { class: "absolute end-2 flex items-center justify-center text-primary-600" }, {
1121
+ default: P(() => [f(O(R), { class: "size-4" })]),
831
1122
  _: 1
832
1123
  })]),
833
1124
  _: 2
@@ -839,10 +1130,11 @@ var Bt = ["aria-label", "aria-pressed"], Vt = /* @__PURE__ */ p({
839
1130
  "open",
840
1131
  "model-value",
841
1132
  "multiple",
842
- "disabled"
1133
+ "disabled",
1134
+ "required"
843
1135
  ]));
844
1136
  }
845
- }), xn = /* @__PURE__ */ p({
1137
+ }), Vn = /* @__PURE__ */ p({
846
1138
  __name: "SelectButton",
847
1139
  props: {
848
1140
  modelValue: {},
@@ -853,7 +1145,7 @@ var Bt = ["aria-label", "aria-pressed"], Vt = /* @__PURE__ */ p({
853
1145
  },
854
1146
  emits: ["update:modelValue"],
855
1147
  setup(e, { emit: t }) {
856
- let n = e, r = t, i = S(null), o = S({
1148
+ let n = e, r = t, i = C(null), o = C({
857
1149
  left: 0,
858
1150
  top: 0,
859
1151
  width: 0,
@@ -883,12 +1175,12 @@ var Bt = ["aria-label", "aria-pressed"], Vt = /* @__PURE__ */ p({
883
1175
  function g() {
884
1176
  cancelAnimationFrame(c), c = requestAnimationFrame(h);
885
1177
  }
886
- let x;
887
- return y(() => {
888
- g(), typeof ResizeObserver < "u" && i.value?.$el && (x = new ResizeObserver(g), x.observe(i.value.$el)), window.addEventListener("resize", g);
1178
+ let y;
1179
+ return b(() => {
1180
+ g(), typeof ResizeObserver < "u" && i.value?.$el && (y = new ResizeObserver(g), y.observe(i.value.$el)), window.addEventListener("resize", g);
889
1181
  }), v(() => {
890
- cancelAnimationFrame(c), x?.disconnect(), window.removeEventListener("resize", g);
891
- }), j(() => n.modelValue, g), j(() => n.options, g, { deep: !0 }), (t, n) => (b(), s(D(Ie), {
1182
+ cancelAnimationFrame(c), y?.disconnect(), window.removeEventListener("resize", g);
1183
+ }), N(() => n.modelValue, g), N(() => n.options, g, { deep: !0 }), (t, n) => (x(), s(O(Ve), {
892
1184
  ref_key: "rootEl",
893
1185
  ref: i,
894
1186
  "model-value": e.modelValue,
@@ -896,7 +1188,7 @@ var Bt = ["aria-label", "aria-pressed"], Vt = /* @__PURE__ */ p({
896
1188
  class: "relative inline-flex flex-wrap items-center gap-1 rounded-md border border-border bg-surface p-1",
897
1189
  "onUpdate:modelValue": n[0] ||= (e) => r("update:modelValue", e)
898
1190
  }, {
899
- default: M(() => [N(u("span", {
1191
+ default: P(() => [F(u("span", {
900
1192
  "aria-hidden": "true",
901
1193
  class: "pointer-events-none absolute rounded bg-primary-500 transition-all duration-200 ease-out motion-reduce:transition-none",
902
1194
  style: _({
@@ -905,31 +1197,31 @@ var Bt = ["aria-label", "aria-pressed"], Vt = /* @__PURE__ */ p({
905
1197
  width: `${o.value.width}px`,
906
1198
  height: `${o.value.height}px`
907
1199
  })
908
- }, null, 4), [[te, o.value.ready]]), (b(!0), l(a, null, C(e.options, (t) => (b(), s(D(Fe), {
1200
+ }, null, 4), [[te, o.value.ready]]), (x(!0), l(a, null, w(e.options, (t) => (x(), s(O(Be), {
909
1201
  key: String(p(t)),
910
1202
  value: p(t),
911
1203
  disabled: e.disabled,
912
1204
  class: "relative inline-flex items-center justify-center rounded px-3 py-1 text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500 data-[state=checked]:text-white data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50"
913
1205
  }, {
914
- default: M(() => [f(D(Pe), { class: "hidden" }), d(" " + E(m(t)), 1)]),
1206
+ default: P(() => [f(O(ze), { class: "hidden" }), d(" " + D(m(t)), 1)]),
915
1207
  _: 2
916
1208
  }, 1032, ["value", "disabled"]))), 128))]),
917
1209
  _: 1
918
1210
  }, 8, ["model-value", "disabled"]));
919
1211
  }
920
- }), Sn = ["id", "disabled"], Cn = { class: "flex items-center justify-between" }, wn = ["aria-label"], Tn = {
1212
+ }), Hn = ["id", "disabled"], Un = { class: "flex items-center justify-between" }, Wn = ["aria-label"], Gn = {
921
1213
  "data-test": "month-label",
922
1214
  class: "text-sm font-medium"
923
- }, En = ["aria-label"], Dn = {
1215
+ }, Kn = ["aria-label"], qn = {
924
1216
  "data-test": "weekdays",
925
1217
  class: "mt-2 grid grid-cols-7 gap-0.5 text-center text-xs"
926
- }, On = { key: 0 }, kn = ["onClick"], An = {
1218
+ }, Jn = { key: 0 }, Yn = ["onClick"], Xn = {
927
1219
  key: 0,
928
1220
  class: "mt-3 flex items-center justify-between gap-2 border-t border-border pt-3"
929
- }, jn = ["aria-label"], Mn = ["aria-label"], Nn = ["value"], Pn = ["aria-label"], Fn = ["value"], In = ["aria-label"], Ln = { value: "am" }, Rn = { value: "pm" }, zn = { class: "flex items-center gap-2" }, Bn = ["disabled"], Vn = {
1221
+ }, Zn = ["aria-label"], Qn = ["aria-label"], $n = ["value"], er = ["aria-label"], tr = ["value"], nr = ["aria-label"], rr = { value: "am" }, ir = { value: "pm" }, ar = { class: "flex items-center gap-2" }, or = ["disabled"], sr = {
930
1222
  key: 1,
931
1223
  class: "mt-3 flex justify-end border-t border-border pt-3"
932
- }, Hn = /* @__PURE__ */ p({
1224
+ }, cr = /* @__PURE__ */ p({
933
1225
  __name: "DatePicker",
934
1226
  props: {
935
1227
  mode: { default: "date" },
@@ -1028,8 +1320,8 @@ var Bt = ["aria-label", "aria-pressed"], Vt = /* @__PURE__ */ p({
1028
1320
  let t = e.toLowerCase().split(/[-_]/)[0];
1029
1321
  return n[t] ?? n.en;
1030
1322
  }
1031
- let i = e, d = t, p = ee(), m = S(i.defaultOpen ?? !1), h = S(/* @__PURE__ */ new Date()), _ = S(null), v = S(null), y = S("09:00"), x = o(() => i.locale || "en"), w = o(() => ({
1032
- ...r(x.value),
1323
+ let i = e, d = t, p = A(), m = C(i.defaultOpen ?? !1), h = C(/* @__PURE__ */ new Date()), _ = C(null), v = C(null), y = C("09:00"), b = o(() => i.locale || "en"), S = o(() => ({
1324
+ ...r(b.value),
1033
1325
  ...i.placeholder === void 0 ? {} : { placeholder: i.placeholder },
1034
1326
  ...i.labels
1035
1327
  }));
@@ -1040,35 +1332,35 @@ var Bt = ["aria-label", "aria-pressed"], Vt = /* @__PURE__ */ p({
1040
1332
  let t = e;
1041
1333
  return typeof t.children == "string" ? t.children : Array.isArray(t.children) ? t.children.map(T).join("") : "";
1042
1334
  }
1043
- function O(e) {
1335
+ function E(e) {
1044
1336
  let t = p[`label-${e}`];
1045
1337
  if (t) {
1046
1338
  let e = t().map(T).join("").trim();
1047
1339
  if (e) return e;
1048
1340
  }
1049
- return w.value[e];
1341
+ return S.value[e];
1050
1342
  }
1051
- let A = o(() => i.weekStartsOn ?? St(x.value)), te = o(() => Ct(x.value, A.value)), P = o(() => wt(h.value, x.value));
1052
- j(() => i.modelValue, (e) => {
1343
+ let k = o(() => i.weekStartsOn ?? Dt(b.value)), ee = o(() => Ot(b.value, k.value)), M = o(() => kt(h.value, b.value));
1344
+ N(() => i.modelValue, (e) => {
1053
1345
  Array.isArray(e) ? (_.value = e[0] ?? null, v.value = e[1] ?? null) : e instanceof Date ? (_.value = e, v.value = null) : (_.value = null, v.value = null);
1054
1346
  }, { immediate: !0 });
1055
- let ne = o(() => {
1056
- let e = (new Date(h.value.getFullYear(), h.value.getMonth(), 1).getDay() - A.value + 7) % 7, t = Array.from({ length: e }, () => null), n = new Date(h.value.getFullYear(), h.value.getMonth() + 1, 0).getDate();
1347
+ let te = o(() => {
1348
+ let e = (new Date(h.value.getFullYear(), h.value.getMonth(), 1).getDay() - k.value + 7) % 7, t = Array.from({ length: e }, () => null), n = new Date(h.value.getFullYear(), h.value.getMonth() + 1, 0).getDate();
1057
1349
  for (let e = 1; e <= n; e++) t.push(new Date(h.value.getFullYear(), h.value.getMonth(), e));
1058
1350
  return t;
1059
1351
  });
1060
- function F(e) {
1352
+ function I(e) {
1061
1353
  if (!_.value || !v.value) return !1;
1062
1354
  let [t, n] = G(_.value, v.value);
1063
1355
  return e.getTime() >= t.getTime() && e.getTime() <= n.getTime();
1064
1356
  }
1065
- function I(e) {
1357
+ function L(e) {
1066
1358
  h.value = new Date(h.value.getFullYear(), h.value.getMonth() + e, 1);
1067
1359
  }
1068
- function ae() {
1360
+ function R() {
1069
1361
  return i.mode === "range" ? !!(_.value && v.value) : !!_.value;
1070
1362
  }
1071
- function oe(e) {
1363
+ function z(e) {
1072
1364
  if (i.mode === "range") {
1073
1365
  if (!_.value || v.value) _.value = e, v.value = null;
1074
1366
  else {
@@ -1077,62 +1369,62 @@ var Bt = ["aria-label", "aria-pressed"], Vt = /* @__PURE__ */ p({
1077
1369
  }
1078
1370
  return;
1079
1371
  }
1080
- _.value = e, i.mode !== "datetime" && (se(), m.value = !1);
1372
+ _.value = e, i.mode !== "datetime" && (ie(), m.value = !1);
1081
1373
  }
1082
- function se() {
1374
+ function ie() {
1083
1375
  if (_.value) {
1084
1376
  if (i.mode === "range") {
1085
1377
  if (!v.value) return;
1086
1378
  d("update:modelValue", [_.value, v.value]);
1087
- } else i.mode === "datetime" ? d("update:modelValue", _t(_.value, y.value)) : d("update:modelValue", _.value);
1379
+ } else i.mode === "datetime" ? d("update:modelValue", St(_.value, y.value)) : d("update:modelValue", _.value);
1088
1380
  }
1089
1381
  }
1090
- function ce() {
1382
+ function ae() {
1091
1383
  _.value = null, v.value = null, d("update:modelValue", null), m.value = !1;
1092
1384
  }
1093
- let R = o(() => {
1385
+ let V = o(() => {
1094
1386
  let [e, t] = y.value.split(":").map(Number);
1095
1387
  return {
1096
1388
  hour24: Number.isFinite(e) ? (Math.trunc(e) % 24 + 24) % 24 : 0,
1097
1389
  minute: Number.isFinite(t) ? (Math.trunc(t) % 60 + 60) % 60 : 0
1098
1390
  };
1099
- }), ue = o(() => yt(i.hourFormat)), de = o(() => bt(Math.min(30, Math.max(1, i.minuteStep ?? 1)))), fe = o({
1100
- get: () => i.hourFormat === "12" ? K(R.value.hour24).hour : R.value.hour24,
1391
+ }), oe = o(() => wt(i.hourFormat)), ce = o(() => Tt(Math.min(30, Math.max(1, i.minuteStep ?? 1)))), le = o({
1392
+ get: () => i.hourFormat === "12" ? K(V.value.hour24).hour : V.value.hour24,
1101
1393
  set: (e) => {
1102
- let { hour24: t, minute: n } = R.value, r = i.hourFormat === "12" ? xt(e, K(t).meridiem) : e;
1394
+ let { hour24: t, minute: n } = V.value, r = i.hourFormat === "12" ? Et(e, K(t).meridiem) : e;
1103
1395
  y.value = W(r * 60 + n);
1104
1396
  }
1105
- }), pe = o({
1106
- get: () => R.value.minute,
1397
+ }), ue = o({
1398
+ get: () => V.value.minute,
1107
1399
  set: (e) => {
1108
- y.value = W(R.value.hour24 * 60 + e);
1400
+ y.value = W(V.value.hour24 * 60 + e);
1109
1401
  }
1110
- }), z = o({
1111
- get: () => K(R.value.hour24).meridiem,
1402
+ }), de = o({
1403
+ get: () => K(V.value.hour24).meridiem,
1112
1404
  set: (e) => {
1113
- let { hour: t } = K(R.value.hour24);
1114
- y.value = W(xt(t, e) * 60 + R.value.minute);
1405
+ let { hour: t } = K(V.value.hour24);
1406
+ y.value = W(Et(t, e) * 60 + V.value.minute);
1115
1407
  }
1116
1408
  });
1117
- function B(e) {
1409
+ function fe(e) {
1118
1410
  return String(e).padStart(2, "0");
1119
1411
  }
1120
- let V = o(() => {
1412
+ let H = o(() => {
1121
1413
  if (i.mode === "range") {
1122
1414
  if (!_.value || !v.value) return "";
1123
1415
  let [e, t] = G(_.value, v.value);
1124
- return `${q(e, x.value)} – ${q(t, x.value)}`;
1416
+ return `${q(e, b.value)} – ${q(t, b.value)}`;
1125
1417
  }
1126
1418
  if (!_.value) return "";
1127
- let e = i.mode === "datetime" ? _t(_.value, y.value) : _.value;
1128
- return i.mode === "datetime" ? `${q(e, x.value)} ${Tt(e, x.value, i.hourFormat)}` : q(e, x.value);
1419
+ let e = i.mode === "datetime" ? St(_.value, y.value) : _.value;
1420
+ return i.mode === "datetime" ? `${q(e, b.value)} ${At(e, b.value, i.hourFormat)}` : q(e, b.value);
1129
1421
  });
1130
- return (t, n) => (b(), s(D(Me), {
1422
+ return (t, n) => (x(), s(O(Le), {
1131
1423
  open: m.value,
1132
1424
  "onUpdate:open": n[6] ||= (e) => m.value = e
1133
1425
  }, {
1134
- default: M(() => [f(D(Ne), { "as-child": "" }, {
1135
- default: M(() => [u("button", {
1426
+ default: P(() => [f(O(Re), { "as-child": "" }, {
1427
+ default: P(() => [u("button", {
1136
1428
  type: "button",
1137
1429
  id: e.inputId,
1138
1430
  disabled: e.disabled,
@@ -1141,110 +1433,110 @@ var Bt = ["aria-label", "aria-pressed"], Vt = /* @__PURE__ */ p({
1141
1433
  e.size === "sm" ? "h-8 text-xs" : "h-9",
1142
1434
  e.invalid ? "border-error-500" : ""
1143
1435
  ])
1144
- }, [u("span", { class: g(["truncate", V.value ? "text-foreground" : "text-muted"]) }, E(V.value || O("placeholder")), 3), f(D(re), { class: "size-4 shrink-0 text-muted" })], 10, Sn)]),
1436
+ }, [u("span", { class: g(["truncate", H.value ? "text-foreground" : "text-muted"]) }, D(H.value || E("placeholder")), 3), f(O(ne), { class: "size-4 shrink-0 text-muted" })], 10, Hn)]),
1145
1437
  _: 1
1146
- }), f(D(je), {
1438
+ }), f(O(Ie), {
1147
1439
  "side-offset": 4,
1148
1440
  class: "z-50 rounded-md border border-border bg-surface p-3 shadow-popover"
1149
1441
  }, {
1150
- default: M(() => [
1151
- u("div", Cn, [
1442
+ default: P(() => [
1443
+ u("div", Un, [
1152
1444
  u("button", {
1153
1445
  type: "button",
1154
- "aria-label": O("previousMonth"),
1446
+ "aria-label": E("previousMonth"),
1155
1447
  class: "rounded p-1 text-muted transition-colors hover:bg-surface-muted hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500",
1156
- onClick: n[0] ||= (e) => I(-1)
1157
- }, [f(D(ie), { class: "size-4 rtl:rotate-180" })], 8, wn),
1158
- u("span", Tn, E(P.value), 1),
1448
+ onClick: n[0] ||= (e) => L(-1)
1449
+ }, [f(O(re), { class: "size-4 rtl:rotate-180" })], 8, Wn),
1450
+ u("span", Gn, D(M.value), 1),
1159
1451
  u("button", {
1160
1452
  type: "button",
1161
- "aria-label": O("nextMonth"),
1453
+ "aria-label": E("nextMonth"),
1162
1454
  class: "rounded p-1 text-muted transition-colors hover:bg-surface-muted hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500",
1163
- onClick: n[1] ||= (e) => I(1)
1164
- }, [f(D(L), { class: "size-4 rtl:rotate-180" })], 8, En)
1455
+ onClick: n[1] ||= (e) => L(1)
1456
+ }, [f(O(B), { class: "size-4 rtl:rotate-180" })], 8, Kn)
1165
1457
  ]),
1166
- u("div", Dn, [(b(!0), l(a, null, C(te.value, (e, t) => (b(), l("span", {
1458
+ u("div", qn, [(x(!0), l(a, null, w(ee.value, (e, t) => (x(), l("span", {
1167
1459
  key: t,
1168
1460
  class: "py-1 font-medium text-muted"
1169
- }, E(e), 1))), 128)), (b(!0), l(a, null, C(ne.value, (e, t) => (b(), l(a, { key: t }, [e ? (b(), l("button", {
1461
+ }, D(e), 1))), 128)), (x(!0), l(a, null, w(te.value, (e, t) => (x(), l(a, { key: t }, [e ? (x(), l("button", {
1170
1462
  key: 1,
1171
1463
  type: "button",
1172
1464
  class: g([
1173
1465
  "flex h-8 items-center justify-center rounded-md text-sm transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500",
1174
- F(e) ? "bg-primary-100 text-primary-800 dark:bg-primary-900/40 dark:text-primary-200" : "hover:bg-surface-muted",
1466
+ I(e) ? "bg-primary-100 text-primary-800 dark:bg-primary-900/40 dark:text-primary-200" : "hover:bg-surface-muted",
1175
1467
  _.value && _.value.getTime() === e.getTime() ? "bg-primary-500 text-white hover:bg-primary-500" : "",
1176
1468
  v.value && v.value.getTime() === e.getTime() ? "bg-primary-500 text-white hover:bg-primary-500" : ""
1177
1469
  ]),
1178
- onClick: (t) => oe(e)
1179
- }, E(e.getDate()), 11, kn)) : (b(), l("span", On))], 64))), 128))]),
1180
- e.mode === "datetime" ? (b(), l("div", An, [u("div", {
1470
+ onClick: (t) => z(e)
1471
+ }, D(e.getDate()), 11, Yn)) : (x(), l("span", Jn))], 64))), 128))]),
1472
+ e.mode === "datetime" ? (x(), l("div", Xn, [u("div", {
1181
1473
  role: "group",
1182
- "aria-label": O("time"),
1474
+ "aria-label": E("time"),
1183
1475
  class: "flex items-center gap-1.5 text-xs text-muted"
1184
1476
  }, [
1185
- f(D(le), { class: "size-3.5" }),
1186
- N(u("select", {
1187
- "onUpdate:modelValue": n[2] ||= (e) => fe.value = e,
1477
+ f(O(se), { class: "size-3.5" }),
1478
+ F(u("select", {
1479
+ "onUpdate:modelValue": n[2] ||= (e) => le.value = e,
1188
1480
  "data-test": "hours",
1189
- "aria-label": O("hour"),
1481
+ "aria-label": E("hour"),
1190
1482
  class: "rounded border border-border bg-surface px-1.5 py-1 text-sm text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500"
1191
- }, [(b(!0), l(a, null, C(ue.value, (t) => (b(), l("option", {
1483
+ }, [(x(!0), l(a, null, w(oe.value, (t) => (x(), l("option", {
1192
1484
  key: t,
1193
1485
  value: t
1194
- }, E(e.hourFormat === "12" ? t : B(t)), 9, Nn))), 128))], 8, Mn), [[
1195
- k,
1196
- fe.value,
1486
+ }, D(e.hourFormat === "12" ? t : fe(t)), 9, $n))), 128))], 8, Qn), [[
1487
+ j,
1488
+ le.value,
1197
1489
  void 0,
1198
1490
  { number: !0 }
1199
1491
  ]]),
1200
1492
  n[7] ||= u("span", { "aria-hidden": "true" }, ":", -1),
1201
- N(u("select", {
1202
- "onUpdate:modelValue": n[3] ||= (e) => pe.value = e,
1493
+ F(u("select", {
1494
+ "onUpdate:modelValue": n[3] ||= (e) => ue.value = e,
1203
1495
  "data-test": "minutes",
1204
- "aria-label": O("minute"),
1496
+ "aria-label": E("minute"),
1205
1497
  class: "rounded border border-border bg-surface px-1.5 py-1 text-sm text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500"
1206
- }, [(b(!0), l(a, null, C(de.value, (e) => (b(), l("option", {
1498
+ }, [(x(!0), l(a, null, w(ce.value, (e) => (x(), l("option", {
1207
1499
  key: e,
1208
1500
  value: e
1209
- }, E(B(e)), 9, Fn))), 128))], 8, Pn), [[
1210
- k,
1211
- pe.value,
1501
+ }, D(fe(e)), 9, tr))), 128))], 8, er), [[
1502
+ j,
1503
+ ue.value,
1212
1504
  void 0,
1213
1505
  { number: !0 }
1214
1506
  ]]),
1215
- e.hourFormat === "12" ? N((b(), l("select", {
1507
+ e.hourFormat === "12" ? F((x(), l("select", {
1216
1508
  key: 0,
1217
- "onUpdate:modelValue": n[4] ||= (e) => z.value = e,
1509
+ "onUpdate:modelValue": n[4] ||= (e) => de.value = e,
1218
1510
  "data-test": "meridiem",
1219
- "aria-label": O("time"),
1511
+ "aria-label": E("time"),
1220
1512
  class: "rounded border border-border bg-surface px-1.5 py-1 text-sm text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500"
1221
- }, [u("option", Ln, E(O("am")), 1), u("option", Rn, E(O("pm")), 1)], 8, In)), [[k, z.value]]) : c("", !0)
1222
- ], 8, jn), u("div", zn, [u("button", {
1513
+ }, [u("option", rr, D(E("am")), 1), u("option", ir, D(E("pm")), 1)], 8, nr)), [[j, de.value]]) : c("", !0)
1514
+ ], 8, Zn), u("div", ar, [u("button", {
1223
1515
  type: "button",
1224
1516
  class: "rounded px-3 py-1 text-sm text-muted transition-colors hover:bg-surface-muted hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500",
1225
- onClick: ce
1226
- }, E(O("clear")), 1), u("button", {
1517
+ onClick: ae
1518
+ }, D(E("clear")), 1), u("button", {
1227
1519
  type: "button",
1228
1520
  disabled: !_.value,
1229
1521
  class: "rounded bg-primary-500 px-3 py-1 text-sm text-white transition-colors hover:bg-primary-600 disabled:cursor-not-allowed disabled:opacity-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500",
1230
1522
  onClick: n[5] ||= (e) => {
1231
- se(), m.value = !1;
1523
+ ie(), m.value = !1;
1232
1524
  }
1233
- }, E(O("apply")), 9, Bn)])])) : ae() ? (b(), l("div", Vn, [u("button", {
1525
+ }, D(E("apply")), 9, or)])])) : R() ? (x(), l("div", sr, [u("button", {
1234
1526
  type: "button",
1235
1527
  class: "rounded px-3 py-1 text-sm text-muted transition-colors hover:bg-surface-muted hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500",
1236
- onClick: ce
1237
- }, E(O("clear")), 1)])) : c("", !0)
1528
+ onClick: ae
1529
+ }, D(E("clear")), 1)])) : c("", !0)
1238
1530
  ]),
1239
1531
  _: 1
1240
1532
  })]),
1241
1533
  _: 1
1242
1534
  }, 8, ["open"]));
1243
1535
  }
1244
- }), Un = { class: "flex items-start justify-between gap-4 border-b border-border p-5 pb-4" }, Wn = { class: "min-w-0" }, Gn = { class: "overflow-y-auto bg-surface p-5" }, Kn = {
1536
+ }), lr = { class: "flex items-start justify-between gap-4 border-b border-border p-5 pb-4" }, ur = { class: "min-w-0" }, dr = { class: "overflow-y-auto bg-surface p-5" }, fr = {
1245
1537
  key: 0,
1246
1538
  class: "flex justify-end gap-2 border-t border-border bg-surface-muted p-4"
1247
- }, qn = /* @__PURE__ */ p({
1539
+ }, pr = /* @__PURE__ */ p({
1248
1540
  __name: "Dialog",
1249
1541
  props: {
1250
1542
  visible: { type: Boolean },
@@ -1266,40 +1558,40 @@ var Bt = ["aria-label", "aria-pressed"], Vt = /* @__PURE__ */ p({
1266
1558
  function p(e) {
1267
1559
  r("update:visible", e), e || r("close");
1268
1560
  }
1269
- return (t, n) => (b(), s(D(be), {
1561
+ return (t, n) => (x(), s(O(xe), {
1270
1562
  open: i.value,
1271
1563
  "onUpdate:open": p
1272
1564
  }, {
1273
- default: M(() => [t.$slots.trigger ? (b(), s(D(xe), {
1565
+ default: P(() => [t.$slots.trigger ? (x(), s(O(Ce), {
1274
1566
  key: 0,
1275
1567
  "as-child": ""
1276
1568
  }, {
1277
- default: M(() => [w(t.$slots, "trigger")]),
1569
+ default: P(() => [T(t.$slots, "trigger")]),
1278
1570
  _: 3
1279
- })) : c("", !0), f(D(ye), null, {
1280
- default: M(() => [f(D(ve), { class: "fixed inset-0 z-50 bg-black/50 dark:bg-black/70" }), f(D(ge), { class: g(["fixed left-1/2 top-1/2 z-50 w-full max-h-[85vh] -translate-x-1/2 -translate-y-1/2 overflow-hidden rounded-lg border border-border bg-surface shadow-dialog focus-visible:outline-none", a[e.size]]) }, {
1281
- default: M(() => [
1282
- u("div", Un, [u("div", Wn, [e.title || t.$slots.header ? (b(), s(D(H), {
1571
+ })) : c("", !0), f(O(be), null, {
1572
+ default: P(() => [f(O(ye), { class: "fixed inset-0 z-50 bg-black/50 dark:bg-black/70" }), f(O(_e), { class: g(["fixed left-1/2 top-1/2 z-50 w-full max-h-[85vh] -translate-x-1/2 -translate-y-1/2 overflow-hidden rounded-lg border border-border bg-surface shadow-dialog focus-visible:outline-none", a[e.size]]) }, {
1573
+ default: P(() => [
1574
+ u("div", lr, [u("div", ur, [e.title || t.$slots.header ? (x(), s(O(Se), {
1283
1575
  key: 0,
1284
1576
  class: "text-lg font-semibold text-foreground"
1285
1577
  }, {
1286
- default: M(() => [w(t.$slots, "header", {}, () => [d(E(e.title), 1)])]),
1578
+ default: P(() => [T(t.$slots, "header", {}, () => [d(D(e.title), 1)])]),
1287
1579
  _: 3
1288
- })) : c("", !0), e.description || t.$slots.description ? (b(), s(D(_e), {
1580
+ })) : c("", !0), e.description || t.$slots.description ? (x(), s(O(ve), {
1289
1581
  key: 1,
1290
1582
  class: "mt-1 text-sm text-muted"
1291
1583
  }, {
1292
- default: M(() => [w(t.$slots, "description", {}, () => [d(E(e.description), 1)])]),
1584
+ default: P(() => [T(t.$slots, "description", {}, () => [d(D(e.description), 1)])]),
1293
1585
  _: 3
1294
- })) : c("", !0)]), f(D(he), {
1586
+ })) : c("", !0)]), f(O(ge), {
1295
1587
  class: "rounded-md p-1 text-muted transition-colors hover:bg-surface-muted hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500",
1296
1588
  "aria-label": "Close"
1297
1589
  }, {
1298
- default: M(() => [f(D(z), { class: "size-4" })]),
1590
+ default: P(() => [f(O(H), { class: "size-4" })]),
1299
1591
  _: 1
1300
1592
  })]),
1301
- u("div", Gn, [w(t.$slots, "default")]),
1302
- t.$slots.footer ? (b(), l("div", Kn, [w(t.$slots, "footer")])) : c("", !0)
1593
+ u("div", dr, [T(t.$slots, "default")]),
1594
+ t.$slots.footer ? (x(), l("div", fr, [T(t.$slots, "footer")])) : c("", !0)
1303
1595
  ]),
1304
1596
  _: 3
1305
1597
  }, 8, ["class"])]),
@@ -1308,13 +1600,13 @@ var Bt = ["aria-label", "aria-pressed"], Vt = /* @__PURE__ */ p({
1308
1600
  _: 3
1309
1601
  }, 8, ["open"]));
1310
1602
  }
1311
- }), Jn = {
1603
+ }), mr = {
1312
1604
  key: 1,
1313
1605
  class: "flex shrink-0 items-start justify-between gap-4 border-b border-border p-5 pb-4"
1314
- }, Yn = { class: "min-w-0" }, Xn = { class: "flex-1 overflow-y-auto p-5" }, Zn = {
1606
+ }, hr = { class: "min-w-0" }, gr = { class: "flex-1 overflow-y-auto p-5" }, _r = {
1315
1607
  key: 2,
1316
1608
  class: "shrink-0 border-t border-border bg-surface-muted p-4"
1317
- }, Qn = /* @__PURE__ */ p({
1609
+ }, vr = /* @__PURE__ */ p({
1318
1610
  __name: "Drawer",
1319
1611
  props: {
1320
1612
  open: {
@@ -1382,60 +1674,60 @@ var Bt = ["aria-label", "aria-pressed"], Vt = /* @__PURE__ */ p({
1382
1674
  md: "max-h-96",
1383
1675
  lg: "max-h-[32rem]",
1384
1676
  full: "max-h-full"
1385
- }, y = o(() => n.position === "top" || n.position === "bottom"), x = o(() => y.value ? v[n.size] : _[n.size]);
1386
- return (t, n) => (b(), s(D(be), {
1677
+ }, y = o(() => n.position === "top" || n.position === "bottom"), b = o(() => y.value ? v[n.size] : _[n.size]);
1678
+ return (t, n) => (x(), s(O(xe), {
1387
1679
  open: i.value,
1388
1680
  "onUpdate:open": a
1389
1681
  }, {
1390
- default: M(() => [t.$slots.trigger ? (b(), s(D(xe), {
1682
+ default: P(() => [t.$slots.trigger ? (x(), s(O(Ce), {
1391
1683
  key: 0,
1392
1684
  "as-child": ""
1393
1685
  }, {
1394
- default: M(() => [w(t.$slots, "trigger")]),
1686
+ default: P(() => [T(t.$slots, "trigger")]),
1395
1687
  _: 3
1396
- })) : c("", !0), f(D(ye), { "force-mount": i.value }, {
1397
- default: M(() => [e.backdrop || e.preventScroll ? (b(), s(D(ve), {
1688
+ })) : c("", !0), f(O(be), { "force-mount": i.value }, {
1689
+ default: P(() => [e.backdrop || e.preventScroll ? (x(), s(O(ye), {
1398
1690
  key: 0,
1399
1691
  class: g(["fixed inset-0 z-50", e.backdrop ? "bg-black/50 dark:bg-black/70" : "bg-transparent"])
1400
- }, null, 8, ["class"])) : c("", !0), f(D(ge), {
1692
+ }, null, 8, ["class"])) : c("", !0), f(O(_e), {
1401
1693
  class: g([
1402
1694
  "fixed z-50 flex flex-col overflow-hidden border-border bg-surface shadow-dialog transition-transform duration-200 focus-visible:outline-none",
1403
1695
  h[e.position],
1404
- x.value
1696
+ b.value
1405
1697
  ]),
1406
1698
  onEscapeKeyDown: p,
1407
1699
  onPointerDownOutside: m
1408
1700
  }, {
1409
- default: M(() => [
1410
- !e.title && !t.$slots.header ? (b(), s(D(rt), { key: 0 }, {
1411
- default: M(() => [f(D(H), null, {
1412
- default: M(() => [...n[0] ||= [d("Drawer", -1)]]),
1701
+ default: P(() => [
1702
+ !e.title && !t.$slots.header ? (x(), s(O(ct), { key: 0 }, {
1703
+ default: P(() => [f(O(Se), null, {
1704
+ default: P(() => [...n[0] ||= [d("Drawer", -1)]]),
1413
1705
  _: 1
1414
1706
  })]),
1415
1707
  _: 1
1416
1708
  })) : c("", !0),
1417
- e.title || t.$slots.header || e.description || t.$slots.description || e.showClose ? (b(), l("header", Jn, [u("div", Yn, [e.title || t.$slots.header ? (b(), s(D(H), {
1709
+ e.title || t.$slots.header || e.description || t.$slots.description || e.showClose ? (x(), l("header", mr, [u("div", hr, [e.title || t.$slots.header ? (x(), s(O(Se), {
1418
1710
  key: 0,
1419
1711
  class: "text-lg font-semibold text-foreground"
1420
1712
  }, {
1421
- default: M(() => [w(t.$slots, "header", {}, () => [d(E(e.title), 1)])]),
1713
+ default: P(() => [T(t.$slots, "header", {}, () => [d(D(e.title), 1)])]),
1422
1714
  _: 3
1423
- })) : c("", !0), e.description || t.$slots.description ? (b(), s(D(_e), {
1715
+ })) : c("", !0), e.description || t.$slots.description ? (x(), s(O(ve), {
1424
1716
  key: 1,
1425
1717
  class: "mt-1 text-sm text-muted"
1426
1718
  }, {
1427
- default: M(() => [w(t.$slots, "description", {}, () => [d(E(e.description), 1)])]),
1719
+ default: P(() => [T(t.$slots, "description", {}, () => [d(D(e.description), 1)])]),
1428
1720
  _: 3
1429
- })) : c("", !0)]), e.showClose ? (b(), s(D(he), {
1721
+ })) : c("", !0)]), e.showClose ? (x(), s(O(ge), {
1430
1722
  key: 0,
1431
1723
  class: "ms-auto shrink-0 rounded-md p-1 text-muted transition-colors hover:bg-surface-muted hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500",
1432
1724
  "aria-label": "Close"
1433
1725
  }, {
1434
- default: M(() => [w(t.$slots, "close", {}, () => [f(D(z), { class: "size-4" })])]),
1726
+ default: P(() => [T(t.$slots, "close", {}, () => [f(O(H), { class: "size-4" })])]),
1435
1727
  _: 3
1436
1728
  })) : c("", !0)])) : c("", !0),
1437
- u("div", Xn, [w(t.$slots, "default")]),
1438
- t.$slots.footer ? (b(), l("footer", Zn, [w(t.$slots, "footer")])) : c("", !0)
1729
+ u("div", gr, [T(t.$slots, "default")]),
1730
+ t.$slots.footer ? (x(), l("footer", _r, [T(t.$slots, "footer")])) : c("", !0)
1439
1731
  ]),
1440
1732
  _: 3
1441
1733
  }, 8, ["class"])]),
@@ -1444,28 +1736,28 @@ var Bt = ["aria-label", "aria-pressed"], Vt = /* @__PURE__ */ p({
1444
1736
  _: 3
1445
1737
  }, 8, ["open"]));
1446
1738
  }
1447
- }), $n = /* @__PURE__ */ p({
1739
+ }), yr = /* @__PURE__ */ p({
1448
1740
  __name: "DropdownMenu",
1449
1741
  emits: ["update:open"],
1450
1742
  setup(e, { emit: t }) {
1451
1743
  let n = t;
1452
- return (e, t) => (b(), s(D(Te), h(e.$attrs, { "onUpdate:open": t[0] ||= (e) => n("update:open", e) }), {
1453
- default: M(() => [w(e.$slots, "default")]),
1744
+ return (e, t) => (x(), s(O(ke), h(e.$attrs, { "onUpdate:open": t[0] ||= (e) => n("update:open", e) }), {
1745
+ default: P(() => [T(e.$slots, "default")]),
1454
1746
  _: 3
1455
1747
  }, 16));
1456
1748
  }
1457
- }), er = /* @__PURE__ */ p({
1749
+ }), br = /* @__PURE__ */ p({
1458
1750
  __name: "DropdownMenuTrigger",
1459
1751
  setup(e) {
1460
- return (e, t) => (b(), s(D(Ee), {
1752
+ return (e, t) => (x(), s(O(je), {
1461
1753
  "as-child": "",
1462
1754
  "focus-on-select": ""
1463
1755
  }, {
1464
- default: M(() => [w(e.$slots, "default")]),
1756
+ default: P(() => [T(e.$slots, "default")]),
1465
1757
  _: 3
1466
1758
  }));
1467
1759
  }
1468
- }), tr = /* @__PURE__ */ p({
1760
+ }), xr = /* @__PURE__ */ p({
1469
1761
  __name: "DropdownMenuContent",
1470
1762
  props: {
1471
1763
  align: { default: "start" },
@@ -1473,14 +1765,14 @@ var Bt = ["aria-label", "aria-pressed"], Vt = /* @__PURE__ */ p({
1473
1765
  sideOffset: { default: 4 }
1474
1766
  },
1475
1767
  setup(e) {
1476
- return (t, n) => (b(), s(D(we), null, {
1477
- default: M(() => [f(D(Se), {
1768
+ return (t, n) => (x(), s(O(Oe), null, {
1769
+ default: P(() => [f(O(we), {
1478
1770
  align: e.align,
1479
1771
  side: e.side,
1480
1772
  "side-offset": e.sideOffset,
1481
1773
  class: "z-50 min-w-40 rounded-md border border-border bg-surface p-1 shadow-popover"
1482
1774
  }, {
1483
- default: M(() => [w(t.$slots, "default")]),
1775
+ default: P(() => [T(t.$slots, "default")]),
1484
1776
  _: 3
1485
1777
  }, 8, [
1486
1778
  "align",
@@ -1490,34 +1782,70 @@ var Bt = ["aria-label", "aria-pressed"], Vt = /* @__PURE__ */ p({
1490
1782
  _: 3
1491
1783
  }));
1492
1784
  }
1493
- }), nr = /* @__PURE__ */ p({
1785
+ }), Sr = /* @__PURE__ */ p({
1494
1786
  __name: "DropdownMenuItem",
1495
- props: { variant: {} },
1787
+ props: {
1788
+ variant: {},
1789
+ icon: {},
1790
+ disabled: {
1791
+ type: Boolean,
1792
+ default: !1
1793
+ }
1794
+ },
1496
1795
  emits: ["select"],
1497
1796
  setup(e, { emit: t }) {
1498
- let n = B({
1797
+ let n = pe({
1499
1798
  base: "relative flex w-full cursor-pointer select-none items-center gap-2 rounded px-2 py-1.5 text-sm outline-none transition-colors focus:bg-surface-muted data-[highlighted]:bg-surface-muted data-[highlighted]:text-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
1500
1799
  variants: { variant: {
1501
1800
  default: "text-foreground",
1502
1801
  destructive: "text-error-600"
1503
1802
  } },
1504
1803
  defaultVariants: { variant: "default" }
1505
- }), r = t;
1506
- return (t, i) => (b(), s(D(Ce), {
1507
- class: g(D(n)({ variant: e.variant })),
1508
- onSelect: i[0] ||= (e) => r("select")
1804
+ }), r = e, i = t;
1805
+ function a() {
1806
+ r.disabled || i("select");
1807
+ }
1808
+ return (t, r) => (x(), s(O(Ee), {
1809
+ disabled: e.disabled,
1810
+ class: g(O(n)({ variant: e.variant })),
1811
+ onSelect: a
1509
1812
  }, {
1510
- default: M(() => [w(t.$slots, "default")]),
1813
+ default: P(() => [e.icon ? (x(), s(X, {
1814
+ key: 0,
1815
+ name: e.icon,
1816
+ class: "size-4 shrink-0"
1817
+ }, null, 8, ["name"])) : c("", !0), T(t.$slots, "default")]),
1818
+ _: 3
1819
+ }, 8, ["disabled", "class"]));
1820
+ }
1821
+ }), Cr = /* @__PURE__ */ p({
1822
+ __name: "DropdownMenuSeparator",
1823
+ setup(e) {
1824
+ return (e, t) => (x(), s(O(Ae), { class: "my-1 h-px bg-border" }));
1825
+ }
1826
+ }), wr = /* @__PURE__ */ p({
1827
+ __name: "DropdownMenuLabel",
1828
+ setup(e) {
1829
+ return (e, t) => (x(), s(O(De), { class: "px-2 py-1.5 text-xs font-medium text-muted" }, {
1830
+ default: P(() => [T(e.$slots, "default")]),
1511
1831
  _: 3
1512
- }, 8, ["class"]));
1832
+ }));
1513
1833
  }
1514
- }), rr = { class: "flex flex-col gap-2 sm:flex-row sm:items-stretch" }, ir = { class: "border-b border-border px-3 py-2 text-xs font-medium text-muted" }, ar = { class: "max-h-64 flex-1 overflow-y-auto p-1" }, or = ["disabled", "onClick"], sr = { class: "truncate" }, cr = {
1834
+ }), Tr = /* @__PURE__ */ p({
1835
+ __name: "DropdownMenuGroup",
1836
+ setup(e) {
1837
+ return (e, t) => (x(), s(O(Te), null, {
1838
+ default: P(() => [T(e.$slots, "default")]),
1839
+ _: 3
1840
+ }));
1841
+ }
1842
+ }), Er = { class: "flex flex-col gap-2 sm:flex-row sm:items-stretch" }, Dr = { class: "border-b border-border px-3 py-2 text-xs font-medium text-muted" }, Or = { class: "max-h-64 flex-1 overflow-y-auto p-1" }, kr = ["disabled", "onClick"], Ar = { class: "truncate" }, jr = {
1515
1843
  key: 0,
1516
1844
  class: "px-2 py-1.5 text-sm text-muted"
1517
- }, lr = { class: "flex flex-row items-center justify-center gap-1 sm:flex-col" }, ur = { class: "border-b border-border px-3 py-2 text-xs font-medium text-muted" }, dr = { class: "max-h-64 flex-1 overflow-y-auto p-1" }, fr = ["disabled", "onClick"], pr = { class: "truncate" }, mr = {
1845
+ }, Mr = { class: "flex flex-row items-center justify-center gap-1 sm:flex-col" }, Nr = { class: "border-b border-border px-3 py-2 text-xs font-medium text-muted" }, Pr = { class: "max-h-64 flex-1 overflow-y-auto p-1" }, Fr = ["disabled", "onClick"], Ir = { class: "truncate" }, Lr = {
1518
1846
  key: 0,
1519
1847
  class: "px-2 py-1.5 text-sm text-muted"
1520
- }, hr = /* @__PURE__ */ p({
1848
+ }, Rr = /* @__PURE__ */ p({
1521
1849
  __name: "TransferList",
1522
1850
  props: {
1523
1851
  options: {},
@@ -1531,7 +1859,7 @@ var Bt = ["aria-label", "aria-pressed"], Vt = /* @__PURE__ */ p({
1531
1859
  },
1532
1860
  emits: ["update:modelValue"],
1533
1861
  setup(e, { emit: t }) {
1534
- let n = e, r = t, i = S(new Set(n.modelValue ?? [])), s = S(/* @__PURE__ */ new Set()), p = S(/* @__PURE__ */ new Set()), m = o(() => n.options.filter((e) => !i.value.has(e.value))), h = o(() => n.options.filter((e) => i.value.has(e.value)));
1862
+ let n = e, r = t, i = C(new Set(n.modelValue ?? [])), s = C(/* @__PURE__ */ new Set()), p = C(/* @__PURE__ */ new Set()), m = o(() => n.options.filter((e) => !i.value.has(e.value))), h = o(() => n.options.filter((e) => i.value.has(e.value)));
1535
1863
  function _() {
1536
1864
  r("update:modelValue", h.value.map((e) => e.value));
1537
1865
  }
@@ -1544,34 +1872,34 @@ var Bt = ["aria-label", "aria-pressed"], Vt = /* @__PURE__ */ p({
1544
1872
  for (let e of s.value) i.value.add(e);
1545
1873
  s.value.clear(), _();
1546
1874
  }
1547
- function x() {
1875
+ function b() {
1548
1876
  for (let e of p.value) i.value.delete(e);
1549
1877
  p.value.clear(), _();
1550
1878
  }
1551
- function T() {
1879
+ function S() {
1552
1880
  for (let e of n.options) i.value.add(e.value);
1553
1881
  s.value.clear(), _();
1554
1882
  }
1555
- function O() {
1883
+ function E() {
1556
1884
  i.value.clear(), p.value.clear(), _();
1557
1885
  }
1558
- return (t, n) => (b(), l("div", rr, [
1559
- u("div", { class: g(["flex min-h-40 flex-1 flex-col rounded-md border border-border bg-surface", e.disabled && "opacity-50"]) }, [u("div", ir, [w(t.$slots, "source-header", {}, () => [d(E(e.sourceLabel), 1)])]), u("ul", ar, [(b(!0), l(a, null, C(m.value, (r) => (b(), l("li", { key: r.value }, [u("button", {
1886
+ return (t, n) => (x(), l("div", Er, [
1887
+ u("div", { class: g(["flex min-h-40 flex-1 flex-col rounded-md border border-border bg-surface", e.disabled && "opacity-50"]) }, [u("div", Dr, [T(t.$slots, "source-header", {}, () => [d(D(e.sourceLabel), 1)])]), u("ul", Or, [(x(!0), l(a, null, w(m.value, (r) => (x(), l("li", { key: r.value }, [u("button", {
1560
1888
  type: "button",
1561
1889
  disabled: e.disabled,
1562
1890
  class: "flex w-full items-center gap-2 rounded px-2 py-1.5 text-left text-sm transition-colors hover:bg-surface-muted focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500 disabled:cursor-not-allowed",
1563
1891
  onClick: (e) => v(s.value, r.value)
1564
- }, [f(on, {
1892
+ }, [f(bn, {
1565
1893
  "model-value": s.value.has(r.value),
1566
1894
  disabled: e.disabled,
1567
- onClick: n[0] ||= P(() => {}, ["stop"]),
1895
+ onClick: n[0] ||= I(() => {}, ["stop"]),
1568
1896
  "onUpdate:modelValue": (e) => v(s.value, r.value)
1569
1897
  }, null, 8, [
1570
1898
  "model-value",
1571
1899
  "disabled",
1572
1900
  "onUpdate:modelValue"
1573
- ]), w(t.$slots, "item", { option: r }, () => [u("span", sr, E(r.label), 1)])], 8, or)]))), 128)), m.value.length === 0 ? (b(), l("li", cr, "Empty")) : c("", !0)])], 2),
1574
- u("div", lr, [
1901
+ ]), T(t.$slots, "item", { option: r }, () => [u("span", Ar, D(r.label), 1)])], 8, kr)]))), 128)), m.value.length === 0 ? (x(), l("li", jr, "Empty")) : c("", !0)])], 2),
1902
+ u("div", Mr, [
1575
1903
  f(Z, {
1576
1904
  variant: "outline",
1577
1905
  size: "icon-sm",
@@ -1579,7 +1907,7 @@ var Bt = ["aria-label", "aria-pressed"], Vt = /* @__PURE__ */ p({
1579
1907
  "aria-label": "Move selected to target",
1580
1908
  onClick: y
1581
1909
  }, {
1582
- default: M(() => [f(D(L), { class: "size-4" })]),
1910
+ default: P(() => [f(O(B), { class: "size-4" })]),
1583
1911
  _: 1
1584
1912
  }, 8, ["disabled"]),
1585
1913
  f(Z, {
@@ -1587,9 +1915,9 @@ var Bt = ["aria-label", "aria-pressed"], Vt = /* @__PURE__ */ p({
1587
1915
  size: "icon-sm",
1588
1916
  disabled: e.disabled || p.value.size === 0,
1589
1917
  "aria-label": "Move selected to source",
1590
- onClick: x
1918
+ onClick: b
1591
1919
  }, {
1592
- default: M(() => [f(D(ie), { class: "size-4" })]),
1920
+ default: P(() => [f(O(re), { class: "size-4" })]),
1593
1921
  _: 1
1594
1922
  }, 8, ["disabled"]),
1595
1923
  f(Z, {
@@ -1597,9 +1925,9 @@ var Bt = ["aria-label", "aria-pressed"], Vt = /* @__PURE__ */ p({
1597
1925
  size: "icon-sm",
1598
1926
  disabled: e.disabled,
1599
1927
  "aria-label": "Move all to target",
1600
- onClick: T
1928
+ onClick: S
1601
1929
  }, {
1602
- default: M(() => [f(D(se), { class: "size-4" })]),
1930
+ default: P(() => [f(O(V), { class: "size-4" })]),
1603
1931
  _: 1
1604
1932
  }, 8, ["disabled"]),
1605
1933
  f(Z, {
@@ -1607,30 +1935,30 @@ var Bt = ["aria-label", "aria-pressed"], Vt = /* @__PURE__ */ p({
1607
1935
  size: "icon-sm",
1608
1936
  disabled: e.disabled,
1609
1937
  "aria-label": "Move all to source",
1610
- onClick: O
1938
+ onClick: E
1611
1939
  }, {
1612
- default: M(() => [f(D(oe), { class: "size-4" })]),
1940
+ default: P(() => [f(O(ae), { class: "size-4" })]),
1613
1941
  _: 1
1614
1942
  }, 8, ["disabled"])
1615
1943
  ]),
1616
- u("div", { class: g(["flex min-h-40 flex-1 flex-col rounded-md border border-border bg-surface", e.disabled && "opacity-50"]) }, [u("div", ur, [w(t.$slots, "target-header", {}, () => [d(E(e.targetLabel), 1)])]), u("ul", dr, [(b(!0), l(a, null, C(h.value, (r) => (b(), l("li", { key: r.value }, [u("button", {
1944
+ u("div", { class: g(["flex min-h-40 flex-1 flex-col rounded-md border border-border bg-surface", e.disabled && "opacity-50"]) }, [u("div", Nr, [T(t.$slots, "target-header", {}, () => [d(D(e.targetLabel), 1)])]), u("ul", Pr, [(x(!0), l(a, null, w(h.value, (r) => (x(), l("li", { key: r.value }, [u("button", {
1617
1945
  type: "button",
1618
1946
  disabled: e.disabled,
1619
1947
  class: "flex w-full items-center gap-2 rounded px-2 py-1.5 text-left text-sm transition-colors hover:bg-surface-muted focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500 disabled:cursor-not-allowed",
1620
1948
  onClick: (e) => v(p.value, r.value)
1621
- }, [f(on, {
1949
+ }, [f(bn, {
1622
1950
  "model-value": p.value.has(r.value),
1623
1951
  disabled: e.disabled,
1624
- onClick: n[1] ||= P(() => {}, ["stop"]),
1952
+ onClick: n[1] ||= I(() => {}, ["stop"]),
1625
1953
  "onUpdate:modelValue": (e) => v(p.value, r.value)
1626
1954
  }, null, 8, [
1627
1955
  "model-value",
1628
1956
  "disabled",
1629
1957
  "onUpdate:modelValue"
1630
- ]), w(t.$slots, "item", { option: r }, () => [u("span", pr, E(r.label), 1)])], 8, fr)]))), 128)), h.value.length === 0 ? (b(), l("li", mr, "Empty")) : c("", !0)])], 2)
1958
+ ]), T(t.$slots, "item", { option: r }, () => [u("span", Ir, D(r.label), 1)])], 8, Fr)]))), 128)), h.value.length === 0 ? (x(), l("li", Lr, "Empty")) : c("", !0)])], 2)
1631
1959
  ]));
1632
1960
  }
1633
- }), gr = /* @__PURE__ */ p({
1961
+ }), zr = /* @__PURE__ */ p({
1634
1962
  __name: "Table",
1635
1963
  props: {
1636
1964
  striped: { type: Boolean },
@@ -1642,30 +1970,30 @@ var Bt = ["aria-label", "aria-pressed"], Vt = /* @__PURE__ */ p({
1642
1970
  },
1643
1971
  setup(e) {
1644
1972
  let t = e, n = o(() => U("w-full border-collapse text-start text-sm text-foreground", t.size === "sm" ? "text-xs" : "text-sm", t.striped && "[&_tbody>tr:nth-child(even)]:bg-surface-muted/40", t.contained && "overflow-hidden rounded-md border border-border bg-surface"));
1645
- return (e, t) => (b(), l("table", { class: g(n.value) }, [w(e.$slots, "default")], 2));
1973
+ return (e, t) => (x(), l("table", { class: g(n.value) }, [T(e.$slots, "default")], 2));
1646
1974
  }
1647
- }), _r = (e, t) => {
1975
+ }), Br = (e, t) => {
1648
1976
  let n = e.__vccOpts || e;
1649
1977
  for (let [e, r] of t) n[e] = r;
1650
1978
  return n;
1651
- }, vr = {}, yr = { class: "border-b border-border bg-surface-muted/60 text-xs font-medium text-muted" };
1652
- function br(e, t) {
1653
- return b(), l("thead", yr, [w(e.$slots, "default")]);
1979
+ }, Vr = {}, Hr = { class: "border-b border-border bg-surface-muted/60 text-xs font-medium text-muted" };
1980
+ function Ur(e, t) {
1981
+ return x(), l("thead", Hr, [T(e.$slots, "default")]);
1654
1982
  }
1655
- var xr = /*#__PURE__*/ _r(vr, [["render", br]]), Sr = {};
1656
- function Cr(e, t) {
1657
- return b(), l("tbody", null, [w(e.$slots, "default")]);
1983
+ var Wr = /*#__PURE__*/ Br(Vr, [["render", Ur]]), Gr = {};
1984
+ function Kr(e, t) {
1985
+ return x(), l("tbody", null, [T(e.$slots, "default")]);
1658
1986
  }
1659
- var wr = /*#__PURE__*/ _r(Sr, [["render", Cr]]), Q = /* @__PURE__ */ p({
1987
+ var qr = /*#__PURE__*/ Br(Gr, [["render", Kr]]), $ = /* @__PURE__ */ p({
1660
1988
  __name: "TableRow",
1661
1989
  props: { clickable: {
1662
1990
  type: Boolean,
1663
1991
  default: !1
1664
1992
  } },
1665
1993
  setup(e) {
1666
- return (t, n) => (b(), l("tr", { class: g(["border-b border-border/60 last:border-b-0", e.clickable && "cursor-pointer transition-colors hover:bg-surface-muted/50"]) }, [w(t.$slots, "default")], 2));
1994
+ return (t, n) => (x(), l("tr", { class: g(["border-b border-border/60 last:border-b-0", e.clickable && "cursor-pointer transition-colors hover:bg-surface-muted/50"]) }, [T(t.$slots, "default")], 2));
1667
1995
  }
1668
- }), Tr = ["aria-sort"], Er = /* @__PURE__ */ p({
1996
+ }), Jr = ["aria-sort"], Yr = /* @__PURE__ */ p({
1669
1997
  __name: "TableHead",
1670
1998
  props: {
1671
1999
  sortDirection: {},
@@ -1674,14 +2002,14 @@ var wr = /*#__PURE__*/ _r(Sr, [["render", Cr]]), Q = /* @__PURE__ */ p({
1674
2002
  },
1675
2003
  setup(e) {
1676
2004
  let t = e, n = o(() => t.sortDirection && t.sortDirection !== "none" ? t.sortDirection : void 0);
1677
- return (t, r) => (b(), l("th", {
2005
+ return (t, r) => (x(), l("th", {
1678
2006
  scope: "col",
1679
2007
  "aria-sort": n.value,
1680
2008
  style: _(e.width ? { width: e.width } : void 0),
1681
- class: g(D(U)("px-3 py-2 font-medium", e.align === "center" && "text-center", e.align === "end" && "text-end"))
1682
- }, [w(t.$slots, "default")], 14, Tr));
2009
+ class: g(O(U)("px-3 py-2 font-medium", e.align === "center" && "text-center", e.align === "end" && "text-end"))
2010
+ }, [T(t.$slots, "default")], 14, Jr));
1683
2011
  }
1684
- }), Dr = /* @__PURE__ */ p({
2012
+ }), Xr = /* @__PURE__ */ p({
1685
2013
  __name: "TableCell",
1686
2014
  props: {
1687
2015
  align: { default: "start" },
@@ -1689,24 +2017,24 @@ var wr = /*#__PURE__*/ _r(Sr, [["render", Cr]]), Q = /* @__PURE__ */ p({
1689
2017
  },
1690
2018
  setup(e) {
1691
2019
  let t = e, n = o(() => U("px-3 py-2 align-middle", t.align === "center" && "text-center", t.align === "end" && "text-end", t.truncate && "max-w-0 truncate"));
1692
- return (e, t) => (b(), l("td", { class: g(n.value) }, [w(e.$slots, "default")], 2));
2020
+ return (e, t) => (x(), l("td", { class: g(n.value) }, [T(e.$slots, "default")], 2));
1693
2021
  }
1694
- }), Or = ["colspan"], kr = /* @__PURE__ */ p({
2022
+ }), Zr = ["colspan"], Qr = /* @__PURE__ */ p({
1695
2023
  __name: "TableEmpty",
1696
2024
  props: {
1697
2025
  columns: {},
1698
2026
  label: {}
1699
2027
  },
1700
2028
  setup(e) {
1701
- return (t, n) => (b(), l("tr", null, [u("td", {
2029
+ return (t, n) => (x(), l("tr", null, [u("td", {
1702
2030
  colspan: e.columns,
1703
2031
  class: "px-3 py-8 text-center text-sm text-muted"
1704
- }, [w(t.$slots, "default", {}, () => [d(E(e.label), 1)])], 8, Or)]));
2032
+ }, [T(t.$slots, "default", {}, () => [d(D(e.label), 1)])], 8, Zr)]));
1705
2033
  }
1706
2034
  });
1707
2035
  //#endregion
1708
2036
  //#region src/lib/pagination.ts
1709
- function Ar(e, t, n) {
2037
+ function $r(e, t, n) {
1710
2038
  if (n <= 0 || t <= 0) return {
1711
2039
  from: 0,
1712
2040
  to: 0,
@@ -1723,17 +2051,17 @@ function Ar(e, t, n) {
1723
2051
  total: n
1724
2052
  };
1725
2053
  }
1726
- function jr(e, t) {
2054
+ function ei(e, t) {
1727
2055
  return t <= 0 ? 1 : Math.max(1, Math.ceil(e / t));
1728
2056
  }
1729
- function Mr(e, t, n = 5) {
2057
+ function ti(e, t, n = 5) {
1730
2058
  if (t <= 0) return [];
1731
2059
  let r = Math.floor(n / 2), i = Math.max(0, Math.min(e - r, t - n)), a = Math.max(0, i);
1732
2060
  return Array.from({ length: Math.min(n, t - a) }, (e, t) => a + t + 1);
1733
2061
  }
1734
2062
  //#endregion
1735
2063
  //#region src/components/table/TablePagination.vue?vue&type=script&setup=true&lang.ts
1736
- var Nr = { class: "flex flex-wrap items-center justify-between gap-3 px-3 py-2 text-sm text-muted" }, Pr = { class: "flex items-center gap-2" }, Fr = ["value"], Ir = ["value"], Lr = { class: "flex items-center gap-2" }, Rr = { class: "flex items-center gap-1" }, zr = /* @__PURE__ */ p({
2064
+ var ni = { class: "flex flex-wrap items-center justify-between gap-3 px-3 py-2 text-sm text-muted" }, ri = { class: "flex items-center gap-2" }, ii = ["value"], ai = ["value"], oi = { class: "flex items-center gap-2" }, si = { class: "flex items-center gap-1" }, ci = /* @__PURE__ */ p({
1737
2065
  __name: "TablePagination",
1738
2066
  props: {
1739
2067
  pageIndex: {},
@@ -1751,18 +2079,18 @@ var Nr = { class: "flex flex-wrap items-center justify-between gap-3 px-3 py-2 t
1751
2079
  },
1752
2080
  emits: ["update:pageIndex", "update:pageSize"],
1753
2081
  setup(e, { emit: t }) {
1754
- let n = e, r = t, i = o(() => jr(n.total, n.pageSize)), c = o(() => Ar(n.pageIndex, n.pageSize, n.total)), p = o(() => Mr(n.pageIndex, i.value));
2082
+ let n = e, r = t, i = o(() => ei(n.total, n.pageSize)), c = o(() => $r(n.pageIndex, n.pageSize, n.total)), p = o(() => ti(n.pageIndex, i.value));
1755
2083
  function m(e) {
1756
2084
  r("update:pageIndex", Math.max(0, Math.min(e, i.value - 1)));
1757
2085
  }
1758
- return (t, n) => (b(), l("div", Nr, [u("div", Pr, [u("span", null, E(e.rowsPerPageLabel), 1), u("select", {
2086
+ return (t, n) => (x(), l("div", ni, [u("div", ri, [u("span", null, D(e.rowsPerPageLabel), 1), u("select", {
1759
2087
  value: e.pageSize,
1760
2088
  class: "rounded-md border border-border bg-surface px-2 py-1 text-sm text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500",
1761
2089
  onChange: n[0] ||= (e) => r("update:pageSize", Number(e.target.value))
1762
- }, [(b(!0), l(a, null, C(e.pageSizeOptions, (e) => (b(), l("option", {
2090
+ }, [(x(!0), l(a, null, w(e.pageSizeOptions, (e) => (x(), l("option", {
1763
2091
  key: e,
1764
2092
  value: e
1765
- }, E(e), 9, Ir))), 128))], 40, Fr)]), u("div", Lr, [u("span", null, E(c.value.from) + "–" + E(c.value.to) + " " + E(e.ofLabel) + " " + E(c.value.total), 1), u("div", Rr, [
2093
+ }, D(e), 9, ai))), 128))], 40, ii)]), u("div", oi, [u("span", null, D(c.value.from) + "–" + D(c.value.to) + " " + D(e.ofLabel) + " " + D(c.value.total), 1), u("div", si, [
1766
2094
  f(Z, {
1767
2095
  variant: "ghost",
1768
2096
  size: "icon-sm",
@@ -1770,17 +2098,17 @@ var Nr = { class: "flex flex-wrap items-center justify-between gap-3 px-3 py-2 t
1770
2098
  "aria-label": e.previousLabel,
1771
2099
  onClick: n[1] ||= (t) => m(e.pageIndex - 1)
1772
2100
  }, {
1773
- default: M(() => [f(D(ie), { class: "size-4 rtl:rotate-180" })]),
2101
+ default: P(() => [f(O(re), { class: "size-4 rtl:rotate-180" })]),
1774
2102
  _: 1
1775
2103
  }, 8, ["disabled", "aria-label"]),
1776
- (b(!0), l(a, null, C(p.value, (t) => (b(), s(Z, {
2104
+ (x(!0), l(a, null, w(p.value, (t) => (x(), s(Z, {
1777
2105
  key: t,
1778
2106
  variant: t - 1 === e.pageIndex ? "default" : "ghost",
1779
2107
  size: "icon-sm",
1780
2108
  "aria-current": t - 1 === e.pageIndex ? "page" : void 0,
1781
2109
  onClick: (e) => m(t - 1)
1782
2110
  }, {
1783
- default: M(() => [d(E(t), 1)]),
2111
+ default: P(() => [d(D(t), 1)]),
1784
2112
  _: 2
1785
2113
  }, 1032, [
1786
2114
  "variant",
@@ -1794,20 +2122,20 @@ var Nr = { class: "flex flex-wrap items-center justify-between gap-3 px-3 py-2 t
1794
2122
  "aria-label": e.nextLabel,
1795
2123
  onClick: n[2] ||= (t) => m(e.pageIndex + 1)
1796
2124
  }, {
1797
- default: M(() => [f(D(L), { class: "size-4 rtl:rotate-180" })]),
2125
+ default: P(() => [f(O(B), { class: "size-4 rtl:rotate-180" })]),
1798
2126
  _: 1
1799
2127
  }, 8, ["disabled", "aria-label"])
1800
2128
  ])])]));
1801
2129
  }
1802
- }), Br = ft({
1803
- rowSortingFeature: ut,
1804
- rowPaginationFeature: lt,
1805
- rowExpandingFeature: ct,
1806
- sortedRowModel: st(),
1807
- paginatedRowModel: ot(),
1808
- expandedRowModel: at(),
1809
- sortFns: dt
1810
- }), Vr = [
2130
+ }), li = _t({
2131
+ rowSortingFeature: ht,
2132
+ rowPaginationFeature: mt,
2133
+ rowExpandingFeature: pt,
2134
+ sortedRowModel: ft(),
2135
+ paginatedRowModel: dt(),
2136
+ expandedRowModel: ut(),
2137
+ sortFns: gt
2138
+ }), ui = [
1811
2139
  "a[href]",
1812
2140
  "button",
1813
2141
  "input",
@@ -1820,16 +2148,16 @@ var Nr = { class: "flex flex-wrap items-center justify-between gap-3 px-3 py-2 t
1820
2148
  "[role=\"menu\"]",
1821
2149
  "[data-row-toggle-ignore]"
1822
2150
  ].join(",");
1823
- function Hr(e) {
2151
+ function di(e) {
1824
2152
  let t = e;
1825
- return !t || typeof t.closest != "function" ? !1 : t.closest(Vr) !== null;
2153
+ return !t || typeof t.closest != "function" ? !1 : t.closest(ui) !== null;
1826
2154
  }
1827
- function Ur(e, t) {
2155
+ function fi(e, t) {
1828
2156
  return e[t] ? {} : { [t]: !0 };
1829
2157
  }
1830
2158
  //#endregion
1831
2159
  //#region src/components/data-table/DataTable.vue?vue&type=script&setup=true&lang.ts
1832
- var Wr = ["onClick"], Gr = /* @__PURE__ */ p({
2160
+ var pi = ["onClick"], mi = /* @__PURE__ */ p({
1833
2161
  __name: "DataTable",
1834
2162
  props: {
1835
2163
  data: {},
@@ -1862,8 +2190,8 @@ var Wr = ["onClick"], Gr = /* @__PURE__ */ p({
1862
2190
  "row-click"
1863
2191
  ],
1864
2192
  setup(e, { emit: t }) {
1865
- let n = e, r = t, i = ee(), u = S([]), p = n.getRowId ? (e) => n.getRowId(e) : void 0, m = pt({
1866
- features: Br,
2193
+ let n = e, r = t, i = A(), u = C([]), p = n.getRowId ? (e) => n.getRowId(e) : void 0, m = vt({
2194
+ features: li,
1867
2195
  get columns() {
1868
2196
  return n.columns;
1869
2197
  },
@@ -1895,42 +2223,42 @@ var Wr = ["onClick"], Gr = /* @__PURE__ */ p({
1895
2223
  let t = m.getColumn(e);
1896
2224
  return t?.getIsSorted() ? t.getIsSorted() === "desc" ? "descending" : "ascending" : "none";
1897
2225
  }
1898
- let x = (e) => !!i[`cell-${e}`], T = (e) => {
2226
+ let b = (e) => !!i[`cell-${e}`], S = (e) => {
1899
2227
  let t = e.size;
1900
2228
  return t ? `${t}px` : void 0;
1901
2229
  };
1902
- function O(e, t) {
1903
- r("row-click", h.value.find((e) => e.id === t)?.original), n.expandable && (n.stopRowToggleOnInteractiveCells && Hr(e.target) || r("update:expanded", Ur(n.expanded, t)));
2230
+ function E(e, t) {
2231
+ r("row-click", h.value.find((e) => e.id === t)?.original), n.expandable && (n.stopRowToggleOnInteractiveCells && di(e.target) || r("update:expanded", fi(n.expanded, t)));
1904
2232
  }
1905
- return (t, n) => (b(), l("div", {
2233
+ return (t, n) => (x(), l("div", {
1906
2234
  class: g(e.maxHeight ? "overflow-auto" : void 0),
1907
2235
  style: _(e.maxHeight ? { maxHeight: e.maxHeight } : void 0)
1908
- }, [f(gr, {
2236
+ }, [f(zr, {
1909
2237
  striped: e.striped,
1910
2238
  size: e.size
1911
2239
  }, {
1912
- default: M(() => [f(xr, null, {
1913
- default: M(() => [f(Q, null, {
1914
- default: M(() => [(b(!0), l(a, null, C(D(m).getHeaderGroups()[0]?.headers ?? [], (t) => (b(), s(Er, {
2240
+ default: P(() => [f(Wr, null, {
2241
+ default: P(() => [f($, null, {
2242
+ default: P(() => [(x(!0), l(a, null, w(O(m).getHeaderGroups()[0]?.headers ?? [], (t) => (x(), s(Yr, {
1915
2243
  key: t.id,
1916
- width: T(t.column.columnDef),
2244
+ width: S(t.column.columnDef),
1917
2245
  "sort-direction": t.column.getCanSort() ? y(t.column.id) : void 0
1918
2246
  }, {
1919
- default: M(() => [e.sortable && t.column.getCanSort() ? (b(), l("button", {
2247
+ default: P(() => [e.sortable && t.column.getCanSort() ? (x(), l("button", {
1920
2248
  key: 0,
1921
2249
  type: "button",
1922
2250
  class: "inline-flex items-center gap-1 rounded focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500",
1923
2251
  onClick: (e) => t.column.toggleSorting()
1924
- }, [f(D(it), { header: t }, null, 8, ["header"]), y(t.column.id) === "descending" ? (b(), s(D(I), {
2252
+ }, [f(O(lt), { header: t }, null, 8, ["header"]), y(t.column.id) === "descending" ? (x(), s(O(z), {
1925
2253
  key: 0,
1926
2254
  class: "size-3.5"
1927
- })) : y(t.column.id) === "ascending" ? (b(), s(D(ae), {
2255
+ })) : y(t.column.id) === "ascending" ? (x(), s(O(ie), {
1928
2256
  key: 1,
1929
2257
  class: "size-3.5"
1930
- })) : (b(), s(D(ce), {
2258
+ })) : (x(), s(O(oe), {
1931
2259
  key: 2,
1932
2260
  class: "size-3.5 opacity-40"
1933
- }))], 8, Wr)) : (b(), s(D(it), {
2261
+ }))], 8, pi)) : (x(), s(O(lt), {
1934
2262
  key: 1,
1935
2263
  header: t
1936
2264
  }, null, 8, ["header"]))]),
@@ -1939,25 +2267,25 @@ var Wr = ["onClick"], Gr = /* @__PURE__ */ p({
1939
2267
  _: 1
1940
2268
  })]),
1941
2269
  _: 1
1942
- }), f(wr, null, {
1943
- default: M(() => [h.value.length === 0 ? (b(), s(kr, {
2270
+ }), f(qr, null, {
2271
+ default: P(() => [h.value.length === 0 ? (x(), s(Qr, {
1944
2272
  key: 0,
1945
2273
  columns: v.value
1946
2274
  }, {
1947
- default: M(() => [w(t.$slots, "empty", {}, () => [d(E(e.emptyLabel), 1)])]),
2275
+ default: P(() => [T(t.$slots, "empty", {}, () => [d(D(e.emptyLabel), 1)])]),
1948
2276
  _: 3
1949
- }, 8, ["columns"])) : c("", !0), (b(!0), l(a, null, C(h.value, (n) => (b(), l(a, { key: n.id }, [f(Q, {
2277
+ }, 8, ["columns"])) : c("", !0), (x(!0), l(a, null, w(h.value, (n) => (x(), l(a, { key: n.id }, [f($, {
1950
2278
  clickable: e.expandable,
1951
2279
  "data-row-id": n.id,
1952
2280
  "data-state": n.getIsExpanded() ? "expanded" : void 0,
1953
- onClick: (e) => O(e, n.id)
2281
+ onClick: (e) => E(e, n.id)
1954
2282
  }, {
1955
- default: M(() => [(b(!0), l(a, null, C(n.getAllCells(), (e) => (b(), s(Dr, { key: e.id }, {
1956
- default: M(() => [x(e.column.id) ? w(t.$slots, `cell-${e.column.id}`, {
2283
+ default: P(() => [(x(!0), l(a, null, w(n.getAllCells(), (e) => (x(), s(Xr, { key: e.id }, {
2284
+ default: P(() => [b(e.column.id) ? T(t.$slots, `cell-${e.column.id}`, {
1957
2285
  row: n,
1958
2286
  cell: e,
1959
2287
  value: e.getValue()
1960
- }, void 0, void 0, 0) : (b(), s(D(it), {
2288
+ }, void 0, void 0, 0) : (x(), s(O(lt), {
1961
2289
  key: 1,
1962
2290
  cell: e
1963
2291
  }, null, 8, ["cell"]))]),
@@ -1969,12 +2297,12 @@ var Wr = ["onClick"], Gr = /* @__PURE__ */ p({
1969
2297
  "data-row-id",
1970
2298
  "data-state",
1971
2299
  "onClick"
1972
- ]), n.getIsExpanded() ? (b(), s(Q, {
2300
+ ]), n.getIsExpanded() ? (x(), s($, {
1973
2301
  key: 0,
1974
2302
  class: "bg-surface-muted/30"
1975
2303
  }, {
1976
- default: M(() => [f(Dr, { colspan: v.value }, {
1977
- default: M(() => [w(t.$slots, "expansion", { row: n })]),
2304
+ default: P(() => [f(Xr, { colspan: v.value }, {
2305
+ default: P(() => [T(t.$slots, "expansion", { row: n })]),
1978
2306
  _: 2
1979
2307
  }, 1032, ["colspan"])]),
1980
2308
  _: 2
@@ -1987,7 +2315,7 @@ var Wr = ["onClick"], Gr = /* @__PURE__ */ p({
1987
2315
  });
1988
2316
  //#endregion
1989
2317
  //#region src/lib/tree.ts
1990
- function Kr(e, t, n = 1, r = null) {
2318
+ function hi(e, t, n = 1, r = null) {
1991
2319
  return e.flatMap((e) => {
1992
2320
  let i = {
1993
2321
  node: e,
@@ -1996,27 +2324,27 @@ function Kr(e, t, n = 1, r = null) {
1996
2324
  parentKey: r,
1997
2325
  hasChildren: !!e.children?.length
1998
2326
  };
1999
- return !i.hasChildren || !t.includes(e.value) ? [i] : [i, ...Kr(e.children, t, n + 1, e.value)];
2327
+ return !i.hasChildren || !t.includes(e.value) ? [i] : [i, ...hi(e.children, t, n + 1, e.value)];
2000
2328
  });
2001
2329
  }
2002
- function qr(e, t) {
2330
+ function gi(e, t) {
2003
2331
  for (let n of e) {
2004
2332
  if (n.value === t) return n;
2005
- let e = n.children ? qr(n.children, t) : void 0;
2333
+ let e = n.children ? gi(n.children, t) : void 0;
2006
2334
  if (e) return e;
2007
2335
  }
2008
2336
  }
2009
- function Jr(e) {
2010
- return e.flatMap((e) => e.children?.length ? Jr(e.children) : [e.value]);
2337
+ function _i(e) {
2338
+ return e.flatMap((e) => e.children?.length ? _i(e.children) : [e.value]);
2011
2339
  }
2012
- function Yr(e, t) {
2013
- let n = e.children?.length ? Jr([e]) : [e.value], r = n.filter((e) => t.includes(e)).length;
2340
+ function vi(e, t) {
2341
+ let n = e.children?.length ? _i([e]) : [e.value], r = n.filter((e) => t.includes(e)).length;
2014
2342
  return r === 0 ? "unchecked" : r === n.length ? "checked" : "indeterminate";
2015
2343
  }
2016
- function Xr(e, t, n = (e) => e.label ?? "") {
2344
+ function yi(e, t, n = (e) => e.label ?? "") {
2017
2345
  let r = t.trim().toLowerCase();
2018
2346
  return r ? e.reduce((e, i) => {
2019
- let a = i.children ? Xr(i.children, t, n) : void 0;
2347
+ let a = i.children ? yi(i.children, t, n) : void 0;
2020
2348
  return !n(i).toLowerCase().includes(r) && (!a || a.length === 0) || e.push({
2021
2349
  ...i,
2022
2350
  children: a
@@ -2025,10 +2353,10 @@ function Xr(e, t, n = (e) => e.label ?? "") {
2025
2353
  }
2026
2354
  //#endregion
2027
2355
  //#region src/components/tree-table/TreeTable.vue?vue&type=script&setup=true&lang.ts
2028
- var Zr = { class: "overflow-hidden rounded-md border border-border bg-surface" }, Qr = { class: "px-3 py-2" }, $r = ["aria-label", "onClick"], ei = {
2356
+ var bi = { class: "overflow-hidden rounded-md border border-border bg-surface" }, xi = { class: "px-3 py-2" }, Si = ["aria-label", "onClick"], Ci = {
2029
2357
  key: 1,
2030
2358
  class: "inline-block size-4"
2031
- }, ti = /* @__PURE__ */ p({
2359
+ }, wi = /* @__PURE__ */ p({
2032
2360
  __name: "TreeTable",
2033
2361
  props: {
2034
2362
  nodes: {},
@@ -2042,21 +2370,21 @@ var Zr = { class: "overflow-hidden rounded-md border border-border bg-surface" }
2042
2370
  },
2043
2371
  emits: ["update:expanded"],
2044
2372
  setup(e, { emit: t }) {
2045
- let n = e, r = t, i = o(() => `minmax(12rem, 1fr) ${n.columns.map((e) => e.width ?? "minmax(6rem, 1fr)").join(" ")}`), c = o(() => Kr(n.nodes, n.expanded));
2046
- return (t, n) => (b(), l("div", Zr, [u("div", {
2373
+ let n = e, r = t, i = o(() => `minmax(12rem, 1fr) ${n.columns.map((e) => e.width ?? "minmax(6rem, 1fr)").join(" ")}`), c = o(() => hi(n.nodes, n.expanded));
2374
+ return (t, n) => (x(), l("div", bi, [u("div", {
2047
2375
  class: "grid border-b border-border bg-surface-muted/60 text-xs font-medium text-muted",
2048
2376
  style: _({ gridTemplateColumns: i.value })
2049
- }, [u("div", Qr, [w(t.$slots, "header", {}, () => [d(E(e.rowColumnHeader), 1)])]), (b(!0), l(a, null, C(e.columns, (e) => (b(), l("div", {
2377
+ }, [u("div", xi, [T(t.$slots, "header", {}, () => [d(D(e.rowColumnHeader), 1)])]), (x(!0), l(a, null, w(e.columns, (e) => (x(), l("div", {
2050
2378
  key: e.key,
2051
2379
  class: g(["px-3 py-2", [e.align === "center" && "text-center", e.align === "end" && "text-end"]])
2052
- }, E(e.header), 3))), 128))], 4), f(D(nt), {
2380
+ }, D(e.header), 3))), 128))], 4), f(O(st), {
2053
2381
  items: e.nodes,
2054
2382
  "get-key": (e) => e.value,
2055
2383
  "get-children": (e) => e.children,
2056
2384
  expanded: e.expanded,
2057
2385
  "onUpdate:expanded": n[0] ||= (e) => r("update:expanded", e)
2058
2386
  }, {
2059
- default: M(() => [(b(!0), l(a, null, C(c.value, (n) => (b(), s(D(tt), {
2387
+ default: P(() => [(x(!0), l(a, null, w(c.value, (n) => (x(), s(O(ot), {
2060
2388
  key: n.key,
2061
2389
  value: n.node,
2062
2390
  level: n.level,
@@ -2064,22 +2392,22 @@ var Zr = { class: "overflow-hidden rounded-md border border-border bg-surface" }
2064
2392
  class: "grid items-center border-b border-border/60 text-sm last:border-b-0 data-[selected]:bg-surface-muted/30",
2065
2393
  style: _({ gridTemplateColumns: i.value })
2066
2394
  }, {
2067
- default: M(({ isExpanded: r, handleToggle: i }) => [u("div", {
2395
+ default: P(({ isExpanded: r, handleToggle: i }) => [u("div", {
2068
2396
  class: "flex items-center gap-1 px-3 py-2",
2069
2397
  style: _({ paddingInlineStart: `calc(0.75rem + ${(n.level - 1) * 1.25}rem)` })
2070
- }, [n.hasChildren ? (b(), l("button", {
2398
+ }, [n.hasChildren ? (x(), l("button", {
2071
2399
  key: 0,
2072
2400
  type: "button",
2073
2401
  "aria-label": e.rowLabel(n.node),
2074
2402
  class: g(["rounded p-0.5 text-muted transition-transform hover:bg-surface-muted focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500", r && "rotate-90"]),
2075
- onClick: P(i, ["stop"])
2076
- }, [f(D(L), { class: "size-3.5 rtl:rotate-180" })], 10, $r)) : (b(), l("span", ei)), w(t.$slots, "row-label", {
2403
+ onClick: I(i, ["stop"])
2404
+ }, [f(O(B), { class: "size-3.5 rtl:rotate-180" })], 10, Si)) : (x(), l("span", Ci)), T(t.$slots, "row-label", {
2077
2405
  node: n.node,
2078
2406
  level: n.level
2079
- }, () => [d(E(e.rowLabel(n.node)), 1)])], 4), (b(!0), l(a, null, C(e.columns, (e) => (b(), l("div", {
2407
+ }, () => [d(D(e.rowLabel(n.node)), 1)])], 4), (x(!0), l(a, null, w(e.columns, (e) => (x(), l("div", {
2080
2408
  key: e.key,
2081
2409
  class: g(["px-3 py-2", [e.align === "center" && "text-center", e.align === "end" && "text-end"]])
2082
- }, [w(t.$slots, `cell-${e.key}`, {
2410
+ }, [T(t.$slots, `cell-${e.key}`, {
2083
2411
  node: n.node,
2084
2412
  row: n,
2085
2413
  isExpanded: r,
@@ -2100,22 +2428,22 @@ var Zr = { class: "overflow-hidden rounded-md border border-border bg-surface" }
2100
2428
  "expanded"
2101
2429
  ])]));
2102
2430
  }
2103
- }), ni = ["disabled"], ri = {
2431
+ }), Ti = ["disabled"], Ei = {
2104
2432
  key: 0,
2105
2433
  class: "truncate text-muted"
2106
- }, ii = {
2434
+ }, Di = {
2107
2435
  key: 1,
2108
2436
  class: "flex flex-wrap items-center gap-1"
2109
- }, ai = {
2437
+ }, Oi = {
2110
2438
  key: 0,
2111
2439
  class: "relative mb-2"
2112
- }, oi = ["placeholder"], si = {
2440
+ }, ki = ["placeholder"], Ai = {
2113
2441
  key: 1,
2114
2442
  class: "block h-0.5 w-2 rounded bg-white"
2115
- }, ci = { class: "truncate" }, li = {
2443
+ }, ji = { class: "truncate" }, Mi = {
2116
2444
  key: 1,
2117
2445
  class: "mt-2 flex justify-end border-t border-border pt-2"
2118
- }, ui = /* @__PURE__ */ p({
2446
+ }, Ni = /* @__PURE__ */ p({
2119
2447
  __name: "TreeSelect",
2120
2448
  props: {
2121
2449
  modelValue: { default: () => [] },
@@ -2135,46 +2463,46 @@ var Zr = { class: "overflow-hidden rounded-md border border-border bg-surface" }
2135
2463
  },
2136
2464
  emits: ["update:modelValue"],
2137
2465
  setup(e, { emit: t }) {
2138
- let n = e, r = t, i = S(!1), p = S(""), m = S([]), h = o(() => Xr(n.nodes, p.value)), v = o(() => Kr(h.value, m.value)), y = o(() => Jr(n.nodes)), x = o(() => n.modelValue.map((e) => qr(n.nodes, e)).filter((e) => !!e));
2139
- function w(e) {
2140
- return Yr(e, n.modelValue);
2466
+ let n = e, r = t, i = C(!1), p = C(""), m = C([]), h = o(() => yi(n.nodes, p.value)), v = o(() => hi(h.value, m.value)), y = o(() => _i(n.nodes)), b = o(() => n.modelValue.map((e) => gi(n.nodes, e)).filter((e) => !!e));
2467
+ function S(e) {
2468
+ return vi(e, n.modelValue);
2141
2469
  }
2142
2470
  function T(e) {
2143
2471
  let t = (Array.isArray(e) ? e : []).map((e) => e.value);
2144
2472
  r("update:modelValue", n.leafOnly ? t.filter((e) => y.value.includes(e)) : t);
2145
2473
  }
2146
- return (t, n) => (b(), s(D(Me), {
2474
+ return (t, n) => (x(), s(O(Le), {
2147
2475
  open: i.value,
2148
2476
  "onUpdate:open": n[3] ||= (e) => i.value = e
2149
2477
  }, {
2150
- default: M(() => [f(D(Ne), {
2478
+ default: P(() => [f(O(Re), {
2151
2479
  "as-child": "",
2152
2480
  disabled: e.disabled
2153
2481
  }, {
2154
- default: M(() => [u("button", {
2482
+ default: P(() => [u("button", {
2155
2483
  type: "button",
2156
2484
  disabled: e.disabled,
2157
2485
  class: g(["flex w-full items-center justify-between gap-2 rounded-md border border-border bg-surface px-3 text-start text-sm text-foreground shadow-sm transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500 disabled:cursor-not-allowed disabled:opacity-50", e.size === "sm" ? "min-h-8 py-1 text-xs" : "min-h-9 py-1.5"])
2158
- }, [x.value.length === 0 ? (b(), l("span", ri, E(e.placeholder), 1)) : (b(), l("span", ii, [(b(!0), l(a, null, C(x.value, (e) => (b(), s(cn, {
2486
+ }, [b.value.length === 0 ? (x(), l("span", Ei, D(e.placeholder), 1)) : (x(), l("span", Di, [(x(!0), l(a, null, w(b.value, (e) => (x(), s(Sn, {
2159
2487
  key: e.value,
2160
2488
  tone: "secondary"
2161
2489
  }, {
2162
- default: M(() => [d(E(e.label ?? e.value), 1)]),
2490
+ default: P(() => [d(D(e.label ?? e.value), 1)]),
2163
2491
  _: 2
2164
- }, 1024))), 128))])), f(D(I), { class: "size-4 shrink-0 opacity-50" })], 10, ni)]),
2492
+ }, 1024))), 128))])), f(O(z), { class: "size-4 shrink-0 opacity-50" })], 10, Ti)]),
2165
2493
  _: 1
2166
- }, 8, ["disabled"]), f(D(je), {
2494
+ }, 8, ["disabled"]), f(O(Ie), {
2167
2495
  "side-offset": 4,
2168
2496
  class: "z-50 w-72 rounded-md border border-border bg-surface p-2 shadow-popover"
2169
2497
  }, {
2170
- default: M(() => [
2171
- e.filterable ? (b(), l("div", ai, [f(D(fe), { class: "pointer-events-none absolute start-2 top-1/2 size-3.5 -translate-y-1/2 text-muted" }), N(u("input", {
2498
+ default: P(() => [
2499
+ e.filterable ? (x(), l("div", Oi, [f(O(de), { class: "pointer-events-none absolute start-2 top-1/2 size-3.5 -translate-y-1/2 text-muted" }), F(u("input", {
2172
2500
  "onUpdate:modelValue": n[0] ||= (e) => p.value = e,
2173
2501
  placeholder: e.filterPlaceholder,
2174
2502
  class: "w-full rounded-md border border-border bg-surface py-1.5 pe-2 ps-7 text-sm placeholder:text-muted focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500"
2175
- }, null, 8, oi), [[A, p.value]])])) : c("", !0),
2176
- f(D(nt), {
2177
- "model-value": x.value,
2503
+ }, null, 8, ki), [[M, p.value]])])) : c("", !0),
2504
+ f(O(st), {
2505
+ "model-value": b.value,
2178
2506
  items: h.value,
2179
2507
  "get-key": (e) => e.value,
2180
2508
  "get-children": (e) => e.children,
@@ -2184,7 +2512,7 @@ var Zr = { class: "overflow-hidden rounded-md border border-border bg-surface" }
2184
2512
  "bubble-select": "",
2185
2513
  "onUpdate:modelValue": T
2186
2514
  }, {
2187
- default: M(() => [(b(!0), l(a, null, C(v.value, (e) => (b(), s(D(tt), {
2515
+ default: P(() => [(x(!0), l(a, null, w(v.value, (e) => (x(), s(O(ot), {
2188
2516
  key: e.key,
2189
2517
  value: e.node,
2190
2518
  level: e.level,
@@ -2192,13 +2520,13 @@ var Zr = { class: "overflow-hidden rounded-md border border-border bg-surface" }
2192
2520
  class: "flex items-center gap-2 rounded py-1.5 text-sm text-foreground data-[selected]:bg-surface-muted/50",
2193
2521
  style: _({ paddingInlineStart: `calc(0.5rem + ${(e.level - 1) * 1}rem)` })
2194
2522
  }, {
2195
- default: M(() => [u("span", {
2196
- class: g(["flex size-4 shrink-0 items-center justify-center rounded border border-border", w(e.node) !== "unchecked" && "border-primary-500 bg-primary-500 text-white"]),
2523
+ default: P(() => [u("span", {
2524
+ class: g(["flex size-4 shrink-0 items-center justify-center rounded border border-border", S(e.node) !== "unchecked" && "border-primary-500 bg-primary-500 text-white"]),
2197
2525
  "aria-hidden": "true"
2198
- }, [w(e.node) === "checked" ? (b(), s(D(F), {
2526
+ }, [S(e.node) === "checked" ? (x(), s(O(R), {
2199
2527
  key: 0,
2200
2528
  class: "size-3"
2201
- })) : w(e.node) === "indeterminate" ? (b(), l("span", si)) : c("", !0)], 2), u("span", ci, E(e.node.label ?? e.node.value), 1)]),
2529
+ })) : S(e.node) === "indeterminate" ? (x(), l("span", Ai)) : c("", !0)], 2), u("span", ji, D(e.node.label ?? e.node.value), 1)]),
2202
2530
  _: 2
2203
2531
  }, 1032, [
2204
2532
  "value",
@@ -2213,22 +2541,22 @@ var Zr = { class: "overflow-hidden rounded-md border border-border bg-surface" }
2213
2541
  "get-children",
2214
2542
  "expanded"
2215
2543
  ]),
2216
- e.modelValue.length ? (b(), l("div", li, [u("button", {
2544
+ e.modelValue.length ? (x(), l("div", Mi, [u("button", {
2217
2545
  type: "button",
2218
2546
  class: "inline-flex items-center gap-1 rounded px-2 py-1 text-xs text-muted hover:bg-surface-muted hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500",
2219
2547
  onClick: n[2] ||= (e) => r("update:modelValue", [])
2220
- }, [f(D(z), { class: "size-3" }), n[4] ||= d("Clear ", -1)])])) : c("", !0)
2548
+ }, [f(O(H), { class: "size-3" }), n[4] ||= d("Clear ", -1)])])) : c("", !0)
2221
2549
  ]),
2222
2550
  _: 1
2223
2551
  })]),
2224
2552
  _: 1
2225
2553
  }, 8, ["open"]));
2226
2554
  }
2227
- }), $ = Symbol("myghf-toast"), di = 0;
2228
- function fi(e = {}) {
2229
- let t = Math.max(1, e.max ?? 4), n = e.duration ?? 5e3, r = e.position ?? "top-end", i = S([]), a = o(() => i.value.slice(0, t));
2555
+ }), Pi = Symbol("myghf-toast"), Fi = 0;
2556
+ function Ii(e = {}) {
2557
+ let t = Math.max(1, e.max ?? 4), n = e.duration ?? 5e3, r = e.position ?? "top-end", i = C([]), a = o(() => i.value.slice(0, t));
2230
2558
  function s(e) {
2231
- let t = `toast-${++di}`;
2559
+ let t = `toast-${++Fi}`;
2232
2560
  return i.value.push({
2233
2561
  severity: "info",
2234
2562
  position: r,
@@ -2264,14 +2592,14 @@ function fi(e = {}) {
2264
2592
  secondary: u("secondary")
2265
2593
  };
2266
2594
  }
2267
- function pi() {
2268
- let e = m($);
2595
+ function Li() {
2596
+ let e = m(Pi);
2269
2597
  if (!e) throw Error("useToast() requires a <Toaster /> mounted above this component.");
2270
2598
  return e;
2271
2599
  }
2272
2600
  //#endregion
2273
2601
  //#region src/components/toast/Toast.vue?vue&type=script&setup=true&lang.ts
2274
- var mi = { class: "min-w-0 flex-1" }, hi = /* @__PURE__ */ p({
2602
+ var Ri = { class: "min-w-0 flex-1" }, zi = /* @__PURE__ */ p({
2275
2603
  __name: "Toast",
2276
2604
  props: {
2277
2605
  item: {},
@@ -2286,48 +2614,48 @@ var mi = { class: "min-w-0 flex-1" }, hi = /* @__PURE__ */ p({
2286
2614
  danger: "circle-alert",
2287
2615
  secondary: "info"
2288
2616
  };
2289
- return (t, n) => (b(), s(D(Qe), {
2617
+ return (t, n) => (x(), s(O(rt), {
2290
2618
  "default-open": !0,
2291
2619
  duration: l.value,
2292
2620
  type: a.value,
2293
2621
  "data-toast-root": "",
2294
2622
  "data-duration": l.value,
2295
- class: g(["pointer-events-auto flex w-full items-start gap-3 rounded-lg p-4 text-sm shadow-popover", D(J)[i.value].soft]),
2623
+ class: g(["pointer-events-auto flex w-full items-start gap-3 rounded-lg p-4 text-sm shadow-popover", O(J)[i.value].soft]),
2296
2624
  "onUpdate:open": n[1] ||= (e) => !e && r("close")
2297
2625
  }, {
2298
- default: M(() => [
2626
+ default: P(() => [
2299
2627
  f(X, {
2300
2628
  name: e.item.icon || p[i.value],
2301
- class: g(["mt-0.5 size-4 shrink-0", D(J)[i.value].icon])
2629
+ class: g(["mt-0.5 size-4 shrink-0", O(J)[i.value].icon])
2302
2630
  }, null, 8, ["name", "class"]),
2303
- u("div", mi, [e.item.title ? (b(), s(D($e), {
2631
+ u("div", Ri, [e.item.title ? (x(), s(O(it), {
2304
2632
  key: 0,
2305
2633
  class: "font-medium"
2306
2634
  }, {
2307
- default: M(() => [d(E(e.item.title), 1)]),
2635
+ default: P(() => [d(D(e.item.title), 1)]),
2308
2636
  _: 1
2309
- })) : c("", !0), e.item.description ? (b(), s(D(Xe), {
2637
+ })) : c("", !0), e.item.description ? (x(), s(O(tt), {
2310
2638
  key: 1,
2311
2639
  class: g(["leading-relaxed", e.item.title ? "mt-1" : ""])
2312
2640
  }, {
2313
- default: M(() => [d(E(e.item.description), 1)]),
2641
+ default: P(() => [d(D(e.item.description), 1)]),
2314
2642
  _: 1
2315
2643
  }, 8, ["class"])) : c("", !0)]),
2316
- e.item.action ? (b(), s(D(Je), {
2644
+ e.item.action ? (x(), s(O($e), {
2317
2645
  key: 0,
2318
2646
  "alt-text": e.item.action.label,
2319
2647
  class: "-my-1 shrink-0 rounded-md px-2 py-1 font-medium transition-colors hover:bg-black/10 dark:hover:bg-white/10 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500",
2320
2648
  onClick: n[0] ||= (t) => e.item.action.onClick()
2321
2649
  }, {
2322
- default: M(() => [d(E(e.item.action.label), 1)]),
2650
+ default: P(() => [d(D(e.item.action.label), 1)]),
2323
2651
  _: 1
2324
2652
  }, 8, ["alt-text"])) : c("", !0),
2325
- e.item.closable === !1 ? c("", !0) : (b(), s(D(Ye), {
2653
+ e.item.closable === !1 ? c("", !0) : (x(), s(O(et), {
2326
2654
  key: 1,
2327
2655
  "aria-label": "Close",
2328
2656
  class: "-me-1 -mt-1 shrink-0 rounded-md p-1 transition-colors hover:bg-black/10 dark:hover:bg-white/10 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500"
2329
2657
  }, {
2330
- default: M(() => [f(D(z), { class: "size-4" })]),
2658
+ default: P(() => [f(O(H), { class: "size-4" })]),
2331
2659
  _: 1
2332
2660
  }))
2333
2661
  ]),
@@ -2339,7 +2667,7 @@ var mi = { class: "min-w-0 flex-1" }, hi = /* @__PURE__ */ p({
2339
2667
  "class"
2340
2668
  ]));
2341
2669
  }
2342
- }), gi = /* @__PURE__ */ p({
2670
+ }), Bi = /* @__PURE__ */ p({
2343
2671
  __name: "Toaster",
2344
2672
  props: {
2345
2673
  position: { default: "top-end" },
@@ -2350,12 +2678,12 @@ var mi = { class: "min-w-0 flex-1" }, hi = /* @__PURE__ */ p({
2350
2678
  store: {}
2351
2679
  },
2352
2680
  setup(e) {
2353
- let t = e, n = t.store ?? fi({
2681
+ let t = e, n = t.store ?? Ii({
2354
2682
  max: t.max,
2355
2683
  duration: t.duration,
2356
2684
  position: t.position
2357
2685
  });
2358
- x($, n);
2686
+ S(Pi, n);
2359
2687
  let r = [
2360
2688
  "top-start",
2361
2689
  "top-center",
@@ -2374,21 +2702,21 @@ var mi = { class: "min-w-0 flex-1" }, hi = /* @__PURE__ */ p({
2374
2702
  function o(e) {
2375
2703
  return n.visible.value.filter((n) => (n.position ?? t.position) === e);
2376
2704
  }
2377
- return (t, u) => (b(), s(D(Ze), {
2705
+ return (t, u) => (x(), s(O(nt), {
2378
2706
  label: e.label,
2379
2707
  duration: e.duration
2380
2708
  }, {
2381
- default: M(() => [w(t.$slots, "default"), (b(), l(a, null, C(r, (t) => (b(), l(a, { key: t }, [o(t).length > 0 ? (b(), s(D(et), {
2709
+ default: P(() => [T(t.$slots, "default"), (x(), l(a, null, w(r, (t) => (x(), l(a, { key: t }, [o(t).length > 0 ? (x(), s(O(at), {
2382
2710
  key: 0,
2383
2711
  label: e.label,
2384
2712
  class: g(["pointer-events-none fixed z-50 flex max-h-screen w-full max-w-sm flex-col", i[t]]),
2385
2713
  style: _({ gap: e.gap })
2386
2714
  }, {
2387
- default: M(() => [(b(!0), l(a, null, C(o(t), (t) => (b(), s(hi, {
2715
+ default: P(() => [(x(!0), l(a, null, w(o(t), (t) => (x(), s(zi, {
2388
2716
  key: t.id,
2389
2717
  item: t,
2390
2718
  duration: e.duration,
2391
- onClose: (e) => D(n).remove(t.id)
2719
+ onClose: (e) => O(n).remove(t.id)
2392
2720
  }, null, 8, [
2393
2721
  "item",
2394
2722
  "duration",
@@ -2405,6 +2733,6 @@ var mi = { class: "min-w-0 flex-1" }, hi = /* @__PURE__ */ p({
2405
2733
  }
2406
2734
  });
2407
2735
  //#endregion
2408
- export { pn as Alert, pn as Message, Z as Button, on as Checkbox, Gr as DataTable, Hn as DatePicker, qn as Dialog, Qn as Drawer, $n as DropdownMenu, tr as DropdownMenuContent, nr as DropdownMenuItem, er as DropdownMenuTrigger, X as Icon, Kt as Input, Xt as InputNumber, an as Password, bn as Select, xn as SelectButton, gr as Table, wr as TableBody, Dr as TableCell, kr as TableEmpty, Er as TableHead, xr as TableHeader, zr as TablePagination, Q as TableRow, mn as Tabs, _n as TabsContent, hn as TabsList, gn as TabsTrigger, cn as Tag, Qt as Textarea, Vt as ThemeToggle, gi as Toaster, hr as TransferList, ui as TreeSelect, ti as TreeTable, yt as buildHourOptions, bt as buildMinuteOptions, _t as clampTime, U as cn, Lt as createTheme, fi as createToastStore, mt as dateToValue, q as formatLocalizedDate, Tt as formatLocalizedTime, xt as from12Hour, St as getFirstDayOfWeek, wt as getMonthLabel, Ct as getWeekdayLabels, Dt as mergeFormatOptions, At as resolveIconName, G as sortRange, K as to12Hour, vt as toISODate, gt as toMinutes, Et as toNumberOrNull, Ot as toPascalCase, W as toTime, $ as toastKey, J as toneClasses, zt as useTheme, pi as useToast, ht as valueToDate };
2736
+ export { Dn as Alert, Dn as Message, Nn as Avatar, Z as Button, bn as Checkbox, mi as DataTable, cr as DatePicker, pr as Dialog, vr as Drawer, yr as DropdownMenu, xr as DropdownMenuContent, Tr as DropdownMenuGroup, Sr as DropdownMenuItem, wr as DropdownMenuLabel, Cr as DropdownMenuSeparator, br as DropdownMenuTrigger, hn as FormDescription, yn as FormField, _n as FormMessage, X as Icon, Zt as Input, tn as InputNumber, pn as Label, un as Password, Bn as Select, Vn as SelectButton, An as Skeleton, kn as Spinner, zr as Table, qr as TableBody, Xr as TableCell, Qr as TableEmpty, Yr as TableHead, Wr as TableHeader, ci as TablePagination, $ as TableRow, Pn as Tabs, Ln as TabsContent, Fn as TabsList, In as TabsTrigger, Sn as Tag, rn as Textarea, Kt as ThemeToggle, Bi as Toaster, Rr as TransferList, Ni as TreeSelect, wi as TreeTable, wt as buildHourOptions, Tt as buildMinuteOptions, St as clampTime, U as cn, Ht as createTheme, Ii as createToastStore, yt as dateToValue, q as formatLocalizedDate, At as formatLocalizedTime, Et as from12Hour, Dt as getFirstDayOfWeek, kt as getMonthLabel, Ot as getWeekdayLabels, Mt as mergeFormatOptions, Ft as resolveIconName, G as sortRange, K as to12Hour, Ct as toISODate, xt as toMinutes, jt as toNumberOrNull, Nt as toPascalCase, W as toTime, Pi as toastKey, J as toneClasses, Q as useFormField, Wt as useTheme, Li as useToast, bt as valueToDate };
2409
2737
 
2410
2738
  //# sourceMappingURL=index.js.map