@vanduo-oss/vue 0.1.0 → 0.2.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.
package/dist/index.js CHANGED
@@ -1,21 +1,69 @@
1
- import { Fragment as e, Teleport as t, computed as n, createBlock as r, createCommentVNode as i, createElementBlock as a, createElementVNode as o, createStaticVNode as s, createTextVNode as c, createVNode as l, defineComponent as u, nextTick as d, normalizeClass as f, normalizeStyle as p, onBeforeUnmount as m, onMounted as h, onUnmounted as g, openBlock as _, reactive as v, ref as y, renderList as b, renderSlot as x, resolveComponent as S, resolveDynamicComponent as C, toDisplayString as w, unref as T, vModelText as E, vShow as D, watch as O, withCtx as k, withDirectives as A, withModifiers as j } from "vue";
2
- import { defineStore as M } from "pinia";
3
- import { DEFAULTS as ee, FONT_OPTIONS as N, NEUTRAL_COLORS as P, PALETTE_OPTIONS as te, PRIMARY_COLORS as ne, RADIUS_OPTIONS as re, THEME_MODES as F } from "@vanduo-oss/core";
4
- //#region src/plugin.ts
5
- var I = null;
6
- function ie() {
7
- return typeof window > "u" ? Promise.resolve() : (I ||= import("@vanduo-oss/framework/iife"), I);
1
+ import { DEFAULTS as e, FONT_OPTIONS as t, NEUTRAL_COLORS as n, PALETTE_OPTIONS as r, PRIMARY_COLORS as i, RADIUS_OPTIONS as a, THEME_MODES as o } from "@vanduo-oss/core";
2
+ import { Fragment as s, Teleport as c, computed as l, createBlock as u, createCommentVNode as d, createElementBlock as f, createElementVNode as p, createStaticVNode as m, createTextVNode as h, createVNode as g, defineComponent as _, nextTick as v, normalizeClass as y, normalizeStyle as b, onBeforeUnmount as x, onMounted as S, onUnmounted as C, openBlock as w, reactive as T, ref as E, renderList as D, renderSlot as O, resolveComponent as k, resolveDynamicComponent as A, toDisplayString as j, unref as M, vModelText as N, vShow as P, watch as F, withCtx as I, withDirectives as L, withModifiers as R } from "vue";
3
+ import { defineStore as ee } from "pinia";
4
+ //#region src/composables/useTheme.ts
5
+ var z = { ...e }, te = () => ({ ...z }), B = (e) => (z = {
6
+ ...z,
7
+ ...e
8
+ }, z), ne = r.map((e) => e.key), re = (e) => ne.includes(e), V = {
9
+ PALETTE: "vanduo-palette",
10
+ PRIMARY: "vanduo-primary-color",
11
+ NEUTRAL: "vanduo-neutral-color",
12
+ RADIUS: "vanduo-radius",
13
+ FONT: "vanduo-font-preference",
14
+ THEME: "vanduo-theme-preference"
15
+ }, H = () => typeof window < "u", ie = () => {
16
+ if (!H() || typeof window.matchMedia != "function") return !1;
17
+ let e = window.matchMedia("(prefers-color-scheme: dark)");
18
+ return !!e && e.matches;
19
+ }, U = (e) => e === "system" ? ie() ? z.PRIMARY_DARK : z.PRIMARY_LIGHT : e === "dark" ? z.PRIMARY_DARK : z.PRIMARY_LIGHT, W = (e, t) => {
20
+ if (!H()) return t;
21
+ try {
22
+ return window.localStorage.getItem(e) ?? t;
23
+ } catch {
24
+ return t;
25
+ }
26
+ }, G = (e, t) => {
27
+ if (H()) try {
28
+ window.localStorage.setItem(e, t);
29
+ } catch {}
30
+ }, ae = () => ({
31
+ palette: z.PALETTE,
32
+ theme: z.THEME,
33
+ primary: U(z.THEME),
34
+ neutral: z.NEUTRAL,
35
+ radius: z.RADIUS,
36
+ font: z.FONT
37
+ }), oe = () => {
38
+ let e = W(V.THEME, z.THEME), t = W(V.RADIUS, z.RADIUS), n = W(V.PALETTE, z.PALETTE);
39
+ return {
40
+ palette: re(n) ? n : z.PALETTE,
41
+ theme: o.includes(e) ? e : z.THEME,
42
+ primary: W(V.PRIMARY, U(e)),
43
+ neutral: W(V.NEUTRAL, z.NEUTRAL),
44
+ radius: a.includes(t) ? t : z.RADIUS,
45
+ font: W(V.FONT, z.FONT)
46
+ };
47
+ }, K = (e) => e === z.PRIMARY_LIGHT || e === z.PRIMARY_DARK, se = (e) => {
48
+ if (!H()) return;
49
+ let t = document.documentElement;
50
+ K(e.primary) && (e.primary = U(e.theme)), t.setAttribute("data-palette", e.palette), t.setAttribute("data-primary", e.primary), t.setAttribute("data-neutral", e.neutral), t.setAttribute("data-radius", e.radius), t.style.setProperty("--vd-radius-scale", e.radius), e.font === "system" ? t.removeAttribute("data-font") : t.setAttribute("data-font", e.font), e.theme === "system" ? t.removeAttribute("data-theme") : t.setAttribute("data-theme", e.theme);
51
+ }, ce = (e) => {
52
+ G(V.PALETTE, e.palette), G(V.THEME, e.theme), G(V.PRIMARY, e.primary), G(V.NEUTRAL, e.neutral), G(V.RADIUS, e.radius), G(V.FONT, e.font);
53
+ }, q = null;
54
+ function J() {
55
+ return typeof window > "u" ? Promise.resolve() : (q ||= import("@vanduo-oss/framework/iife"), q);
8
56
  }
9
- var ae = { install(e) {
10
- ie();
11
- } }, oe = { class: "vd-accordion" }, se = [
57
+ var le = { install(e, t = {}) {
58
+ t.themeDefaults && B(t.themeDefaults), J();
59
+ } }, ue = { class: "vd-accordion" }, de = [
12
60
  "aria-expanded",
13
61
  "aria-controls",
14
62
  "onClick"
15
- ], ce = {
63
+ ], fe = {
16
64
  class: "vd-accordion-icon",
17
65
  "aria-hidden": "true"
18
- }, le = ["id"], ue = /* @__PURE__ */ u({
66
+ }, pe = ["id"], me = /* @__PURE__ */ _({
19
67
  __name: "VdAccordion",
20
68
  props: {
21
69
  items: {},
@@ -23,31 +71,31 @@ var ae = { install(e) {
23
71
  exclusive: { type: Boolean }
24
72
  },
25
73
  emits: ["update:modelValue"],
26
- setup(t, { emit: n }) {
27
- let r = t, i = n, s = (e) => r.exclusive ? r.modelValue === e : Array.isArray(r.modelValue) && r.modelValue.includes(e), l = (e) => {
28
- if (r.exclusive) {
29
- i("update:modelValue", r.modelValue === e ? "" : e);
74
+ setup(e, { emit: t }) {
75
+ let n = e, r = t, i = (e) => n.exclusive ? n.modelValue === e : Array.isArray(n.modelValue) && n.modelValue.includes(e), a = (e) => {
76
+ if (n.exclusive) {
77
+ r("update:modelValue", n.modelValue === e ? "" : e);
30
78
  return;
31
79
  }
32
- let t = Array.isArray(r.modelValue) ? [...r.modelValue] : [], n = t.indexOf(e);
33
- n >= 0 ? t.splice(n, 1) : t.push(e), i("update:modelValue", t);
80
+ let t = Array.isArray(n.modelValue) ? [...n.modelValue] : [], i = t.indexOf(e);
81
+ i >= 0 ? t.splice(i, 1) : t.push(e), r("update:modelValue", t);
34
82
  };
35
- return (n, r) => (_(), a("ul", oe, [(_(!0), a(e, null, b(t.items, (e) => (_(), a("li", {
83
+ return (t, n) => (w(), f("ul", ue, [(w(!0), f(s, null, D(e.items, (e) => (w(), f("li", {
36
84
  key: e.id,
37
- class: f(["vd-accordion-item", s(e.id) ? "is-open" : null])
38
- }, [o("button", {
85
+ class: y(["vd-accordion-item", i(e.id) ? "is-open" : null])
86
+ }, [p("button", {
39
87
  type: "button",
40
88
  class: "vd-accordion-header",
41
- "aria-expanded": s(e.id),
89
+ "aria-expanded": i(e.id),
42
90
  "aria-controls": `vd-accordion-panel-${e.id}`,
43
- onClick: (t) => l(e.id)
44
- }, [o("span", null, w(e.title), 1), o("span", ce, w(s(e.id) ? "−" : "+"), 1)], 8, se), A(o("div", {
91
+ onClick: (t) => a(e.id)
92
+ }, [p("span", null, j(e.title), 1), p("span", fe, j(i(e.id) ? "−" : "+"), 1)], 8, de), L(p("div", {
45
93
  id: `vd-accordion-panel-${e.id}`,
46
94
  class: "vd-accordion-panel",
47
95
  role: "region"
48
- }, [x(n.$slots, e.id, { item: e }, () => [c(w(e.content), 1)])], 8, le), [[D, s(e.id)]])], 2))), 128))]));
96
+ }, [O(t.$slots, e.id, { item: e }, () => [h(j(e.content), 1)])], 8, pe), [[P, i(e.id)]])], 2))), 128))]));
49
97
  }
50
- }), L = /* @__PURE__ */ u({
98
+ }), Y = /* @__PURE__ */ _({
51
99
  __name: "VdIcon",
52
100
  props: {
53
101
  name: {},
@@ -65,8 +113,8 @@ var ae = { install(e) {
65
113
  default: return "vd-text-xl";
66
114
  }
67
115
  };
68
- return (e, r) => (_(), a("i", {
69
- class: f([
116
+ return (e, r) => (w(), f("i", {
117
+ class: y([
70
118
  t.filled ? "ph-fill" : "ph",
71
119
  `ph-${t.name}`,
72
120
  n()
@@ -74,10 +122,10 @@ var ae = { install(e) {
74
122
  "aria-hidden": "true"
75
123
  }, null, 2));
76
124
  }
77
- }), de = { class: "vd-alert-body" }, fe = {
125
+ }), he = { class: "vd-alert-body" }, ge = {
78
126
  key: 0,
79
127
  class: "vd-alert-title"
80
- }, pe = { class: "vd-alert-content" }, me = /* @__PURE__ */ u({
128
+ }, _e = { class: "vd-alert-content" }, ve = /* @__PURE__ */ _({
81
129
  __name: "VdAlert",
82
130
  props: {
83
131
  variant: { default: "info" },
@@ -89,9 +137,9 @@ var ae = { install(e) {
89
137
  },
90
138
  emits: ["dismiss"],
91
139
  setup(e, { emit: t }) {
92
- let n = e, r = t, s = () => {
140
+ let n = e, r = t, i = () => {
93
141
  r("dismiss");
94
- }, c = () => {
142
+ }, a = () => {
95
143
  switch (n.variant) {
96
144
  case "success": return "check-circle";
97
145
  case "warning": return "warning";
@@ -99,32 +147,32 @@ var ae = { install(e) {
99
147
  default: return "info";
100
148
  }
101
149
  };
102
- return (t, n) => (_(), a("div", {
103
- class: f(["vd-alert", `vd-alert-${e.variant}`]),
150
+ return (t, n) => (w(), f("div", {
151
+ class: y(["vd-alert", `vd-alert-${e.variant}`]),
104
152
  role: "alert"
105
153
  }, [
106
- l(L, {
107
- name: c(),
154
+ g(Y, {
155
+ name: a(),
108
156
  class: "vd-alert-icon"
109
157
  }, null, 8, ["name"]),
110
- o("div", de, [e.title ? (_(), a("p", fe, w(e.title), 1)) : i("", !0), o("div", pe, [x(t.$slots, "default")])]),
111
- e.dismissible ? (_(), a("button", {
158
+ p("div", he, [e.title ? (w(), f("p", ge, j(e.title), 1)) : d("", !0), p("div", _e, [O(t.$slots, "default")])]),
159
+ e.dismissible ? (w(), f("button", {
112
160
  key: 0,
113
161
  type: "button",
114
162
  class: "vd-alert-dismiss",
115
163
  "aria-label": "Dismiss",
116
- onClick: s
117
- }, [l(L, { name: "x" })])) : i("", !0)
164
+ onClick: i
165
+ }, [g(Y, { name: "x" })])) : d("", !0)
118
166
  ], 2));
119
167
  }
120
- }), he = ["aria-label"], ge = ["src", "alt"], _e = {
168
+ }), ye = ["aria-label"], be = ["src", "alt"], xe = {
121
169
  key: 1,
122
170
  class: "vd-avatar-initials"
123
- }, ve = {
171
+ }, Se = {
124
172
  key: 2,
125
173
  class: "vd-avatar-initials",
126
174
  "aria-hidden": "true"
127
- }, ye = ["aria-label"], be = /* @__PURE__ */ u({
175
+ }, Ce = ["aria-label"], we = /* @__PURE__ */ _({
128
176
  __name: "VdAvatar",
129
177
  props: {
130
178
  src: { default: "" },
@@ -136,25 +184,25 @@ var ae = { install(e) {
136
184
  status: { default: void 0 }
137
185
  },
138
186
  setup(e) {
139
- return (t, n) => (_(), a("div", {
140
- class: f(["vd-avatar", [
187
+ return (t, n) => (w(), f("div", {
188
+ class: y(["vd-avatar", [
141
189
  `vd-avatar-${e.size}`,
142
190
  `vd-avatar-${e.variant}`,
143
191
  `vd-avatar-${e.shape}`
144
192
  ]]),
145
193
  "aria-label": e.alt || e.initials || "Avatar"
146
- }, [e.src ? (_(), a("img", {
194
+ }, [e.src ? (w(), f("img", {
147
195
  key: 0,
148
196
  src: e.src,
149
197
  alt: e.alt,
150
198
  class: "vd-avatar-img"
151
- }, null, 8, ge)) : e.initials ? (_(), a("span", _e, w(e.initials), 1)) : (_(), a("span", ve, " ? ")), e.status ? (_(), a("span", {
199
+ }, null, 8, be)) : e.initials ? (w(), f("span", xe, j(e.initials), 1)) : (w(), f("span", Se, " ? ")), e.status ? (w(), f("span", {
152
200
  key: 3,
153
- class: f(["vd-avatar-status", `vd-avatar-status-${e.status}`]),
201
+ class: y(["vd-avatar-status", `vd-avatar-status-${e.status}`]),
154
202
  "aria-label": `Status: ${e.status}`
155
- }, null, 10, ye)) : i("", !0)], 10, he));
203
+ }, null, 10, Ce)) : d("", !0)], 10, ye));
156
204
  }
157
- }), xe = /* @__PURE__ */ u({
205
+ }), Te = /* @__PURE__ */ _({
158
206
  __name: "VdBadge",
159
207
  props: {
160
208
  variant: { default: "default" },
@@ -164,13 +212,13 @@ var ae = { install(e) {
164
212
  }
165
213
  },
166
214
  setup(e) {
167
- return (t, n) => (_(), a("span", { class: f(["vd-badge", [e.variant === "default" ? null : `vd-badge-${e.variant}`, e.pill ? "vd-badge-pill" : null]]) }, [x(t.$slots, "default")], 2));
215
+ return (t, n) => (w(), f("span", { class: y(["vd-badge", [e.variant === "default" ? null : `vd-badge-${e.variant}`, e.pill ? "vd-badge-pill" : null]]) }, [O(t.$slots, "default")], 2));
168
216
  }
169
- }), Se = ["type", "disabled"], Ce = {
217
+ }), Ee = ["type", "disabled"], De = {
170
218
  key: 0,
171
219
  class: "vd-btn-spinner",
172
220
  "aria-hidden": "true"
173
- }, we = /* @__PURE__ */ u({
221
+ }, Oe = /* @__PURE__ */ _({
174
222
  __name: "VdButton",
175
223
  props: {
176
224
  variant: { default: "primary" },
@@ -187,26 +235,26 @@ var ae = { install(e) {
187
235
  },
188
236
  emits: ["click"],
189
237
  setup(e, { emit: t }) {
190
- let n = e, r = t, o = (e) => {
238
+ let n = e, r = t, i = (e) => {
191
239
  if (n.disabled || n.loading) {
192
240
  e.preventDefault();
193
241
  return;
194
242
  }
195
243
  r("click", e);
196
244
  };
197
- return (t, n) => (_(), a("button", {
245
+ return (t, n) => (w(), f("button", {
198
246
  type: e.type,
199
247
  disabled: e.disabled || e.loading,
200
- class: f([
248
+ class: y([
201
249
  "vd-btn",
202
250
  `vd-btn-${e.variant}`,
203
251
  e.size === "md" ? null : `vd-btn-${e.size}`,
204
252
  e.loading ? "is-loading" : null
205
253
  ]),
206
- onClick: o
207
- }, [e.loading ? (_(), a("span", Ce)) : i("", !0), x(t.$slots, "default")], 10, Se));
254
+ onClick: i
255
+ }, [e.loading ? (w(), f("span", De)) : d("", !0), O(t.$slots, "default")], 10, Ee));
208
256
  }
209
- }), Te = /* @__PURE__ */ u({
257
+ }), ke = /* @__PURE__ */ _({
210
258
  __name: "VdButtonGroup",
211
259
  props: {
212
260
  size: { default: "md" },
@@ -220,21 +268,21 @@ var ae = { install(e) {
220
268
  }
221
269
  },
222
270
  setup(e) {
223
- return (t, n) => (_(), a("div", {
224
- class: f(["vd-btn-group", [`vd-btn-group-${e.size}`, {
271
+ return (t, n) => (w(), f("div", {
272
+ class: y(["vd-btn-group", [`vd-btn-group-${e.size}`, {
225
273
  "vd-btn-group-vertical": e.vertical,
226
274
  "vd-btn-group-full": e.fullWidth
227
275
  }]]),
228
276
  role: "group"
229
- }, [x(t.$slots, "default")], 2));
277
+ }, [O(t.$slots, "default")], 2));
230
278
  }
231
- }), Ee = {
279
+ }), Ae = {
232
280
  key: 0,
233
281
  class: "vd-card-header"
234
- }, De = { class: "vd-card-body" }, Oe = {
282
+ }, je = { class: "vd-card-body" }, Me = {
235
283
  key: 1,
236
284
  class: "vd-card-footer"
237
- }, ke = /* @__PURE__ */ u({
285
+ }, Ne = /* @__PURE__ */ _({
238
286
  __name: "VdCard",
239
287
  props: {
240
288
  elevated: {
@@ -247,20 +295,20 @@ var ae = { install(e) {
247
295
  }
248
296
  },
249
297
  setup(e) {
250
- return (t, n) => (_(), a("section", { class: f(["vd-card", [e.elevated ? "vd-card-elevated" : null, e.interactive ? "vd-card-interactive" : null]]) }, [
251
- t.$slots.header ? (_(), a("header", Ee, [x(t.$slots, "header")])) : i("", !0),
252
- o("div", De, [x(t.$slots, "default")]),
253
- t.$slots.footer ? (_(), a("footer", Oe, [x(t.$slots, "footer")])) : i("", !0)
298
+ return (t, n) => (w(), f("section", { class: y(["vd-card", [e.elevated ? "vd-card-elevated" : null, e.interactive ? "vd-card-interactive" : null]]) }, [
299
+ t.$slots.header ? (w(), f("header", Ae, [O(t.$slots, "header")])) : d("", !0),
300
+ p("div", je, [O(t.$slots, "default")]),
301
+ t.$slots.footer ? (w(), f("footer", Me, [O(t.$slots, "footer")])) : d("", !0)
254
302
  ], 2));
255
303
  }
256
- }), Ae = [
304
+ }), Pe = [
257
305
  "id",
258
306
  "name",
259
307
  "value",
260
308
  "checked",
261
309
  "disabled",
262
310
  "onChange"
263
- ], je = ["for"], Me = /* @__PURE__ */ u({
311
+ ], Fe = ["for"], Ie = /* @__PURE__ */ _({
264
312
  __name: "VdCheckboxGroup",
265
313
  props: {
266
314
  options: {},
@@ -277,34 +325,34 @@ var ae = { install(e) {
277
325
  }
278
326
  },
279
327
  emits: ["update:modelValue"],
280
- setup(t, { emit: n }) {
281
- let r = n, i = (e, t) => e.includes(t), s = (e, t) => {
328
+ setup(e, { emit: t }) {
329
+ let n = t, r = (e, t) => e.includes(t), i = (e, t) => {
282
330
  let n = [...e], r = n.indexOf(t);
283
331
  return r === -1 ? n.push(t) : n.splice(r, 1), n;
284
- }, c = (e, t) => {
285
- r("update:modelValue", s(e.modelValue, t));
332
+ }, a = (e, t) => {
333
+ n("update:modelValue", i(e.modelValue, t));
286
334
  };
287
- return (n, r) => (_(), a("div", {
288
- class: f(["vd-form-check-group", { "vd-form-check-group-inline": t.inline }]),
335
+ return (t, n) => (w(), f("div", {
336
+ class: y(["vd-form-check-group", { "vd-form-check-group-inline": e.inline }]),
289
337
  role: "group"
290
- }, [(_(!0), a(e, null, b(t.options, (e) => (_(), a("div", {
291
- key: e.value,
292
- class: f(["vd-form-check", [`vd-form-check-${t.size}`, { "vd-form-check-inline": t.inline }]])
293
- }, [o("input", {
294
- id: `${t.name}-${e.value}`,
338
+ }, [(w(!0), f(s, null, D(e.options, (n) => (w(), f("div", {
339
+ key: n.value,
340
+ class: y(["vd-form-check", [`vd-form-check-${e.size}`, { "vd-form-check-inline": e.inline }]])
341
+ }, [p("input", {
342
+ id: `${e.name}-${n.value}`,
295
343
  type: "checkbox",
296
- name: t.name,
297
- value: e.value,
298
- checked: i(t.modelValue, e.value),
299
- disabled: t.disabled || e.disabled,
344
+ name: e.name,
345
+ value: n.value,
346
+ checked: r(e.modelValue, n.value),
347
+ disabled: e.disabled || n.disabled,
300
348
  class: "vd-form-check-input",
301
- onChange: (t) => c(n.$props, e.value)
302
- }, null, 40, Ae), o("label", {
303
- for: `${t.name}-${e.value}`,
349
+ onChange: (e) => a(t.$props, n.value)
350
+ }, null, 40, Pe), p("label", {
351
+ for: `${e.name}-${n.value}`,
304
352
  class: "vd-form-check-label"
305
- }, w(e.label), 9, je)], 2))), 128))], 2));
353
+ }, j(n.label), 9, Fe)], 2))), 128))], 2));
306
354
  }
307
- }), Ne = ["src"], Pe = /* @__PURE__ */ u({
355
+ }), Le = ["src"], Re = /* @__PURE__ */ _({
308
356
  __name: "VdChip",
309
357
  props: {
310
358
  variant: { default: "primary" },
@@ -328,8 +376,8 @@ var ae = { install(e) {
328
376
  let n = t, r = (e) => {
329
377
  e.stopPropagation(), n("dismiss");
330
378
  };
331
- return (t, o) => (_(), a("span", {
332
- class: f(["vd-chip", [
379
+ return (t, i) => (w(), f("span", {
380
+ class: y(["vd-chip", [
333
381
  `vd-chip-${e.variant}`,
334
382
  `vd-chip-${e.size}`,
335
383
  {
@@ -339,25 +387,25 @@ var ae = { install(e) {
339
387
  }
340
388
  ]]),
341
389
  role: "status",
342
- onClick: o[0] ||= (t) => e.clickable && n("click", t)
390
+ onClick: i[0] ||= (t) => e.clickable && n("click", t)
343
391
  }, [
344
- e.avatar ? (_(), a("img", {
392
+ e.avatar ? (w(), f("img", {
345
393
  key: 0,
346
394
  src: e.avatar,
347
395
  class: "vd-chip-avatar",
348
396
  alt: ""
349
- }, null, 8, Ne)) : i("", !0),
350
- x(t.$slots, "default"),
351
- e.dismissible ? (_(), a("button", {
397
+ }, null, 8, Le)) : d("", !0),
398
+ O(t.$slots, "default"),
399
+ e.dismissible ? (w(), f("button", {
352
400
  key: 1,
353
401
  type: "button",
354
402
  class: "vd-chip-close",
355
403
  "aria-label": "Dismiss",
356
404
  onClick: r
357
- }, " × ")) : i("", !0)
405
+ }, " × ")) : d("", !0)
358
406
  ], 2));
359
407
  }
360
- }), Fe = { class: "vd-code-snippet" }, Ie = ["data-language"], Le = ["aria-label"], Re = /* @__PURE__ */ u({
408
+ }), ze = { class: "vd-code-snippet" }, Be = ["data-language"], Ve = ["aria-label"], He = /* @__PURE__ */ _({
361
409
  __name: "VdCodeSnippet",
362
410
  props: {
363
411
  code: {},
@@ -368,37 +416,37 @@ var ae = { install(e) {
368
416
  }
369
417
  },
370
418
  setup(e) {
371
- let t = y(!1), n = async (e) => {
419
+ let t = E(!1), n = async (e) => {
372
420
  if (!(typeof navigator > "u" || !navigator.clipboard)) try {
373
421
  await navigator.clipboard.writeText(e), t.value = !0, setTimeout(() => {
374
422
  t.value = !1;
375
423
  }, 1500);
376
424
  } catch {}
377
425
  };
378
- return (r, s) => (_(), a("figure", Fe, [o("pre", {
379
- class: f(["vd-code-snippet-pre", `language-${e.language}`]),
426
+ return (r, i) => (w(), f("figure", ze, [p("pre", {
427
+ class: y(["vd-code-snippet-pre", `language-${e.language}`]),
380
428
  "data-language": e.language
381
- }, [o("code", null, w(e.code), 1)], 10, Ie), e.copyable ? (_(), a("button", {
429
+ }, [p("code", null, j(e.code), 1)], 10, Be), e.copyable ? (w(), f("button", {
382
430
  key: 0,
383
431
  type: "button",
384
432
  class: "vd-btn vd-btn-ghost vd-btn-sm vd-code-snippet-copy",
385
433
  "aria-label": t.value ? "Copied" : "Copy code",
386
- onClick: s[0] ||= (t) => n(e.code)
387
- }, [l(L, { name: t.value ? "check" : "copy" }, null, 8, ["name"]), o("span", null, w(t.value ? "Copied" : "Copy"), 1)], 8, Le)) : i("", !0)]));
434
+ onClick: i[0] ||= (t) => n(e.code)
435
+ }, [g(Y, { name: t.value ? "check" : "copy" }, null, 8, ["name"]), p("span", null, j(t.value ? "Copied" : "Copy"), 1)], 8, Ve)) : d("", !0)]));
388
436
  }
389
- }), ze = {
437
+ }), Ue = {
390
438
  key: 0,
391
439
  class: "vd-collection-header"
392
- }, Be = { class: "vd-collection-title" }, Ve = { class: "vd-collection-list" }, He = {
440
+ }, We = { class: "vd-collection-title" }, Ge = { class: "vd-collection-list" }, Ke = {
393
441
  key: 0,
394
442
  class: "vd-collection-avatar"
395
- }, Ue = ["src", "alt"], We = { class: "vd-collection-content" }, Ge = { class: "vd-collection-text" }, Ke = { class: "vd-collection-title" }, qe = {
443
+ }, qe = ["src", "alt"], Je = { class: "vd-collection-content" }, Ye = { class: "vd-collection-text" }, Xe = { class: "vd-collection-title" }, Ze = {
396
444
  key: 0,
397
445
  class: "vd-collection-text-secondary"
398
- }, Je = {
446
+ }, Qe = {
399
447
  key: 1,
400
448
  class: "vd-collection-action"
401
- }, Ye = /* @__PURE__ */ u({
449
+ }, $e = /* @__PURE__ */ _({
402
450
  __name: "VdCollection",
403
451
  props: {
404
452
  items: {},
@@ -413,33 +461,33 @@ var ae = { install(e) {
413
461
  },
414
462
  size: { default: "md" }
415
463
  },
416
- setup(t) {
417
- return (n, r) => (_(), a("div", { class: f(["vd-collection", [`vd-collection-${t.size}`, {
418
- "vd-collection-hoverable": t.hoverable,
419
- "vd-collection-bordered": t.bordered
420
- }]]) }, [t.header ? (_(), a("div", ze, [o("h3", Be, w(t.header), 1)])) : i("", !0), o("ul", Ve, [(_(!0), a(e, null, b(t.items, (e) => (_(), a("li", {
464
+ setup(e) {
465
+ return (t, n) => (w(), f("div", { class: y(["vd-collection", [`vd-collection-${e.size}`, {
466
+ "vd-collection-hoverable": e.hoverable,
467
+ "vd-collection-bordered": e.bordered
468
+ }]]) }, [e.header ? (w(), f("div", Ue, [p("h3", We, j(e.header), 1)])) : d("", !0), p("ul", Ge, [(w(!0), f(s, null, D(e.items, (e) => (w(), f("li", {
421
469
  key: e.id,
422
470
  class: "vd-collection-item"
423
471
  }, [
424
- e.avatar ? (_(), a("div", He, [o("img", {
472
+ e.avatar ? (w(), f("div", Ke, [p("img", {
425
473
  src: e.avatar,
426
474
  alt: e.subtitle || e.title
427
- }, null, 8, Ue)])) : i("", !0),
428
- o("div", We, [o("div", Ge, [o("strong", Ke, w(e.title), 1), e.subtitle ? (_(), a("span", qe, w(e.subtitle), 1)) : i("", !0)])]),
429
- e.action ? (_(), a("div", Je, w(e.action), 1)) : i("", !0)
475
+ }, null, 8, qe)])) : d("", !0),
476
+ p("div", Je, [p("div", Ye, [p("strong", Xe, j(e.title), 1), e.subtitle ? (w(), f("span", Ze, j(e.subtitle), 1)) : d("", !0)])]),
477
+ e.action ? (w(), f("div", Qe, j(e.action), 1)) : d("", !0)
430
478
  ]))), 128))])], 2));
431
479
  }
432
- }), Xe = [
480
+ }), et = [
433
481
  "id",
434
482
  "name",
435
483
  "value"
436
- ], Ze = ["value", "disabled"], Qe = ["aria-expanded", "aria-labelledby"], $e = [
484
+ ], tt = ["value", "disabled"], nt = ["aria-expanded", "aria-labelledby"], rt = [
437
485
  "data-value",
438
486
  "aria-selected",
439
487
  "aria-disabled",
440
488
  "onClick",
441
489
  "onMouseenter"
442
- ], et = /* @__PURE__ */ u({
490
+ ], it = /* @__PURE__ */ _({
443
491
  __name: "VdCustomSelect",
444
492
  props: {
445
493
  modelValue: {},
@@ -449,162 +497,162 @@ var ae = { install(e) {
449
497
  placeholder: { default: "Select..." }
450
498
  },
451
499
  emits: ["update:modelValue"],
452
- setup(t, { emit: r }) {
453
- let i = t, s = r, c = y(!1), l = y(-1), u = y(null), d = n(() => i.id || i.name || "custom-select"), p = n(() => i.options.flatMap((e, t) => e.disabled ? [] : [t])), g = n(() => {
454
- let e = i.options.find((e) => e.value === i.modelValue);
455
- return e ? e.label : i.placeholder;
456
- }), v = () => {
457
- c.value = !0;
458
- let e = i.options.findIndex((e) => e.value === i.modelValue);
459
- l.value = e >= 0 && !i.options[e]?.disabled ? e : p.value[0] ?? -1;
460
- }, x = () => {
461
- c.value = !1;
462
- }, S = () => {
463
- c.value ? x() : v();
464
- }, C = (e) => {
465
- e.disabled || (s("update:modelValue", e.value), x());
466
- }, T = (e) => {
467
- let t = p.value;
500
+ setup(e, { emit: t }) {
501
+ let n = e, r = t, i = E(!1), a = E(-1), o = E(null), c = l(() => n.id || n.name || "custom-select"), u = l(() => n.options.flatMap((e, t) => e.disabled ? [] : [t])), d = l(() => {
502
+ let e = n.options.find((e) => e.value === n.modelValue);
503
+ return e ? e.label : n.placeholder;
504
+ }), m = () => {
505
+ i.value = !0;
506
+ let e = n.options.findIndex((e) => e.value === n.modelValue);
507
+ a.value = e >= 0 && !n.options[e]?.disabled ? e : u.value[0] ?? -1;
508
+ }, h = () => {
509
+ i.value = !1;
510
+ }, g = () => {
511
+ i.value ? h() : m();
512
+ }, _ = (e) => {
513
+ e.disabled || (r("update:modelValue", e.value), h());
514
+ }, v = (e) => {
515
+ let t = u.value;
468
516
  if (t.length === 0) return;
469
- let n = t.indexOf(l.value);
470
- l.value = t[n < 0 ? 0 : (n + e + t.length) % t.length] ?? -1;
471
- }, E = "", D = null, O = (e) => {
517
+ let n = t.indexOf(a.value);
518
+ a.value = t[n < 0 ? 0 : (n + e + t.length) % t.length] ?? -1;
519
+ }, b = "", C = null, T = (e) => {
472
520
  switch (e.key) {
473
521
  case "Enter":
474
522
  case " ":
475
- if (e.preventDefault(), c.value && l.value >= 0) {
476
- let e = i.options[l.value];
477
- e && C(e);
478
- } else v();
523
+ if (e.preventDefault(), i.value && a.value >= 0) {
524
+ let e = n.options[a.value];
525
+ e && _(e);
526
+ } else m();
479
527
  break;
480
528
  case "Escape":
481
- c.value && (e.preventDefault(), x());
529
+ i.value && (e.preventDefault(), h());
482
530
  break;
483
531
  case "ArrowDown":
484
- e.preventDefault(), c.value ? T(1) : v();
532
+ e.preventDefault(), i.value ? v(1) : m();
485
533
  break;
486
534
  case "ArrowUp":
487
- e.preventDefault(), c.value && T(-1);
535
+ e.preventDefault(), i.value && v(-1);
488
536
  break;
489
537
  case "Home":
490
- c.value && (e.preventDefault(), l.value = p.value[0] ?? -1);
538
+ i.value && (e.preventDefault(), a.value = u.value[0] ?? -1);
491
539
  break;
492
540
  case "End":
493
- if (c.value) {
541
+ if (i.value) {
494
542
  e.preventDefault();
495
- let t = p.value;
496
- l.value = t[t.length - 1] ?? -1;
543
+ let t = u.value;
544
+ a.value = t[t.length - 1] ?? -1;
497
545
  }
498
546
  break;
499
- default: if (c.value && e.key.length === 1 && !e.ctrlKey && !e.metaKey && !e.altKey) {
500
- D != null && window.clearTimeout(D), E += e.key.toLowerCase();
501
- let t = i.options.findIndex((e) => !e.disabled && e.label.toLowerCase().startsWith(E));
502
- t >= 0 && (l.value = t), D = window.setTimeout(() => {
503
- E = "";
547
+ default: if (i.value && e.key.length === 1 && !e.ctrlKey && !e.metaKey && !e.altKey) {
548
+ C != null && window.clearTimeout(C), b += e.key.toLowerCase();
549
+ let t = n.options.findIndex((e) => !e.disabled && e.label.toLowerCase().startsWith(b));
550
+ t >= 0 && (a.value = t), C = window.setTimeout(() => {
551
+ b = "";
504
552
  }, 500);
505
553
  }
506
554
  }
507
- }, k = (e) => {
508
- c.value && u.value && !u.value.contains(e.target) && x();
555
+ }, O = (e) => {
556
+ i.value && o.value && !o.value.contains(e.target) && h();
509
557
  };
510
- return h(() => document.addEventListener("click", k)), m(() => {
511
- document.removeEventListener("click", k), D != null && window.clearTimeout(D);
512
- }), (n, r) => (_(), a("div", {
558
+ return S(() => document.addEventListener("click", O)), x(() => {
559
+ document.removeEventListener("click", O), C != null && window.clearTimeout(C);
560
+ }), (t, n) => (w(), f("div", {
513
561
  ref_key: "wrapper",
514
- ref: u,
562
+ ref: o,
515
563
  class: "custom-select-wrapper"
516
564
  }, [
517
- o("select", {
518
- id: t.id || void 0,
519
- name: t.name || void 0,
520
- value: t.modelValue,
565
+ p("select", {
566
+ id: e.id || void 0,
567
+ name: e.name || void 0,
568
+ value: e.modelValue,
521
569
  tabindex: "-1",
522
570
  "aria-hidden": "true"
523
- }, [(_(!0), a(e, null, b(t.options, (e) => (_(), a("option", {
571
+ }, [(w(!0), f(s, null, D(e.options, (e) => (w(), f("option", {
524
572
  key: e.value,
525
573
  value: e.value,
526
574
  disabled: e.disabled
527
- }, w(e.label), 9, Ze))), 128))], 8, Xe),
528
- o("button", {
575
+ }, j(e.label), 9, tt))), 128))], 8, et),
576
+ p("button", {
529
577
  type: "button",
530
578
  class: "custom-select-button",
531
579
  "aria-haspopup": "listbox",
532
- "aria-expanded": c.value ? "true" : "false",
533
- "aria-labelledby": d.value,
534
- onClick: j(S, ["stop"]),
535
- onKeydown: O
536
- }, w(g.value), 41, Qe),
537
- o("div", {
538
- class: f(["custom-select-dropdown", { "is-open": c.value }]),
580
+ "aria-expanded": i.value ? "true" : "false",
581
+ "aria-labelledby": c.value,
582
+ onClick: R(g, ["stop"]),
583
+ onKeydown: T
584
+ }, j(d.value), 41, nt),
585
+ p("div", {
586
+ class: y(["custom-select-dropdown", { "is-open": i.value }]),
539
587
  role: "listbox"
540
- }, [(_(!0), a(e, null, b(t.options, (e, n) => (_(), a("div", {
541
- key: e.value,
542
- class: f(["custom-select-option", {
543
- "is-selected": e.value === t.modelValue,
544
- "is-disabled": e.disabled,
545
- "is-active": n === l.value
588
+ }, [(w(!0), f(s, null, D(e.options, (t, n) => (w(), f("div", {
589
+ key: t.value,
590
+ class: y(["custom-select-option", {
591
+ "is-selected": t.value === e.modelValue,
592
+ "is-disabled": t.disabled,
593
+ "is-active": n === a.value
546
594
  }]),
547
595
  role: "option",
548
- "data-value": e.value,
549
- "aria-selected": e.value === t.modelValue ? "true" : "false",
550
- "aria-disabled": e.disabled ? "true" : void 0,
551
- onClick: (t) => C(e),
552
- onMouseenter: (e) => l.value = n
553
- }, w(e.label), 43, $e))), 128))], 2)
596
+ "data-value": t.value,
597
+ "aria-selected": t.value === e.modelValue ? "true" : "false",
598
+ "aria-disabled": t.disabled ? "true" : void 0,
599
+ onClick: (e) => _(t),
600
+ onMouseenter: (e) => a.value = n
601
+ }, j(t.label), 43, rt))), 128))], 2)
554
602
  ], 512));
555
603
  }
556
- }), tt = {
604
+ }), at = {
557
605
  class: "vd-flow",
558
606
  role: "region",
559
607
  "aria-roledescription": "carousel"
560
- }, nt = ["aria-hidden"], rt = {
608
+ }, ot = ["aria-hidden"], st = {
561
609
  key: 0,
562
610
  class: "vd-flow-controls"
563
- }, it = ["disabled"], at = { class: "vd-flow-position" }, ot = ["disabled"], st = /* @__PURE__ */ u({
611
+ }, ct = ["disabled"], lt = { class: "vd-flow-position" }, ut = ["disabled"], dt = /* @__PURE__ */ _({
564
612
  __name: "VdFlow",
565
613
  props: {
566
614
  modelValue: {},
567
615
  total: {}
568
616
  },
569
617
  emits: ["update:modelValue"],
570
- setup(t, { expose: r, emit: s }) {
571
- let c = t, l = s, u = y(c.modelValue), d = (e) => {
572
- let t = Math.max(0, Math.min(c.total - 1, e));
573
- t !== u.value && (u.value = t, l("update:modelValue", t));
574
- }, f = () => d(u.value - 1), m = () => d(u.value + 1);
575
- r({
576
- go: d,
577
- prev: f,
578
- next: m,
579
- index: u
618
+ setup(e, { expose: t, emit: n }) {
619
+ let r = e, i = n, a = E(r.modelValue), o = (e) => {
620
+ let t = Math.max(0, Math.min(r.total - 1, e));
621
+ t !== a.value && (a.value = t, i("update:modelValue", t));
622
+ }, c = () => o(a.value - 1), u = () => o(a.value + 1);
623
+ t({
624
+ go: o,
625
+ prev: c,
626
+ next: u,
627
+ index: a
580
628
  });
581
- let h = n(() => Array.from({ length: c.total }, (e, t) => t));
582
- return (n, r) => (_(), a("div", tt, [o("div", {
629
+ let m = l(() => Array.from({ length: r.total }, (e, t) => t));
630
+ return (t, n) => (w(), f("div", at, [p("div", {
583
631
  class: "vd-flow-track",
584
- style: p({ transform: `translateX(-${u.value * 100}%)` })
585
- }, [(_(!0), a(e, null, b(h.value, (e) => (_(), a("div", {
632
+ style: b({ transform: `translateX(-${a.value * 100}%)` })
633
+ }, [(w(!0), f(s, null, D(m.value, (e) => (w(), f("div", {
586
634
  key: e,
587
635
  class: "vd-flow-slide",
588
- "aria-hidden": e !== u.value
589
- }, [x(n.$slots, `slide-${e}`, { index: e })], 8, nt))), 128))], 4), t.total > 1 ? (_(), a("div", rt, [
590
- o("button", {
636
+ "aria-hidden": e !== a.value
637
+ }, [O(t.$slots, `slide-${e}`, { index: e })], 8, ot))), 128))], 4), e.total > 1 ? (w(), f("div", st, [
638
+ p("button", {
591
639
  type: "button",
592
640
  class: "vd-btn vd-btn-ghost vd-btn-icon",
593
641
  "aria-label": "Previous slide",
594
- disabled: u.value === 0,
595
- onClick: f
596
- }, " ‹ ", 8, it),
597
- o("span", at, w(u.value + 1) + " / " + w(t.total), 1),
598
- o("button", {
642
+ disabled: a.value === 0,
643
+ onClick: c
644
+ }, " ‹ ", 8, ct),
645
+ p("span", lt, j(a.value + 1) + " / " + j(e.total), 1),
646
+ p("button", {
599
647
  type: "button",
600
648
  class: "vd-btn vd-btn-ghost vd-btn-icon",
601
649
  "aria-label": "Next slide",
602
- disabled: u.value === t.total - 1,
603
- onClick: m
604
- }, " › ", 8, ot)
605
- ])) : i("", !0)]));
650
+ disabled: a.value === e.total - 1,
651
+ onClick: u
652
+ }, " › ", 8, ut)
653
+ ])) : d("", !0)]));
606
654
  }
607
- }), ct = [
655
+ }), ft = [
608
656
  "id",
609
657
  "type",
610
658
  "name",
@@ -617,7 +665,7 @@ var ae = { install(e) {
617
665
  "maxlength",
618
666
  "pattern",
619
667
  "autocomplete"
620
- ], lt = /* @__PURE__ */ u({
668
+ ], pt = /* @__PURE__ */ _({
621
669
  __name: "VdInput",
622
670
  props: {
623
671
  modelValue: {},
@@ -654,7 +702,7 @@ var ae = { install(e) {
654
702
  let t = e.target;
655
703
  r("update:modelValue", t.value);
656
704
  };
657
- return n.minlength, n.maxlength, (t, n) => (_(), a("input", {
705
+ return n.minlength, n.maxlength, (t, n) => (w(), f("input", {
658
706
  id: e.id || e.name,
659
707
  type: e.type,
660
708
  name: e.name,
@@ -667,22 +715,22 @@ var ae = { install(e) {
667
715
  maxlength: e.maxlength,
668
716
  pattern: e.pattern,
669
717
  autocomplete: e.autocomplete,
670
- class: f(["vd-input", [`vd-input-${e.size}`, e.variant === "default" ? null : `vd-input-${e.variant}`]]),
718
+ class: y(["vd-input", [`vd-input-${e.size}`, e.variant === "default" ? null : `vd-input-${e.variant}`]]),
671
719
  onInput: i,
672
720
  onBlur: n[0] ||= (e) => r("blur", e),
673
721
  onFocus: n[1] ||= (e) => r("focus", e)
674
- }, null, 42, ct));
722
+ }, null, 42, ft));
675
723
  }
676
- }), ut = ["aria-label"], dt = {
724
+ }), mt = ["aria-label"], ht = {
677
725
  key: 0,
678
726
  class: "vd-modal-header"
679
- }, ft = {
727
+ }, gt = {
680
728
  key: 0,
681
729
  class: "vd-modal-title"
682
- }, pt = { class: "vd-modal-body" }, mt = {
730
+ }, _t = { class: "vd-modal-body" }, vt = {
683
731
  key: 1,
684
732
  class: "vd-modal-footer"
685
- }, ht = /* @__PURE__ */ u({
733
+ }, yt = /* @__PURE__ */ _({
686
734
  __name: "VdModal",
687
735
  props: {
688
736
  open: { type: Boolean },
@@ -694,53 +742,53 @@ var ae = { install(e) {
694
742
  }
695
743
  },
696
744
  emits: ["update:open", "close"],
697
- setup(e, { emit: s }) {
698
- let c = e, u = s, p = y(null), m = n(() => `vd-modal-panel-${c.size}`), h = () => {
699
- u("update:open", !1), u("close");
700
- }, g = () => {
701
- c.closeOnBackdrop && h();
702
- }, v = (e) => {
703
- c.open && e.key === "Escape" && (e.preventDefault(), h());
745
+ setup(e, { emit: t }) {
746
+ let n = e, r = t, i = E(null), a = l(() => `vd-modal-panel-${n.size}`), o = () => {
747
+ r("update:open", !1), r("close");
748
+ }, s = () => {
749
+ n.closeOnBackdrop && o();
750
+ }, m = (e) => {
751
+ n.open && e.key === "Escape" && (e.preventDefault(), o());
704
752
  };
705
- return O(() => c.open, async (e) => {
706
- typeof window > "u" || (e ? (window.addEventListener("keydown", v), await d(), p.value?.focus()) : window.removeEventListener("keydown", v));
707
- }, { immediate: !0 }), (n, s) => (_(), r(t, { to: "body" }, [e.open ? (_(), a("div", {
753
+ return F(() => n.open, async (e) => {
754
+ typeof window > "u" || (e ? (window.addEventListener("keydown", m), await v(), i.value?.focus()) : window.removeEventListener("keydown", m));
755
+ }, { immediate: !0 }), (t, n) => (w(), u(c, { to: "body" }, [e.open ? (w(), f("div", {
708
756
  key: 0,
709
757
  class: "vd-modal vd-modal-open",
710
758
  role: "dialog",
711
759
  "aria-modal": "true",
712
760
  "aria-label": e.title || "Dialog",
713
761
  "data-vd-modal": ""
714
- }, [o("div", {
762
+ }, [p("div", {
715
763
  class: "vd-modal-backdrop",
716
- onClick: g
717
- }), o("div", {
764
+ onClick: s
765
+ }), p("div", {
718
766
  ref_key: "panel",
719
- ref: p,
720
- class: f(["vd-modal-panel", m.value]),
767
+ ref: i,
768
+ class: y(["vd-modal-panel", a.value]),
721
769
  tabindex: "-1"
722
770
  }, [
723
- e.title || n.$slots.header ? (_(), a("header", dt, [
724
- e.title ? (_(), a("h2", ft, w(e.title), 1)) : i("", !0),
725
- x(n.$slots, "header"),
726
- o("button", {
771
+ e.title || t.$slots.header ? (w(), f("header", ht, [
772
+ e.title ? (w(), f("h2", gt, j(e.title), 1)) : d("", !0),
773
+ O(t.$slots, "header"),
774
+ p("button", {
727
775
  type: "button",
728
776
  class: "vd-btn vd-btn-ghost vd-btn-icon",
729
777
  "aria-label": "Close",
730
- onClick: h
731
- }, [l(L, { name: "x" })])
732
- ])) : i("", !0),
733
- o("div", pt, [x(n.$slots, "default")]),
734
- n.$slots.footer ? (_(), a("footer", mt, [x(n.$slots, "footer")])) : i("", !0)
735
- ], 2)], 8, ut)) : i("", !0)]));
778
+ onClick: o
779
+ }, [g(Y, { name: "x" })])
780
+ ])) : d("", !0),
781
+ p("div", _t, [O(t.$slots, "default")]),
782
+ t.$slots.footer ? (w(), f("footer", vt, [O(t.$slots, "footer")])) : d("", !0)
783
+ ], 2)], 8, mt)) : d("", !0)]));
736
784
  }
737
- }), gt = ["aria-label"], _t = {
785
+ }), bt = ["aria-label"], xt = {
738
786
  key: 0,
739
787
  class: "vd-sidenav-header"
740
- }, vt = {
788
+ }, St = {
741
789
  key: 0,
742
790
  class: "vd-sidenav-title"
743
- }, yt = { class: "vd-sidenav-body" }, bt = /* @__PURE__ */ u({
791
+ }, Ct = { class: "vd-sidenav-body" }, wt = /* @__PURE__ */ _({
744
792
  __name: "VdOffcanvas",
745
793
  props: {
746
794
  modelValue: { type: Boolean },
@@ -756,47 +804,47 @@ var ae = { install(e) {
756
804
  }
757
805
  },
758
806
  emits: ["update:modelValue", "close"],
759
- setup(e, { emit: n }) {
760
- let s = e, c = n, l = () => {
761
- c("update:modelValue", !1), c("close");
762
- }, u = () => {
763
- s.closeOnBackdrop && l();
764
- }, d = (e) => {
765
- s.modelValue && e.key === "Escape" && s.closeOnEsc && (e.preventDefault(), l());
807
+ setup(e, { emit: t }) {
808
+ let n = e, r = t, i = () => {
809
+ r("update:modelValue", !1), r("close");
810
+ }, a = () => {
811
+ n.closeOnBackdrop && i();
812
+ }, o = (e) => {
813
+ n.modelValue && e.key === "Escape" && n.closeOnEsc && (e.preventDefault(), i());
766
814
  };
767
- return h(() => {
768
- typeof window > "u" || window.addEventListener("keydown", d);
769
- }), m(() => {
770
- typeof window > "u" || window.removeEventListener("keydown", d);
771
- }), O(() => s.modelValue, (e) => {
815
+ return S(() => {
816
+ typeof window > "u" || window.addEventListener("keydown", o);
817
+ }), x(() => {
818
+ typeof window > "u" || window.removeEventListener("keydown", o);
819
+ }), F(() => n.modelValue, (e) => {
772
820
  typeof document > "u" || (document.body.style.overflow = e ? "hidden" : "");
773
- }), (n, s) => (_(), r(t, { to: "body" }, [e.modelValue ? (_(), a("div", {
821
+ }), (t, n) => (w(), u(c, { to: "body" }, [e.modelValue ? (w(), f("div", {
774
822
  key: 0,
775
823
  class: "vd-sidenav-overlay is-visible",
776
- onClick: u
777
- })) : i("", !0), e.modelValue ? (_(), a("aside", {
824
+ onClick: a
825
+ })) : d("", !0), e.modelValue ? (w(), f("aside", {
778
826
  key: 1,
779
- class: f(["vd-offcanvas", [`vd-offcanvas-${e.placement}`, "is-open"]]),
827
+ class: y(["vd-offcanvas", [`vd-offcanvas-${e.placement}`, "is-open"]]),
780
828
  "aria-label": e.title || "Off-canvas panel"
781
- }, [e.title || n.$slots.header ? (_(), a("header", _t, [
782
- e.title ? (_(), a("h3", vt, w(e.title), 1)) : i("", !0),
783
- x(n.$slots, "header"),
784
- o("button", {
829
+ }, [e.title || t.$slots.header ? (w(), f("header", xt, [
830
+ e.title ? (w(), f("h3", St, j(e.title), 1)) : d("", !0),
831
+ O(t.$slots, "header"),
832
+ p("button", {
785
833
  type: "button",
786
834
  class: "vd-sidenav-close",
787
835
  "aria-label": "Close",
788
- onClick: l
836
+ onClick: i
789
837
  }, " × ")
790
- ])) : i("", !0), o("div", yt, [x(n.$slots, "default")])], 10, gt)) : i("", !0)]));
838
+ ])) : d("", !0), p("div", Ct, [O(t.$slots, "default")])], 10, bt)) : d("", !0)]));
791
839
  }
792
- }), xt = {
840
+ }), Tt = {
793
841
  key: 0,
794
842
  class: "vd-pagination-item"
795
- }, St = ["data-page"], Ct = [
843
+ }, Et = ["data-page"], Dt = [
796
844
  "aria-label",
797
845
  "aria-current",
798
846
  "onClick"
799
- ], wt = /* @__PURE__ */ u({
847
+ ], Ot = /* @__PURE__ */ _({
800
848
  __name: "VdPagination",
801
849
  props: {
802
850
  modelValue: {},
@@ -810,8 +858,8 @@ var ae = { install(e) {
810
858
  }
811
859
  },
812
860
  emits: ["update:modelValue"],
813
- setup(t, { emit: r }) {
814
- let i = t, s = r, c = y(null), l = (e, t, n) => {
861
+ setup(e, { emit: t }) {
862
+ let n = e, r = t, i = E(null), a = (e, t, n) => {
815
863
  let r = [], i = Math.floor(n / 2);
816
864
  if (t <= n) {
817
865
  for (let e = 1; e <= t; e++) r.push(e);
@@ -822,52 +870,52 @@ var ae = { install(e) {
822
870
  e <= i + 1 && (o = Math.min(t - 1, n - 1)), e >= t - i && (a = Math.max(2, t - n + 2)), a > 2 && r.push("ellipsis");
823
871
  for (let e = a; e <= o; e++) r.push(e);
824
872
  return o < t - 1 && r.push("ellipsis"), t > 1 && r.push(t), r;
825
- }, u = n(() => l(i.modelValue, i.total, i.maxVisible)), d = (e) => {
826
- i.disabled || e < 1 || e > i.total || e === i.modelValue || (s("update:modelValue", e), c.value?.dispatchEvent(new CustomEvent("pagination:change", {
873
+ }, o = l(() => a(n.modelValue, n.total, n.maxVisible)), c = (e) => {
874
+ n.disabled || e < 1 || e > n.total || e === n.modelValue || (r("update:modelValue", e), i.value?.dispatchEvent(new CustomEvent("pagination:change", {
827
875
  bubbles: !0,
828
876
  detail: {
829
877
  page: e,
830
- totalPages: i.total
878
+ totalPages: n.total
831
879
  }
832
880
  })));
833
881
  };
834
- return (n, r) => (_(), a("nav", {
882
+ return (t, n) => (w(), f("nav", {
835
883
  ref_key: "root",
836
- ref: c,
884
+ ref: i,
837
885
  "aria-label": "Pagination"
838
- }, [o("ul", { class: f(["vd-pagination", [`vd-pagination-${t.size}`, `vd-pagination-${t.align}`]]) }, [
839
- o("li", { class: f(["vd-pagination-item vd-pagination-prev", { disabled: t.disabled || t.modelValue <= 1 }]) }, [o("a", {
886
+ }, [p("ul", { class: y(["vd-pagination", [`vd-pagination-${e.size}`, `vd-pagination-${e.align}`]]) }, [
887
+ p("li", { class: y(["vd-pagination-item vd-pagination-prev", { disabled: e.disabled || e.modelValue <= 1 }]) }, [p("a", {
840
888
  class: "vd-pagination-link",
841
889
  href: "#",
842
890
  "aria-label": "Previous",
843
- onClick: r[0] ||= j((e) => d(t.modelValue - 1), ["prevent"])
891
+ onClick: n[0] ||= R((t) => c(e.modelValue - 1), ["prevent"])
844
892
  }, "Previous")], 2),
845
- (_(!0), a(e, null, b(u.value, (n, i) => (_(), a(e, { key: i }, [n === "ellipsis" ? (_(), a("li", xt, [...r[2] ||= [o("span", {
893
+ (w(!0), f(s, null, D(o.value, (t, r) => (w(), f(s, { key: r }, [t === "ellipsis" ? (w(), f("li", Tt, [...n[2] ||= [p("span", {
846
894
  class: "vd-pagination-ellipsis",
847
895
  "aria-hidden": "true"
848
- }, "…", -1)]])) : (_(), a("li", {
896
+ }, "…", -1)]])) : (w(), f("li", {
849
897
  key: 1,
850
- class: f(["vd-pagination-item", { active: n === t.modelValue }]),
851
- "data-page": n
852
- }, [o("a", {
898
+ class: y(["vd-pagination-item", { active: t === e.modelValue }]),
899
+ "data-page": t
900
+ }, [p("a", {
853
901
  class: "vd-pagination-link",
854
902
  href: "#",
855
- "aria-label": `Page ${n}`,
856
- "aria-current": n === t.modelValue ? "page" : void 0,
857
- onClick: j((e) => d(n), ["prevent"])
858
- }, w(n), 9, Ct)], 10, St))], 64))), 128)),
859
- o("li", { class: f(["vd-pagination-item vd-pagination-next", { disabled: t.disabled || t.modelValue >= t.total }]) }, [o("a", {
903
+ "aria-label": `Page ${t}`,
904
+ "aria-current": t === e.modelValue ? "page" : void 0,
905
+ onClick: R((e) => c(t), ["prevent"])
906
+ }, j(t), 9, Dt)], 10, Et))], 64))), 128)),
907
+ p("li", { class: y(["vd-pagination-item vd-pagination-next", { disabled: e.disabled || e.modelValue >= e.total }]) }, [p("a", {
860
908
  class: "vd-pagination-link",
861
909
  href: "#",
862
910
  "aria-label": "Next",
863
- onClick: r[1] ||= j((e) => d(t.modelValue + 1), ["prevent"])
911
+ onClick: n[1] ||= R((t) => c(e.modelValue + 1), ["prevent"])
864
912
  }, "Next")], 2)
865
913
  ], 2)], 512));
866
914
  }
867
- }), Tt = {
915
+ }), kt = {
868
916
  key: 0,
869
917
  class: "vd-preloader-text"
870
- }, Et = /* @__PURE__ */ u({
918
+ }, At = /* @__PURE__ */ _({
871
919
  __name: "VdPreloader",
872
920
  props: {
873
921
  variant: { default: "primary" },
@@ -876,20 +924,20 @@ var ae = { install(e) {
876
924
  text: { default: "" }
877
925
  },
878
926
  setup(e) {
879
- return (t, n) => (_(), a("div", {
880
- class: f(["vd-preloader-container", [`vd-preloader-${e.theme}`]]),
927
+ return (t, n) => (w(), f("div", {
928
+ class: y(["vd-preloader-container", [`vd-preloader-${e.theme}`]]),
881
929
  role: "status",
882
930
  "aria-live": "polite"
883
- }, [o("div", { class: f(["vd-preloader", [`vd-preloader-${e.variant}`, `vd-preloader-${e.size}`]]) }, [...n[0] ||= [o("div", { class: "vd-preloader-spinner" }, null, -1)]], 2), e.text ? (_(), a("span", Tt, w(e.text), 1)) : i("", !0)], 2));
931
+ }, [p("div", { class: y(["vd-preloader", [`vd-preloader-${e.variant}`, `vd-preloader-${e.size}`]]) }, [...n[0] ||= [p("div", { class: "vd-preloader-spinner" }, null, -1)]], 2), e.text ? (w(), f("span", kt, j(e.text), 1)) : d("", !0)], 2));
884
932
  }
885
- }), Dt = [
933
+ }), jt = [
886
934
  "aria-valuemax",
887
935
  "aria-valuenow",
888
936
  "aria-label"
889
- ], Ot = { class: "vd-progress-track" }, kt = {
937
+ ], Mt = { class: "vd-progress-track" }, Nt = {
890
938
  key: 0,
891
939
  class: "vd-progress-label vd-text-sm vd-muted"
892
- }, At = /* @__PURE__ */ u({
940
+ }, Pt = /* @__PURE__ */ _({
893
941
  __name: "VdProgress",
894
942
  props: {
895
943
  value: { default: 0 },
@@ -906,26 +954,26 @@ var ae = { install(e) {
906
954
  let e = t.max || 100;
907
955
  return Math.max(0, Math.min(100, t.value / e * 100));
908
956
  };
909
- return (t, r) => (_(), a("div", {
910
- class: f(["vd-progress", [e.indeterminate ? "is-indeterminate" : null]]),
957
+ return (t, r) => (w(), f("div", {
958
+ class: y(["vd-progress", [e.indeterminate ? "is-indeterminate" : null]]),
911
959
  role: "progressbar",
912
960
  "aria-valuemin": 0,
913
961
  "aria-valuemax": e.max,
914
962
  "aria-valuenow": e.indeterminate ? void 0 : e.value,
915
963
  "aria-label": e.label || "Progress"
916
- }, [o("div", Ot, [o("div", {
964
+ }, [p("div", Mt, [p("div", {
917
965
  class: "vd-progress-fill",
918
- style: p(e.indeterminate ? void 0 : { width: `${n()}%` })
919
- }, null, 4)]), !e.indeterminate && e.label ? (_(), a("span", kt, w(e.label) + " — " + w(Math.round(n())) + "% ", 1)) : i("", !0)], 10, Dt));
966
+ style: b(e.indeterminate ? void 0 : { width: `${n()}%` })
967
+ }, null, 4)]), !e.indeterminate && e.label ? (w(), f("span", Nt, j(e.label) + " — " + j(Math.round(n())) + "% ", 1)) : d("", !0)], 10, jt));
920
968
  }
921
- }), jt = [
969
+ }), Ft = [
922
970
  "id",
923
971
  "name",
924
972
  "value",
925
973
  "checked",
926
974
  "disabled",
927
975
  "onChange"
928
- ], Mt = ["for"], Nt = /* @__PURE__ */ u({
976
+ ], It = ["for"], Lt = /* @__PURE__ */ _({
929
977
  __name: "VdRadioGroup",
930
978
  props: {
931
979
  options: {},
@@ -942,35 +990,35 @@ var ae = { install(e) {
942
990
  }
943
991
  },
944
992
  emits: ["update:modelValue"],
945
- setup(t, { emit: n }) {
946
- let r = n;
947
- return (n, i) => (_(), a("div", {
948
- class: f(["vd-form-radio-group", { "vd-form-radio-group-inline": t.inline }]),
993
+ setup(e, { emit: t }) {
994
+ let n = t;
995
+ return (t, r) => (w(), f("div", {
996
+ class: y(["vd-form-radio-group", { "vd-form-radio-group-inline": e.inline }]),
949
997
  role: "radiogroup"
950
- }, [(_(!0), a(e, null, b(t.options, (e) => (_(), a("div", {
951
- key: e.value,
952
- class: f(["vd-form-radio", [`vd-form-radio-${t.size}`, { "vd-form-radio-inline": t.inline }]])
953
- }, [o("input", {
954
- id: `${t.name}-${e.value}`,
998
+ }, [(w(!0), f(s, null, D(e.options, (t) => (w(), f("div", {
999
+ key: t.value,
1000
+ class: y(["vd-form-radio", [`vd-form-radio-${e.size}`, { "vd-form-radio-inline": e.inline }]])
1001
+ }, [p("input", {
1002
+ id: `${e.name}-${t.value}`,
955
1003
  type: "radio",
956
- name: t.name,
957
- value: e.value,
958
- checked: t.modelValue === e.value,
959
- disabled: t.disabled || e.disabled,
1004
+ name: e.name,
1005
+ value: t.value,
1006
+ checked: e.modelValue === t.value,
1007
+ disabled: e.disabled || t.disabled,
960
1008
  class: "vd-form-radio-input",
961
- onChange: (t) => r("update:modelValue", e.value)
962
- }, null, 40, jt), o("label", {
963
- for: `${t.name}-${e.value}`,
1009
+ onChange: (e) => n("update:modelValue", t.value)
1010
+ }, null, 40, Ft), p("label", {
1011
+ for: `${e.name}-${t.value}`,
964
1012
  class: "vd-form-radio-label"
965
- }, w(e.label), 9, Mt)], 2))), 128))], 2));
1013
+ }, j(t.label), 9, It)], 2))), 128))], 2));
966
1014
  }
967
- }), Pt = [
1015
+ }), Rt = [
968
1016
  "aria-checked",
969
1017
  "aria-label",
970
1018
  "tabindex",
971
1019
  "onMouseenter",
972
1020
  "onClick"
973
- ], Ft = { class: "vd-rating-value" }, It = /* @__PURE__ */ u({
1021
+ ], zt = { class: "vd-rating-value" }, Bt = /* @__PURE__ */ _({
974
1022
  __name: "VdRating",
975
1023
  props: {
976
1024
  modelValue: {},
@@ -983,49 +1031,49 @@ var ae = { install(e) {
983
1031
  name: { default: "" }
984
1032
  },
985
1033
  emits: ["update:modelValue", "change"],
986
- setup(t, { emit: r }) {
987
- let i = t, s = r, c = y(i.modelValue), l = y(-1);
988
- O(() => i.modelValue, (e) => {
989
- c.value = e;
1034
+ setup(e, { emit: t }) {
1035
+ let n = e, r = t, i = E(n.modelValue), a = E(-1);
1036
+ F(() => n.modelValue, (e) => {
1037
+ i.value = e;
990
1038
  });
991
- let u = n(() => Array.from({ length: i.max }, (e, t) => t + 1)), d = (e) => ({
992
- "is-active": e <= Math.floor(c.value),
993
- "is-half": e > Math.floor(c.value) && e - .5 <= c.value,
994
- "is-hovered": l.value >= 0 && e <= l.value
995
- }), p = (e) => {
996
- i.readonly || (c.value = e, s("update:modelValue", e), s("change", e));
997
- }, m = (e) => {
998
- i.readonly || ((e.key === "ArrowRight" || e.key === "ArrowUp") && c.value < i.max ? (e.preventDefault(), p(c.value + 1)) : (e.key === "ArrowLeft" || e.key === "ArrowDown") && c.value > 1 && (e.preventDefault(), p(c.value - 1)));
1039
+ let o = l(() => Array.from({ length: n.max }, (e, t) => t + 1)), c = (e) => ({
1040
+ "is-active": e <= Math.floor(i.value),
1041
+ "is-half": e > Math.floor(i.value) && e - .5 <= i.value,
1042
+ "is-hovered": a.value >= 0 && e <= a.value
1043
+ }), u = (e) => {
1044
+ n.readonly || (i.value = e, r("update:modelValue", e), r("change", e));
1045
+ }, d = (e) => {
1046
+ n.readonly || ((e.key === "ArrowRight" || e.key === "ArrowUp") && i.value < n.max ? (e.preventDefault(), u(i.value + 1)) : (e.key === "ArrowLeft" || e.key === "ArrowDown") && i.value > 1 && (e.preventDefault(), u(i.value - 1)));
999
1047
  };
1000
- return (n, r) => (_(), a("div", {
1001
- class: f(["vd-rating", [t.size ? `vd-rating-${t.size}` : null, { "vd-rating-readonly": t.readonly }]]),
1048
+ return (t, n) => (w(), f("div", {
1049
+ class: y(["vd-rating", [e.size ? `vd-rating-${e.size}` : null, { "vd-rating-readonly": e.readonly }]]),
1002
1050
  role: "radiogroup",
1003
1051
  "aria-label": "Rating",
1004
- onKeydown: m,
1005
- onMouseleave: r[0] ||= (e) => l.value = -1
1006
- }, [(_(!0), a(e, null, b(u.value, (e) => (_(), a("button", {
1007
- key: e,
1052
+ onKeydown: d,
1053
+ onMouseleave: n[0] ||= (e) => a.value = -1
1054
+ }, [(w(!0), f(s, null, D(o.value, (t) => (w(), f("button", {
1055
+ key: t,
1008
1056
  type: "button",
1009
- class: f(["vd-rating-star", d(e)]),
1057
+ class: y(["vd-rating-star", c(t)]),
1010
1058
  role: "radio",
1011
- "aria-checked": e <= c.value ? "true" : "false",
1012
- "aria-label": `${e} star${e > 1 ? "s" : ""}`,
1013
- tabindex: t.readonly ? -1 : 0,
1014
- onMouseenter: (n) => t.readonly ? null : l.value = e,
1015
- onClick: (t) => p(e)
1016
- }, null, 42, Pt))), 128)), o("span", Ft, w(c.value > 0 ? c.value : ""), 1)], 34));
1059
+ "aria-checked": t <= i.value ? "true" : "false",
1060
+ "aria-label": `${t} star${t > 1 ? "s" : ""}`,
1061
+ tabindex: e.readonly ? -1 : 0,
1062
+ onMouseenter: (n) => e.readonly ? null : a.value = t,
1063
+ onClick: (e) => u(t)
1064
+ }, null, 42, Rt))), 128)), p("span", zt, j(i.value > 0 ? i.value : ""), 1)], 34));
1017
1065
  }
1018
- }), Lt = [
1066
+ }), Vt = [
1019
1067
  "id",
1020
1068
  "name",
1021
1069
  "value",
1022
1070
  "disabled",
1023
1071
  "required"
1024
- ], Rt = {
1072
+ ], Ht = {
1025
1073
  key: 0,
1026
1074
  value: "",
1027
1075
  disabled: ""
1028
- }, zt = ["value", "disabled"], Bt = { class: "vd-visually-hidden" }, Vt = /* @__PURE__ */ u({
1076
+ }, Ut = ["value", "disabled"], Wt = { class: "vd-visually-hidden" }, Gt = /* @__PURE__ */ _({
1029
1077
  __name: "VdSelect",
1030
1078
  props: {
1031
1079
  modelValue: {},
@@ -1043,39 +1091,39 @@ var ae = { install(e) {
1043
1091
  }
1044
1092
  },
1045
1093
  emits: ["update:modelValue"],
1046
- setup(t, { emit: r }) {
1047
- let s = t, c = r, l = y(s.modelValue);
1048
- O(() => s.modelValue, (e) => {
1049
- l.value = e;
1094
+ setup(e, { emit: t }) {
1095
+ let n = e, r = t, i = E(n.modelValue);
1096
+ F(() => n.modelValue, (e) => {
1097
+ i.value = e;
1050
1098
  });
1051
- let u = n(() => s.options.find((e) => e.value === l.value)?.label ?? "");
1052
- return (n, r) => (_(), a(e, null, [o("select", {
1053
- id: t.id || t.name,
1054
- name: t.name,
1055
- value: l.value,
1056
- disabled: t.disabled,
1057
- required: t.required,
1099
+ let a = l(() => n.options.find((e) => e.value === i.value)?.label ?? "");
1100
+ return (t, n) => (w(), f(s, null, [p("select", {
1101
+ id: e.id || e.name,
1102
+ name: e.name,
1103
+ value: i.value,
1104
+ disabled: e.disabled,
1105
+ required: e.required,
1058
1106
  class: "vd-input",
1059
- onChange: r[0] ||= (e) => {
1107
+ onChange: n[0] ||= (e) => {
1060
1108
  let t = e.target.value;
1061
- l.value = t, c("update:modelValue", t);
1109
+ i.value = t, r("update:modelValue", t);
1062
1110
  }
1063
- }, [t.placeholder ? (_(), a("option", Rt, w(t.placeholder), 1)) : i("", !0), (_(!0), a(e, null, b(t.options, (e) => (_(), a("option", {
1111
+ }, [e.placeholder ? (w(), f("option", Ht, j(e.placeholder), 1)) : d("", !0), (w(!0), f(s, null, D(e.options, (e) => (w(), f("option", {
1064
1112
  key: e.value,
1065
1113
  value: e.value,
1066
1114
  disabled: e.disabled
1067
- }, w(e.label), 9, zt))), 128))], 40, Lt), o("span", Bt, w(u.value), 1)], 64));
1115
+ }, j(e.label), 9, Ut))), 128))], 40, Vt), p("span", Wt, j(a.value), 1)], 64));
1068
1116
  }
1069
- }), Ht = ["aria-label"], Ut = {
1117
+ }), Kt = ["aria-label"], qt = {
1070
1118
  key: 0,
1071
1119
  class: "vd-sidenav-header"
1072
- }, Wt = {
1120
+ }, Jt = {
1073
1121
  key: 0,
1074
1122
  class: "vd-sidenav-title"
1075
- }, Gt = { class: "vd-sidenav-body" }, Kt = {
1123
+ }, Yt = { class: "vd-sidenav-body" }, Xt = {
1076
1124
  key: 1,
1077
1125
  class: "vd-sidenav-footer"
1078
- }, qt = /* @__PURE__ */ u({
1126
+ }, Zt = /* @__PURE__ */ _({
1079
1127
  __name: "VdSidenav",
1080
1128
  props: {
1081
1129
  modelValue: { type: Boolean },
@@ -1091,47 +1139,47 @@ var ae = { install(e) {
1091
1139
  }
1092
1140
  },
1093
1141
  emits: ["update:modelValue", "close"],
1094
- setup(e, { emit: n }) {
1095
- let s = e, c = n, l = () => {
1096
- c("update:modelValue", !1), c("close");
1097
- }, u = () => {
1098
- s.closeOnBackdrop && l();
1099
- }, d = (e) => {
1100
- s.modelValue && e.key === "Escape" && s.closeOnEsc && (e.preventDefault(), l());
1142
+ setup(e, { emit: t }) {
1143
+ let n = e, r = t, i = () => {
1144
+ r("update:modelValue", !1), r("close");
1145
+ }, a = () => {
1146
+ n.closeOnBackdrop && i();
1147
+ }, o = (e) => {
1148
+ n.modelValue && e.key === "Escape" && n.closeOnEsc && (e.preventDefault(), i());
1101
1149
  };
1102
- return h(() => {
1103
- typeof window > "u" || window.addEventListener("keydown", d);
1104
- }), m(() => {
1105
- typeof window > "u" || window.removeEventListener("keydown", d);
1106
- }), O(() => s.modelValue, (e) => {
1150
+ return S(() => {
1151
+ typeof window > "u" || window.addEventListener("keydown", o);
1152
+ }), x(() => {
1153
+ typeof window > "u" || window.removeEventListener("keydown", o);
1154
+ }), F(() => n.modelValue, (e) => {
1107
1155
  typeof document > "u" || (document.body.style.overflow = e ? "hidden" : "");
1108
- }), (n, s) => (_(), r(t, { to: "body" }, [e.modelValue ? (_(), a("div", {
1156
+ }), (t, n) => (w(), u(c, { to: "body" }, [e.modelValue ? (w(), f("div", {
1109
1157
  key: 0,
1110
1158
  class: "vd-sidenav-overlay is-visible",
1111
- onClick: u
1112
- })) : i("", !0), e.modelValue ? (_(), a("aside", {
1159
+ onClick: a
1160
+ })) : d("", !0), e.modelValue ? (w(), f("aside", {
1113
1161
  key: 1,
1114
- class: f(["vd-sidenav", [`vd-sidenav-${e.placement}`, "is-open"]]),
1162
+ class: y(["vd-sidenav", [`vd-sidenav-${e.placement}`, "is-open"]]),
1115
1163
  "aria-label": e.title || "Side navigation"
1116
1164
  }, [
1117
- e.title || n.$slots.header ? (_(), a("header", Ut, [
1118
- e.title ? (_(), a("h3", Wt, w(e.title), 1)) : i("", !0),
1119
- x(n.$slots, "header"),
1120
- o("button", {
1165
+ e.title || t.$slots.header ? (w(), f("header", qt, [
1166
+ e.title ? (w(), f("h3", Jt, j(e.title), 1)) : d("", !0),
1167
+ O(t.$slots, "header"),
1168
+ p("button", {
1121
1169
  type: "button",
1122
1170
  class: "vd-sidenav-close",
1123
1171
  "aria-label": "Close",
1124
- onClick: l
1172
+ onClick: i
1125
1173
  }, " × ")
1126
- ])) : i("", !0),
1127
- o("div", Gt, [x(n.$slots, "default")]),
1128
- n.$slots.footer ? (_(), a("footer", Kt, [x(n.$slots, "footer")])) : i("", !0)
1129
- ], 10, Ht)) : i("", !0)]));
1174
+ ])) : d("", !0),
1175
+ p("div", Yt, [O(t.$slots, "default")]),
1176
+ t.$slots.footer ? (w(), f("footer", Xt, [O(t.$slots, "footer")])) : d("", !0)
1177
+ ], 10, Kt)) : d("", !0)]));
1130
1178
  }
1131
- }), Jt = {
1179
+ }), Qt = {
1132
1180
  key: 3,
1133
1181
  class: "vd-skeleton-lines"
1134
- }, Yt = /* @__PURE__ */ u({
1182
+ }, $t = /* @__PURE__ */ _({
1135
1183
  __name: "VdSkeleton",
1136
1184
  props: {
1137
1185
  shape: { default: "text" },
@@ -1139,42 +1187,42 @@ var ae = { install(e) {
1139
1187
  width: { default: "" },
1140
1188
  lines: { default: 1 }
1141
1189
  },
1142
- setup(t) {
1143
- return (n, r) => t.shape === "card" ? (_(), a("div", {
1190
+ setup(e) {
1191
+ return (t, n) => e.shape === "card" ? (w(), f("div", {
1144
1192
  key: 0,
1145
- class: f(["vd-skeleton-card", `vd-skeleton-card-${t.size}`])
1146
- }, [...r[0] ||= [s("<div class=\"vd-skeleton vd-skeleton-card-header\"></div><div class=\"vd-skeleton-card-body\"><div class=\"vd-skeleton vd-skeleton-text\"></div><div class=\"vd-skeleton vd-skeleton-text\"></div><div class=\"vd-skeleton vd-skeleton-text vd-skeleton-text-short\"></div></div>", 2)]], 2)) : t.shape === "button" ? (_(), a("div", {
1193
+ class: y(["vd-skeleton-card", `vd-skeleton-card-${e.size}`])
1194
+ }, [...n[0] ||= [m("<div class=\"vd-skeleton vd-skeleton-card-header\"></div><div class=\"vd-skeleton-card-body\"><div class=\"vd-skeleton vd-skeleton-text\"></div><div class=\"vd-skeleton vd-skeleton-text\"></div><div class=\"vd-skeleton vd-skeleton-text vd-skeleton-text-short\"></div></div>", 2)]], 2)) : e.shape === "button" ? (w(), f("div", {
1147
1195
  key: 1,
1148
- class: f(["vd-skeleton vd-skeleton-button", `vd-skeleton-button-${t.size}`])
1149
- }, null, 2)) : t.shape === "circle" ? (_(), a("div", {
1196
+ class: y(["vd-skeleton vd-skeleton-button", `vd-skeleton-button-${e.size}`])
1197
+ }, null, 2)) : e.shape === "circle" ? (w(), f("div", {
1150
1198
  key: 2,
1151
- class: f(["vd-skeleton vd-skeleton-circle", `vd-skeleton-circle-${t.size}`])
1152
- }, null, 2)) : t.lines > 1 ? (_(), a("div", Jt, [(_(!0), a(e, null, b(t.lines, (e) => (_(), a("div", {
1153
- key: e,
1154
- class: f(["vd-skeleton vd-skeleton-text", e === t.lines ? "vd-skeleton-text-short" : ""])
1155
- }, null, 2))), 128))])) : (_(), a("div", {
1199
+ class: y(["vd-skeleton vd-skeleton-circle", `vd-skeleton-circle-${e.size}`])
1200
+ }, null, 2)) : e.lines > 1 ? (w(), f("div", Qt, [(w(!0), f(s, null, D(e.lines, (t) => (w(), f("div", {
1201
+ key: t,
1202
+ class: y(["vd-skeleton vd-skeleton-text", t === e.lines ? "vd-skeleton-text-short" : ""])
1203
+ }, null, 2))), 128))])) : (w(), f("div", {
1156
1204
  key: 4,
1157
- class: f(["vd-skeleton vd-skeleton-text", `vd-skeleton-text-${t.size}`]),
1158
- style: p(t.width ? `width: ${t.width}` : "")
1205
+ class: y(["vd-skeleton vd-skeleton-text", `vd-skeleton-text-${e.size}`]),
1206
+ style: b(e.width ? `width: ${e.width}` : "")
1159
1207
  }, null, 6));
1160
1208
  }
1161
- }), Xt = ["aria-label"], Zt = /* @__PURE__ */ u({
1209
+ }), en = ["aria-label"], tn = /* @__PURE__ */ _({
1162
1210
  __name: "VdSpinner",
1163
1211
  props: {
1164
1212
  size: { default: "md" },
1165
1213
  label: { default: "" }
1166
1214
  },
1167
1215
  setup(e) {
1168
- return (t, n) => (_(), a("span", {
1169
- class: f(["vd-spinner", `vd-spinner-${e.size}`]),
1216
+ return (t, n) => (w(), f("span", {
1217
+ class: y(["vd-spinner", `vd-spinner-${e.size}`]),
1170
1218
  role: "status",
1171
1219
  "aria-label": e.label || "Loading"
1172
- }, [l(L, { name: "circle-notch" })], 10, Xt));
1220
+ }, [g(Y, { name: "circle-notch" })], 10, en));
1173
1221
  }
1174
- }), Qt = { class: "vd-table-responsive" }, $t = {
1222
+ }), nn = { class: "vd-table-responsive" }, rn = {
1175
1223
  key: 0,
1176
1224
  class: "vd-table-caption"
1177
- }, en = { class: "vd-table-header" }, tn = /* @__PURE__ */ u({
1225
+ }, an = { class: "vd-table-header" }, on = /* @__PURE__ */ _({
1178
1226
  __name: "VdTable",
1179
1227
  props: {
1180
1228
  columns: {},
@@ -1193,124 +1241,124 @@ var ae = { install(e) {
1193
1241
  },
1194
1242
  caption: { default: "" }
1195
1243
  },
1196
- setup(t) {
1197
- return (n, r) => (_(), a("div", Qt, [o("table", { class: f(["vd-table", {
1198
- "vd-table-striped": t.striped,
1199
- "vd-table-bordered": t.bordered,
1200
- "vd-table-hover": t.hover
1244
+ setup(e) {
1245
+ return (t, n) => (w(), f("div", nn, [p("table", { class: y(["vd-table", {
1246
+ "vd-table-striped": e.striped,
1247
+ "vd-table-bordered": e.bordered,
1248
+ "vd-table-hover": e.hover
1201
1249
  }]) }, [
1202
- t.caption ? (_(), a("caption", $t, w(t.caption), 1)) : i("", !0),
1203
- o("thead", en, [o("tr", null, [(_(!0), a(e, null, b(t.columns, (e) => (_(), a("th", {
1250
+ e.caption ? (w(), f("caption", rn, j(e.caption), 1)) : d("", !0),
1251
+ p("thead", an, [p("tr", null, [(w(!0), f(s, null, D(e.columns, (e) => (w(), f("th", {
1204
1252
  key: e.key,
1205
1253
  scope: "col"
1206
- }, w(e.label), 1))), 128))])]),
1207
- o("tbody", null, [(_(!0), a(e, null, b(t.rows, (n, r) => (_(), a("tr", { key: r }, [(_(!0), a(e, null, b(t.columns, (e) => (_(), a("td", { key: e.key }, w(n[e.key]), 1))), 128))]))), 128))])
1254
+ }, j(e.label), 1))), 128))])]),
1255
+ p("tbody", null, [(w(!0), f(s, null, D(e.rows, (t, n) => (w(), f("tr", { key: n }, [(w(!0), f(s, null, D(e.columns, (e) => (w(), f("td", { key: e.key }, j(t[e.key]), 1))), 128))]))), 128))])
1208
1256
  ], 2)]));
1209
1257
  }
1210
- }), nn = {
1258
+ }), sn = {
1211
1259
  class: "vd-tabs",
1212
1260
  role: "tablist"
1213
- }, rn = {
1261
+ }, cn = {
1214
1262
  class: "vd-tab-list",
1215
1263
  role: "presentation"
1216
- }, an = ["aria-selected", "onClick"], on = { class: "vd-tab-panels" }, sn = /* @__PURE__ */ u({
1264
+ }, ln = ["aria-selected", "onClick"], un = { class: "vd-tab-panels" }, dn = /* @__PURE__ */ _({
1217
1265
  __name: "VdTabs",
1218
1266
  props: {
1219
1267
  tabs: {},
1220
1268
  modelValue: {}
1221
1269
  },
1222
1270
  emits: ["update:modelValue"],
1223
- setup(t, { emit: n }) {
1224
- let r = t, i = n, s = (e) => {
1225
- e !== r.modelValue && i("update:modelValue", e);
1271
+ setup(e, { emit: t }) {
1272
+ let n = e, r = t, i = (e) => {
1273
+ e !== n.modelValue && r("update:modelValue", e);
1226
1274
  };
1227
- return (n, r) => (_(), a("div", nn, [o("div", rn, [(_(!0), a(e, null, b(t.tabs, (e) => (_(), a("button", {
1228
- key: e.id,
1275
+ return (t, n) => (w(), f("div", sn, [p("div", cn, [(w(!0), f(s, null, D(e.tabs, (t) => (w(), f("button", {
1276
+ key: t.id,
1229
1277
  type: "button",
1230
1278
  role: "tab",
1231
- "aria-selected": e.id === t.modelValue,
1232
- class: f(["vd-tab", e.id === t.modelValue ? "is-active" : null]),
1233
- onClick: (t) => s(e.id)
1234
- }, w(e.label), 11, an))), 128))]), o("div", on, [x(n.$slots, "default")])]));
1279
+ "aria-selected": t.id === e.modelValue,
1280
+ class: y(["vd-tab", t.id === e.modelValue ? "is-active" : null]),
1281
+ onClick: (e) => i(t.id)
1282
+ }, j(t.label), 11, ln))), 128))]), p("div", un, [O(t.$slots, "default")])]));
1235
1283
  }
1236
- }), cn = ["innerHTML"], ln = { class: "vd-toast-content" }, un = {
1284
+ }), fn = ["innerHTML"], pn = { class: "vd-toast-content" }, mn = {
1237
1285
  key: 0,
1238
1286
  class: "vd-toast-title"
1239
- }, dn = { class: "vd-toast-message" }, fn = /* @__PURE__ */ u({
1287
+ }, hn = { class: "vd-toast-message" }, X = /* @__PURE__ */ _({
1240
1288
  __name: "VdToast",
1241
1289
  props: { toast: {} },
1242
1290
  emits: ["dismiss"],
1243
1291
  setup(e, { emit: t }) {
1244
- let n = e, r = t, s = {
1292
+ let n = e, r = t, i = {
1245
1293
  success: "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M22 11.08V12a10 10 0 1 1-5.93-9.14\"></path><polyline points=\"22 4 12 14.01 9 11.01\"></polyline></svg>",
1246
1294
  error: "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"10\"></circle><line x1=\"15\" y1=\"9\" x2=\"9\" y2=\"15\"></line><line x1=\"9\" y1=\"9\" x2=\"15\" y2=\"15\"></line></svg>",
1247
1295
  warning: "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z\"></path><line x1=\"12\" y1=\"9\" x2=\"12\" y2=\"13\"></line><line x1=\"12\" y1=\"17\" x2=\"12.01\" y2=\"17\"></line></svg>",
1248
1296
  info: "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"10\"></circle><line x1=\"12\" y1=\"16\" x2=\"12\" y2=\"12\"></line><line x1=\"12\" y1=\"8\" x2=\"12.01\" y2=\"8\"></line></svg>"
1249
- }, c = y(!1), l = y(!1), u = y(!1), d = null, g = null, v = 0, b = n.toast.duration, x = () => {
1250
- d != null && (window.clearTimeout(d), d = null);
1251
- }, S = () => {
1252
- u.value = !1, n.toast.duration > 0 && typeof window < "u" && (v = Date.now(), d = window.setTimeout(T, b));
1297
+ }, a = E(!1), o = E(!1), s = E(!1), c = null, l = null, u = 0, m = n.toast.duration, h = () => {
1298
+ c != null && (window.clearTimeout(c), c = null);
1299
+ }, g = () => {
1300
+ s.value = !1, n.toast.duration > 0 && typeof window < "u" && (u = Date.now(), c = window.setTimeout(v, m));
1301
+ }, _ = () => {
1302
+ c != null && (window.clearTimeout(c), c = null, m -= Date.now() - u, s.value = !0);
1303
+ }, v = () => {
1304
+ o.value || (h(), a.value = !1, o.value = !0, l = window.setTimeout(() => r("dismiss", n.toast.id), 400));
1253
1305
  }, C = () => {
1254
- d != null && (window.clearTimeout(d), d = null, b -= Date.now() - v, u.value = !0);
1255
- }, T = () => {
1256
- l.value || (x(), c.value = !1, l.value = !0, g = window.setTimeout(() => r("dismiss", n.toast.id), 400));
1257
- }, E = () => {
1258
- l.value && r("dismiss", n.toast.id);
1306
+ o.value && r("dismiss", n.toast.id);
1259
1307
  };
1260
- return h(() => {
1308
+ return S(() => {
1261
1309
  requestAnimationFrame(() => {
1262
- c.value = !0, S();
1310
+ a.value = !0, g();
1263
1311
  });
1264
- }), m(() => {
1265
- x(), g != null && window.clearTimeout(g);
1266
- }), (t, n) => (_(), a("div", {
1267
- class: f([
1312
+ }), x(() => {
1313
+ h(), l != null && window.clearTimeout(l);
1314
+ }), (t, n) => (w(), f("div", {
1315
+ class: y([
1268
1316
  "vd-toast",
1269
1317
  e.toast.type ? `vd-toast-${e.toast.type}` : null,
1270
1318
  e.toast.solid ? "vd-toast-solid" : null,
1271
1319
  e.toast.showProgress && e.toast.duration > 0 ? "vd-toast-with-progress" : null,
1272
1320
  {
1273
- "is-visible": c.value,
1274
- "is-exiting": l.value
1321
+ "is-visible": a.value,
1322
+ "is-exiting": o.value
1275
1323
  }
1276
1324
  ]),
1277
1325
  role: "status",
1278
1326
  "aria-live": "polite",
1279
- onMouseenter: C,
1280
- onMouseleave: S,
1281
- onTransitionend: E
1327
+ onMouseenter: _,
1328
+ onMouseleave: g,
1329
+ onTransitionend: C
1282
1330
  }, [
1283
- e.toast.type ? (_(), a("span", {
1331
+ e.toast.type ? (w(), f("span", {
1284
1332
  key: 0,
1285
1333
  class: "vd-toast-icon",
1286
- innerHTML: s[e.toast.type]
1287
- }, null, 8, cn)) : i("", !0),
1288
- o("div", ln, [e.toast.title ? (_(), a("div", un, w(e.toast.title), 1)) : i("", !0), o("div", dn, w(e.toast.message), 1)]),
1289
- e.toast.dismissible ? (_(), a("button", {
1334
+ innerHTML: i[e.toast.type]
1335
+ }, null, 8, fn)) : d("", !0),
1336
+ p("div", pn, [e.toast.title ? (w(), f("div", mn, j(e.toast.title), 1)) : d("", !0), p("div", hn, j(e.toast.message), 1)]),
1337
+ e.toast.dismissible ? (w(), f("button", {
1290
1338
  key: 1,
1291
1339
  type: "button",
1292
1340
  class: "vd-toast-close",
1293
1341
  "aria-label": "Close",
1294
- onClick: T
1295
- })) : i("", !0),
1296
- e.toast.showProgress && e.toast.duration > 0 ? (_(), a("div", {
1342
+ onClick: v
1343
+ })) : d("", !0),
1344
+ e.toast.showProgress && e.toast.duration > 0 ? (w(), f("div", {
1297
1345
  key: 2,
1298
1346
  class: "vd-toast-progress",
1299
- style: p({
1347
+ style: b({
1300
1348
  animationDuration: `${e.toast.duration}ms`,
1301
- animationPlayState: u.value ? "paused" : "running"
1349
+ animationPlayState: s.value ? "paused" : "running"
1302
1350
  })
1303
- }, null, 4)) : i("", !0)
1351
+ }, null, 4)) : d("", !0)
1304
1352
  ], 34));
1305
1353
  }
1306
- }), R = {
1354
+ }), Z = {
1307
1355
  duration: 5e3,
1308
1356
  position: "top-right",
1309
1357
  dismissible: !0,
1310
1358
  showProgress: !0,
1311
1359
  solid: !1
1312
- }, pn = 0, mn = () => (pn += 1, `toast-${Date.now().toString(36)}-${pn}`), z = M("toast", () => {
1313
- let e = y([]), t = (t, n, r) => {
1360
+ }, gn = 0, _n = () => (gn += 1, `toast-${Date.now().toString(36)}-${gn}`), Q = ee("toast", () => {
1361
+ let e = E([]), t = (t, n, r) => {
1314
1362
  let i;
1315
1363
  i = typeof t == "string" ? n && typeof n == "object" ? {
1316
1364
  ...n,
@@ -1320,16 +1368,16 @@ var ae = { install(e) {
1320
1368
  type: n,
1321
1369
  duration: r
1322
1370
  } : { ...t };
1323
- let a = mn(), o = {
1371
+ let a = _n(), o = {
1324
1372
  id: a,
1325
1373
  message: i.message ?? "",
1326
1374
  title: i.title,
1327
1375
  type: i.type,
1328
- duration: i.duration ?? R.duration,
1329
- position: i.position ?? R.position,
1330
- dismissible: i.dismissible ?? R.dismissible,
1331
- showProgress: i.showProgress ?? R.showProgress,
1332
- solid: i.solid ?? R.solid
1376
+ duration: i.duration ?? Z.duration,
1377
+ position: i.position ?? Z.position,
1378
+ dismissible: i.dismissible ?? Z.dismissible,
1379
+ showProgress: i.showProgress ?? Z.showProgress,
1380
+ solid: i.solid ?? Z.solid
1333
1381
  };
1334
1382
  return e.value.push(o), a;
1335
1383
  };
@@ -1360,8 +1408,8 @@ var ae = { install(e) {
1360
1408
  type: "info"
1361
1409
  })
1362
1410
  };
1363
- }), hn = () => {
1364
- let e = z();
1411
+ }), vn = () => {
1412
+ let e = Q();
1365
1413
  return {
1366
1414
  show: e.show,
1367
1415
  dismiss: e.dismiss,
@@ -1371,236 +1419,236 @@ var ae = { install(e) {
1371
1419
  info: e.info,
1372
1420
  queue: e.queue
1373
1421
  };
1374
- }, gn = /* @__PURE__ */ u({
1422
+ }, yn = /* @__PURE__ */ _({
1375
1423
  __name: "VdToastContainer",
1376
- setup(i) {
1377
- let o = z(), s = [
1424
+ setup(e) {
1425
+ let t = Q(), n = [
1378
1426
  "top-right",
1379
1427
  "top-left",
1380
1428
  "top-center",
1381
1429
  "bottom-right",
1382
1430
  "bottom-left",
1383
1431
  "bottom-center"
1384
- ], c = n(() => s.map((e) => ({
1432
+ ], r = l(() => n.map((e) => ({
1385
1433
  position: e,
1386
- toasts: o.queue.filter((t) => t.position === e)
1434
+ toasts: t.queue.filter((t) => t.position === e)
1387
1435
  })).filter((e) => e.toasts.length > 0));
1388
- return (n, i) => (_(), r(t, { to: "body" }, [(_(!0), a(e, null, b(c.value, (t) => (_(), a("div", {
1389
- key: t.position,
1390
- class: f(["vd-toast-container", `vd-toast-container-${t.position}`]),
1436
+ return (e, n) => (w(), u(c, { to: "body" }, [(w(!0), f(s, null, D(r.value, (e) => (w(), f("div", {
1437
+ key: e.position,
1438
+ class: y(["vd-toast-container", `vd-toast-container-${e.position}`]),
1391
1439
  role: "status",
1392
1440
  "aria-live": "polite",
1393
1441
  "aria-atomic": "false"
1394
- }, [(_(!0), a(e, null, b(t.toasts, (e) => (_(), r(fn, {
1442
+ }, [(w(!0), f(s, null, D(e.toasts, (e) => (w(), u(X, {
1395
1443
  key: e.id,
1396
1444
  toast: e,
1397
- onDismiss: T(o).dismiss
1445
+ onDismiss: M(t).dismiss
1398
1446
  }, null, 8, ["toast", "onDismiss"]))), 128))], 2))), 128))]));
1399
1447
  }
1400
- }), _n = ["data-tooltip-position", "data-tooltip"], vn = /* @__PURE__ */ u({
1448
+ }), bn = ["data-tooltip-position", "data-tooltip"], xn = /* @__PURE__ */ _({
1401
1449
  __name: "VdTooltip",
1402
1450
  props: {
1403
1451
  text: {},
1404
1452
  position: { default: "top" }
1405
1453
  },
1406
1454
  setup(e) {
1407
- return (t, n) => (_(), a("span", {
1455
+ return (t, n) => (w(), f("span", {
1408
1456
  class: "vd-tooltip",
1409
1457
  "data-tooltip-position": e.position,
1410
1458
  "data-tooltip": e.text
1411
- }, [x(t.$slots, "default")], 8, _n));
1459
+ }, [O(t.$slots, "default")], 8, bn));
1412
1460
  }
1413
- }), yn = { class: "vd-transfer-panel" }, bn = { class: "vd-transfer-header" }, xn = {
1461
+ }), Sn = { class: "vd-transfer-panel" }, Cn = { class: "vd-transfer-header" }, wn = {
1414
1462
  class: "vd-transfer-count",
1415
1463
  "aria-live": "polite"
1416
- }, Sn = { class: "vd-transfer-search" }, Cn = {
1464
+ }, Tn = { class: "vd-transfer-search" }, En = {
1417
1465
  class: "vd-transfer-list",
1418
1466
  role: "listbox",
1419
1467
  "aria-multiselectable": "true"
1420
- }, wn = ["aria-selected", "onClick"], Tn = ["checked", "aria-label"], En = { class: "vd-transfer-actions" }, Dn = ["disabled"], On = ["disabled"], kn = { class: "vd-transfer-panel" }, An = { class: "vd-transfer-header" }, jn = {
1468
+ }, Dn = ["aria-selected", "onClick"], On = ["checked", "aria-label"], kn = { class: "vd-transfer-actions" }, An = ["disabled"], jn = ["disabled"], Mn = { class: "vd-transfer-panel" }, Nn = { class: "vd-transfer-header" }, Pn = {
1421
1469
  class: "vd-transfer-count",
1422
1470
  "aria-live": "polite"
1423
- }, Mn = { class: "vd-transfer-search" }, Nn = {
1471
+ }, Fn = { class: "vd-transfer-search" }, In = {
1424
1472
  class: "vd-transfer-list",
1425
1473
  role: "listbox",
1426
1474
  "aria-multiselectable": "true"
1427
- }, Pn = ["aria-selected", "onClick"], Fn = ["checked", "aria-label"], In = /* @__PURE__ */ u({
1475
+ }, Ln = ["aria-selected", "onClick"], Rn = ["checked", "aria-label"], zn = /* @__PURE__ */ _({
1428
1476
  __name: "VdTransfer",
1429
1477
  props: { items: {} },
1430
- setup(t, { expose: r }) {
1431
- let i = t, s = y(null), c = y(i.items.map((e) => ({ ...e }))), l = y([]), u = y(/* @__PURE__ */ new Set()), d = y(/* @__PURE__ */ new Set()), p = y(""), m = y(""), h = (e, t) => {
1478
+ setup(e, { expose: t }) {
1479
+ let n = e, r = E(null), i = E(n.items.map((e) => ({ ...e }))), a = E([]), o = E(/* @__PURE__ */ new Set()), c = E(/* @__PURE__ */ new Set()), u = E(""), d = E(""), m = (e, t) => {
1432
1480
  if (!t) return e;
1433
1481
  let n = t.toLowerCase();
1434
1482
  return e.filter((e) => e.label.toLowerCase().includes(n));
1435
- }, g = n(() => h(c.value, p.value)), v = n(() => h(l.value, m.value)), x = (e, t) => {
1436
- let n = e === "source" ? u : d, r = new Set(n.value);
1483
+ }, h = l(() => m(i.value, u.value)), g = l(() => m(a.value, d.value)), _ = (e, t) => {
1484
+ let n = e === "source" ? o : c, r = new Set(n.value);
1437
1485
  r.has(t) ? r.delete(t) : r.add(t), n.value = r;
1438
- }, S = () => {
1439
- s.value?.dispatchEvent(new CustomEvent("transfer:change", {
1486
+ }, v = () => {
1487
+ r.value?.dispatchEvent(new CustomEvent("transfer:change", {
1440
1488
  bubbles: !0,
1441
1489
  detail: {
1442
- selected: l.value.map((e) => e.id),
1443
- available: c.value.map((e) => e.id)
1490
+ selected: a.value.map((e) => e.id),
1491
+ available: i.value.map((e) => e.id)
1444
1492
  }
1445
1493
  }));
1446
- }, C = () => {
1447
- if (u.value.size === 0) return;
1448
- let e = c.value.filter((e) => u.value.has(e.id));
1449
- c.value = c.value.filter((e) => !u.value.has(e.id)), l.value = [...l.value, ...e], u.value = /* @__PURE__ */ new Set(), S();
1450
- }, T = () => {
1451
- if (d.value.size === 0) return;
1452
- let e = l.value.filter((e) => d.value.has(e.id));
1453
- l.value = l.value.filter((e) => !d.value.has(e.id)), c.value = [...c.value, ...e], d.value = /* @__PURE__ */ new Set(), S();
1494
+ }, b = () => {
1495
+ if (o.value.size === 0) return;
1496
+ let e = i.value.filter((e) => o.value.has(e.id));
1497
+ i.value = i.value.filter((e) => !o.value.has(e.id)), a.value = [...a.value, ...e], o.value = /* @__PURE__ */ new Set(), v();
1498
+ }, x = () => {
1499
+ if (c.value.size === 0) return;
1500
+ let e = a.value.filter((e) => c.value.has(e.id));
1501
+ a.value = a.value.filter((e) => !c.value.has(e.id)), i.value = [...i.value, ...e], c.value = /* @__PURE__ */ new Set(), v();
1454
1502
  };
1455
- return r({ getSelected: () => l.value.map((e) => e.id) }), (t, n) => (_(), a("div", {
1503
+ return t({ getSelected: () => a.value.map((e) => e.id) }), (e, t) => (w(), f("div", {
1456
1504
  ref_key: "root",
1457
- ref: s,
1505
+ ref: r,
1458
1506
  class: "vd-transfer"
1459
1507
  }, [
1460
- o("div", yn, [
1461
- o("div", bn, [n[2] ||= o("span", null, "Source", -1), o("span", xn, w(u.value.size) + "/" + w(c.value.length), 1)]),
1462
- o("div", Sn, [A(o("input", {
1463
- "onUpdate:modelValue": n[0] ||= (e) => p.value = e,
1508
+ p("div", Sn, [
1509
+ p("div", Cn, [t[2] ||= p("span", null, "Source", -1), p("span", wn, j(o.value.size) + "/" + j(i.value.length), 1)]),
1510
+ p("div", Tn, [L(p("input", {
1511
+ "onUpdate:modelValue": t[0] ||= (e) => u.value = e,
1464
1512
  type: "text",
1465
1513
  placeholder: "Search...",
1466
1514
  "aria-label": "Search source"
1467
- }, null, 512), [[E, p.value]])]),
1468
- o("ul", Cn, [(_(!0), a(e, null, b(g.value, (e) => (_(), a("li", {
1515
+ }, null, 512), [[N, u.value]])]),
1516
+ p("ul", En, [(w(!0), f(s, null, D(h.value, (e) => (w(), f("li", {
1469
1517
  key: e.id,
1470
- class: f(["vd-transfer-item", { "is-selected": u.value.has(e.id) }]),
1518
+ class: y(["vd-transfer-item", { "is-selected": o.value.has(e.id) }]),
1471
1519
  role: "option",
1472
- "aria-selected": u.value.has(e.id),
1473
- onClick: (t) => x("source", e.id)
1474
- }, [o("input", {
1520
+ "aria-selected": o.value.has(e.id),
1521
+ onClick: (t) => _("source", e.id)
1522
+ }, [p("input", {
1475
1523
  type: "checkbox",
1476
- checked: u.value.has(e.id),
1524
+ checked: o.value.has(e.id),
1477
1525
  "aria-label": e.label,
1478
1526
  tabindex: "-1"
1479
- }, null, 8, Tn), o("span", null, w(e.label), 1)], 10, wn))), 128))])
1527
+ }, null, 8, On), p("span", null, j(e.label), 1)], 10, Dn))), 128))])
1480
1528
  ]),
1481
- o("div", En, [o("button", {
1529
+ p("div", kn, [p("button", {
1482
1530
  type: "button",
1483
1531
  class: "vd-transfer-btn",
1484
1532
  "aria-label": "Move to target",
1485
- disabled: u.value.size === 0,
1486
- onClick: C
1487
- }, " › ", 8, Dn), o("button", {
1533
+ disabled: o.value.size === 0,
1534
+ onClick: b
1535
+ }, " › ", 8, An), p("button", {
1488
1536
  type: "button",
1489
1537
  class: "vd-transfer-btn",
1490
1538
  "aria-label": "Move to source",
1491
- disabled: d.value.size === 0,
1492
- onClick: T
1493
- }, " ‹ ", 8, On)]),
1494
- o("div", kn, [
1495
- o("div", An, [n[3] ||= o("span", null, "Target", -1), o("span", jn, w(d.value.size) + "/" + w(l.value.length), 1)]),
1496
- o("div", Mn, [A(o("input", {
1497
- "onUpdate:modelValue": n[1] ||= (e) => m.value = e,
1539
+ disabled: c.value.size === 0,
1540
+ onClick: x
1541
+ }, " ‹ ", 8, jn)]),
1542
+ p("div", Mn, [
1543
+ p("div", Nn, [t[3] ||= p("span", null, "Target", -1), p("span", Pn, j(c.value.size) + "/" + j(a.value.length), 1)]),
1544
+ p("div", Fn, [L(p("input", {
1545
+ "onUpdate:modelValue": t[1] ||= (e) => d.value = e,
1498
1546
  type: "text",
1499
1547
  placeholder: "Search...",
1500
1548
  "aria-label": "Search target"
1501
- }, null, 512), [[E, m.value]])]),
1502
- o("ul", Nn, [(_(!0), a(e, null, b(v.value, (e) => (_(), a("li", {
1549
+ }, null, 512), [[N, d.value]])]),
1550
+ p("ul", In, [(w(!0), f(s, null, D(g.value, (e) => (w(), f("li", {
1503
1551
  key: e.id,
1504
- class: f(["vd-transfer-item", { "is-selected": d.value.has(e.id) }]),
1552
+ class: y(["vd-transfer-item", { "is-selected": c.value.has(e.id) }]),
1505
1553
  role: "option",
1506
- "aria-selected": d.value.has(e.id),
1507
- onClick: (t) => x("target", e.id)
1508
- }, [o("input", {
1554
+ "aria-selected": c.value.has(e.id),
1555
+ onClick: (t) => _("target", e.id)
1556
+ }, [p("input", {
1509
1557
  type: "checkbox",
1510
- checked: d.value.has(e.id),
1558
+ checked: c.value.has(e.id),
1511
1559
  "aria-label": e.label,
1512
1560
  tabindex: "-1"
1513
- }, null, 8, Fn), o("span", null, w(e.label), 1)], 10, Pn))), 128))])
1561
+ }, null, 8, Rn), p("span", null, j(e.label), 1)], 10, Ln))), 128))])
1514
1562
  ])
1515
1563
  ], 512));
1516
1564
  }
1517
- }), Ln = ["aria-expanded"], Rn = { class: "vd-tree-node-content" }, zn = {
1565
+ }), Bn = ["aria-expanded"], Vn = { class: "vd-tree-node-content" }, Hn = {
1518
1566
  key: 1,
1519
1567
  class: "vd-tree-toggle-placeholder"
1520
- }, Bn = ["checked", "aria-label"], Vn = {
1568
+ }, Un = ["checked", "aria-label"], Wn = {
1521
1569
  class: "vd-tree-label",
1522
1570
  tabindex: "-1"
1523
- }, Hn = {
1571
+ }, Gn = {
1524
1572
  key: 0,
1525
1573
  class: "vd-tree-children",
1526
1574
  role: "group"
1527
- }, Un = /* @__PURE__ */ u({
1575
+ }, Kn = /* @__PURE__ */ _({
1528
1576
  __name: "VdTreeNode",
1529
1577
  props: {
1530
1578
  node: {},
1531
1579
  checkbox: { type: Boolean }
1532
1580
  },
1533
1581
  emits: ["toggle", "check"],
1534
- setup(t, { emit: s }) {
1535
- let c = t, l = s, u = n(() => !!c.node.children && c.node.children.length > 0), d = () => {
1536
- c.node.open = !c.node.open, l("toggle", c.node);
1537
- }, p = (e) => {
1538
- l("check", c.node, e.target.checked);
1582
+ setup(e, { emit: t }) {
1583
+ let n = e, r = t, i = l(() => !!n.node.children && n.node.children.length > 0), a = () => {
1584
+ n.node.open = !n.node.open, r("toggle", n.node);
1585
+ }, o = (e) => {
1586
+ r("check", n.node, e.target.checked);
1539
1587
  };
1540
- return (n, s) => {
1541
- let c = S("VdTreeNode", !0);
1542
- return _(), a("li", {
1543
- class: f(["vd-tree-node", { "is-open": t.node.open }]),
1588
+ return (t, n) => {
1589
+ let c = k("VdTreeNode", !0);
1590
+ return w(), f("li", {
1591
+ class: y(["vd-tree-node", { "is-open": e.node.open }]),
1544
1592
  role: "treeitem",
1545
- "aria-expanded": u.value ? t.node.open ? "true" : "false" : void 0
1546
- }, [o("div", Rn, [
1547
- u.value ? (_(), a("button", {
1593
+ "aria-expanded": i.value ? e.node.open ? "true" : "false" : void 0
1594
+ }, [p("div", Vn, [
1595
+ i.value ? (w(), f("button", {
1548
1596
  key: 0,
1549
1597
  type: "button",
1550
1598
  class: "vd-tree-toggle",
1551
1599
  "aria-label": "Toggle",
1552
- onClick: j(d, ["stop"])
1553
- })) : (_(), a("span", zn)),
1554
- t.checkbox ? (_(), a("input", {
1600
+ onClick: R(a, ["stop"])
1601
+ })) : (w(), f("span", Hn)),
1602
+ e.checkbox ? (w(), f("input", {
1555
1603
  key: 2,
1556
1604
  type: "checkbox",
1557
1605
  class: "vd-tree-checkbox",
1558
- checked: t.node.checked,
1559
- "aria-label": t.node.label,
1560
- onChange: j(p, ["stop"]),
1561
- onClick: s[0] ||= j(() => {}, ["stop"])
1562
- }, null, 40, Bn)) : i("", !0),
1563
- t.node.icon ? (_(), a("span", {
1606
+ checked: e.node.checked,
1607
+ "aria-label": e.node.label,
1608
+ onChange: R(o, ["stop"]),
1609
+ onClick: n[0] ||= R(() => {}, ["stop"])
1610
+ }, null, 40, Un)) : d("", !0),
1611
+ e.node.icon ? (w(), f("span", {
1564
1612
  key: 3,
1565
- class: f(["vd-tree-icon", t.node.icon])
1566
- }, null, 2)) : i("", !0),
1567
- o("span", Vn, w(t.node.label), 1)
1568
- ]), u.value ? (_(), a("ul", Hn, [(_(!0), a(e, null, b(t.node.children, (e, n) => (_(), r(c, {
1569
- key: e.id ?? n,
1570
- node: e,
1571
- checkbox: t.checkbox,
1572
- onToggle: s[1] ||= (e) => l("toggle", e),
1573
- onCheck: s[2] ||= (e, t) => l("check", e, t)
1574
- }, null, 8, ["node", "checkbox"]))), 128))])) : i("", !0)], 10, Ln);
1613
+ class: y(["vd-tree-icon", e.node.icon])
1614
+ }, null, 2)) : d("", !0),
1615
+ p("span", Wn, j(e.node.label), 1)
1616
+ ]), i.value ? (w(), f("ul", Gn, [(w(!0), f(s, null, D(e.node.children, (t, i) => (w(), u(c, {
1617
+ key: t.id ?? i,
1618
+ node: t,
1619
+ checkbox: e.checkbox,
1620
+ onToggle: n[1] ||= (e) => r("toggle", e),
1621
+ onCheck: n[2] ||= (e, t) => r("check", e, t)
1622
+ }, null, 8, ["node", "checkbox"]))), 128))])) : d("", !0)], 10, Bn);
1575
1623
  };
1576
1624
  }
1577
- }), Wn = /* @__PURE__ */ u({
1625
+ }), qn = /* @__PURE__ */ _({
1578
1626
  __name: "VdTree",
1579
1627
  props: {
1580
1628
  nodes: {},
1581
1629
  checkbox: { type: Boolean },
1582
1630
  cascade: { type: Boolean }
1583
1631
  },
1584
- setup(t, { expose: n }) {
1585
- let i = t, o = y(null), s = (e) => e.map((e) => ({
1632
+ setup(e, { expose: t }) {
1633
+ let n = e, r = E(null), i = (e) => e.map((e) => ({
1586
1634
  ...e,
1587
- children: e.children ? s(e.children) : void 0
1588
- })), c = v(s(i.nodes)), l = (e, t) => {
1635
+ children: e.children ? i(e.children) : void 0
1636
+ })), a = T(i(n.nodes)), o = (e, t) => {
1589
1637
  e.forEach((e) => {
1590
- e.checked = t, e.children && l(e.children, t);
1638
+ e.checked = t, e.children && o(e.children, t);
1591
1639
  });
1592
- }, u = (e, t = []) => (e.forEach((e) => {
1593
- e.checked && t.push(e.id ?? e.label ?? ""), e.children && u(e.children, t);
1594
- }), t), d = (e, t) => {
1595
- e.checked = t, (i.cascade ?? !0) && e.children && l(e.children, t), o.value?.dispatchEvent(new CustomEvent("tree:check", {
1640
+ }, c = (e, t = []) => (e.forEach((e) => {
1641
+ e.checked && t.push(e.id ?? e.label ?? ""), e.children && c(e.children, t);
1642
+ }), t), l = (e, t) => {
1643
+ e.checked = t, (n.cascade ?? !0) && e.children && o(e.children, t), r.value?.dispatchEvent(new CustomEvent("tree:check", {
1596
1644
  bubbles: !0,
1597
1645
  detail: {
1598
- checked: u(c),
1646
+ checked: c(a),
1599
1647
  node: e.id
1600
1648
  }
1601
1649
  }));
1602
- }, f = (e) => {
1603
- o.value?.dispatchEvent(new CustomEvent("tree:toggle", {
1650
+ }, d = (e) => {
1651
+ r.value?.dispatchEvent(new CustomEvent("tree:toggle", {
1604
1652
  bubbles: !0,
1605
1653
  detail: {
1606
1654
  id: e.id,
@@ -1608,64 +1656,64 @@ var ae = { install(e) {
1608
1656
  }
1609
1657
  }));
1610
1658
  }, p = (e) => {
1611
- let t = o.value, n = document.activeElement;
1659
+ let t = r.value, n = document.activeElement;
1612
1660
  if (!t || !n || !t.contains(n)) return;
1613
- let r = Array.from(t.querySelectorAll(".vd-tree-node-content")), i = n.closest(".vd-tree-node-content"), a = i ? r.indexOf(i) : -1;
1614
- if (a === -1) return;
1661
+ let i = Array.from(t.querySelectorAll(".vd-tree-node-content")), a = n.closest(".vd-tree-node-content"), o = a ? i.indexOf(a) : -1;
1662
+ if (o === -1) return;
1615
1663
  let s = (e) => {
1616
- r[e]?.querySelector(".vd-tree-toggle, .vd-tree-label")?.focus();
1664
+ i[e]?.querySelector(".vd-tree-toggle, .vd-tree-label")?.focus();
1617
1665
  };
1618
1666
  switch (e.key) {
1619
1667
  case "ArrowDown":
1620
- e.preventDefault(), a < r.length - 1 && s(a + 1);
1668
+ e.preventDefault(), o < i.length - 1 && s(o + 1);
1621
1669
  break;
1622
1670
  case "ArrowUp":
1623
- e.preventDefault(), a > 0 && s(a - 1);
1671
+ e.preventDefault(), o > 0 && s(o - 1);
1624
1672
  break;
1625
1673
  case "ArrowRight": {
1626
1674
  e.preventDefault();
1627
- let t = i?.closest(".vd-tree-node"), n = i?.querySelector(".vd-tree-toggle");
1675
+ let t = a?.closest(".vd-tree-node"), n = a?.querySelector(".vd-tree-toggle");
1628
1676
  n && !t?.classList.contains("is-open") && n.click();
1629
1677
  break;
1630
1678
  }
1631
1679
  case "ArrowLeft": {
1632
1680
  e.preventDefault();
1633
- let t = i?.closest(".vd-tree-node"), n = i?.querySelector(".vd-tree-toggle");
1681
+ let t = a?.closest(".vd-tree-node"), n = a?.querySelector(".vd-tree-toggle");
1634
1682
  n && t?.classList.contains("is-open") && n.click();
1635
1683
  break;
1636
1684
  }
1637
1685
  }
1638
1686
  };
1639
- return n({ getChecked: () => u(c) }), (n, i) => (_(), a("div", {
1687
+ return t({ getChecked: () => c(a) }), (t, n) => (w(), f("div", {
1640
1688
  ref_key: "root",
1641
- ref: o,
1689
+ ref: r,
1642
1690
  class: "vd-tree",
1643
1691
  role: "tree",
1644
1692
  onKeydown: p
1645
- }, [(_(!0), a(e, null, b(c, (e, n) => (_(), r(Un, {
1646
- key: e.id ?? n,
1647
- node: e,
1648
- checkbox: !!t.checkbox,
1649
- onToggle: f,
1650
- onCheck: d
1693
+ }, [(w(!0), f(s, null, D(a, (t, n) => (w(), u(Kn, {
1694
+ key: t.id ?? n,
1695
+ node: t,
1696
+ checkbox: !!e.checkbox,
1697
+ onToggle: d,
1698
+ onCheck: l
1651
1699
  }, null, 8, ["node", "checkbox"]))), 128))], 544));
1652
1700
  }
1653
- }), Gn = /* @__PURE__ */ u({
1701
+ }), Jn = /* @__PURE__ */ _({
1654
1702
  __name: "VdBox",
1655
1703
  props: {
1656
1704
  as: { default: "div" },
1657
1705
  pad: { default: "fib-8" }
1658
1706
  },
1659
1707
  setup(e) {
1660
- return (t, n) => (_(), r(C(e.as), {
1708
+ return (t, n) => (w(), u(A(e.as), {
1661
1709
  class: "vd-box",
1662
1710
  "data-pad": e.pad
1663
1711
  }, {
1664
- default: k(() => [x(t.$slots, "default")]),
1712
+ default: I(() => [O(t.$slots, "default")]),
1665
1713
  _: 3
1666
1714
  }, 8, ["data-pad"]));
1667
1715
  }
1668
- }), Kn = /* @__PURE__ */ u({
1716
+ }), Yn = /* @__PURE__ */ _({
1669
1717
  __name: "VdCenter",
1670
1718
  props: {
1671
1719
  as: { default: "div" },
@@ -1673,16 +1721,16 @@ var ae = { install(e) {
1673
1721
  axis: {}
1674
1722
  },
1675
1723
  setup(e) {
1676
- return (t, n) => (_(), r(C(e.as), {
1724
+ return (t, n) => (w(), u(A(e.as), {
1677
1725
  class: "vd-center",
1678
1726
  "data-max": e.max,
1679
1727
  "data-axis": e.axis
1680
1728
  }, {
1681
- default: k(() => [x(t.$slots, "default")]),
1729
+ default: I(() => [O(t.$slots, "default")]),
1682
1730
  _: 3
1683
1731
  }, 8, ["data-max", "data-axis"]));
1684
1732
  }
1685
- }), qn = /* @__PURE__ */ u({
1733
+ }), Xn = /* @__PURE__ */ _({
1686
1734
  __name: "VdCover",
1687
1735
  props: {
1688
1736
  as: { default: "div" },
@@ -1690,84 +1738,84 @@ var ae = { install(e) {
1690
1738
  gap: {}
1691
1739
  },
1692
1740
  setup(e) {
1693
- return (t, n) => (_(), r(C(e.as), {
1741
+ return (t, n) => (w(), u(A(e.as), {
1694
1742
  class: "vd-cover",
1695
1743
  "data-min": e.min,
1696
1744
  "data-gap": e.gap
1697
1745
  }, {
1698
- default: k(() => [x(t.$slots, "default")]),
1746
+ default: I(() => [O(t.$slots, "default")]),
1699
1747
  _: 3
1700
1748
  }, 8, ["data-min", "data-gap"]));
1701
1749
  }
1702
- }), Jn = ["data-ratio"], Yn = /* @__PURE__ */ u({
1750
+ }), Zn = ["data-ratio"], Qn = /* @__PURE__ */ _({
1703
1751
  __name: "VdFrame",
1704
1752
  props: { ratio: { default: "golden" } },
1705
1753
  setup(e) {
1706
- return (t, n) => (_(), a("div", {
1754
+ return (t, n) => (w(), f("div", {
1707
1755
  class: "vd-frame",
1708
1756
  "data-ratio": e.ratio
1709
- }, [x(t.$slots, "default")], 8, Jn));
1757
+ }, [O(t.$slots, "default")], 8, Zn));
1710
1758
  }
1711
- }), Xn = ["data-gap"], Zn = /* @__PURE__ */ u({
1759
+ }), $n = ["data-gap"], er = /* @__PURE__ */ _({
1712
1760
  __name: "VdInline",
1713
1761
  props: { gap: { default: "fib-5" } },
1714
1762
  setup(e) {
1715
- return (t, n) => (_(), a("div", {
1763
+ return (t, n) => (w(), f("div", {
1716
1764
  class: "vd-inline",
1717
1765
  "data-gap": e.gap
1718
- }, [x(t.$slots, "default")], 8, Xn));
1766
+ }, [O(t.$slots, "default")], 8, $n));
1719
1767
  }
1720
- }), Qn = /* @__PURE__ */ u({
1768
+ }), tr = /* @__PURE__ */ _({
1721
1769
  __name: "VdStack",
1722
1770
  props: {
1723
1771
  gap: { default: "fib-8" },
1724
1772
  as: { default: "div" }
1725
1773
  },
1726
1774
  setup(e) {
1727
- return (t, n) => (_(), r(C(e.as), {
1775
+ return (t, n) => (w(), u(A(e.as), {
1728
1776
  class: "vd-stack",
1729
1777
  "data-gap": e.gap
1730
1778
  }, {
1731
- default: k(() => [x(t.$slots, "default")]),
1779
+ default: I(() => [O(t.$slots, "default")]),
1732
1780
  _: 3
1733
1781
  }, 8, ["data-gap"]));
1734
1782
  }
1735
- }), $n = ["data-threshold", "data-gap"], er = /* @__PURE__ */ u({
1783
+ }), nr = ["data-threshold", "data-gap"], rr = /* @__PURE__ */ _({
1736
1784
  __name: "VdSwitcher",
1737
1785
  props: {
1738
1786
  threshold: { default: "fib-610" },
1739
1787
  gap: { default: "fib-5" }
1740
1788
  },
1741
1789
  setup(e) {
1742
- return (t, n) => (_(), a("div", {
1790
+ return (t, n) => (w(), f("div", {
1743
1791
  class: "vd-switcher",
1744
1792
  "data-threshold": e.threshold,
1745
1793
  "data-gap": e.gap
1746
- }, [x(t.$slots, "default")], 8, $n));
1794
+ }, [O(t.$slots, "default")], 8, nr));
1747
1795
  }
1748
1796
  });
1749
1797
  //#endregion
1750
1798
  //#region src/composables/useAffix.ts
1751
- function tr(e) {
1799
+ function ir(e) {
1752
1800
  if (!e || e === document.body) return !1;
1753
1801
  let t = window.getComputedStyle(e), n = /(auto|scroll|overlay)/.test(t.overflowY) && e.scrollHeight > e.clientHeight, r = /(auto|scroll|overlay)/.test(t.overflowX) && e.scrollWidth > e.clientWidth;
1754
1802
  return n || r;
1755
1803
  }
1756
- function nr(e) {
1804
+ function ar(e) {
1757
1805
  let t = e.parentElement;
1758
1806
  for (; t && t !== document.body && t !== document.documentElement;) {
1759
- if (tr(t)) return t;
1807
+ if (ir(t)) return t;
1760
1808
  t = t.parentElement;
1761
1809
  }
1762
1810
  return null;
1763
1811
  }
1764
- function rr(e) {
1812
+ function or(e) {
1765
1813
  let t = [];
1766
- h(() => {
1814
+ S(() => {
1767
1815
  if (typeof window > "u") return;
1768
1816
  let n = e.value;
1769
1817
  n && n.querySelectorAll(".vd-affix, .vd-sticky, [data-vd-affix]").forEach((e) => {
1770
- let n = parseInt(e.getAttribute("data-vd-affix-offset") || "0", 10), r = Number.isNaN(n) ? 0 : n, i = nr(e), a = !1, o = document.createElement("div");
1818
+ let n = parseInt(e.getAttribute("data-vd-affix-offset") || "0", 10), r = Number.isNaN(n) ? 0 : n, i = ar(e), a = !1, o = document.createElement("div");
1771
1819
  o.style.cssText = "display:block;height:1px;margin-bottom:-1px;visibility:hidden;pointer-events:none;", e.parentNode?.insertBefore(o, e), e.style.setProperty("--vd-affix-top-offset", r + "px");
1772
1820
  let s = () => {
1773
1821
  a || (a = !0, e.classList.add("is-stuck"), e.dispatchEvent(new CustomEvent("affix:stuck", {
@@ -1800,13 +1848,13 @@ function rr(e) {
1800
1848
  e.classList.remove("is-stuck"), e.style.removeProperty("--vd-affix-top-offset");
1801
1849
  });
1802
1850
  });
1803
- }), g(() => {
1851
+ }), C(() => {
1804
1852
  t.forEach((e) => e()), t.length = 0;
1805
1853
  });
1806
1854
  }
1807
1855
  //#endregion
1808
1856
  //#region src/composables/useDatepicker.ts
1809
- var ir = [
1857
+ var sr = [
1810
1858
  "Su",
1811
1859
  "Mo",
1812
1860
  "Tu",
@@ -1814,7 +1862,7 @@ var ir = [
1814
1862
  "Th",
1815
1863
  "Fr",
1816
1864
  "Sa"
1817
- ], B = [
1865
+ ], cr = [
1818
1866
  "January",
1819
1867
  "February",
1820
1868
  "March",
@@ -1827,21 +1875,21 @@ var ir = [
1827
1875
  "October",
1828
1876
  "November",
1829
1877
  "December"
1830
- ], ar = (e) => e.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
1831
- function or(e) {
1878
+ ], lr = (e) => e.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
1879
+ function ur(e) {
1832
1880
  let t = "^", n = [], r = 0;
1833
1881
  for (; r < e.length;) {
1834
1882
  let i = e.slice(r);
1835
- i.toLowerCase().startsWith("yyyy") ? (t += "(\\d{4})", n.push("y"), r += 4) : i.toLowerCase().startsWith("mm") ? (t += "(\\d{2})", n.push("m"), r += 2) : i.toLowerCase().startsWith("dd") ? (t += "(\\d{2})", n.push("d"), r += 2) : (t += ar(e[r]), r++);
1883
+ i.toLowerCase().startsWith("yyyy") ? (t += "(\\d{4})", n.push("y"), r += 4) : i.toLowerCase().startsWith("mm") ? (t += "(\\d{2})", n.push("m"), r += 2) : i.toLowerCase().startsWith("dd") ? (t += "(\\d{2})", n.push("d"), r += 2) : (t += lr(e[r]), r++);
1836
1884
  }
1837
1885
  return t += "$", {
1838
1886
  regex: new RegExp(t),
1839
1887
  order: n
1840
1888
  };
1841
1889
  }
1842
- function sr(e, t) {
1890
+ function dr(e, t) {
1843
1891
  if (!e || !t) return null;
1844
- let { regex: n, order: r } = or(t), i = e.trim().match(n);
1892
+ let { regex: n, order: r } = ur(t), i = e.trim().match(n);
1845
1893
  if (!i) return null;
1846
1894
  let a, o, s, c = 1;
1847
1895
  for (let e of r) {
@@ -1853,7 +1901,7 @@ function sr(e, t) {
1853
1901
  let l = new Date(a, o, s);
1854
1902
  return l.getFullYear() !== a || l.getMonth() !== o || l.getDate() !== s ? null : l;
1855
1903
  }
1856
- function cr(e, t) {
1904
+ function fr(e, t) {
1857
1905
  let n = String(e.getFullYear()), r = String(e.getMonth() + 1).padStart(2, "0"), i = String(e.getDate()).padStart(2, "0"), a = "", o = 0;
1858
1906
  for (; o < t.length;) {
1859
1907
  let e = t.slice(o);
@@ -1861,28 +1909,28 @@ function cr(e, t) {
1861
1909
  }
1862
1910
  return a;
1863
1911
  }
1864
- var V = (e) => e.getFullYear() + "-" + String(e.getMonth() + 1).padStart(2, "0") + "-" + String(e.getDate()).padStart(2, "0");
1865
- function H(e, t) {
1912
+ var pr = (e) => e.getFullYear() + "-" + String(e.getMonth() + 1).padStart(2, "0") + "-" + String(e.getDate()).padStart(2, "0");
1913
+ function $(e, t) {
1866
1914
  let n = new Date(e.getFullYear(), e.getMonth(), e.getDate());
1867
1915
  return n.setDate(n.getDate() + t), n;
1868
1916
  }
1869
- var U = (e, t) => new Date(e.getFullYear(), e.getMonth() + t, e.getDate());
1870
- function W(e) {
1917
+ var mr = (e, t) => new Date(e.getFullYear(), e.getMonth() + t, e.getDate());
1918
+ function hr(e) {
1871
1919
  if (!e || typeof e != "string") return null;
1872
1920
  let t = /^(\d{4})-(\d{2})-(\d{2})$/.exec(e.trim());
1873
1921
  if (!t) return null;
1874
1922
  let n = +t[1], r = t[2] - 1, i = +t[3], a = new Date(n, r, i);
1875
1923
  return a.getFullYear() !== n || a.getMonth() !== r || a.getDate() !== i ? null : a;
1876
1924
  }
1877
- function lr(e) {
1925
+ function gr(e) {
1878
1926
  let t = new Date(e.getFullYear(), e.getMonth(), e.getDate());
1879
1927
  return t.setDate(t.getDate() - t.getDay()), t;
1880
1928
  }
1881
- function ur(e) {
1929
+ function _r(e) {
1882
1930
  let t = new Date(e.getFullYear(), e.getMonth(), e.getDate());
1883
1931
  return t.setDate(t.getDate() + (6 - t.getDay())), t;
1884
1932
  }
1885
- function dr(e, t, n = 4) {
1933
+ function vr(e, t, n = 4) {
1886
1934
  let r = e.getBoundingClientRect();
1887
1935
  t.style.minWidth = Math.max(r.width, 0) + "px";
1888
1936
  let i = r.bottom + n, a = r.left;
@@ -1892,18 +1940,18 @@ function dr(e, t, n = 4) {
1892
1940
  let s = t.getBoundingClientRect();
1893
1941
  a = r.left, a + s.width > window.innerWidth - 8 && (a = window.innerWidth - s.width - 8), t.style.left = Math.max(8, a) + "px";
1894
1942
  }
1895
- function fr(e) {
1943
+ function yr(e) {
1896
1944
  let t = [];
1897
- h(() => {
1945
+ S(() => {
1898
1946
  if (typeof window > "u") return;
1899
1947
  let n = e.value;
1900
- n && n.querySelectorAll("[data-vd-datepicker]").forEach((e) => pr(e, t));
1901
- }), g(() => {
1948
+ n && n.querySelectorAll("[data-vd-datepicker]").forEach((e) => br(e, t));
1949
+ }), C(() => {
1902
1950
  t.forEach((e) => e()), t.length = 0;
1903
1951
  });
1904
1952
  }
1905
- function pr(e, t) {
1906
- let n = e.getAttribute("data-vd-datepicker-format") || "YYYY-MM-DD", r = W(e.getAttribute("data-vd-datepicker-min")), i = W(e.getAttribute("data-vd-datepicker-max")), a = /* @__PURE__ */ new Date(), o = a.getFullYear(), s = a.getMonth(), c = null, l = "days", u = null, d = !1, f = 0, p = (e) => {
1953
+ function br(e, t) {
1954
+ let n = e.getAttribute("data-vd-datepicker-format") || "YYYY-MM-DD", r = hr(e.getAttribute("data-vd-datepicker-min")), i = hr(e.getAttribute("data-vd-datepicker-max")), a = /* @__PURE__ */ new Date(), o = a.getFullYear(), s = a.getMonth(), c = null, l = "days", u = null, d = !1, f = 0, p = (e) => {
1907
1955
  let t = new Date(e.getFullYear(), e.getMonth(), e.getDate()).getTime();
1908
1956
  return !!(r && t < r.getTime() || i && t > i.getTime());
1909
1957
  }, m = (e, t) => {
@@ -1931,7 +1979,7 @@ function pr(e, t) {
1931
1979
  return new Date(e, t, 1);
1932
1980
  };
1933
1981
  if (e.value) {
1934
- let t = e.value.trim(), r = sr(t, n);
1982
+ let t = e.value.trim(), r = dr(t, n);
1935
1983
  if (!r) {
1936
1984
  let e = new Date(t);
1937
1985
  isNaN(e.getTime()) || (r = e);
@@ -1945,7 +1993,7 @@ function pr(e, t) {
1945
1993
  let v = e.closest(".vd-suggest-wrapper");
1946
1994
  v || (v = document.createElement("div"), v.className = "vd-suggest-wrapper", v.style.position = "relative", v.style.display = "inline-block", e.parentNode?.insertBefore(v, e), v.appendChild(e)), document.body.appendChild(_);
1947
1995
  let y = (e, t) => !!e && !!t && e.getFullYear() === t.getFullYear() && e.getMonth() === t.getMonth() && e.getDate() === t.getDate(), b = (t) => {
1948
- c = t, o = t.getFullYear(), s = t.getMonth(), e.value = cr(t, n), d = !0, A(), e.dispatchEvent(new CustomEvent("datepicker:select", {
1996
+ c = t, o = t.getFullYear(), s = t.getMonth(), e.value = fr(t, n), d = !0, A(), e.dispatchEvent(new CustomEvent("datepicker:select", {
1949
1997
  bubbles: !0,
1950
1998
  detail: {
1951
1999
  date: t,
@@ -1954,18 +2002,18 @@ function pr(e, t) {
1954
2002
  })), e.dispatchEvent(new Event("change", { bubbles: !0 })), e.focus();
1955
2003
  }, x = () => {
1956
2004
  if (l !== "days" || !u) return;
1957
- let e = _.querySelector("[data-vd-date=\"" + V(u) + "\"]");
2005
+ let e = _.querySelector("[data-vd-date=\"" + pr(u) + "\"]");
1958
2006
  e && !e.classList.contains("is-outside") && e.getAttribute("aria-disabled") !== "true" && e.focus();
1959
2007
  }, S = (e, t, n) => {
1960
2008
  let r = new Date(e.getFullYear(), e.getMonth(), e.getDate()), i = t > 0 ? 1 : -1;
1961
2009
  for (let e = 0; e < n; e++) {
1962
2010
  if (!p(r)) return r;
1963
- r = H(r, i);
2011
+ r = $(r, i);
1964
2012
  }
1965
2013
  return e;
1966
2014
  }, C = (e, t, n) => {
1967
2015
  let r = document.createElement("button");
1968
- return r.type = "button", r.className = "vd-datepicker-day", r.textContent = String(e), r.setAttribute("role", "gridcell"), t ? (r.classList.add("is-outside"), r.tabIndex = -1, r.setAttribute("aria-disabled", "true"), r) : (r.setAttribute("data-vd-date", V(n)), y(n, a) && r.classList.add("is-today"), y(n, c) && r.classList.add("is-selected"), p(n) ? (r.classList.add("is-disabled"), r.setAttribute("aria-disabled", "true"), r.tabIndex = -1, r) : (r.tabIndex = u && y(n, u) ? 0 : -1, r.addEventListener("click", () => {
2016
+ return r.type = "button", r.className = "vd-datepicker-day", r.textContent = String(e), r.setAttribute("role", "gridcell"), t ? (r.classList.add("is-outside"), r.tabIndex = -1, r.setAttribute("aria-disabled", "true"), r) : (r.setAttribute("data-vd-date", pr(n)), y(n, a) && r.classList.add("is-today"), y(n, c) && r.classList.add("is-selected"), p(n) ? (r.classList.add("is-disabled"), r.setAttribute("aria-disabled", "true"), r.tabIndex = -1, r) : (r.tabIndex = u && y(n, u) ? 0 : -1, r.addEventListener("click", () => {
1969
2017
  u = new Date(n.getFullYear(), n.getMonth(), n.getDate()), b(n);
1970
2018
  }), r));
1971
2019
  }, w = () => {
@@ -1977,7 +2025,7 @@ function pr(e, t) {
1977
2025
  let n = document.createElement("button");
1978
2026
  n.type = "button", n.className = "vd-datepicker-next", n.innerHTML = "&#8250;", n.setAttribute("aria-label", "Next");
1979
2027
  let r = document.createElement("span");
1980
- if (r.className = "vd-datepicker-title", l === "days") r.textContent = B[s] + " " + o, r.addEventListener("click", () => {
2028
+ if (r.className = "vd-datepicker-title", l === "days") r.textContent = cr[s] + " " + o, r.addEventListener("click", () => {
1981
2029
  l = "months", w();
1982
2030
  }), t.addEventListener("click", () => {
1983
2031
  s--, s < 0 && (s = 11, o--), w();
@@ -2003,7 +2051,7 @@ function pr(e, t) {
2003
2051
  let e = document.createElement("div");
2004
2052
  e.className = "vd-datepicker-grid", e.setAttribute("role", "grid"), e.setAttribute("aria-label", "Calendar");
2005
2053
  let t = document.createElement("div");
2006
- t.className = "vd-datepicker-weekdays", t.setAttribute("role", "row"), ir.forEach((e) => {
2054
+ t.className = "vd-datepicker-weekdays", t.setAttribute("role", "row"), sr.forEach((e) => {
2007
2055
  let n = document.createElement("span");
2008
2056
  n.setAttribute("role", "columnheader"), n.setAttribute("aria-label", e), n.textContent = e, t.appendChild(n);
2009
2057
  }), e.appendChild(t);
@@ -2039,7 +2087,7 @@ function pr(e, t) {
2039
2087
  _.appendChild(e);
2040
2088
  } else if (l === "months") {
2041
2089
  let e = document.createElement("div");
2042
- e.className = "vd-datepicker-months", B.forEach((t, n) => {
2090
+ e.className = "vd-datepicker-months", cr.forEach((t, n) => {
2043
2091
  let r = document.createElement("button");
2044
2092
  r.type = "button", r.className = "vd-datepicker-month-btn", r.textContent = t.slice(0, 3), c && c.getFullYear() === o && c.getMonth() === n && r.classList.add("is-selected"), r.addEventListener("click", () => {
2045
2093
  s = n, l = "days", w();
@@ -2086,14 +2134,14 @@ function pr(e, t) {
2086
2134
  }
2087
2135
  t.preventDefault();
2088
2136
  let i = new Date(u.getFullYear(), u.getMonth(), u.getDate()), a = 1;
2089
- if (r === "ArrowLeft" ? (i = H(i, -1), a = -1) : r === "ArrowRight" ? (i = H(i, 1), a = 1) : r === "ArrowUp" ? (i = H(i, -7), a = -1) : r === "ArrowDown" ? (i = H(i, 7), a = 1) : r === "Home" ? (i = lr(i), a = 1) : r === "End" ? (i = ur(i), a = -1) : r === "PageUp" ? (i = U(i, -1), a = -1) : r === "PageDown" && (i = U(i, 1), a = 1), i = S(i, a, 400), i.getMonth() !== s || i.getFullYear() !== o) {
2137
+ if (r === "ArrowLeft" ? (i = $(i, -1), a = -1) : r === "ArrowRight" ? (i = $(i, 1), a = 1) : r === "ArrowUp" ? (i = $(i, -7), a = -1) : r === "ArrowDown" ? (i = $(i, 7), a = 1) : r === "Home" ? (i = gr(i), a = 1) : r === "End" ? (i = _r(i), a = -1) : r === "PageUp" ? (i = mr(i, -1), a = -1) : r === "PageDown" && (i = mr(i, 1), a = 1), i = S(i, a, 400), i.getMonth() !== s || i.getFullYear() !== o) {
2090
2138
  o = i.getFullYear(), s = i.getMonth();
2091
2139
  let e = m(o, s);
2092
2140
  o = e.y, s = e.m;
2093
2141
  }
2094
2142
  u = i, w(), requestAnimationFrame(x);
2095
2143
  }, E = () => {
2096
- _.classList.contains("is-open") && dr(e, _);
2144
+ _.classList.contains("is-open") && vr(e, _);
2097
2145
  }, D = () => E(), O = () => {
2098
2146
  f = Date.now() + 100;
2099
2147
  }, k = () => {
@@ -2112,7 +2160,7 @@ function pr(e, t) {
2112
2160
  k();
2113
2161
  }, M = () => {
2114
2162
  _.classList.contains("is-open") || k();
2115
- }, ee = (t) => {
2163
+ }, N = (t) => {
2116
2164
  if (!t || !(t instanceof Node)) return !1;
2117
2165
  if (t === e || e.contains(t) || _.contains(t)) return !0;
2118
2166
  let n = e.id;
@@ -2121,23 +2169,23 @@ function pr(e, t) {
2121
2169
  if (e && (t === e || e.contains(t))) return !0;
2122
2170
  }
2123
2171
  return !1;
2124
- }, N = (e) => {
2125
- Date.now() < f || ee(e.target) || A();
2126
- }, P = (t) => {
2172
+ }, P = (e) => {
2173
+ Date.now() < f || N(e.target) || A();
2174
+ }, F = (t) => {
2127
2175
  t.key === "Escape" && _.classList.contains("is-open") && (d = !0, A(), e.focus());
2128
2176
  };
2129
- e.addEventListener("focus", j), e.addEventListener("click", M), document.addEventListener("click", N, !0), document.addEventListener("keydown", P), _.addEventListener("keydown", T), window.addEventListener("resize", D), window.addEventListener("scroll", D, !0), e.setAttribute("aria-haspopup", "dialog"), e.setAttribute("aria-expanded", "false"), e.setAttribute("autocomplete", "off"), t.push(() => e.removeEventListener("focus", j), () => e.removeEventListener("click", M), () => document.removeEventListener("click", N, !0), () => document.removeEventListener("keydown", P), () => _.removeEventListener("keydown", T), () => window.removeEventListener("resize", D), () => window.removeEventListener("scroll", D, !0), () => _.remove());
2177
+ e.addEventListener("focus", j), e.addEventListener("click", M), document.addEventListener("click", P, !0), document.addEventListener("keydown", F), _.addEventListener("keydown", T), window.addEventListener("resize", D), window.addEventListener("scroll", D, !0), e.setAttribute("aria-haspopup", "dialog"), e.setAttribute("aria-expanded", "false"), e.setAttribute("autocomplete", "off"), t.push(() => e.removeEventListener("focus", j), () => e.removeEventListener("click", M), () => document.removeEventListener("click", P, !0), () => document.removeEventListener("keydown", F), () => _.removeEventListener("keydown", T), () => window.removeEventListener("resize", D), () => window.removeEventListener("scroll", D, !0), () => _.remove());
2130
2178
  }
2131
2179
  //#endregion
2132
2180
  //#region src/composables/useDraggable.ts
2133
- function mr(e) {
2181
+ function xr(e) {
2134
2182
  let t = !1;
2135
- h(() => {
2183
+ S(() => {
2136
2184
  let n = e.value;
2137
2185
  if (!n || typeof window > "u") return;
2138
2186
  let r = window;
2139
2187
  t = !0, r.VanduoDraggable && typeof r.VanduoDraggable.init == "function" ? r.VanduoDraggable.init(n) : r.Vanduo && typeof r.Vanduo.init == "function" && r.Vanduo.init(n);
2140
- }), g(() => {
2188
+ }), C(() => {
2141
2189
  if (typeof window > "u" || !t) return;
2142
2190
  let e = window;
2143
2191
  e.VanduoDraggable && typeof e.VanduoDraggable.destroyAll == "function" && e.VanduoDraggable.destroyAll(), t = !1;
@@ -2145,7 +2193,7 @@ function mr(e) {
2145
2193
  }
2146
2194
  //#endregion
2147
2195
  //#region src/composables/useDropdown.ts
2148
- function hr(e) {
2196
+ function Sr(e) {
2149
2197
  let t = () => {
2150
2198
  let t = e.value;
2151
2199
  if (!t || typeof window > "u") return;
@@ -2156,22 +2204,22 @@ function hr(e) {
2156
2204
  let e = window;
2157
2205
  e.VanduoDropdown && typeof e.VanduoDropdown.destroyAll == "function" && e.VanduoDropdown.destroyAll();
2158
2206
  };
2159
- h(() => {
2207
+ S(() => {
2160
2208
  t();
2161
- }), g(() => {
2209
+ }), C(() => {
2162
2210
  n();
2163
2211
  });
2164
2212
  }
2165
2213
  //#endregion
2166
2214
  //#region src/composables/useExpandingCards.ts
2167
- function gr(e) {
2215
+ function Cr(e) {
2168
2216
  let t = !1;
2169
- h(() => {
2217
+ S(() => {
2170
2218
  let n = e.value;
2171
2219
  if (!n || typeof window > "u") return;
2172
2220
  let r = window;
2173
2221
  t = !0, r.VanduoExpandingCards && typeof r.VanduoExpandingCards.init == "function" ? r.VanduoExpandingCards.init(n) : r.Vanduo && typeof r.Vanduo.init == "function" && r.Vanduo.init(n);
2174
- }), g(() => {
2222
+ }), C(() => {
2175
2223
  if (typeof window > "u" || !t) return;
2176
2224
  let e = window;
2177
2225
  e.VanduoExpandingCards && typeof e.VanduoExpandingCards.destroyAll == "function" && e.VanduoExpandingCards.destroyAll(), t = !1;
@@ -2179,7 +2227,7 @@ function gr(e) {
2179
2227
  }
2180
2228
  //#endregion
2181
2229
  //#region src/composables/useFlow.ts
2182
- function _r(e) {
2230
+ function wr(e) {
2183
2231
  let t = [], n = (e) => {
2184
2232
  let n = e.querySelector(".vd-flow-track");
2185
2233
  if (!n) return;
@@ -2236,26 +2284,26 @@ function _r(e) {
2236
2284
  };
2237
2285
  a && (w(), e.addEventListener("mouseenter", T), e.addEventListener("mouseleave", w), e.addEventListener("focusin", T), e.addEventListener("focusout", w), t.push(() => e.removeEventListener("mouseenter", T), () => e.removeEventListener("mouseleave", w), () => e.removeEventListener("focusin", T), () => e.removeEventListener("focusout", w), () => T())), h(0, !1);
2238
2286
  };
2239
- h(() => {
2287
+ S(() => {
2240
2288
  let t = e.value;
2241
2289
  t && t.querySelectorAll(".vd-flow, .vd-carousel").forEach(n);
2242
- }), g(() => {
2290
+ }), C(() => {
2243
2291
  t.forEach((e) => e()), t.length = 0;
2244
2292
  });
2245
2293
  }
2246
2294
  //#endregion
2247
2295
  //#region src/composables/useFocusTrap.ts
2248
- var G = [
2296
+ var Tr = [
2249
2297
  "a[href]",
2250
2298
  "button:not([disabled])",
2251
2299
  "input:not([disabled])",
2252
2300
  "select:not([disabled])",
2253
2301
  "textarea:not([disabled])",
2254
2302
  "[tabindex]:not([tabindex=\"-1\"])"
2255
- ].join(","), vr = (e) => {
2256
- let t = y(!1), n = (n) => {
2303
+ ].join(","), Er = (e) => {
2304
+ let t = E(!1), n = (n) => {
2257
2305
  if (!t.value || n.key !== "Tab" || !e.value) return;
2258
- let r = Array.from(e.value.querySelectorAll(G)).filter((e) => !e.hasAttribute("disabled") && e.tabIndex !== -1);
2306
+ let r = Array.from(e.value.querySelectorAll(Tr)).filter((e) => !e.hasAttribute("disabled") && e.tabIndex !== -1);
2259
2307
  if (r.length === 0) {
2260
2308
  n.preventDefault();
2261
2309
  return;
@@ -2263,14 +2311,14 @@ var G = [
2263
2311
  let i = r[0], a = r[r.length - 1], o = document.activeElement;
2264
2312
  n.shiftKey && o === i ? (n.preventDefault(), a.focus()) : !n.shiftKey && o === a && (n.preventDefault(), i.focus());
2265
2313
  };
2266
- return h(() => {
2314
+ return S(() => {
2267
2315
  typeof window < "u" && window.addEventListener("keydown", n);
2268
- }), g(() => {
2316
+ }), C(() => {
2269
2317
  typeof window < "u" && window.removeEventListener("keydown", n);
2270
2318
  }), {
2271
2319
  active: t,
2272
2320
  activate: () => {
2273
- t.value = !0, e.value && e.value.querySelector(G)?.focus();
2321
+ t.value = !0, e.value && e.value.querySelector(Tr)?.focus();
2274
2322
  },
2275
2323
  deactivate: () => {
2276
2324
  t.value = !1;
@@ -2279,9 +2327,9 @@ var G = [
2279
2327
  };
2280
2328
  //#endregion
2281
2329
  //#region src/composables/useGlass.ts
2282
- function yr(e) {
2330
+ function Dr(e) {
2283
2331
  let t = [];
2284
- h(() => {
2332
+ S(() => {
2285
2333
  let n = e.value;
2286
2334
  !n || typeof IntersectionObserver > "u" || n.querySelectorAll("[data-glass-scroll]").forEach((e) => {
2287
2335
  let n = e.dataset.glassSentinel, r = n ? document.querySelector(n) : null;
@@ -2299,20 +2347,20 @@ function yr(e) {
2299
2347
  });
2300
2348
  i.observe(r), t.push(i);
2301
2349
  });
2302
- }), g(() => {
2350
+ }), C(() => {
2303
2351
  t.forEach((e) => e.disconnect()), t.length = 0;
2304
2352
  });
2305
2353
  }
2306
2354
  //#endregion
2307
2355
  //#region src/composables/useImageBox.ts
2308
- function br(e) {
2356
+ function Or(e) {
2309
2357
  let t = !1;
2310
- h(() => {
2358
+ S(() => {
2311
2359
  let n = e.value;
2312
2360
  if (!n || typeof window > "u") return;
2313
2361
  let r = window;
2314
2362
  t = !0, r.VanduoImageBox && typeof r.VanduoImageBox.init == "function" ? r.VanduoImageBox.init(n) : r.Vanduo && typeof r.Vanduo.init == "function" && r.Vanduo.init(n);
2315
- }), g(() => {
2363
+ }), C(() => {
2316
2364
  if (typeof window > "u" || !t) return;
2317
2365
  let e = window;
2318
2366
  e.VanduoImageBox && typeof e.VanduoImageBox.destroyAll == "function" && e.VanduoImageBox.destroyAll(), t = !1;
@@ -2320,8 +2368,8 @@ function br(e) {
2320
2368
  }
2321
2369
  //#endregion
2322
2370
  //#region src/composables/useKeyboardNav.ts
2323
- var xr = (e, t) => {
2324
- let n = y(0), r = 0, i = () => e.value ? Array.from(e.value.querySelectorAll(t.itemSelector)) : [], a = (e) => {
2371
+ var kr = (e, t) => {
2372
+ let n = E(0), r = 0, i = () => e.value ? Array.from(e.value.querySelectorAll(t.itemSelector)) : [], a = (e) => {
2325
2373
  let t = i()[e];
2326
2374
  t && (t.focus(), n.value = e);
2327
2375
  };
@@ -2359,8 +2407,8 @@ var xr = (e, t) => {
2359
2407
  r = e, n.value >= r && (n.value = Math.max(0, r - 1));
2360
2408
  }
2361
2409
  };
2362
- }, Sr = 750;
2363
- function Cr(e) {
2410
+ }, Ar = 750;
2411
+ function jr(e) {
2364
2412
  let t = [], n = (e) => {
2365
2413
  if (!e.querySelector(".vd-morph-wave")) {
2366
2414
  let t = document.createElement("span");
@@ -2379,7 +2427,7 @@ function Cr(e) {
2379
2427
  r.style.left = `${o - n.left}px`, r.style.top = `${s - n.top}px`;
2380
2428
  }
2381
2429
  e.classList.add("is-morphing");
2382
- let i = Sr, a = getComputedStyle(e).getPropertyValue("--vd-morph-duration");
2430
+ let i = Ar, a = getComputedStyle(e).getPropertyValue("--vd-morph-duration");
2383
2431
  if (a) {
2384
2432
  let e = parseFloat(a);
2385
2433
  isNaN(e) || (i = e * (a.includes("ms") ? 1 : 1e3));
@@ -2390,7 +2438,7 @@ function Cr(e) {
2390
2438
  t && r && (t.classList.replace("vd-morph-current", "vd-morph-next"), r.classList.replace("vd-morph-next", "vd-morph-current")), n();
2391
2439
  }, i);
2392
2440
  };
2393
- h(() => {
2441
+ S(() => {
2394
2442
  let i = e.value;
2395
2443
  i && i.querySelectorAll(".vd-morph, [data-vd-morph]").forEach((e) => {
2396
2444
  if (e.getAttribute("data-vd-morph") === "manual") return;
@@ -2400,13 +2448,13 @@ function Cr(e) {
2400
2448
  };
2401
2449
  e.addEventListener("click", a), t.push(() => e.removeEventListener("click", a));
2402
2450
  });
2403
- }), g(() => {
2451
+ }), C(() => {
2404
2452
  t.forEach((e) => e()), t.length = 0;
2405
2453
  });
2406
2454
  }
2407
2455
  //#endregion
2408
2456
  //#region src/composables/useMorphBadges.ts
2409
- function wr(e) {
2457
+ function Mr(e) {
2410
2458
  let t = [], n = (e, t, n) => {
2411
2459
  if (!e) return;
2412
2460
  let r = String(t || "").replace(/[^a-z0-9-\s]/gi, "").trim();
@@ -2417,7 +2465,7 @@ function wr(e) {
2417
2465
  }
2418
2466
  e.appendChild(document.createTextNode(n == null ? "" : String(n)));
2419
2467
  };
2420
- h(() => {
2468
+ S(() => {
2421
2469
  let r = e.value;
2422
2470
  r && r.querySelectorAll("[data-vd-morph=\"manual\"][data-morph-states]").forEach((e) => {
2423
2471
  let r = JSON.parse(e.getAttribute("data-morph-states") || "[]"), i = JSON.parse(e.getAttribute("data-morph-classes") || "[]"), a = JSON.parse(e.getAttribute("data-morph-icons") || "[]"), o = 0, s = !1, c = 750, l = getComputedStyle(e).getPropertyValue("--vd-morph-duration").trim();
@@ -2443,15 +2491,15 @@ function wr(e) {
2443
2491
  };
2444
2492
  e.addEventListener("click", u), t.push(() => e.removeEventListener("click", u));
2445
2493
  });
2446
- }), g(() => {
2494
+ }), C(() => {
2447
2495
  t.forEach((e) => e()), t.length = 0;
2448
2496
  });
2449
2497
  }
2450
2498
  //#endregion
2451
2499
  //#region src/composables/useNavbarGlassScroll.ts
2452
- function Tr(e) {
2453
- let t = y(!1), n = null;
2454
- return h(() => {
2500
+ function Nr(e) {
2501
+ let t = E(!1), n = null;
2502
+ return S(() => {
2455
2503
  let r = e.value;
2456
2504
  if (!r) return;
2457
2505
  let i = r.classList.contains("vd-navbar-glass"), a = r.classList.contains("vd-navbar-transparent");
@@ -2463,13 +2511,13 @@ function Tr(e) {
2463
2511
  n = () => {
2464
2512
  t.value = window.scrollY > o();
2465
2513
  }, n(), window.addEventListener("scroll", n, { passive: !0 });
2466
- }), g(() => {
2514
+ }), C(() => {
2467
2515
  n &&= (window.removeEventListener("scroll", n), null);
2468
2516
  }), t;
2469
2517
  }
2470
2518
  //#endregion
2471
2519
  //#region src/composables/useParallax.ts
2472
- function Er(e) {
2520
+ function Pr(e) {
2473
2521
  let t = /* @__PURE__ */ new Map(), n = !1, r = null, i = (e) => e.classList.contains("vd-parallax-slow") ? .5 : e.classList.contains("vd-parallax-fast") ? 1.5 : 1, a = (e) => {
2474
2522
  let n = t.get(e);
2475
2523
  if (!n) return;
@@ -2483,7 +2531,7 @@ function Er(e) {
2483
2531
  o(), n = !1;
2484
2532
  }), !0);
2485
2533
  };
2486
- h(() => {
2534
+ S(() => {
2487
2535
  if (typeof window > "u" || window.matchMedia?.("(prefers-reduced-motion: reduce)").matches) return;
2488
2536
  let n = e.value;
2489
2537
  n && (n.querySelectorAll(".vd-parallax").forEach((e) => {
@@ -2494,7 +2542,7 @@ function Er(e) {
2494
2542
  direction: r
2495
2543
  }), a(e);
2496
2544
  }), r = () => s(), window.addEventListener("scroll", r, { passive: !0 }), s());
2497
- }), g(() => {
2545
+ }), C(() => {
2498
2546
  r && window.removeEventListener("scroll", r), r = null, t.forEach((e) => {
2499
2547
  e.layers.forEach((e) => e.style.transform = "");
2500
2548
  }), t.clear();
@@ -2502,14 +2550,14 @@ function Er(e) {
2502
2550
  }
2503
2551
  //#endregion
2504
2552
  //#region src/composables/usePopover.ts
2505
- function Dr(e) {
2553
+ function Fr(e) {
2506
2554
  let t = !1;
2507
- h(() => {
2555
+ S(() => {
2508
2556
  let n = e.value;
2509
2557
  if (!n || typeof window > "u") return;
2510
2558
  let r = window;
2511
2559
  t = !0, r.VanduoBubble && typeof r.VanduoBubble.init == "function" ? r.VanduoBubble.init(n) : r.Vanduo && typeof r.Vanduo.init == "function" && r.Vanduo.init(n);
2512
- }), g(() => {
2560
+ }), C(() => {
2513
2561
  if (typeof window > "u" || !t) return;
2514
2562
  let e = window;
2515
2563
  e.VanduoBubble && typeof e.VanduoBubble.destroyAll == "function" && e.VanduoBubble.destroyAll(), t = !1;
@@ -2517,13 +2565,13 @@ function Dr(e) {
2517
2565
  }
2518
2566
  //#endregion
2519
2567
  //#region src/composables/useRipple.ts
2520
- function Or(e) {
2521
- h(() => {
2568
+ function Ir(e) {
2569
+ S(() => {
2522
2570
  let t = e.value;
2523
2571
  if (!t || typeof window > "u") return;
2524
2572
  let n = window;
2525
2573
  n.VanduoRipple && typeof n.VanduoRipple.init == "function" ? n.VanduoRipple.init(t) : n.Vanduo && typeof n.Vanduo.init == "function" && n.Vanduo.init(t);
2526
- }), g(() => {
2574
+ }), C(() => {
2527
2575
  if (typeof window > "u") return;
2528
2576
  let e = window;
2529
2577
  e.VanduoRipple && typeof e.VanduoRipple.destroyAll == "function" && e.VanduoRipple.destroyAll();
@@ -2531,9 +2579,9 @@ function Or(e) {
2531
2579
  }
2532
2580
  //#endregion
2533
2581
  //#region src/composables/useScrollspy.ts
2534
- var kr = (e, t = {}) => {
2535
- let n = y(e[0] ?? null), r = t.offset ?? 96, i = null;
2536
- return h(() => {
2582
+ var Lr = (e, t = {}) => {
2583
+ let n = E(e[0] ?? null), r = t.offset ?? 96, i = null;
2584
+ return S(() => {
2537
2585
  if (typeof window > "u" || !("IntersectionObserver" in window)) return;
2538
2586
  let a = /* @__PURE__ */ new Set();
2539
2587
  i = new IntersectionObserver((t) => {
@@ -2548,22 +2596,22 @@ var kr = (e, t = {}) => {
2548
2596
  let e = document.getElementById(t);
2549
2597
  e && i.observe(e);
2550
2598
  }
2551
- }), g(() => {
2599
+ }), C(() => {
2552
2600
  i?.disconnect(), i = null;
2553
2601
  }), { activeId: n };
2554
2602
  };
2555
2603
  //#endregion
2556
2604
  //#region src/composables/useSearch.ts
2557
- function Ar(e) {
2558
- h(() => {
2605
+ function Rr(e) {
2606
+ S(() => {
2559
2607
  if (typeof window > "u") return;
2560
2608
  let e = window;
2561
2609
  e.VanduoSearch && e.VanduoSearch.list();
2562
- }), g(() => {});
2610
+ }), C(() => {});
2563
2611
  }
2564
2612
  //#endregion
2565
2613
  //#region src/composables/useSidenav.ts
2566
- function jr(e) {
2614
+ function zr(e) {
2567
2615
  let t = [], n = [], r = (e, t) => {
2568
2616
  !e.classList.contains("vd-sidenav-fixed") && !e.classList.contains("vd-offcanvas-fixed") && t.classList.add("is-visible"), e.classList.add("is-open"), e.setAttribute("aria-hidden", "false"), document.body.classList.add("body-sidenav-open"), e.dispatchEvent(new CustomEvent("sidenav:open", { bubbles: !0 }));
2569
2617
  }, i = (e, t) => {
@@ -2571,7 +2619,7 @@ function jr(e) {
2571
2619
  }, a = (e, t) => {
2572
2620
  e.classList.contains("is-open") ? i(e, t) : r(e, t);
2573
2621
  };
2574
- h(() => {
2622
+ S(() => {
2575
2623
  let r = e.value;
2576
2624
  if (!r) return;
2577
2625
  let o = /* @__PURE__ */ new Map();
@@ -2606,20 +2654,20 @@ function jr(e) {
2606
2654
  };
2607
2655
  e.addEventListener("click", n), t.push(() => e.removeEventListener("click", n));
2608
2656
  });
2609
- }), g(() => {
2657
+ }), C(() => {
2610
2658
  t.forEach((e) => e()), t.length = 0, n.forEach((e) => e.remove()), n.length = 0, document.body.classList.remove("body-sidenav-open");
2611
2659
  });
2612
2660
  }
2613
2661
  //#endregion
2614
2662
  //#region src/composables/useSpotlight.ts
2615
- function Mr(e) {
2663
+ function Br(e) {
2616
2664
  let t = !1;
2617
- h(() => {
2665
+ S(() => {
2618
2666
  let n = e.value;
2619
2667
  if (!n || typeof window > "u") return;
2620
2668
  let r = window;
2621
2669
  t = !0, r.VanduoSpotlight && typeof r.VanduoSpotlight.init == "function" ? r.VanduoSpotlight.init(n) : r.Vanduo && typeof r.Vanduo.init == "function" && r.Vanduo.init(n);
2622
- }), g(() => {
2670
+ }), C(() => {
2623
2671
  if (typeof window > "u" || !t) return;
2624
2672
  let e = window;
2625
2673
  e.VanduoSpotlight && typeof e.VanduoSpotlight.destroyAll == "function" && e.VanduoSpotlight.destroyAll(), t = !1;
@@ -2627,9 +2675,9 @@ function Mr(e) {
2627
2675
  }
2628
2676
  //#endregion
2629
2677
  //#region src/composables/useStepper.ts
2630
- function Nr(e) {
2678
+ function Vr(e) {
2631
2679
  let t = /* @__PURE__ */ new Map(), n = [];
2632
- return h(() => {
2680
+ return S(() => {
2633
2681
  let r = e.value;
2634
2682
  r && r.querySelectorAll(".vd-stepper").forEach((e) => {
2635
2683
  let r = Array.from(e.querySelectorAll(".vd-stepper-item")), i = e.classList.contains("vd-stepper-clickable"), a = r.findIndex((e) => e.classList.contains("is-active"));
@@ -2661,7 +2709,7 @@ function Nr(e) {
2661
2709
  prev: () => o(a - 1)
2662
2710
  });
2663
2711
  });
2664
- }), g(() => {
2712
+ }), C(() => {
2665
2713
  n.forEach((e) => e()), n.length = 0, t.clear();
2666
2714
  }), {
2667
2715
  next: (e) => {
@@ -2677,7 +2725,7 @@ function Nr(e) {
2677
2725
  }
2678
2726
  //#endregion
2679
2727
  //#region src/composables/useSuggest.ts
2680
- function Pr(e, t) {
2728
+ function Hr(e, t) {
2681
2729
  try {
2682
2730
  let n = new URL(e, window.location.href);
2683
2731
  return n.origin === window.location.origin ? !0 : t.includes(n.origin);
@@ -2685,10 +2733,10 @@ function Pr(e, t) {
2685
2733
  return !1;
2686
2734
  }
2687
2735
  }
2688
- var K = (e) => typeof e == "object" && (e.label || e.text) || String(e);
2689
- function Fr(e) {
2736
+ var Ur = (e) => typeof e == "object" && (e.label || e.text) || String(e);
2737
+ function Wr(e) {
2690
2738
  let t = [];
2691
- h(() => {
2739
+ S(() => {
2692
2740
  if (typeof window > "u") return;
2693
2741
  let n = e.value;
2694
2742
  n && n.querySelectorAll("[data-vd-suggest], [data-vd-autocomplete]").forEach((e) => {
@@ -2713,7 +2761,7 @@ function Fr(e) {
2713
2761
  e.forEach((e, n) => {
2714
2762
  let r = document.createElement("li");
2715
2763
  r.className = "vd-suggest-item", r.setAttribute("role", "option"), r.id = l + "-item-" + n;
2716
- let i = K(e);
2764
+ let i = Ur(e);
2717
2765
  if (t) {
2718
2766
  let e = i.toLowerCase(), n = t.toLowerCase(), a = 0, o = e.indexOf(n, a);
2719
2767
  for (; o !== -1;) {
@@ -2749,7 +2797,7 @@ function Fr(e) {
2749
2797
  }
2750
2798
  let t;
2751
2799
  if (r) try {
2752
- if (!Pr(r, i)) t = [];
2800
+ if (!Hr(r, i)) t = [];
2753
2801
  else {
2754
2802
  let n = r.includes("?") ? "&" : "?";
2755
2803
  t = await (await window.fetch(r + n + "q=" + encodeURIComponent(e))).json();
@@ -2759,7 +2807,7 @@ function Fr(e) {
2759
2807
  }
2760
2808
  else {
2761
2809
  let n = e.toLowerCase();
2762
- t = o.filter((e) => K(e).toLowerCase().includes(n));
2810
+ t = o.filter((e) => Ur(e).toLowerCase().includes(n));
2763
2811
  }
2764
2812
  p(t, e), m();
2765
2813
  }, y = () => {
@@ -2795,15 +2843,15 @@ function Fr(e) {
2795
2843
  c.parentNode && c.parentNode.removeChild(c);
2796
2844
  });
2797
2845
  });
2798
- }), g(() => {
2846
+ }), C(() => {
2799
2847
  t.forEach((e) => e()), t.length = 0;
2800
2848
  });
2801
2849
  }
2802
2850
  //#endregion
2803
2851
  //#region src/composables/useTabs.ts
2804
- function Ir(e) {
2852
+ function Gr(e) {
2805
2853
  let t = [];
2806
- h(() => {
2854
+ S(() => {
2807
2855
  let n = e.value;
2808
2856
  n && n.querySelectorAll(".vd-tabs").forEach((e) => {
2809
2857
  e.querySelectorAll(".vd-tab-link[data-tab-target]").forEach((n) => {
@@ -2817,71 +2865,20 @@ function Ir(e) {
2817
2865
  n.addEventListener("click", r), t.push(() => n.removeEventListener("click", r));
2818
2866
  });
2819
2867
  });
2820
- }), g(() => {
2868
+ }), C(() => {
2821
2869
  t.forEach((e) => e()), t.length = 0;
2822
2870
  });
2823
2871
  }
2824
2872
  //#endregion
2825
- //#region src/composables/useTheme.ts
2826
- var q = {
2827
- ...ee,
2828
- PRIMARY_DARK: "blue"
2829
- }, Lr = te.map((e) => e.key), Rr = (e) => Lr.includes(e), J = {
2830
- PALETTE: "vanduo-palette",
2831
- PRIMARY: "vanduo-primary-color",
2832
- NEUTRAL: "vanduo-neutral-color",
2833
- RADIUS: "vanduo-radius",
2834
- FONT: "vanduo-font-preference",
2835
- THEME: "vanduo-theme-preference"
2836
- }, Y = () => typeof window < "u", zr = () => {
2837
- if (!Y() || typeof window.matchMedia != "function") return !1;
2838
- let e = window.matchMedia("(prefers-color-scheme: dark)");
2839
- return !!e && e.matches;
2840
- }, X = (e) => e === "system" ? zr() ? q.PRIMARY_DARK : q.PRIMARY_LIGHT : e === "dark" ? q.PRIMARY_DARK : q.PRIMARY_LIGHT, Z = (e, t) => {
2841
- if (!Y()) return t;
2842
- try {
2843
- return window.localStorage.getItem(e) ?? t;
2844
- } catch {
2845
- return t;
2846
- }
2847
- }, Q = (e, t) => {
2848
- if (Y()) try {
2849
- window.localStorage.setItem(e, t);
2850
- } catch {}
2851
- }, Br = () => ({
2852
- palette: q.PALETTE,
2853
- theme: q.THEME,
2854
- primary: X(q.THEME),
2855
- neutral: q.NEUTRAL,
2856
- radius: q.RADIUS,
2857
- font: q.FONT
2858
- }), Vr = () => {
2859
- let e = Z(J.THEME, q.THEME), t = Z(J.RADIUS, q.RADIUS), n = Z(J.PALETTE, q.PALETTE);
2860
- return {
2861
- palette: Rr(n) ? n : q.PALETTE,
2862
- theme: F.includes(e) ? e : q.THEME,
2863
- primary: Z(J.PRIMARY, X(e)),
2864
- neutral: Z(J.NEUTRAL, q.NEUTRAL),
2865
- radius: re.includes(t) ? t : q.RADIUS,
2866
- font: Z(J.FONT, q.FONT)
2867
- };
2868
- }, Hr = (e) => e === q.PRIMARY_LIGHT || e === q.PRIMARY_DARK, Ur = (e) => {
2869
- if (!Y()) return;
2870
- let t = document.documentElement;
2871
- Hr(e.primary) && (e.primary = X(e.theme)), t.setAttribute("data-palette", e.palette), t.setAttribute("data-primary", e.primary), t.setAttribute("data-neutral", e.neutral), t.setAttribute("data-radius", e.radius), t.style.setProperty("--vd-radius-scale", e.radius), e.font === "system" ? t.removeAttribute("data-font") : t.setAttribute("data-font", e.font), e.theme === "system" ? t.removeAttribute("data-theme") : t.setAttribute("data-theme", e.theme);
2872
- }, Wr = (e) => {
2873
- Q(J.PALETTE, e.palette), Q(J.THEME, e.theme), Q(J.PRIMARY, e.primary), Q(J.NEUTRAL, e.neutral), Q(J.RADIUS, e.radius), Q(J.FONT, e.font);
2874
- };
2875
- //#endregion
2876
2873
  //#region src/composables/useTimeline.ts
2877
- function Gr(e) {
2874
+ function Kr(e) {
2878
2875
  let t = !1;
2879
- h(() => {
2876
+ S(() => {
2880
2877
  let n = e.value;
2881
2878
  if (!n || typeof window > "u") return;
2882
2879
  let r = window;
2883
2880
  t = !0, r.VanduoTimeline && typeof r.VanduoTimeline.init == "function" ? r.VanduoTimeline.init(n) : r.Vanduo && typeof r.Vanduo.init == "function" && r.Vanduo.init(n);
2884
- }), g(() => {
2881
+ }), C(() => {
2885
2882
  if (typeof window > "u" || !t) return;
2886
2883
  let e = window;
2887
2884
  e.VanduoTimeline && typeof e.VanduoTimeline.destroyAll == "function" && e.VanduoTimeline.destroyAll(), t = !1;
@@ -2889,7 +2886,7 @@ function Gr(e) {
2889
2886
  }
2890
2887
  //#endregion
2891
2888
  //#region src/composables/useTimepicker.ts
2892
- function Kr(e, t, n = 4) {
2889
+ function qr(e, t, n = 4) {
2893
2890
  let r = e.getBoundingClientRect();
2894
2891
  t.style.minWidth = Math.max(r.width, 0) + "px";
2895
2892
  let i = r.bottom + n, a = r.left;
@@ -2899,9 +2896,9 @@ function Kr(e, t, n = 4) {
2899
2896
  let s = t.getBoundingClientRect();
2900
2897
  a = r.left, a + s.width > window.innerWidth - 8 && (a = window.innerWidth - s.width - 8), t.style.left = Math.max(8, a) + "px";
2901
2898
  }
2902
- function qr(e) {
2899
+ function Jr(e) {
2903
2900
  let t = [];
2904
- h(() => {
2901
+ S(() => {
2905
2902
  if (typeof window > "u") return;
2906
2903
  let n = e.value;
2907
2904
  n && n.querySelectorAll("[data-vd-timepicker]").forEach((e) => {
@@ -2941,7 +2938,7 @@ function qr(e) {
2941
2938
  }), i.appendChild(n);
2942
2939
  });
2943
2940
  }, s = () => {
2944
- i.classList.contains("is-open") && Kr(e, i);
2941
+ i.classList.contains("is-open") && qr(e, i);
2945
2942
  }, c = () => {
2946
2943
  o(), i.classList.add("is-open"), e.setAttribute("aria-expanded", "true"), requestAnimationFrame(() => {
2947
2944
  s();
@@ -2958,13 +2955,13 @@ function qr(e) {
2958
2955
  }, p = () => s();
2959
2956
  e.addEventListener("focus", u), document.addEventListener("click", d, !0), document.addEventListener("keydown", f), window.addEventListener("resize", p), window.addEventListener("scroll", p, !0), e.setAttribute("aria-haspopup", "listbox"), e.setAttribute("aria-expanded", "false"), e.setAttribute("autocomplete", "off"), e.readOnly = !0, t.push(() => e.removeEventListener("focus", u), () => document.removeEventListener("click", d, !0), () => document.removeEventListener("keydown", f), () => window.removeEventListener("resize", p), () => window.removeEventListener("scroll", p, !0), () => i.remove());
2960
2957
  });
2961
- }), g(() => {
2958
+ }), C(() => {
2962
2959
  t.forEach((e) => e()), t.length = 0;
2963
2960
  });
2964
2961
  }
2965
2962
  //#endregion
2966
2963
  //#region src/utils/sanitizeHtml.ts
2967
- var Jr = [
2964
+ var Yr = [
2968
2965
  "B",
2969
2966
  "STRONG",
2970
2967
  "I",
@@ -2979,7 +2976,7 @@ var Jr = [
2979
2976
  "CODE",
2980
2977
  "SMALL",
2981
2978
  "MARK"
2982
- ], Yr = [
2979
+ ], Xr = [
2983
2980
  "SVG",
2984
2981
  "PATH",
2985
2982
  "LINE",
@@ -2987,7 +2984,7 @@ var Jr = [
2987
2984
  "POLYLINE",
2988
2985
  "RECT",
2989
2986
  "G"
2990
- ], Xr = /* @__PURE__ */ new Set([
2987
+ ], Zr = /* @__PURE__ */ new Set([
2991
2988
  "xmlns",
2992
2989
  "width",
2993
2990
  "height",
@@ -3009,17 +3006,17 @@ var Jr = [
3009
3006
  "transform",
3010
3007
  "class"
3011
3008
  ]);
3012
- function Zr(e) {
3009
+ function Qr(e) {
3013
3010
  return e.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#39;");
3014
3011
  }
3015
- function $(e, t = {}) {
3012
+ function $r(e, t = {}) {
3016
3013
  if (!e) return "";
3017
- if (typeof DOMParser > "u") return Zr(e);
3018
- let n = t.allowSvg === !0, r = t.allowStyle === !0, i = n ? Jr.concat(Yr) : Jr, a;
3014
+ if (typeof DOMParser > "u") return Qr(e);
3015
+ let n = t.allowSvg === !0, r = t.allowStyle === !0, i = n ? Yr.concat(Xr) : Yr, a;
3019
3016
  try {
3020
3017
  a = new DOMParser().parseFromString(e, "text/html");
3021
3018
  } catch {
3022
- return Zr(e);
3019
+ return Qr(e);
3023
3020
  }
3024
3021
  let o = (e) => {
3025
3022
  Array.from(e.childNodes).forEach((t) => {
@@ -3043,7 +3040,7 @@ function $(e, t = {}) {
3043
3040
  }
3044
3041
  a.removeAttribute("target"), a.removeAttribute("rel");
3045
3042
  } else if (n && (a.nodeName === "SVG" || a.closest?.("svg"))) Array.from(a.attributes).forEach((e) => {
3046
- Xr.has(e.name) || a.removeAttribute(e.name);
3043
+ Zr.has(e.name) || a.removeAttribute(e.name);
3047
3044
  });
3048
3045
  else {
3049
3046
  let e = /* @__PURE__ */ new Set(["class"]);
@@ -3058,7 +3055,7 @@ function $(e, t = {}) {
3058
3055
  }
3059
3056
  //#endregion
3060
3057
  //#region src/composables/useTooltips.ts
3061
- function Qr(e) {
3058
+ function ei(e) {
3062
3059
  let t = null, n = [], r = () => {
3063
3060
  t &&= (t.remove(), null);
3064
3061
  }, i = (e, t, n) => {
@@ -3081,9 +3078,9 @@ function Qr(e) {
3081
3078
  let n = e.getAttribute("data-tooltip"), a = e.getAttribute("data-tooltip-html");
3082
3079
  if (!n && !a) return;
3083
3080
  let o = e.getAttribute("data-tooltip-placement") ?? "top", s = e.getAttribute("data-tooltip-variant"), c = e.getAttribute("data-tooltip-size"), l = document.createElement("div");
3084
- l.className = "vd-tooltip vd-tooltip-" + o + (s ? " vd-tooltip-" + s : "") + (c ? " vd-tooltip-" + c : "") + (a ? " vd-tooltip-html" : ""), l.setAttribute("data-placement", o), l.style.position = "fixed", a ? l.innerHTML = $(a, { allowStyle: !1 }) : l.textContent = n, document.body.appendChild(l), i(e, l, o), requestAnimationFrame(() => l.classList.add("is-visible")), t = l;
3081
+ l.className = "vd-tooltip vd-tooltip-" + o + (s ? " vd-tooltip-" + s : "") + (c ? " vd-tooltip-" + c : "") + (a ? " vd-tooltip-html" : ""), l.setAttribute("data-placement", o), l.style.position = "fixed", a ? l.innerHTML = $r(a, { allowStyle: !1 }) : l.textContent = n, document.body.appendChild(l), i(e, l, o), requestAnimationFrame(() => l.classList.add("is-visible")), t = l;
3085
3082
  };
3086
- h(() => {
3083
+ S(() => {
3087
3084
  let t = e.value;
3088
3085
  t && t.querySelectorAll("[data-tooltip],[data-tooltip-html]").forEach((e) => {
3089
3086
  let t = () => a(e), i = () => r();
@@ -3091,13 +3088,13 @@ function Qr(e) {
3091
3088
  e.removeEventListener("mouseenter", t), e.removeEventListener("mouseleave", i), e.removeEventListener("focus", t), e.removeEventListener("blur", i);
3092
3089
  });
3093
3090
  });
3094
- }), g(() => {
3091
+ }), C(() => {
3095
3092
  r(), n.forEach((e) => e()), n.length = 0;
3096
3093
  });
3097
3094
  }
3098
3095
  //#endregion
3099
3096
  //#region src/composables/useValidate.ts
3100
- var $r = {
3097
+ var ti = {
3101
3098
  required: (e) => e.trim().length > 0,
3102
3099
  email: (e) => /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e),
3103
3100
  url: (e) => {
@@ -3127,7 +3124,7 @@ var $r = {
3127
3124
  return !1;
3128
3125
  }
3129
3126
  }
3130
- }, ei = {
3127
+ }, ni = {
3131
3128
  required: "This field is required",
3132
3129
  email: "Please enter a valid email address",
3133
3130
  url: "Please enter a valid URL",
@@ -3138,25 +3135,25 @@ var $r = {
3138
3135
  maxVal: "Value must be at most {0}",
3139
3136
  pattern: "Invalid format",
3140
3137
  match: "Fields do not match"
3141
- }, ti = 0;
3142
- function ni(e, t) {
3138
+ }, ri = 0;
3139
+ function ii(e, t) {
3143
3140
  let n = e.closest(".vd-form-group") ?? e.parentElement;
3144
3141
  if (!n) return;
3145
3142
  let r = n.querySelector(".vd-validate-error");
3146
- e.classList.remove("is-valid", "is-invalid"), t.length > 0 ? (e.classList.add("is-invalid"), e.setAttribute("aria-invalid", "true"), r || (r = document.createElement("div"), r.className = "vd-validate-error", ti += 1, r.id = `vd-err-${ti}`, r.setAttribute("role", "alert"), n.appendChild(r)), r.textContent = t[0] ?? "", r.style.display = "", e.setAttribute("aria-describedby", r.id)) : e.value.trim() ? (e.classList.add("is-valid"), e.removeAttribute("aria-invalid"), r && (r.style.display = "none")) : (e.removeAttribute("aria-invalid"), r && (r.style.display = "none"));
3143
+ e.classList.remove("is-valid", "is-invalid"), t.length > 0 ? (e.classList.add("is-invalid"), e.setAttribute("aria-invalid", "true"), r || (r = document.createElement("div"), r.className = "vd-validate-error", ri += 1, r.id = `vd-err-${ri}`, r.setAttribute("role", "alert"), n.appendChild(r)), r.textContent = t[0] ?? "", r.style.display = "", e.setAttribute("aria-describedby", r.id)) : e.value.trim() ? (e.classList.add("is-valid"), e.removeAttribute("aria-invalid"), r && (r.style.display = "none")) : (e.removeAttribute("aria-invalid"), r && (r.style.display = "none"));
3147
3144
  }
3148
- function ri(e) {
3145
+ function ai(e) {
3149
3146
  let t = [], n = (e) => {
3150
3147
  let t = (e.getAttribute("data-vd-rules") ?? "").split("|").map((e) => e.trim()).filter(Boolean), n = e.value, r = [];
3151
3148
  for (let i of t) {
3152
- let [t, ...a] = i.split(":"), o = a.join(":"), s = t ? $r[t] : void 0;
3149
+ let [t, ...a] = i.split(":"), o = a.join(":"), s = t ? ti[t] : void 0;
3153
3150
  if (s && !s(n, o)) {
3154
- let n = (t ? e.getAttribute(`data-vd-msg-${t}`) : null) ?? (t ? ei[t] : void 0) ?? "Invalid";
3151
+ let n = (t ? e.getAttribute(`data-vd-msg-${t}`) : null) ?? (t ? ni[t] : void 0) ?? "Invalid";
3155
3152
  o && (n = n.replace("{0}", o)), r.push(n);
3156
3153
  break;
3157
3154
  }
3158
3155
  }
3159
- return ni(e, r), r.length === 0;
3156
+ return ii(e, r), r.length === 0;
3160
3157
  }, r = (e) => {
3161
3158
  let r = e.getAttribute("data-vd-validate-mode") ?? "blur", i = Array.from(e.querySelectorAll("[data-vd-rules]")), a = () => {
3162
3159
  let e = !0;
@@ -3185,18 +3182,18 @@ function ri(e) {
3185
3182
  };
3186
3183
  e.addEventListener("submit", o), t.push(() => e.removeEventListener("submit", o));
3187
3184
  };
3188
- h(() => {
3185
+ S(() => {
3189
3186
  let t = e.value;
3190
3187
  t && t.querySelectorAll("[data-vd-validate], .vd-validate").forEach(r);
3191
- }), g(() => {
3188
+ }), C(() => {
3192
3189
  t.forEach((e) => e()), t.length = 0;
3193
3190
  });
3194
3191
  }
3195
3192
  //#endregion
3196
3193
  //#region src/composables/useWaypoint.ts
3197
- function ii(e) {
3194
+ function oi(e) {
3198
3195
  let t = [];
3199
- h(() => {
3196
+ S(() => {
3200
3197
  if (typeof window > "u") return;
3201
3198
  let n = e.value;
3202
3199
  n && n.querySelectorAll("[data-vd-waypoint-nav], [data-vd-scrollspy-nav]").forEach((e) => {
@@ -3244,11 +3241,11 @@ function ii(e) {
3244
3241
  e.addEventListener("click", n), t.push(() => e.removeEventListener("click", n));
3245
3242
  }), t.push(() => l.disconnect());
3246
3243
  });
3247
- }), g(() => {
3244
+ }), C(() => {
3248
3245
  t.forEach((e) => e()), t.length = 0;
3249
3246
  });
3250
3247
  }
3251
3248
  //#endregion
3252
- export { q as DEFAULTS, N as FONT_OPTIONS, P as NEUTRAL_COLORS, te as PALETTE_OPTIONS, ne as PRIMARY_COLORS, re as RADIUS_OPTIONS, F as THEME_MODES, ae as VanduoVue, ue as VdAccordion, me as VdAlert, be as VdAvatar, xe as VdBadge, Gn as VdBox, we as VdButton, Te as VdButtonGroup, ke as VdCard, Kn as VdCenter, Me as VdCheckboxGroup, Pe as VdChip, Re as VdCodeSnippet, Ye as VdCollection, qn as VdCover, et as VdCustomSelect, st as VdFlow, Yn as VdFrame, L as VdIcon, Zn as VdInline, lt as VdInput, ht as VdModal, bt as VdOffcanvas, wt as VdPagination, Et as VdPreloader, At as VdProgress, Nt as VdRadioGroup, It as VdRating, Vt as VdSelect, qt as VdSidenav, Yt as VdSkeleton, Zt as VdSpinner, Qn as VdStack, er as VdSwitcher, tn as VdTable, sn as VdTabs, fn as VdToast, gn as VdToastContainer, vn as VdTooltip, In as VdTransfer, Wn as VdTree, Un as VdTreeNode, Ur as applyPreference, Br as defaultPreference, X as defaultPrimary, Hr as isDefaultPrimary, Vr as loadPreference, ie as loadVanduoRuntime, Wr as persistPreference, $ as sanitizeHtml, rr as useAffix, fr as useDatepicker, mr as useDraggable, hr as useDropdown, gr as useExpandingCards, _r as useFlow, vr as useFocusTrap, yr as useGlass, br as useImageBox, xr as useKeyboardNav, Cr as useMorph, wr as useMorphBadges, Tr as useNavbarGlassScroll, Er as useParallax, Dr as usePopover, Or as useRipple, kr as useScrollspy, Ar as useSearch, jr as useSidenav, Mr as useSpotlight, Nr as useStepper, Fr as useSuggest, Ir as useTabs, Gr as useTimeline, qr as useTimepicker, hn as useToast, z as useToastStore, Qr as useTooltips, ri as useValidate, ii as useWaypoint };
3249
+ export { t as FONT_OPTIONS, n as NEUTRAL_COLORS, r as PALETTE_OPTIONS, i as PRIMARY_COLORS, a as RADIUS_OPTIONS, o as THEME_MODES, le as VanduoVue, me as VdAccordion, ve as VdAlert, we as VdAvatar, Te as VdBadge, Jn as VdBox, Oe as VdButton, ke as VdButtonGroup, Ne as VdCard, Yn as VdCenter, Ie as VdCheckboxGroup, Re as VdChip, He as VdCodeSnippet, $e as VdCollection, Xn as VdCover, it as VdCustomSelect, dt as VdFlow, Qn as VdFrame, Y as VdIcon, er as VdInline, pt as VdInput, yt as VdModal, wt as VdOffcanvas, Ot as VdPagination, At as VdPreloader, Pt as VdProgress, Lt as VdRadioGroup, Bt as VdRating, Gt as VdSelect, Zt as VdSidenav, $t as VdSkeleton, tn as VdSpinner, tr as VdStack, rr as VdSwitcher, on as VdTable, dn as VdTabs, X as VdToast, yn as VdToastContainer, xn as VdTooltip, zn as VdTransfer, qn as VdTree, Kn as VdTreeNode, se as applyPreference, ae as defaultPreference, U as defaultPrimary, te as getThemeDefaults, K as isDefaultPrimary, oe as loadPreference, J as loadVanduoRuntime, ce as persistPreference, $r as sanitizeHtml, B as setThemeDefaults, or as useAffix, yr as useDatepicker, xr as useDraggable, Sr as useDropdown, Cr as useExpandingCards, wr as useFlow, Er as useFocusTrap, Dr as useGlass, Or as useImageBox, kr as useKeyboardNav, jr as useMorph, Mr as useMorphBadges, Nr as useNavbarGlassScroll, Pr as useParallax, Fr as usePopover, Ir as useRipple, Lr as useScrollspy, Rr as useSearch, zr as useSidenav, Br as useSpotlight, Vr as useStepper, Wr as useSuggest, Gr as useTabs, Kr as useTimeline, Jr as useTimepicker, vn as useToast, Q as useToastStore, ei as useTooltips, ai as useValidate, oi as useWaypoint };
3253
3250
 
3254
3251
  //# sourceMappingURL=index.js.map