manolis-ui 0.22.3 → 0.22.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,8 +1,8 @@
1
- import { defineComponent as P, computed as _, createElementBlock as r, openBlock as a, normalizeClass as M, createCommentVNode as T, renderSlot as V, createTextVNode as ue, createElementVNode as l, Fragment as j, renderList as E, toDisplayString as O, ref as k, watch as A, h as se, onMounted as K, withDirectives as ee, createVNode as G, isRef as pe, vModelCheckbox as he, unref as U, provide as ge, normalizeStyle as Z, inject as be, useId as ye, defineAsyncComponent as te, nextTick as le, onBeforeUnmount as ie, withModifiers as H, createBlock as W, resolveDynamicComponent as ne, mergeProps as ae, withKeys as re, resolveComponent as oe, withCtx as ce, vModelText as me, useSlots as we, Comment as xe, vShow as ke, onUnmounted as $e } from "vue";
2
- const Ce = ["disabled"], Se = {
1
+ import { defineComponent as z, computed as _, createElementBlock as r, openBlock as s, normalizeClass as w, createCommentVNode as S, renderSlot as $, createTextVNode as je, createElementVNode as u, Fragment as N, renderList as U, toDisplayString as T, ref as b, watch as R, h as Le, onMounted as pe, withDirectives as ke, createVNode as re, isRef as Je, vModelCheckbox as He, unref as te, provide as Ze, onUnmounted as Re, normalizeStyle as be, Transition as qe, withCtx as ye, inject as Qe, useId as et, defineAsyncComponent as Pe, nextTick as he, onBeforeUnmount as Ee, withModifiers as oe, createBlock as fe, resolveDynamicComponent as Ve, mergeProps as ie, withKeys as ge, resolveComponent as Ae, vModelText as Ue, useSlots as tt, Comment as at, vShow as lt, readonly as nt, TransitionGroup as st } from "vue";
2
+ const ot = ["disabled"], it = {
3
3
  key: 0,
4
4
  class: "loading loading-spinner"
5
- }, Ll = /* @__PURE__ */ P({
5
+ }, yn = /* @__PURE__ */ z({
6
6
  __name: "ButtonComponent",
7
7
  props: {
8
8
  outlined: { type: Boolean, default: !1 },
@@ -14,8 +14,8 @@ const Ce = ["disabled"], Se = {
14
14
  disabled: { type: Boolean, default: !1 }
15
15
  },
16
16
  setup(e) {
17
- const c = e, t = _(() => {
18
- switch (c.size) {
17
+ const n = e, a = _(() => {
18
+ switch (n.size) {
19
19
  case "large":
20
20
  return "btn-lg";
21
21
  case "small":
@@ -29,8 +29,8 @@ const Ce = ["disabled"], Se = {
29
29
  default:
30
30
  return "";
31
31
  }
32
- }), o = _(() => {
33
- switch (c.type) {
32
+ }), t = _(() => {
33
+ switch (n.type) {
34
34
  case "neutral":
35
35
  return "btn-neutral";
36
36
  case "primary":
@@ -54,8 +54,8 @@ const Ce = ["disabled"], Se = {
54
54
  default:
55
55
  return "btn-neutral";
56
56
  }
57
- }), u = _(() => {
58
- switch (c.shape) {
57
+ }), o = _(() => {
58
+ switch (n.shape) {
59
59
  case "square":
60
60
  return "btn-square";
61
61
  case "circle":
@@ -64,27 +64,27 @@ const Ce = ["disabled"], Se = {
64
64
  return "";
65
65
  }
66
66
  });
67
- return (s, i) => (a(), r("button", {
68
- class: M([
67
+ return (i, l) => (s(), r("button", {
68
+ class: w([
69
69
  "btn",
70
- { "btn-outline": c.outlined },
71
- { "btn-active": c.active },
72
- o.value,
70
+ { "btn-outline": n.outlined },
71
+ { "btn-active": n.active },
73
72
  t.value,
74
- u.value
73
+ a.value,
74
+ o.value
75
75
  ]),
76
- disabled: c.disabled
76
+ disabled: n.disabled
77
77
  }, [
78
- e.loading ? (a(), r("span", Se)) : T("", !0),
79
- V(s.$slots, "default", {}, () => [
80
- i[0] || (i[0] = ue("Submit", -1))
78
+ e.loading ? (s(), r("span", it)) : S("", !0),
79
+ $(i.$slots, "default", {}, () => [
80
+ l[0] || (l[0] = je("Submit", -1))
81
81
  ])
82
- ], 10, Ce));
82
+ ], 10, ot));
83
83
  }
84
- }), Ie = {
84
+ }), rt = {
85
85
  tabindex: "0",
86
86
  class: "z-1 bg-base-100 shadow-sm p-2 rounded-sm min-w-[inherit] md:min-w-full xl:min-w-52 dropdown-content menu"
87
- }, Te = ["href"], El = /* @__PURE__ */ P({
87
+ }, ut = ["href"], wn = /* @__PURE__ */ z({
88
88
  __name: "dropdown",
89
89
  props: {
90
90
  items: {},
@@ -94,35 +94,35 @@ const Ce = ["disabled"], Se = {
94
94
  forceOpen: { type: Boolean, default: !1 }
95
95
  },
96
96
  setup(e) {
97
- const c = {
97
+ const n = {
98
98
  left: "dropdown-left",
99
99
  right: "dropdown-right",
100
100
  bottom: "dropdown-bottom",
101
101
  top: "dropdown-top"
102
- }, t = {
102
+ }, a = {
103
103
  start: "",
104
104
  end: "dropdown-end"
105
- }, o = e;
106
- return (u, s) => (a(), r("div", {
107
- class: M(["dropdown", c[o.position], t[o.floatPosition], { "dropdown-open": o.forceOpen }, { "dropdown-hover": o.openOnHover }])
105
+ }, t = e;
106
+ return (o, i) => (s(), r("div", {
107
+ class: w(["dropdown", n[t.position], a[t.floatPosition], { "dropdown-open": t.forceOpen }, { "dropdown-hover": t.openOnHover }])
108
108
  }, [
109
- V(u.$slots, "default", {
109
+ $(o.$slots, "default", {
110
110
  tabindex: "0",
111
111
  role: "button"
112
112
  }, () => [
113
- s[0] || (s[0] = l("div", { class: "m-1 btn" }, "Open dropdown", -1))
113
+ i[0] || (i[0] = u("div", { class: "m-1 btn" }, "Open dropdown", -1))
114
114
  ]),
115
- l("ul", Ie, [
116
- (a(!0), r(j, null, E(e.items, (i) => (a(), r("li", null, [
117
- l("a", {
118
- href: i.link
119
- }, O(i.text), 9, Te)
115
+ u("ul", rt, [
116
+ (s(!0), r(N, null, U(e.items, (l) => (s(), r("li", null, [
117
+ u("a", {
118
+ href: l.link
119
+ }, T(l.text), 9, ut)
120
120
  ]))), 256)),
121
- V(u.$slots, "additional")
121
+ $(o.$slots, "additional")
122
122
  ])
123
123
  ], 2));
124
124
  }
125
- }), Me = { class: "modal-box" }, Ve = { class: "modal-action" }, Al = /* @__PURE__ */ P({
125
+ }), ct = { class: "modal-box" }, dt = { class: "modal-action" }, $n = /* @__PURE__ */ z({
126
126
  __name: "modal",
127
127
  props: {
128
128
  position: { default: "center" },
@@ -130,48 +130,48 @@ const Ce = ["disabled"], Se = {
130
130
  forceOpen: { type: [Boolean, null], default: null }
131
131
  },
132
132
  setup(e) {
133
- const c = e, t = {
133
+ const n = e, a = {
134
134
  top: "modal-top",
135
135
  bottom: "modal-bottom",
136
136
  center: "modal-middle"
137
- }, o = k(null), u = () => {
138
- var i;
139
- (i = o.value) == null || i.showModal();
140
- }, s = () => {
141
- var i;
142
- (i = o.value) == null || i.close();
137
+ }, t = b(null), o = () => {
138
+ var l;
139
+ (l = t.value) == null || l.showModal();
140
+ }, i = () => {
141
+ var l;
142
+ (l = t.value) == null || l.close();
143
143
  };
144
- return A(
145
- () => c.forceOpen,
146
- (i) => {
147
- i == !0 && u(), i == !1 && s();
144
+ return R(
145
+ () => n.forceOpen,
146
+ (l) => {
147
+ l == !0 && o(), l == !1 && i();
148
148
  }
149
- ), (i, g) => (a(), r(j, null, [
150
- c.forceOpen == null ? (a(), r("span", {
149
+ ), (l, d) => (s(), r(N, null, [
150
+ n.forceOpen == null ? (s(), r("span", {
151
151
  key: 0,
152
152
  class: "w-fit cursor-pointer",
153
- onClick: u
153
+ onClick: o
154
154
  }, [
155
- V(i.$slots, "trigger", { role: "button" }, () => [
156
- g[0] || (g[0] = l("button", { class: "btn" }, "Open", -1))
155
+ $(l.$slots, "trigger", { role: "button" }, () => [
156
+ d[0] || (d[0] = u("button", { class: "btn" }, "Open", -1))
157
157
  ])
158
- ])) : T("", !0),
159
- l("dialog", {
158
+ ])) : S("", !0),
159
+ u("dialog", {
160
160
  ref_key: "dialog",
161
- ref: o,
162
- class: M(["modal", t[c.position]])
161
+ ref: t,
162
+ class: w(["modal", a[n.position]])
163
163
  }, [
164
- l("div", Me, [
165
- V(i.$slots, "default"),
166
- l("div", Ve, [
167
- V(i.$slots, "actions"),
168
- l("form", {
164
+ u("div", ct, [
165
+ $(l.$slots, "default"),
166
+ u("div", dt, [
167
+ $(l.$slots, "actions"),
168
+ u("form", {
169
169
  method: "dialog",
170
- onSubmit: s,
171
- class: M(e.withBackdrop ? "modal-backdrop" : "")
170
+ onSubmit: i,
171
+ class: w(e.withBackdrop ? "modal-backdrop" : "")
172
172
  }, [
173
- V(i.$slots, "close-button", {}, () => [
174
- g[1] || (g[1] = l("button", { class: "btn" }, "Close", -1))
173
+ $(l.$slots, "close-button", {}, () => [
174
+ d[1] || (d[1] = u("button", { class: "btn" }, "Close", -1))
175
175
  ])
176
176
  ], 34)
177
177
  ])
@@ -179,22 +179,22 @@ const Ce = ["disabled"], Se = {
179
179
  ], 2)
180
180
  ], 64));
181
181
  }
182
- }), Be = { class: "flex justify-center items-center swap-on" }, De = { class: "flex justify-center items-center swap-off" }, Rl = /* @__PURE__ */ P({
182
+ }), ft = { class: "flex justify-center items-center swap-on" }, vt = { class: "flex justify-center items-center swap-off" }, xn = /* @__PURE__ */ z({
183
183
  __name: "swap",
184
184
  props: {
185
185
  effect: {}
186
186
  },
187
187
  setup(e) {
188
- const c = e;
189
- return (t, o) => (a(), r("label", {
190
- class: M(["swap", c.effect ? `swap-${e.effect}` : ""])
188
+ const n = e;
189
+ return (a, t) => (s(), r("label", {
190
+ class: w(["swap", n.effect ? `swap-${e.effect}` : ""])
191
191
  }, [
192
- o[0] || (o[0] = l("input", { type: "checkbox" }, null, -1)),
193
- l("div", Be, [
194
- V(t.$slots, "on")
192
+ t[0] || (t[0] = u("input", { type: "checkbox" }, null, -1)),
193
+ u("div", ft, [
194
+ $(a.$slots, "on")
195
195
  ]),
196
- l("div", De, [
197
- V(t.$slots, "off")
196
+ u("div", vt, [
197
+ $(a.$slots, "off")
198
198
  ])
199
199
  ], 2));
200
200
  }
@@ -205,14 +205,14 @@ const Ce = ["disabled"], Se = {
205
205
  * This source code is licensed under the ISC license.
206
206
  * See the LICENSE file in the root directory of this source tree.
207
207
  */
208
- const ze = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
208
+ const mt = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
209
209
  /**
210
210
  * @license lucide-vue-next v0.468.0 - ISC
211
211
  *
212
212
  * This source code is licensed under the ISC license.
213
213
  * See the LICENSE file in the root directory of this source tree.
214
214
  */
215
- var Y = {
215
+ var Me = {
216
216
  xmlns: "http://www.w3.org/2000/svg",
217
217
  width: 24,
218
218
  height: 24,
@@ -229,18 +229,18 @@ var Y = {
229
229
  * This source code is licensed under the ISC license.
230
230
  * See the LICENSE file in the root directory of this source tree.
231
231
  */
232
- const Oe = ({ size: e, strokeWidth: c = 2, absoluteStrokeWidth: t, color: o, iconNode: u, name: s, class: i, ...g }, { slots: v }) => se(
232
+ const pt = ({ size: e, strokeWidth: n = 2, absoluteStrokeWidth: a, color: t, iconNode: o, name: i, class: l, ...d }, { slots: c }) => Le(
233
233
  "svg",
234
234
  {
235
- ...Y,
236
- width: e || Y.width,
237
- height: e || Y.height,
238
- stroke: o || Y.stroke,
239
- "stroke-width": t ? Number(c) * 24 / Number(e) : c,
240
- class: ["lucide", `lucide-${ze(s ?? "icon")}`],
241
- ...g
235
+ ...Me,
236
+ width: e || Me.width,
237
+ height: e || Me.height,
238
+ stroke: t || Me.stroke,
239
+ "stroke-width": a ? Number(n) * 24 / Number(e) : n,
240
+ class: ["lucide", `lucide-${mt(i ?? "icon")}`],
241
+ ...d
242
242
  },
243
- [...u.map((p) => se(...p)), ...v.default ? [v.default()] : []]
243
+ [...o.map((h) => Le(...h)), ...c.default ? [c.default()] : []]
244
244
  );
245
245
  /**
246
246
  * @license lucide-vue-next v0.468.0 - ISC
@@ -248,14 +248,14 @@ const Oe = ({ size: e, strokeWidth: c = 2, absoluteStrokeWidth: t, color: o, ico
248
248
  * This source code is licensed under the ISC license.
249
249
  * See the LICENSE file in the root directory of this source tree.
250
250
  */
251
- const Q = (e, c) => (t, { slots: o }) => se(
252
- Oe,
251
+ const Ce = (e, n) => (a, { slots: t }) => Le(
252
+ pt,
253
253
  {
254
- ...t,
255
- iconNode: c,
254
+ ...a,
255
+ iconNode: n,
256
256
  name: e
257
257
  },
258
- o
258
+ t
259
259
  );
260
260
  /**
261
261
  * @license lucide-vue-next v0.468.0 - ISC
@@ -263,9 +263,8 @@ const Q = (e, c) => (t, { slots: o }) => se(
263
263
  * This source code is licensed under the ISC license.
264
264
  * See the LICENSE file in the root directory of this source tree.
265
265
  */
266
- const Pe = Q("CircleChevronDownIcon", [
267
- ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
268
- ["path", { d: "m16 10-4 4-4-4", key: "894hmk" }]
266
+ const ht = Ce("ChevronDownIcon", [
267
+ ["path", { d: "m6 9 6 6 6-6", key: "qrunsl" }]
269
268
  ]);
270
269
  /**
271
270
  * @license lucide-vue-next v0.468.0 - ISC
@@ -273,7 +272,7 @@ const Pe = Q("CircleChevronDownIcon", [
273
272
  * This source code is licensed under the ISC license.
274
273
  * See the LICENSE file in the root directory of this source tree.
275
274
  */
276
- const je = Q("CircleXIcon", [
275
+ const gt = Ce("CircleXIcon", [
277
276
  ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
278
277
  ["path", { d: "m15 9-6 6", key: "1uzhvr" }],
279
278
  ["path", { d: "m9 9 6 6", key: "z0biqf" }]
@@ -284,7 +283,7 @@ const je = Q("CircleXIcon", [
284
283
  * This source code is licensed under the ISC license.
285
284
  * See the LICENSE file in the root directory of this source tree.
286
285
  */
287
- const Le = Q("MoonIcon", [
286
+ const bt = Ce("MoonIcon", [
288
287
  ["path", { d: "M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z", key: "a7tn18" }]
289
288
  ]);
290
289
  /**
@@ -293,7 +292,7 @@ const Le = Q("MoonIcon", [
293
292
  * This source code is licensed under the ISC license.
294
293
  * See the LICENSE file in the root directory of this source tree.
295
294
  */
296
- const fe = Q("SearchIcon", [
295
+ const We = Ce("SearchIcon", [
297
296
  ["circle", { cx: "11", cy: "11", r: "8", key: "4ej97u" }],
298
297
  ["path", { d: "m21 21-4.3-4.3", key: "1qie3q" }]
299
298
  ]);
@@ -303,7 +302,7 @@ const fe = Q("SearchIcon", [
303
302
  * This source code is licensed under the ISC license.
304
303
  * See the LICENSE file in the root directory of this source tree.
305
304
  */
306
- const Ee = Q("SunIcon", [
305
+ const yt = Ce("SunIcon", [
307
306
  ["circle", { cx: "12", cy: "12", r: "4", key: "4exip2" }],
308
307
  ["path", { d: "M12 2v2", key: "tus03m" }],
309
308
  ["path", { d: "M12 20v2", key: "1lh1kg" }],
@@ -313,71 +312,100 @@ const Ee = Q("SunIcon", [
313
312
  ["path", { d: "M20 12h2", key: "1q8mjw" }],
314
313
  ["path", { d: "m6.34 17.66-1.41 1.41", key: "1m8zz5" }],
315
314
  ["path", { d: "m19.07 4.93-1.41 1.41", key: "1shlcs" }]
316
- ]), Ae = (e, c) => {
317
- const t = k(null);
318
- return K(() => {
315
+ ]), wt = (e, n) => {
316
+ const a = b(null);
317
+ return pe(() => {
319
318
  if (typeof window < "u") {
320
- const o = window.localStorage.getItem(e);
321
- t.value = o ? JSON.parse(o) : c;
319
+ const t = window.localStorage.getItem(e);
320
+ a.value = t ? JSON.parse(t) : n;
322
321
  }
323
- }), A(t, (o) => {
324
- typeof window < "u" && window.localStorage.setItem(e, JSON.stringify(o));
325
- }), t;
326
- }, Re = { class: "swap-rotate swap" }, Ne = ["true-value", "false-value"], Nl = /* @__PURE__ */ P({
322
+ }), R(a, (t) => {
323
+ typeof window < "u" && window.localStorage.setItem(e, JSON.stringify(t));
324
+ }), a;
325
+ }, $t = { class: "swap-rotate swap" }, xt = ["true-value", "false-value"], kn = /* @__PURE__ */ z({
327
326
  __name: "theme-controller",
328
327
  props: {
329
328
  lightTheme: { default: "light" },
330
329
  darkTheme: { default: "dark" }
331
330
  },
332
331
  setup(e) {
333
- const c = e, t = Ae("theme", c.lightTheme);
334
- function o(u) {
335
- typeof window < "u" && window.document && document.documentElement.setAttribute("data-theme", u);
332
+ const n = e, a = wt("theme", n.lightTheme);
333
+ function t(o) {
334
+ typeof window < "u" && window.document && document.documentElement.setAttribute("data-theme", o);
336
335
  }
337
- return K(() => o(t.value ? t.value : "")), A(t, (u) => {
338
- o(u);
339
- }), (u, s) => (a(), r("label", Re, [
340
- ee(l("input", {
336
+ return pe(() => t(a.value ? a.value : "")), R(a, (o) => {
337
+ t(o);
338
+ }), (o, i) => (s(), r("label", $t, [
339
+ ke(u("input", {
341
340
  type: "checkbox",
342
341
  class: "theme-controller",
343
- "onUpdate:modelValue": s[0] || (s[0] = (i) => pe(t) ? t.value = i : null),
344
- "true-value": c.lightTheme,
345
- "false-value": c.darkTheme
346
- }, null, 8, Ne), [
347
- [he, U(t)]
342
+ "onUpdate:modelValue": i[0] || (i[0] = (l) => Je(a) ? a.value = l : null),
343
+ "true-value": n.lightTheme,
344
+ "false-value": n.darkTheme
345
+ }, null, 8, xt), [
346
+ [He, te(a)]
348
347
  ]),
349
- G(U(Ee), { class: "swap-off fill-current" }),
350
- G(U(Le), { class: "swap-on fill-current" })
348
+ re(te(yt), { class: "swap-off fill-current" }),
349
+ re(te(bt), { class: "swap-on fill-current" })
351
350
  ]));
352
351
  }
353
- }), Fe = ["name"], Ue = { class: "collapse-title font-bold text-2xl lg:text-4xl" }, _e = { class: "collapse-content" }, qe = ["innerHTML"], Fl = /* @__PURE__ */ P({
352
+ }), kt = {
353
+ key: 0,
354
+ class: "join join-vertical w-full"
355
+ }, Ct = ["name"], zt = {
356
+ key: 1,
357
+ type: "checkbox"
358
+ }, St = { class: "collapse-title font-bold text-2xl lg:text-4xl" }, _t = { class: "collapse-content" }, Bt = ["innerHTML"], It = ["name"], Mt = {
359
+ key: 1,
360
+ type: "checkbox"
361
+ }, Tt = { class: "collapse-title font-bold text-2xl lg:text-4xl" }, Vt = { class: "collapse-content" }, jt = ["innerHTML"], Cn = /* @__PURE__ */ z({
354
362
  __name: "accordion",
355
363
  props: {
356
364
  name: {},
357
365
  items: {},
358
366
  joinItems: { type: Boolean, default: !1 },
359
- icon: {}
367
+ icon: {},
368
+ toggle: { type: Boolean, default: !1 }
360
369
  },
361
370
  setup(e) {
362
- const c = e;
363
- return (t, o) => (a(!0), r(j, null, E(c.items, (u, s) => (a(), r("div", {
364
- class: M(["collapse border border-base-300", [e.icon ? `collapse-${e.icon}` : "", { "join-item": e.joinItems }]]),
365
- key: s
371
+ const n = e;
372
+ return (a, t) => n.joinItems ? (s(), r("div", kt, [
373
+ (s(!0), r(N, null, U(n.items, (o, i) => (s(), r("div", {
374
+ class: w(["collapse border border-base-300 join-item", [e.icon ? `collapse-${e.icon}` : ""]]),
375
+ key: i
376
+ }, [
377
+ e.toggle ? (s(), r("input", zt)) : (s(), r("input", {
378
+ key: 0,
379
+ type: "radio",
380
+ name: e.name,
381
+ value: "true"
382
+ }, null, 8, Ct)),
383
+ u("div", St, T(o.title), 1),
384
+ u("div", _t, [
385
+ u("span", {
386
+ innerHTML: o.content
387
+ }, null, 8, Bt)
388
+ ])
389
+ ], 2))), 128))
390
+ ])) : (s(!0), r(N, { key: 1 }, U(n.items, (o, i) => (s(), r("div", {
391
+ class: w(["collapse border border-base-300", [e.icon ? `collapse-${e.icon}` : ""]]),
392
+ key: i
366
393
  }, [
367
- l("input", {
394
+ e.toggle ? (s(), r("input", Mt)) : (s(), r("input", {
395
+ key: 0,
368
396
  type: "radio",
369
397
  name: e.name,
370
398
  value: "true"
371
- }, null, 8, Fe),
372
- l("div", Ue, O(u.title), 1),
373
- l("div", _e, [
374
- l("span", {
375
- innerHTML: u.content
376
- }, null, 8, qe)
399
+ }, null, 8, It)),
400
+ u("div", Tt, T(o.title), 1),
401
+ u("div", Vt, [
402
+ u("span", {
403
+ innerHTML: o.content
404
+ }, null, 8, jt)
377
405
  ])
378
406
  ], 2))), 128));
379
407
  }
380
- }), He = ["src"], We = { class: "text-xl" }, Ul = /* @__PURE__ */ P({
408
+ }), Dt = ["src"], Ot = { class: "text-xl" }, zn = /* @__PURE__ */ z({
381
409
  __name: "avatar",
382
410
  props: {
383
411
  image: {},
@@ -386,32 +414,32 @@ const Ee = Q("SunIcon", [
386
414
  fullyRounded: { type: Boolean, default: !1 }
387
415
  },
388
416
  setup(e) {
389
- const c = e, t = k(c.onlineStatus);
390
- return A(
391
- () => c.onlineStatus,
392
- (o) => {
393
- o && (t.value = o);
417
+ const n = e, a = b(n.onlineStatus);
418
+ return R(
419
+ () => n.onlineStatus,
420
+ (t) => {
421
+ t && (a.value = t);
394
422
  }
395
- ), (o, u) => (a(), r("div", {
396
- class: M(["avatar", [{ "avatar-online": t.value === "online" }, { "avatar-offline": t.value === "offline" }]])
423
+ ), (t, o) => (s(), r("div", {
424
+ class: w(["avatar", [{ "avatar-online": a.value === "online" }, { "avatar-offline": a.value === "offline" }]])
397
425
  }, [
398
- e.image ? (a(), r("div", {
426
+ e.image ? (s(), r("div", {
399
427
  key: 0,
400
- class: M(["rounded", [{ "rounded-full": e.fullyRounded }, { rounded: !e.fullyRounded }]])
428
+ class: w(["rounded", [{ "rounded-full": e.fullyRounded }, { rounded: !e.fullyRounded }]])
401
429
  }, [
402
- l("img", {
430
+ u("img", {
403
431
  src: e.image,
404
432
  class: "w-full h-full"
405
- }, null, 8, He)
406
- ], 2)) : (a(), r("div", {
433
+ }, null, 8, Dt)
434
+ ], 2)) : (s(), r("div", {
407
435
  key: 1,
408
- class: M(["flex justify-center bg-neutral p-[25%] rounded w-16 text-neutral-content text-center", [{ "rounded-full": e.fullyRounded }, { rounded: !e.fullyRounded }]])
436
+ class: w(["flex justify-center bg-neutral p-[25%] rounded w-16 text-neutral-content text-center", [{ "rounded-full": e.fullyRounded }, { rounded: !e.fullyRounded }]])
409
437
  }, [
410
- l("p", We, O(e.initials), 1)
438
+ u("p", Ot, T(e.initials), 1)
411
439
  ], 2))
412
440
  ], 2));
413
441
  }
414
- }), _l = /* @__PURE__ */ P({
442
+ }), Sn = /* @__PURE__ */ z({
415
443
  __name: "badge",
416
444
  props: {
417
445
  color: { default: "neutral" },
@@ -419,12 +447,12 @@ const Ee = Q("SunIcon", [
419
447
  size: { default: "medium" }
420
448
  },
421
449
  setup(e) {
422
- const c = e, t = {
450
+ const n = e, a = {
423
451
  "extra small": "badge-xs",
424
452
  small: "badge-sm",
425
453
  medium: "badge-md",
426
454
  large: "badge-lg"
427
- }, o = {
455
+ }, t = {
428
456
  neutral: "badge-neutral",
429
457
  primary: "badge-primary",
430
458
  secondary: "badge-secondary",
@@ -435,25 +463,25 @@ const Ee = Q("SunIcon", [
435
463
  warning: "badge-warning",
436
464
  error: "badge-error"
437
465
  };
438
- return (u, s) => (a(), r("span", {
439
- class: M(["badge", t[c.size], o[c.color], { "badge-outline": c.outline }])
466
+ return (o, i) => (s(), r("span", {
467
+ class: w(["badge", a[n.size], t[n.color], { "badge-outline": n.outline }])
440
468
  }, [
441
- V(u.$slots, "default")
469
+ $(o.$slots, "default")
442
470
  ], 2));
443
471
  }
444
- }), Ke = ["src", "alt"], Xe = {
472
+ }), Pt = ["src", "alt"], At = {
445
473
  key: 0,
446
474
  class: "card-body"
447
- }, Ge = {
475
+ }, Lt = {
448
476
  key: 0,
449
477
  class: "group-hover:text-primary text-lg text-left cursor-pointer card-title"
450
- }, Je = {
478
+ }, Et = {
451
479
  key: 1,
452
480
  class: "text-left"
453
- }, Ze = { class: "flex-col flex-nowrap mt-auto card-actions" }, Qe = {
481
+ }, Rt = { class: "flex-col flex-nowrap mt-auto card-actions empty:hidden" }, Nt = {
454
482
  key: 1,
455
483
  class: "card-body"
456
- }, ql = /* @__PURE__ */ P({
484
+ }, _n = /* @__PURE__ */ z({
457
485
  __name: "card",
458
486
  props: {
459
487
  imgUrl: { default: "" },
@@ -470,64 +498,68 @@ const Ee = Q("SunIcon", [
470
498
  horizontal: { type: Boolean, default: !1 }
471
499
  },
472
500
  setup(e) {
473
- const c = e, t = k(c.outlined);
474
- return A(
475
- () => c.outlined,
476
- (o) => {
477
- t.value = o;
501
+ const n = e, a = b(n.outlined);
502
+ return R(
503
+ () => n.outlined,
504
+ (t) => {
505
+ a.value = t;
478
506
  }
479
- ), (o, u) => (a(), r("div", {
480
- class: M(["group bg-base-100 shadow-xl rounded-sm min-w-64 max-w-full h-full card card-compact", [
481
- { "border-4 border-primary": t.value },
507
+ ), (t, o) => (s(), r("div", {
508
+ class: w(["group bg-base-100 shadow-xl rounded-sm min-w-64 max-w-full h-full card card-compact", [
509
+ { "border-4 border-primary": a.value },
482
510
  e.color ?? "",
483
511
  e.background,
484
512
  { "card-side": e.horizontal }
485
513
  ]])
486
514
  }, [
487
- l("figure", {
488
- class: M([{ "contents!": e.horizontal && e.imgWidth }])
515
+ u("figure", {
516
+ class: w([{ "contents!": e.horizontal && e.imgWidth }])
489
517
  }, [
490
- e.imgUrl || e.imgUrl && !e.loading ? (a(), r("img", {
518
+ e.imgUrl || e.imgUrl && !e.loading ? (s(), r("img", {
491
519
  key: 0,
492
520
  src: e.imgUrl,
493
521
  alt: e.alt,
494
- class: M(["rounded-sm object-cover", [
522
+ class: w(["rounded-sm object-cover", [
495
523
  {
496
524
  hidden: e.loading
497
525
  },
498
526
  !e.horizontal && e.imgHeight ? e.imgHeight : "h-full",
499
527
  e.horizontal && e.imgWidth ? e.imgWidth : "w-full"
500
528
  ]])
501
- }, null, 10, Ke)) : T("", !0),
502
- e.loading && e.imgUrl ? (a(), r("div", {
529
+ }, null, 10, Pt)) : S("", !0),
530
+ e.loading && e.imgUrl ? (s(), r("div", {
503
531
  key: 1,
504
- class: M(["w-full skeleton", e.imgHeight])
505
- }, null, 2)) : T("", !0)
532
+ class: w(["w-full skeleton", e.imgHeight])
533
+ }, null, 2)) : S("", !0)
506
534
  ], 2),
507
- e.loading ? T("", !0) : (a(), r("div", Xe, [
508
- e.title ? (a(), r("h2", Ge, O(e.title), 1)) : T("", !0),
509
- V(o.$slots, "details"),
510
- e.description ? (a(), r("p", Je, O(e.description), 1)) : T("", !0),
511
- l("div", Ze, [
512
- V(o.$slots, "actions")
535
+ e.loading ? S("", !0) : (s(), r("div", At, [
536
+ e.title ? (s(), r("h2", Lt, T(e.title), 1)) : S("", !0),
537
+ $(t.$slots, "details", { class: "empty:hidden" }),
538
+ e.description ? (s(), r("p", Et, T(e.description), 1)) : S("", !0),
539
+ u("div", Rt, [
540
+ $(t.$slots, "actions")
513
541
  ])
514
542
  ])),
515
- e.loading ? (a(), r("div", Qe, [...u[0] || (u[0] = [
516
- l("div", { class: "flex flex-col gap-4 w-52" }, [
517
- l("div", { class: "w-28 h-4 skeleton" }),
518
- l("div", { class: "w-full h-4 skeleton" }),
519
- l("div", { class: "w-full h-4 skeleton" })
543
+ e.loading ? (s(), r("div", Nt, [...o[0] || (o[0] = [
544
+ u("div", { class: "flex flex-col gap-4 w-52" }, [
545
+ u("div", { class: "w-28 h-4 skeleton" }),
546
+ u("div", { class: "w-full h-4 skeleton" }),
547
+ u("div", { class: "w-full h-4 skeleton" })
520
548
  ], -1)
521
- ])])) : T("", !0)
549
+ ])])) : S("", !0)
522
550
  ], 2));
523
551
  }
524
- }), ve = Symbol("CarouselItemStyle"), Ye = { class: "relative h-full" }, et = {
552
+ }), Ke = Symbol("CarouselItemStyle"), Ft = {
553
+ key: 0,
554
+ class: "flex-shrink-0"
555
+ }, qt = {
525
556
  key: 0,
526
- class: "top-1/2 right-5 left-5 z-10 absolute flex justify-between -translate-y-1/2 transform"
527
- }, tt = {
557
+ class: "flex-shrink-0"
558
+ }, Wt = {
528
559
  key: 1,
560
+ id: "carousel-indicators",
529
561
  class: "bottom-5 z-10 absolute flex justify-center gap-2 py-2 w-full"
530
- }, lt = ["onClick", "aria-label"], nt = /* @__PURE__ */ P({
562
+ }, Ht = ["onClick", "aria-label"], Ut = /* @__PURE__ */ z({
531
563
  __name: "carousel",
532
564
  props: {
533
565
  showIndicators: {
@@ -542,7 +574,7 @@ const Ee = Q("SunIcon", [
542
574
  type: String,
543
575
  default: "horizontal",
544
576
  required: !1,
545
- validator: (e) => e == "horizontal" || e == "vertical"
577
+ validator: (e) => e === "horizontal" || e === "vertical"
546
578
  },
547
579
  initialSlide: {
548
580
  type: Number,
@@ -560,140 +592,511 @@ const Ee = Q("SunIcon", [
560
592
  },
561
593
  slideDuration: {
562
594
  type: Number,
563
- default: 300,
595
+ default: 250,
596
+ // Snappier transition like YouTube Shorts
597
+ validator: (e) => e >= 0
598
+ },
599
+ breakpoints: {
600
+ type: Object,
601
+ default: () => ({})
602
+ },
603
+ infinite: {
604
+ type: Boolean,
605
+ default: !1
606
+ },
607
+ autoplay: {
608
+ type: Boolean,
609
+ default: !1
610
+ },
611
+ autoplayInterval: {
612
+ type: Number,
613
+ default: 3e3,
614
+ // Default to 3 seconds
615
+ validator: (e) => e > 0
616
+ },
617
+ containerBreakout: {
618
+ type: Boolean,
619
+ default: !1
620
+ },
621
+ peekAmount: {
622
+ type: Number,
623
+ default: 0,
564
624
  validator: (e) => e >= 0
565
625
  }
566
626
  },
567
- setup(e, { expose: c }) {
568
- const t = e, o = k(t.initialSlide), u = k(null), s = k(!1), i = k(0), g = _(() => ({
569
- width: `calc((100% - ${t.slidesPerView > 1 ? (t.slidesPerView - 1) * t.gap : 0}px) / ${t.slidesPerView})`
570
- }));
571
- ge(ve, g);
572
- const v = () => {
573
- u.value ? i.value = u.value.children.length : i.value = 0;
574
- }, p = async (w) => {
575
- if (!u.value || t.slidesPerView <= 0 || s.value || (v(), i.value === 0)) return;
576
- const x = (w % i.value + i.value) % i.value, C = u.value, B = t.sliderOrientation === "vertical" ? (C.offsetHeight - (t.slidesPerView - 1) * t.gap) / t.slidesPerView : (C.offsetWidth - (t.slidesPerView - 1) * t.gap) / t.slidesPerView;
577
- if (B <= 0) return;
578
- const L = B + t.gap, R = x * L, N = t.sliderOrientation === "vertical" ? C.scrollHeight - C.offsetHeight : C.scrollWidth - C.offsetWidth, m = Math.max(0, Math.min(R, N + 0.5));
579
- s.value = !0, C.style.scrollBehavior = "auto";
580
- const d = t.sliderOrientation === "vertical" ? C.scrollTop : C.scrollLeft, f = m - d;
581
- if (Math.abs(f) < 1) {
582
- s.value = !1, o.value = x;
627
+ setup(e, { expose: n }) {
628
+ const a = e, t = b(a.initialSlide), o = b(null), i = b(null), l = b(0), d = b(!1), c = b(0), h = b(0), M = b(!1), A = b(0), O = b(0), v = b(0), D = b(0), V = b(0), W = b(0), F = b(0), K = b(null), J = b(null), ae = b(0), m = b(null), x = _(() => {
629
+ const g = Object.keys(a.breakpoints).map(Number).sort((P, E) => P - E);
630
+ let C = {};
631
+ for (const P of g)
632
+ h.value >= P && (C = { ...C, ...a.breakpoints[P] });
633
+ return C;
634
+ }), k = _(() => x.value.slidesPerView ?? a.slidesPerView), j = _(() => x.value.gap ?? a.gap), f = _(() => x.value.containerBreakout ?? a.containerBreakout), B = _(() => {
635
+ if (!f.value) return 0;
636
+ const g = x.value.peekAmount;
637
+ if (g !== void 0) {
638
+ if (g > 0) return g;
639
+ } else if (a.peekAmount > 0)
640
+ return a.peekAmount;
641
+ if (o.value) {
642
+ const C = o.value.parentElement;
643
+ if (C) {
644
+ const E = window.getComputedStyle(C).maxWidth;
645
+ if (E && E !== "none") {
646
+ const X = parseFloat(E), q = window.innerWidth;
647
+ if (q > X) {
648
+ const ne = (q - X) / 2;
649
+ return Math.min(ne, 80);
650
+ }
651
+ }
652
+ }
653
+ }
654
+ return 0;
655
+ }), I = _(() => {
656
+ const g = {};
657
+ return f.value && B.value > 0 && (a.sliderOrientation === "horizontal" ? (g.marginLeft = `-${B.value}px`, g.marginRight = `-${B.value}px`, g.width = `calc(100% + ${B.value * 2}px)`) : (g.marginTop = `-${B.value}px`, g.marginBottom = `-${B.value}px`, g.height = `calc(100% + ${B.value * 2}px)`)), g;
658
+ }), H = _(() => {
659
+ const g = {
660
+ gap: `${j.value}px`
661
+ };
662
+ return f.value && B.value > 0 && (a.sliderOrientation === "horizontal" ? (g.paddingLeft = `${B.value}px`, g.paddingRight = `${B.value}px`) : (g.paddingTop = `${B.value}px`, g.paddingBottom = `${B.value}px`)), g;
663
+ }), ee = _(() => {
664
+ const g = a.sliderOrientation === "horizontal", P = `calc((100% - ${k.value > 1 ? (k.value - 1) * j.value : 0}px) / ${k.value})`;
665
+ return g ? {
666
+ width: P
667
+ } : { height: P };
668
+ });
669
+ Ze(Ke, ee);
670
+ const G = () => {
671
+ i.value ? c.value = i.value.children.length : c.value = 0;
672
+ }, le = () => {
673
+ if (!o.value || k.value <= 0) return 0;
674
+ let C = a.sliderOrientation === "horizontal" ? o.value.offsetWidth : o.value.offsetHeight;
675
+ f.value && B.value > 0 && (C = C - B.value * 2);
676
+ const P = (k.value - 1) * j.value;
677
+ return C <= 0 ? 0 : (C - P) / k.value;
678
+ }, p = _(() => {
679
+ if (!o.value || c.value === 0 || k.value === 0) return 0;
680
+ let C = a.sliderOrientation === "horizontal" ? o.value.offsetWidth : o.value.offsetHeight;
681
+ f.value && B.value > 0 && (C = C - B.value * 2);
682
+ const P = le(), E = c.value * (P + j.value) - j.value;
683
+ return Math.max(0, E - C);
684
+ }), y = async (g, C = !1) => {
685
+ if (!o.value || k.value <= 0 || d.value || (G(), c.value === 0)) return;
686
+ const P = le();
687
+ if (P <= 0) return;
688
+ const E = P + j.value, X = p.value;
689
+ let q = g;
690
+ a.infinite ? q = (g % c.value + c.value) % c.value : q = Math.max(0, Math.min(g, c.value - k.value));
691
+ const ne = q * E, Y = a.infinite ? ne : Math.max(0, Math.min(ne, X));
692
+ if (C || a.slideDuration === 0) {
693
+ i.value && (i.value.style.transitionDuration = "0ms", i.value.style.transform = a.sliderOrientation === "horizontal" ? `translate3d(${-Y}px, 0, 0)` : `translate3d(0, ${-Y}px, 0)`), l.value = Y, t.value = q, d.value = !1, a.autoplay && xe();
583
694
  return;
584
695
  }
585
- const b = performance.now(), n = ($) => {
586
- const h = $ - b, D = Math.min(1, h / t.slideDuration), F = D < 0.5 ? 4 * D * D * D : 1 - Math.pow(-2 * D + 2, 3) / 2, q = d + f * F;
587
- t.sliderOrientation === "vertical" ? C.scrollTop = q : C.scrollLeft = q, D < 1 ? requestAnimationFrame(n) : (t.sliderOrientation === "vertical" ? C.scrollTop = m : C.scrollLeft = m, o.value = x, s.value = !1);
696
+ d.value = !0;
697
+ const se = l.value, Q = Y - se, ce = performance.now(), de = (ue) => {
698
+ if (!i.value) return;
699
+ const me = ue - ce, Fe = Math.min(1, me / a.slideDuration), Ye = 1 - Math.pow(1 - Fe, 3), Oe = se + Q * Ye;
700
+ i.value.style.transform = a.sliderOrientation === "horizontal" ? `translate3d(${-Oe}px, 0, 0)` : `translate3d(0, ${-Oe}px, 0)`, l.value = Oe, Fe < 1 ? K.value = requestAnimationFrame(de) : (i.value.style.transform = a.sliderOrientation === "horizontal" ? `translate3d(${-Y}px, 0, 0)` : `translate3d(0, ${-Y}px, 0)`, l.value = Y, t.value = q, d.value = !1, a.autoplay && xe(), K.value = null);
588
701
  };
589
- requestAnimationFrame(n);
590
- }, S = () => {
591
- p(o.value + 1);
592
- }, I = () => {
593
- p(o.value - 1);
594
- }, z = (w) => {
595
- p(w);
596
- }, y = () => {
597
- if (!u.value || t.slidesPerView <= 0 || (v(), i.value === 0)) return;
598
- const w = u.value, x = t.sliderOrientation === "vertical" ? w.offsetHeight : w.offsetWidth, C = t.slidesPerView > 1 ? (t.slidesPerView - 1) * t.gap : 0, B = (x - C) / t.slidesPerView;
599
- if (B <= 0) return;
600
- const L = Math.max(0, i.value - t.slidesPerView), R = Math.min(Math.max(0, t.initialSlide), L), N = R * (B + t.gap), m = t.sliderOrientation === "vertical" ? w.scrollHeight - w.offsetHeight : w.scrollWidth - w.offsetWidth, d = Math.max(0, Math.min(N, m + 0.5));
601
- t.sliderOrientation === "vertical" ? w.scrollTo({ top: d, behavior: "auto" }) : w.scrollTo({ left: d, behavior: "auto" }), o.value = R;
702
+ K.value = requestAnimationFrame(de);
703
+ }, L = () => {
704
+ a.infinite && t.value >= c.value - k.value ? y(0) : y(t.value + 1);
705
+ }, Z = () => {
706
+ a.infinite && t.value <= 0 ? y(c.value - k.value) : y(Math.max(0, t.value - 1));
707
+ }, we = (g) => {
708
+ y(g);
709
+ }, $e = (g) => {
710
+ d.value && K.value && (a.autoplay && Be(), cancelAnimationFrame(K.value), d.value = !1);
711
+ const C = "touches" in g ? g.touches[0] : g;
712
+ A.value = C.clientX, O.value = C.clientY, m.value = null, v.value = l.value, D.value = 0, V.value = 0, W.value = 0, F.value = performance.now(), o.value && (o.value.style.scrollSnapType = "none"), document.addEventListener("mousemove", ze, { passive: !1 }), document.addEventListener("mouseup", _e), document.addEventListener("touchmove", ze, { passive: !1 }), document.addEventListener("touchend", _e);
713
+ }, ze = (g) => {
714
+ const C = "touches" in g ? g.touches[0] : g;
715
+ if (!m.value) {
716
+ const ce = Math.abs(C.clientX - A.value), de = Math.abs(C.clientY - O.value), ue = 3;
717
+ if (ce > ue || de > ue)
718
+ if (a.sliderOrientation === "horizontal")
719
+ if (ce > de)
720
+ m.value = "horizontal", M.value = !0;
721
+ else {
722
+ Se();
723
+ return;
724
+ }
725
+ else if (de > ce)
726
+ m.value = "vertical", M.value = !0;
727
+ else {
728
+ Se();
729
+ return;
730
+ }
731
+ else
732
+ return;
733
+ }
734
+ if (!M.value || !i.value || !o.value) return;
735
+ g.cancelable && g.preventDefault();
736
+ const P = performance.now(), E = P - F.value, X = a.sliderOrientation === "horizontal" ? C.clientX : C.clientY, q = a.sliderOrientation === "horizontal" ? A.value : O.value, ne = a.sliderOrientation === "horizontal" ? V.value || q : W.value || q, Y = X - ne;
737
+ if (E > 0) {
738
+ const ce = Y / E * 1e3;
739
+ D.value = D.value * 0.7 + ce * 0.3;
740
+ }
741
+ const se = X - q;
742
+ let Q = v.value - se;
743
+ Q < 0 ? Q = Q * 0.4 : Q > p.value && (Q = p.value + (Q - p.value) * 0.4), ae.value = Q, i.value.style.transform = a.sliderOrientation === "horizontal" ? `translate3d(${-ae.value}px, 0, 0)` : `translate3d(0, ${-ae.value}px, 0)`, a.sliderOrientation === "horizontal" ? V.value = X : W.value = X, F.value = P;
744
+ }, Se = () => {
745
+ document.removeEventListener("mousemove", ze), document.removeEventListener("mouseup", _e), document.removeEventListener("touchmove", ze), document.removeEventListener("touchend", _e);
746
+ }, _e = () => {
747
+ if (!M.value || !o.value || !i.value) {
748
+ Se();
749
+ return;
750
+ }
751
+ const g = a.sliderOrientation === "horizontal", C = g ? v.value - (V.value - A.value) : v.value - (W.value - O.value), P = Math.max(0, Math.min(C, p.value)), E = le() + j.value;
752
+ if (M.value = !1, Se(), l.value = P, a.infinite) {
753
+ if (C < 0) {
754
+ y(c.value - 1);
755
+ return;
756
+ } else if (C > p.value) {
757
+ y(0);
758
+ return;
759
+ }
760
+ } else if (C < 0) {
761
+ y(0);
762
+ return;
763
+ } else if (C > p.value) {
764
+ const me = Math.max(0, c.value - Math.floor(k.value));
765
+ y(me);
766
+ return;
767
+ }
768
+ const X = Math.max(0, c.value - Math.floor(k.value)), q = 300, ne = 0.2, Y = Math.round(P / E), se = g ? V.value - A.value : W.value - O.value, Q = Math.abs(se), de = le() * ne;
769
+ let ue = Y;
770
+ if (Math.abs(D.value) > q) {
771
+ const me = -Math.sign(D.value);
772
+ ue = t.value + me;
773
+ } else if (Q > de) {
774
+ const me = se > 0 ? -1 : 1;
775
+ ue = t.value + me;
776
+ } else
777
+ ue = Y;
778
+ y(Math.max(0, Math.min(X, ue)));
779
+ }, De = () => {
780
+ !a.autoplay || J.value !== null || (J.value = setInterval(() => {
781
+ L();
782
+ }, a.autoplayInterval));
783
+ }, Be = () => {
784
+ J.value !== null && (clearInterval(J.value), J.value = null);
785
+ }, xe = () => {
786
+ Be(), setTimeout(() => {
787
+ De();
788
+ }, 500);
789
+ }, Ie = b(null), Xe = (g) => {
790
+ if (!g || g.length === 0)
791
+ return;
792
+ const { width: C } = g[0].contentRect;
793
+ Math.abs(C - h.value) > 1 && (h.value = C);
794
+ }, Ge = () => {
795
+ if (!o.value || k.value <= 0 || (G(), c.value === 0)) return;
796
+ const g = le();
797
+ if (g <= 0) return;
798
+ const C = Math.max(0, c.value - k.value), P = Math.min(Math.max(0, a.initialSlide), C), E = P * (g + j.value), X = p.value, q = Math.max(0, Math.min(E, X));
799
+ i.value && (i.value.style.transitionDuration = "0ms", i.value.style.transform = a.sliderOrientation === "horizontal" ? `translate3d(${-q}px, 0, 0)` : `translate3d(0, ${-q}px, 0)`), l.value = q, t.value = P;
602
800
  };
603
- return K(() => {
801
+ let Ne = !1;
802
+ return pe(() => {
803
+ var C, P, E, X, q, ne, Y, se;
804
+ h.value = window.innerWidth;
805
+ const g = R(c, (Q) => {
806
+ Q > 0 && !Ne && (Ge(), Ne = !0, g());
807
+ });
808
+ a.autoplay && De(), G(), o.value && (Ie.value = new ResizeObserver(Xe), Ie.value.observe(o.value)), (C = o.value) == null || C.addEventListener("mousedown", $e), (P = o.value) == null || P.addEventListener("touchstart", $e, { passive: !1 }), a.showNavigationButtons && ((q = (X = (E = o.value) == null ? void 0 : E.parentElement) == null ? void 0 : X.querySelector(".absolute.flex.justify-between")) == null || q.addEventListener("click", xe)), a.showIndicators && ((se = (Y = (ne = o.value) == null ? void 0 : ne.parentElement) == null ? void 0 : Y.querySelector(".bottom-5.flex.justify-center")) == null || se.addEventListener("click", xe));
809
+ }), Re(() => {
810
+ Ie.value && Ie.value.disconnect(), Be();
811
+ }), R(() => a.autoplay, (g) => {
812
+ g ? De() : Be();
813
+ }), R(() => a.autoplayInterval, xe), R(() => a.initialSlide, (g) => {
814
+ requestAnimationFrame(() => y(g, !0));
815
+ }), R([k, j], () => {
604
816
  requestAnimationFrame(() => {
605
- requestAnimationFrame(y);
606
- }), v();
607
- }), A(() => t.initialSlide, (w) => {
608
- requestAnimationFrame(() => p(w));
609
- }), A(() => [t.slidesPerView, t.gap], () => {
817
+ requestAnimationFrame(() => {
818
+ if (G(), c.value === 0) return;
819
+ const g = Math.max(0, c.value - k.value), C = Math.min(t.value, g);
820
+ y(C, !0);
821
+ });
822
+ });
823
+ }), R(h, () => {
610
824
  requestAnimationFrame(() => {
611
825
  requestAnimationFrame(() => {
612
- if (v(), i.value === 0) return;
613
- const w = Math.max(0, i.value - t.slidesPerView), x = Math.min(o.value, w), C = t.slideDuration;
614
- t.slideDuration = 0, p(x), t.slideDuration = C;
826
+ if (G(), c.value === 0) return;
827
+ const g = Math.max(0, c.value - k.value), C = Math.min(t.value, g);
828
+ y(C, !0);
615
829
  });
616
830
  });
617
- }), c({ scrollToSlide: p }), (w, x) => (a(), r("div", Ye, [
618
- l("div", {
831
+ }), n({ scrollToSlide: y }), (g, C) => (s(), r("div", {
832
+ class: "relative h-full",
833
+ style: be(I.value)
834
+ }, [
835
+ u("div", {
619
836
  ref_key: "carouselContainer",
620
- ref: u,
621
- class: M(["rounded w-full h-full overflow-x-scroll scroll-smooth carousel", [{ "carousel-horizontal md:snap-none": e.sliderOrientation == "horizontal" }, { "carousel-vertical": e.sliderOrientation == "vertical" }]]),
622
- style: Z({ gap: `${e.gap}px` })
837
+ ref: o,
838
+ class: w(["rounded w-full h-full carousel", [{ "carousel-horizontal": e.sliderOrientation === "horizontal" }, { "carousel-vertical": e.sliderOrientation === "vertical" }, { "cursor-grabbing !select-none": M.value }]]),
839
+ style: { scrollSnapType: "none" }
623
840
  }, [
624
- V(w.$slots, "default", {}, void 0, !0)
625
- ], 6),
626
- e.showNavigationButtons ? (a(), r("div", et, [
627
- l("div", {
628
- onClick: I,
629
- role: "button",
630
- "aria-label": "Previous Slide"
631
- }, [
632
- V(w.$slots, "prevButton", {}, () => [
633
- x[0] || (x[0] = l("button", {
634
- class: "btn btn-circle",
635
- tabindex: "-1"
636
- }, "❮", -1))
637
- ], !0)
638
- ]),
639
- l("div", {
640
- onClick: S,
641
- role: "button",
642
- "aria-label": "Next Slide"
841
+ u("div", {
842
+ ref_key: "slidesContainer",
843
+ ref: i,
844
+ class: w(["w-full h-full transition-transform duration-0 ease-out", e.sliderOrientation === "horizontal" ? "flex" : "block"]),
845
+ style: be(H.value)
643
846
  }, [
644
- V(w.$slots, "nextButton", {}, () => [
645
- x[1] || (x[1] = l("button", {
646
- class: "btn btn-circle",
647
- tabindex: "-1"
648
- }, "❯", -1))
649
- ], !0)
650
- ])
651
- ])) : T("", !0),
652
- e.showIndicators ? (a(), r("div", tt, [
653
- (a(!0), r(j, null, E(i.value, (C, B) => (a(), r("button", {
654
- key: `dot-${B}`,
655
- onClick: (L) => z(B),
656
- class: M(["btn btn-circle btn-xs", { "btn-active": B === o.value }]),
657
- "aria-label": `Go to slide ${B + 1}`
658
- }, null, 10, lt))), 128))
659
- ])) : T("", !0)
660
- ]));
847
+ $(g.$slots, "default", {}, void 0, !0)
848
+ ], 6)
849
+ ], 2),
850
+ e.showNavigationButtons ? (s(), r("div", {
851
+ key: 0,
852
+ class: w([{ "top-1/2 right-5 left-5 z-10 absolute flex justify-between items-center -translate-y-1/2 transform": e.sliderOrientation === "horizontal" }, { "right-0 absolute flex justify-between items-center -translate-y-1/2 transform rotate-90 top-1/2 gap-3": e.sliderOrientation === "vertical" }])
853
+ }, [
854
+ re(qe, { name: "fade" }, {
855
+ default: ye(() => [
856
+ a.infinite || t.value > 0 ? (s(), r("div", Ft, [
857
+ u("div", {
858
+ onClick: Z,
859
+ role: "button",
860
+ "aria-label": "Previous Slide"
861
+ }, [
862
+ $(g.$slots, "prevButton", {}, () => [
863
+ C[0] || (C[0] = u("button", {
864
+ class: "btn btn-circle text-xs",
865
+ tabindex: "-1"
866
+ }, "❮", -1))
867
+ ], !0)
868
+ ])
869
+ ])) : S("", !0)
870
+ ]),
871
+ _: 3
872
+ }),
873
+ C[2] || (C[2] = u("div", { class: "flex-grow" }, null, -1)),
874
+ re(qe, { name: "fade" }, {
875
+ default: ye(() => [
876
+ a.infinite || t.value < c.value - k.value ? (s(), r("div", qt, [
877
+ u("div", {
878
+ onClick: L,
879
+ role: "button",
880
+ "aria-label": "Next Slide"
881
+ }, [
882
+ $(g.$slots, "nextButton", {}, () => [
883
+ C[1] || (C[1] = u("button", {
884
+ class: "btn btn-circle text-xs",
885
+ tabindex: "-1"
886
+ }, "❯", -1))
887
+ ], !0)
888
+ ])
889
+ ])) : S("", !0)
890
+ ]),
891
+ _: 3
892
+ })
893
+ ], 2)) : S("", !0),
894
+ e.showIndicators ? (s(), r("div", Wt, [
895
+ (s(!0), r(N, null, U(c.value, (P, E) => (s(), r("button", {
896
+ key: `dot-${E}`,
897
+ onClick: (X) => we(E),
898
+ class: w(["btn btn-circle btn-xs", { "btn-active": E === t.value }]),
899
+ "aria-label": `Go to slide ${E + 1}`
900
+ }, null, 10, Ht))), 128))
901
+ ])) : S("", !0)
902
+ ], 4));
661
903
  }
662
- }), J = (e, c) => {
663
- const t = e.__vccOpts || e;
664
- for (const [o, u] of c)
665
- t[o] = u;
666
- return t;
667
- }, Hl = /* @__PURE__ */ J(nt, [["__scopeId", "data-v-db55a6a5"]]), at = /* @__PURE__ */ P({
904
+ }), ve = (e, n) => {
905
+ const a = e.__vccOpts || e;
906
+ for (const [t, o] of n)
907
+ a[t] = o;
908
+ return a;
909
+ }, Bn = /* @__PURE__ */ ve(Ut, [["__scopeId", "data-v-5a0871a3"]]), Kt = /* @__PURE__ */ z({
668
910
  __name: "carouselItem",
669
911
  setup(e) {
670
- const c = be(ve, k({}));
671
- return (t, o) => (a(), r("div", {
912
+ const n = Qe(Ke, b({}));
913
+ return (a, t) => (s(), r("div", {
672
914
  class: "w-full h-full carousel-item",
673
- style: Z(U(c))
915
+ style: be(te(n))
674
916
  }, [
675
- V(t.$slots, "default", {}, void 0, !0)
917
+ $(a.$slots, "default", {}, void 0, !0)
676
918
  ], 4));
677
919
  }
678
- }), Wl = /* @__PURE__ */ J(at, [["__scopeId", "data-v-507384bc"]]), ot = { class: "flex gap-4 bg-base-100 w-full tabs tabs-boxed" }, st = ["onClick"], it = {
920
+ }), In = /* @__PURE__ */ ve(Kt, [["__scopeId", "data-v-507384bc"]]), Xt = {
921
+ key: 0,
922
+ class: "chat-image"
923
+ }, Gt = {
924
+ key: 1,
925
+ class: "chat-header"
926
+ }, Yt = {
927
+ key: 2,
928
+ class: "chat-footer"
929
+ }, Mn = /* @__PURE__ */ z({
930
+ __name: "chat",
931
+ props: {
932
+ position: {},
933
+ color: {}
934
+ },
935
+ setup(e) {
936
+ const n = e, a = _(() => `chat chat-${n.position}`), t = _(() => {
937
+ const o = ["chat-bubble"];
938
+ return n.color && o.push(`chat-bubble-${n.color}`), o.join(" ");
939
+ });
940
+ return (o, i) => (s(), r("div", {
941
+ class: w(a.value)
942
+ }, [
943
+ o.$slots.image ? (s(), r("div", Xt, [
944
+ $(o.$slots, "image")
945
+ ])) : S("", !0),
946
+ o.$slots.header ? (s(), r("div", Gt, [
947
+ $(o.$slots, "header")
948
+ ])) : S("", !0),
949
+ u("div", {
950
+ class: w(t.value)
951
+ }, [
952
+ $(o.$slots, "default")
953
+ ], 2),
954
+ o.$slots.footer ? (s(), r("div", Yt, [
955
+ $(o.$slots, "footer")
956
+ ])) : S("", !0)
957
+ ], 2));
958
+ }
959
+ }), Jt = { class: "countdown" }, Zt = ["aria-label"], Tn = /* @__PURE__ */ z({
960
+ __name: "countdown",
961
+ props: {
962
+ value: {}
963
+ },
964
+ setup(e) {
965
+ return (n, a) => (s(), r("span", Jt, [
966
+ u("span", {
967
+ style: be({ "--value": e.value }),
968
+ "aria-label": String(e.value),
969
+ "aria-live": "polite"
970
+ }, T(e.value), 13, Zt)
971
+ ]));
972
+ }
973
+ }), Vn = /* @__PURE__ */ z({
974
+ __name: "kbd",
975
+ props: {
976
+ size: {}
977
+ },
978
+ setup(e) {
979
+ const n = e, a = _(() => {
980
+ const t = ["kbd"];
981
+ return n.size && t.push(`kbd-${n.size}`), t.join(" ");
982
+ });
983
+ return (t, o) => (s(), r("kbd", {
984
+ class: w(a.value)
985
+ }, [
986
+ $(t.$slots, "default")
987
+ ], 2));
988
+ }
989
+ }), jn = /* @__PURE__ */ z({
990
+ __name: "stats",
991
+ props: {
992
+ vertical: { type: Boolean, default: !1 },
993
+ horizontal: { type: Boolean, default: !1 }
994
+ },
995
+ setup(e) {
996
+ const n = e, a = _(() => {
997
+ const t = ["stats"];
998
+ return n.vertical ? t.push("stats-vertical") : n.horizontal && t.push("stats-horizontal"), t.join(" ");
999
+ });
1000
+ return (t, o) => (s(), r("div", {
1001
+ class: w(a.value)
1002
+ }, [
1003
+ $(t.$slots, "default")
1004
+ ], 2));
1005
+ }
1006
+ }), Qt = { class: "stat" }, ea = {
1007
+ key: 0,
1008
+ class: "stat-figure"
1009
+ }, ta = {
1010
+ key: 1,
1011
+ class: "stat-title"
1012
+ }, aa = {
1013
+ key: 2,
1014
+ class: "stat-value"
1015
+ }, la = {
1016
+ key: 3,
1017
+ class: "stat-desc"
1018
+ }, na = {
1019
+ key: 4,
1020
+ class: "stat-actions"
1021
+ }, Dn = /* @__PURE__ */ z({
1022
+ __name: "stat",
1023
+ props: {
1024
+ title: {},
1025
+ value: {},
1026
+ desc: {}
1027
+ },
1028
+ setup(e) {
1029
+ return (n, a) => (s(), r("div", Qt, [
1030
+ n.$slots.figure ? (s(), r("div", ea, [
1031
+ $(n.$slots, "figure")
1032
+ ])) : S("", !0),
1033
+ e.title ? (s(), r("div", ta, T(e.title), 1)) : S("", !0),
1034
+ e.value ? (s(), r("div", aa, T(e.value), 1)) : S("", !0),
1035
+ e.desc ? (s(), r("div", la, T(e.desc), 1)) : S("", !0),
1036
+ n.$slots.actions ? (s(), r("div", na, [
1037
+ $(n.$slots, "actions")
1038
+ ])) : S("", !0)
1039
+ ]));
1040
+ }
1041
+ }), sa = { class: "overflow-x-auto" }, On = /* @__PURE__ */ z({
1042
+ __name: "table",
1043
+ props: {
1044
+ zebra: { type: Boolean, default: !1 },
1045
+ pinRows: { type: Boolean, default: !1 },
1046
+ pinCols: { type: Boolean, default: !1 },
1047
+ size: {}
1048
+ },
1049
+ setup(e) {
1050
+ const n = e, a = _(() => {
1051
+ const t = ["table"];
1052
+ return n.zebra && t.push("table-zebra"), n.pinRows && t.push("table-pin-rows"), n.pinCols && t.push("table-pin-cols"), n.size && t.push(`table-${n.size}`), t.join(" ");
1053
+ });
1054
+ return (t, o) => (s(), r("div", sa, [
1055
+ u("table", {
1056
+ class: w(a.value)
1057
+ }, [
1058
+ $(t.$slots, "default")
1059
+ ], 2)
1060
+ ]));
1061
+ }
1062
+ }), Pn = /* @__PURE__ */ z({
1063
+ __name: "timeline",
1064
+ props: {
1065
+ vertical: { type: Boolean, default: !1 },
1066
+ horizontal: { type: Boolean, default: !1 },
1067
+ compact: { type: Boolean, default: !1 },
1068
+ snapIcon: { type: Boolean, default: !1 }
1069
+ },
1070
+ setup(e) {
1071
+ const n = e, a = _(() => {
1072
+ const t = ["timeline"];
1073
+ return n.vertical ? t.push("timeline-vertical") : n.horizontal && t.push("timeline-horizontal"), n.compact && t.push("timeline-compact"), n.snapIcon && t.push("timeline-snap-icon"), t.join(" ");
1074
+ });
1075
+ return (t, o) => (s(), r("ul", {
1076
+ class: w(a.value)
1077
+ }, [
1078
+ $(t.$slots, "default")
1079
+ ], 2));
1080
+ }
1081
+ }), oa = { class: "flex gap-4 bg-base-100 w-full tabs tabs-boxed" }, ia = ["onClick"], ra = {
679
1082
  key: 0,
680
1083
  class: "inline-component-wrapper flex grow justify-center items-center w-full h-full"
681
- }, rt = {
1084
+ }, ua = {
682
1085
  key: 1,
683
1086
  class: "flex flex-col"
684
- }, ut = { class: "text-sm" }, dt = {
1087
+ }, ca = { class: "text-sm" }, da = {
685
1088
  key: 0,
686
1089
  class: "opacity-75 overflow-hidden text-xs truncate ..."
687
- }, ct = {
1090
+ }, fa = {
688
1091
  key: 1,
689
1092
  class: "hidden md:block opacity-35 overflow-hidden text-xs truncate ..."
690
- }, ft = { class: "hidden" }, mt = ["id"], vt = { class: "modal-box" }, pt = { class: "font-bold text-lg" }, ht = ["name", "checked"], gt = { class: "collapse-title flex justify-between items-center pr-4 w-full font-medium text-xl" }, bt = {
1093
+ }, va = { class: "hidden" }, ma = ["id"], pa = { class: "modal-box" }, ha = { class: "font-bold text-lg" }, ga = ["name", "checked"], ba = { class: "collapse-title flex justify-between items-center pr-4 w-full font-medium text-xl" }, ya = {
691
1094
  key: 0,
692
1095
  class: "opacity-75 overflow-hidden text-sm truncate ..."
693
- }, yt = {
1096
+ }, wa = {
694
1097
  key: 1,
695
1098
  class: "opacity-35 text-sm"
696
- }, wt = { class: "collapse-content flex place-content-center p-0" }, xt = /* @__PURE__ */ P({
1099
+ }, $a = { class: "collapse-content flex place-content-center p-0" }, xa = /* @__PURE__ */ z({
697
1100
  __name: "advancedSearch",
698
1101
  props: {
699
1102
  searchOptions: {},
@@ -702,37 +1105,37 @@ const Ee = Q("SunIcon", [
702
1105
  value: {}
703
1106
  },
704
1107
  emits: ["search", "update:search-data"],
705
- setup(e, { emit: c }) {
706
- const t = e, o = c, u = t.id ?? `advancedSearch-${ye()}`, s = k(null), i = k(null), g = {
707
- datetime: te(() => Promise.resolve().then(() => Pt)),
708
- "standard-select": te(() => import("./select-Cz4vf_YE.js")),
1108
+ setup(e, { emit: n }) {
1109
+ const a = e, t = n, o = a.id ?? `advancedSearch-${et()}`, i = b(null), l = b(null), d = {
1110
+ datetime: Pe(() => Promise.resolve().then(() => Ea)),
1111
+ "standard-select": Pe(() => import("./select-Cz4vf_YE.js")),
709
1112
  // Add other components here when you create them:
710
1113
  // 'custom-range': defineAsyncComponent(() => import('./CustomRange.vue')),
711
1114
  // 'custom-number': defineAsyncComponent(() => import('./CustomNumber.vue')),
712
- "custom-text": te(() => import("./inputField-BxT95oyM.js"))
1115
+ "custom-text": Pe(() => import("./inputField-BxT95oyM.js"))
713
1116
  // 'custom-select': defineAsyncComponent(() => import('./CustomSelect.vue')),
714
- }, v = k({}), p = k({
1117
+ }, c = b({}), h = b({
715
1118
  left: "0px",
716
1119
  top: "0px",
717
1120
  transform: "translateX(0%)"
718
- }), S = k(null), I = (m) => {
719
- var d;
1121
+ }), M = b(null), A = (m) => {
1122
+ var x;
720
1123
  if (m.value === void 0 || m.value === null || m.value === "")
721
1124
  return "";
722
1125
  switch (m.type) {
723
1126
  case "datetime":
724
1127
  if (typeof m.value == "string")
725
1128
  try {
726
- const f = new Date(m.value);
727
- if (!isNaN(f.getTime()))
728
- return f.toLocaleString();
1129
+ const k = new Date(m.value);
1130
+ if (!isNaN(k.getTime()))
1131
+ return k.toLocaleString();
729
1132
  } catch {
730
1133
  }
731
1134
  else if (m.range && typeof m.value == "object" && m.value !== null && "start" in m.value && "end" in m.value)
732
1135
  try {
733
- const f = new Date(m.value.start), b = new Date(m.value.end);
734
- if (!isNaN(f.getTime()) && !isNaN(b.getTime()))
735
- return `${f.toLocaleDateString()} - ${b.toLocaleDateString()}`;
1136
+ const k = new Date(m.value.start), j = new Date(m.value.end);
1137
+ if (!isNaN(k.getTime()) && !isNaN(j.getTime()))
1138
+ return `${k.toLocaleDateString()} - ${j.toLocaleDateString()}`;
736
1139
  } catch {
737
1140
  }
738
1141
  break;
@@ -746,12 +1149,12 @@ const Ee = Q("SunIcon", [
746
1149
  break;
747
1150
  case "standard-select":
748
1151
  case "custom-select":
749
- if ((d = m.props) != null && d.options && Array.isArray(m.props.options)) {
750
- const f = m.props.options.find(
751
- (b) => b.value === m.value
1152
+ if ((x = m.props) != null && x.options && Array.isArray(m.props.options)) {
1153
+ const k = m.props.options.find(
1154
+ (j) => j.value === m.value
752
1155
  );
753
- if (f)
754
- return f.text;
1156
+ if (k)
1157
+ return k.text;
755
1158
  }
756
1159
  return String(m.value);
757
1160
  case "custom-text":
@@ -761,62 +1164,62 @@ const Ee = Q("SunIcon", [
761
1164
  }
762
1165
  return String(m.value);
763
1166
  };
764
- function z(m) {
765
- var n, $;
766
- const d = (n = s.value) == null ? void 0 : n.name;
767
- if (!d) {
1167
+ function O(m) {
1168
+ var f, B;
1169
+ const x = (f = i.value) == null ? void 0 : f.name;
1170
+ if (!x) {
768
1171
  console.warn("componentValueUpdated called but no active tab.");
769
1172
  return;
770
1173
  }
771
- const f = ($ = t.searchOptions.find(
772
- (h) => (h == null ? void 0 : h.category) === t.currentCategory
773
- )) == null ? void 0 : $.tabs, b = f == null ? void 0 : f.find(
774
- (h) => h.name === d
1174
+ const k = (B = a.searchOptions.find(
1175
+ (I) => (I == null ? void 0 : I.category) === a.currentCategory
1176
+ )) == null ? void 0 : B.tabs, j = k == null ? void 0 : k.find(
1177
+ (I) => I.name === x
775
1178
  );
776
- b ? (b.value = m, o("update:search-data", {
777
- tab: b.name,
1179
+ j ? (j.value = m, t("update:search-data", {
1180
+ tab: j.name,
778
1181
  data: m
779
1182
  })) : console.error(
780
- `Tab with name "${d}" not found in current category.`
1183
+ `Tab with name "${x}" not found in current category.`
781
1184
  );
782
1185
  }
783
- function y(m) {
784
- z(m);
1186
+ function v(m) {
1187
+ O(m);
785
1188
  }
786
- function w() {
787
- o("search");
1189
+ function D() {
1190
+ t("search");
788
1191
  }
789
- async function x(m) {
790
- var b;
791
- const d = document.getElementById(`advancedSearchMobile-${u}`), f = d && d.contains(m.target);
792
- ((b = s.value) == null ? void 0 : b.displayMode) === "popup" && S.value && !S.value.contains(m.target) && !f && (await le(), s.value = null);
1192
+ async function V(m) {
1193
+ var j;
1194
+ const x = document.getElementById(`advancedSearchMobile-${o}`), k = x && x.contains(m.target);
1195
+ ((j = i.value) == null ? void 0 : j.displayMode) === "popup" && M.value && !M.value.contains(m.target) && !k && (await he(), i.value = null);
793
1196
  }
794
- async function C() {
1197
+ async function W() {
795
1198
  if (typeof window < "u" && window.innerWidth <= 768) {
796
1199
  const m = document.getElementById(
797
- `advancedSearchMobile-${u}`
1200
+ `advancedSearchMobile-${o}`
798
1201
  );
799
- m ? (s.value = null, m.showModal()) : console.warn(
800
- `Mobile modal element not found. Ensure it exists with id="advancedSearchMobile-${u}".`
1202
+ m ? (i.value = null, m.showModal()) : console.warn(
1203
+ `Mobile modal element not found. Ensure it exists with id="advancedSearchMobile-${o}".`
801
1204
  );
802
1205
  }
803
1206
  }
804
- async function B(m) {
805
- var f, b, n;
1207
+ async function F(m) {
1208
+ var k, j, f;
806
1209
  if (typeof window < "u" && window.innerWidth <= 768) {
807
- C();
1210
+ W();
808
1211
  return;
809
1212
  }
810
- const d = m.displayMode ?? "popup";
811
- if (((f = s.value) == null ? void 0 : f.name) === m.name && ((b = s.value) == null ? void 0 : b.displayMode) === d)
812
- s.value = null;
813
- else if (s.value = { ...m, displayMode: d }, await le(), ((n = s.value) == null ? void 0 : n.displayMode) === "popup") {
814
- const $ = v.value[m.name];
815
- if ($ && S.value) {
816
- const h = $.getBoundingClientRect(), D = S.value.getBoundingClientRect(), F = h.bottom - D.top, q = h.left + h.width / 2 - D.left;
817
- p.value = {
818
- left: `${q}px`,
819
- top: `${F + 8}px`,
1213
+ const x = m.displayMode ?? "popup";
1214
+ if (((k = i.value) == null ? void 0 : k.name) === m.name && ((j = i.value) == null ? void 0 : j.displayMode) === x)
1215
+ i.value = null;
1216
+ else if (i.value = { ...m, displayMode: x }, await he(), ((f = i.value) == null ? void 0 : f.displayMode) === "popup") {
1217
+ const B = c.value[m.name];
1218
+ if (B && M.value) {
1219
+ const I = B.getBoundingClientRect(), H = M.value.getBoundingClientRect(), ee = I.bottom - H.top, G = I.left + I.width / 2 - H.left;
1220
+ h.value = {
1221
+ left: `${G}px`,
1222
+ top: `${ee + 8}px`,
820
1223
  // Add a small gap
821
1224
  transform: "translateX(-50%)"
822
1225
  // Center horizontally
@@ -828,25 +1231,25 @@ const Ee = Q("SunIcon", [
828
1231
  );
829
1232
  }
830
1233
  }
831
- const L = (m) => {
832
- const d = m.relatedTarget;
1234
+ const K = (m) => {
1235
+ const x = m.relatedTarget;
833
1236
  setTimeout(() => {
834
- var f;
835
- ((f = s.value) == null ? void 0 : f.displayMode) === "inline" && S.value && (!d || !S.value.contains(d)) ? (console.log("Blur detected outside container, closing inline view."), s.value = null) : console.log(
1237
+ var k;
1238
+ ((k = i.value) == null ? void 0 : k.displayMode) === "inline" && M.value && (!x || !M.value.contains(x)) ? (console.log("Blur detected outside container, closing inline view."), i.value = null) : console.log(
836
1239
  "Blur detected, but staying within container or not an inline tab."
837
1240
  );
838
1241
  }, 50);
839
- }, R = () => {
840
- console.log("Enter key pressed on inline component, closing inline view."), s.value = null;
1242
+ }, J = () => {
1243
+ console.log("Enter key pressed on inline component, closing inline view."), i.value = null;
841
1244
  };
842
- A(i, (m) => {
843
- var d;
1245
+ R(l, (m) => {
1246
+ var x;
844
1247
  console.log(
845
1248
  "advanced-search: inlineComponentRef changed. New Value:",
846
1249
  m
847
- ), console.log("advanced-search: activeTab.value:", s.value), m && ((d = s.value) == null ? void 0 : d.displayMode) === "inline" ? (console.log(
1250
+ ), console.log("advanced-search: activeTab.value:", i.value), m && ((x = i.value) == null ? void 0 : x.displayMode) === "inline" ? (console.log(
848
1251
  "advanced-search: Inline component ref is available and active tab is inline. Attempting to focus child input..."
849
- ), le(() => {
1252
+ ), he(() => {
850
1253
  console.log(
851
1254
  "advanced-search: Inside nextTick. Attempting to call child's focus method..."
852
1255
  ), console.log("advanced-search: Type of newValue:", typeof m), console.log(
@@ -861,158 +1264,187 @@ const Ee = Q("SunIcon", [
861
1264
  })) : console.log(
862
1265
  m ? "advanced-search: inlineComponentRef available, but active tab is not inline." : "advanced-search: inlineComponentRef is now null (component likely unmounted)."
863
1266
  );
864
- }), K(() => {
865
- document.addEventListener("click", x), window.addEventListener("resize", N);
866
- }), ie(() => {
867
- document.removeEventListener("click", x), window.removeEventListener("resize", N);
1267
+ }), pe(() => {
1268
+ document.addEventListener("click", V), window.addEventListener("resize", ae);
1269
+ }), Ee(() => {
1270
+ document.removeEventListener("click", V), window.removeEventListener("resize", ae);
868
1271
  });
869
- const N = () => {
870
- var m, d;
1272
+ const ae = () => {
1273
+ var m, x;
871
1274
  if (typeof window < "u") {
872
- const f = window.innerWidth <= 768, b = s.value !== null && (s.value.displayMode === "popup" || s.value.displayMode === "inline") && window.innerWidth > 768;
873
- !f && (((m = s.value) == null ? void 0 : m.displayMode) === "popup" || ((d = s.value) == null ? void 0 : d.displayMode) === "inline") && window.innerWidth <= 768 && (console.log("Resizing to mobile, closing active tab."), s.value = null), f && !b && s.value !== null && (console.log(
1275
+ const k = window.innerWidth <= 768, j = i.value !== null && (i.value.displayMode === "popup" || i.value.displayMode === "inline") && window.innerWidth > 768;
1276
+ !k && (((m = i.value) == null ? void 0 : m.displayMode) === "popup" || ((x = i.value) == null ? void 0 : x.displayMode) === "inline") && window.innerWidth <= 768 && (console.log("Resizing to mobile, closing active tab."), i.value = null), k && !j && i.value !== null && (console.log(
874
1277
  "Resizing to desktop from potential mobile active state, closing active tab."
875
- ), s.value = null);
876
- const n = document.getElementById(
877
- `advancedSearchMobile-${u}`
1278
+ ), i.value = null);
1279
+ const f = document.getElementById(
1280
+ `advancedSearchMobile-${o}`
878
1281
  );
879
- n != null && n.open && !f && (console.log("Modal is open on desktop, closing modal and active tab."), n.close(), s.value = null);
1282
+ f != null && f.open && !k && (console.log("Modal is open on desktop, closing modal and active tab."), f.close(), i.value = null);
880
1283
  }
881
1284
  };
882
- return (m, d) => {
883
- var f, b;
884
- return a(), r(j, null, [
885
- l("div", {
1285
+ return (m, x) => {
1286
+ var k, j;
1287
+ return s(), r(N, null, [
1288
+ u("div", {
886
1289
  ref_key: "searchContainer",
887
- ref: S,
1290
+ ref: M,
888
1291
  class: "w-full"
889
1292
  }, [
890
- l("div", {
1293
+ u("div", {
891
1294
  class: "group/search relative flex place-items-center shadow-md p-2 border-2 border-base-300/25 rounded-sm w-full transition-all cursor-pointer md:cursor-auto",
892
- onClick: C
1295
+ onClick: W
893
1296
  }, [
894
- l("div", ot, [
895
- (a(!0), r(j, null, E(((f = t.searchOptions.find(
896
- (n) => n.category === t.currentCategory
897
- )) == null ? void 0 : f.tabs) || [], (n, $) => {
898
- var h, D, F, q, de;
899
- return a(), r("button", {
900
- key: `${n.name}-${$}`,
901
- onClick: H((X) => B(n), ["stop"]),
902
- class: M([{
903
- "tab-active": ((h = s.value) == null ? void 0 : h.name) === n.name,
904
- "tab-active-inline": ((D = s.value) == null ? void 0 : D.name) === n.name && ((F = s.value) == null ? void 0 : F.displayMode) === "inline"
1297
+ u("div", oa, [
1298
+ (s(!0), r(N, null, U(((k = a.searchOptions.find(
1299
+ (f) => f.category === a.currentCategory
1300
+ )) == null ? void 0 : k.tabs) || [], (f, B) => {
1301
+ var I, H, ee, G, le;
1302
+ return s(), r("button", {
1303
+ key: `${f.name}-${B}`,
1304
+ onClick: oe((p) => F(f), ["stop"]),
1305
+ class: w([{
1306
+ "tab-active": ((I = i.value) == null ? void 0 : I.name) === f.name,
1307
+ "tab-active-inline": ((H = i.value) == null ? void 0 : H.name) === f.name && ((ee = i.value) == null ? void 0 : ee.displayMode) === "inline"
905
1308
  // Add new class
906
1309
  }, "group/searchitem after:top-0 after:-right-2 after:absolute relative first-of-type:flex-auto last-of-type:flex-auto after:bg-base-200 hover:bg-base-200 p-1 rounded-sm w-auto after:w-px after:h-10 overflow-x-hidden text-start md:after:content-[''] after:content-none last-of-type:after:content-none"]),
907
1310
  ref_for: !0,
908
- ref: (X) => v.value[n.name] = X
1311
+ ref: (p) => c.value[f.name] = p
909
1312
  }, [
910
- ((q = s.value) == null ? void 0 : q.name) === n.name && ((de = s.value) == null ? void 0 : de.displayMode) === "inline" ? (a(), r("div", it, [
911
- (a(), W(ne(g[s.value.type]), ae({ ref_for: !0 }, s.value.props || {}, {
912
- modelValue: s.value.value,
913
- onUpdated: d[0] || (d[0] = (X) => y(X)),
914
- "onUpdate:modelValue": d[1] || (d[1] = (X) => y(X)),
915
- onBlur: L,
916
- onKeydown: re(H(R, ["stop", "prevent"]), ["enter"]),
1313
+ ((G = i.value) == null ? void 0 : G.name) === f.name && ((le = i.value) == null ? void 0 : le.displayMode) === "inline" ? (s(), r("div", ra, [
1314
+ (s(), fe(Ve(d[i.value.type]), ie({ ref_for: !0 }, i.value.props || {}, {
1315
+ modelValue: i.value.value,
1316
+ onUpdated: x[0] || (x[0] = (p) => v(p)),
1317
+ "onUpdate:modelValue": x[1] || (x[1] = (p) => v(p)),
1318
+ onBlur: K,
1319
+ onKeydown: ge(oe(J, ["stop", "prevent"]), ["enter"]),
917
1320
  ref_for: !0,
918
1321
  ref_key: "inlineComponentRef",
919
- ref: i
1322
+ ref: l
920
1323
  }), null, 16, ["modelValue", "onKeydown"]))
921
- ])) : (a(), r("div", rt, [
922
- l("p", ut, O(n.name), 1),
923
- n.value !== void 0 && n.value !== null && n.value !== "" ? (a(), r("p", dt, O(I(n)), 1)) : (a(), r("p", ct, O(n.description), 1))
1324
+ ])) : (s(), r("div", ua, [
1325
+ u("p", ca, T(f.name), 1),
1326
+ f.value !== void 0 && f.value !== null && f.value !== "" ? (s(), r("p", da, T(A(f)), 1)) : (s(), r("p", fa, T(f.description), 1))
924
1327
  ]))
925
- ], 10, st);
1328
+ ], 10, ia);
926
1329
  }), 128))
927
1330
  ]),
928
- s.value && s.value.displayMode === "popup" ? (a(), r("div", {
1331
+ i.value && i.value.displayMode === "popup" ? (s(), r("div", {
929
1332
  key: 0,
930
1333
  class: "absolute flex shadow-sm mt-4 w-fit max-w-full transition-all tab-content",
931
- style: Z(p.value)
1334
+ style: be(h.value)
932
1335
  }, [
933
- (a(), W(ne(g[s.value.type]), ae(s.value.props || {}, {
934
- modelValue: s.value.value,
935
- onUpdated: d[2] || (d[2] = (n) => z(n)),
936
- "onUpdate:modelValue": d[3] || (d[3] = (n) => z(n))
1336
+ (s(), fe(Ve(d[i.value.type]), ie(i.value.props || {}, {
1337
+ modelValue: i.value.value,
1338
+ onUpdated: x[2] || (x[2] = (f) => O(f)),
1339
+ "onUpdate:modelValue": x[3] || (x[3] = (f) => O(f))
937
1340
  }), null, 16, ["modelValue"]))
938
- ], 4)) : T("", !0),
939
- l("button", {
1341
+ ], 4)) : S("", !0),
1342
+ u("button", {
940
1343
  title: "search",
941
1344
  type: "submit",
942
1345
  class: "ml-1 btn btn-primary btn-square",
943
- onClick: H(w, ["stop"])
1346
+ onClick: oe(D, ["stop"])
944
1347
  }, [
945
- G(U(fe), {
1348
+ re(te(We), {
946
1349
  size: 24,
947
1350
  color: "white"
948
1351
  })
949
1352
  ])
950
1353
  ]),
951
- l("div", ft, [
952
- l("button", {
1354
+ u("div", va, [
1355
+ u("button", {
953
1356
  title: "search",
954
- onClick: d[4] || (d[4] = () => {
1357
+ onClick: x[4] || (x[4] = () => {
955
1358
  })
956
1359
  }, [
957
- G(U(fe), {
1360
+ re(te(We), {
958
1361
  size: 24,
959
1362
  color: "white"
960
1363
  })
961
1364
  ])
962
1365
  ])
963
1366
  ], 512),
964
- l("dialog", {
965
- id: `advancedSearchMobile-${U(u)}`,
1367
+ u("dialog", {
1368
+ id: `advancedSearchMobile-${te(o)}`,
966
1369
  class: "modal"
967
1370
  }, [
968
- l("div", vt, [
969
- V(m.$slots, "additionalForMobile", {}, () => [
970
- l("h3", pt, O(e.currentCategory), 1)
1371
+ u("div", pa, [
1372
+ $(m.$slots, "additionalForMobile", {}, () => [
1373
+ u("h3", ha, T(e.currentCategory), 1)
971
1374
  ], !0),
972
- (a(!0), r(j, null, E(((b = t.searchOptions.find(
973
- (n) => n.category === t.currentCategory
974
- )) == null ? void 0 : b.tabs) || [], (n, $) => (a(), r("div", {
1375
+ (s(!0), r(N, null, U(((j = a.searchOptions.find(
1376
+ (f) => f.category === a.currentCategory
1377
+ )) == null ? void 0 : j.tabs) || [], (f, B) => (s(), r("div", {
975
1378
  class: "collapse bg-base-200 my-4",
976
- key: n.name
1379
+ key: f.name
977
1380
  }, [
978
- l("input", {
1381
+ u("input", {
979
1382
  type: "radio",
980
- name: `accordion-${U(u)}`,
981
- checked: $ === 0
982
- }, null, 8, ht),
983
- l("div", gt, [
984
- l("div", null, O(n.name), 1),
985
- n.value !== void 0 && n.value !== null && n.value !== "" ? (a(), r("div", bt, O(I(n)), 1)) : (a(), r("div", yt, O(n.description), 1))
1383
+ name: `accordion-${te(o)}`,
1384
+ checked: B === 0
1385
+ }, null, 8, ga),
1386
+ u("div", ba, [
1387
+ u("div", null, T(f.name), 1),
1388
+ f.value !== void 0 && f.value !== null && f.value !== "" ? (s(), r("div", ya, T(A(f)), 1)) : (s(), r("div", wa, T(f.description), 1))
986
1389
  ]),
987
- l("div", wt, [
988
- d[7] || (d[7] = l("br", null, null, -1)),
989
- (a(), W(ne(g[n.type]), ae({ ref_for: !0 }, n.props || {}, {
990
- modelValue: n.value,
991
- onUpdated: d[5] || (d[5] = (h) => z(h)),
992
- "onUpdate:modelValue": d[6] || (d[6] = (h) => z(h))
1390
+ u("div", $a, [
1391
+ x[7] || (x[7] = u("br", null, null, -1)),
1392
+ (s(), fe(Ve(d[f.type]), ie({ ref_for: !0 }, f.props || {}, {
1393
+ modelValue: f.value,
1394
+ onUpdated: x[5] || (x[5] = (I) => O(I)),
1395
+ "onUpdate:modelValue": x[6] || (x[6] = (I) => O(I))
993
1396
  }), null, 16, ["modelValue"]))
994
1397
  ])
995
1398
  ]))), 128)),
996
- l("div", { class: "modal-action" }, [
997
- l("form", { method: "dialog" }, [
998
- l("button", {
1399
+ u("div", { class: "modal-action" }, [
1400
+ u("form", { method: "dialog" }, [
1401
+ u("button", {
999
1402
  class: "btn btn-primary",
1000
- onClick: w
1403
+ onClick: D
1001
1404
  }, " Close and Search ")
1002
1405
  ])
1003
1406
  ])
1004
1407
  ])
1005
- ], 8, mt)
1408
+ ], 8, ma)
1006
1409
  ], 64);
1007
1410
  };
1008
1411
  }
1009
- }), Kl = /* @__PURE__ */ J(xt, [["__scopeId", "data-v-577c3624"]]), kt = { class: "z-30 relative flex items-center bg-base-100 date-filter-input px-4 border-2 border-primary rounded-md w-full min-h-10 font-semibold text-primary text-sm" }, $t = { key: 0 }, Ct = ["id"], St = {
1412
+ }), An = /* @__PURE__ */ ve(xa, [["__scopeId", "data-v-577c3624"]]), ka = ["checked", "disabled"], Ln = /* @__PURE__ */ z({
1413
+ inheritAttrs: !1,
1414
+ __name: "checkbox",
1415
+ props: {
1416
+ modelValue: { type: Boolean, default: !1 },
1417
+ color: {},
1418
+ size: {},
1419
+ disabled: { type: Boolean, default: !1 }
1420
+ },
1421
+ emits: ["update:modelValue"],
1422
+ setup(e, { emit: n }) {
1423
+ const a = e, t = n, o = _(() => {
1424
+ const l = ["checkbox"];
1425
+ return a.color && l.push(`checkbox-${a.color}`), a.size && l.push(`checkbox-${a.size}`), l.join(" ");
1426
+ }), i = (l) => {
1427
+ const d = l.target;
1428
+ t("update:modelValue", d.checked);
1429
+ };
1430
+ return (l, d) => (s(), r("input", ie({
1431
+ type: "checkbox",
1432
+ class: o.value,
1433
+ checked: e.modelValue,
1434
+ disabled: e.disabled,
1435
+ onChange: i
1436
+ }, l.$attrs), null, 16, ka));
1437
+ }
1438
+ }), Ca = { class: "z-30 relative flex items-center bg-base-100 date-filter-input px-4 border-2 border-primary rounded-md w-full min-h-10 font-semibold text-primary text-sm" }, za = { key: 0 }, Sa = { key: 1 }, _a = ["id", "onKeydown"], Ba = {
1010
1439
  key: 2,
1011
- class: "join items-center gap-2 w-full justify-between py-2 px-4 max-md:input max-md:input-bordered rounded"
1012
- }, It = { class: "join-item" }, Tt = ["id", "disabled"], Mt = { class: "join-item" }, Vt = ["id", "disabled"], Bt = ["id", "disabled"], Dt = {
1440
+ class: "flex justify-center p-4"
1441
+ }, Ia = { class: "join items-center gap-2 max-w-2xs md:max-w-full justify-between max-md:input max-md:input-bordered !rounded overflow-hidden mx-auto" }, Ma = { class: "join-item" }, Ta = ["id", "disabled", "value"], Va = { class: "join-item" }, ja = ["id", "disabled", "value"], Da = {
1442
+ key: 3,
1443
+ class: "p-4 min-w-2xs"
1444
+ }, Oa = ["id", "disabled", "value"], Pa = {
1013
1445
  key: 4,
1014
- class: "flex mt-4"
1015
- }, zt = /* @__PURE__ */ P({
1446
+ class: "flex px-4 my-4 w-full justify-end"
1447
+ }, Aa = /* @__PURE__ */ z({
1016
1448
  __name: "datetimePicker",
1017
1449
  props: {
1018
1450
  mode: { default: "datetime" },
@@ -1022,294 +1454,424 @@ const Ee = Q("SunIcon", [
1022
1454
  id: { default: "date-time-picker" },
1023
1455
  initialDate: { default: null },
1024
1456
  disabled: { type: Boolean, default: !1 },
1025
- locale: { default: "nl-NL" },
1457
+ locale: { default: "en-US" },
1458
+ format: {},
1459
+ firstDayOfWeek: { default: 1 },
1026
1460
  min: {},
1027
- max: {}
1461
+ max: {},
1462
+ closeText: { default: "Close" },
1463
+ disableDefaultValue: { type: Boolean, default: !1 }
1028
1464
  },
1029
1465
  emits: ["update:modelValue", "change"],
1030
- setup(e, { emit: c }) {
1031
- K(async () => {
1032
- await import("./cally-ZU3K2Th7.js");
1033
- });
1034
- const t = e, o = c, u = k(null), s = k(!1), i = k(null), g = k(null), v = k(null), p = k(null), S = k(null), I = k({ from: "", to: "", single: "" }), z = k({
1466
+ setup(e, { emit: n }) {
1467
+ const a = typeof window < "u", t = e, o = n, i = b(null), l = b(!1), d = b(null), c = b(null), h = b(null), M = b(null), A = b(null), O = b({
1468
+ from: "",
1469
+ to: "",
1470
+ single: ""
1471
+ }), v = b({
1035
1472
  single: null,
1036
1473
  start: null,
1037
1474
  end: null
1038
- }), y = _(() => {
1039
- const d = (n) => {
1040
- if (!n || n.includes(":")) return n;
1041
- if (/^\d{4}-\d{2}-\d{2}$/.test(n))
1042
- try {
1043
- return new Date(n).toLocaleDateString(t.locale);
1044
- } catch {
1045
- const [$, h, D] = n.split("-");
1046
- return `${D}/${h}/${$}`;
1047
- }
1048
- return n;
1049
- };
1050
- let f = "", b = "";
1051
- if (t.mode !== "time" && (t.range && z.value.start && z.value.end ? f = `${z.value.start} - ${z.value.end}` : !t.range && z.value.single && (f = z.value.single)), t.mode !== "date" && (t.range && I.value.from && I.value.to ? b = `${I.value.from} - ${I.value.to}` : !t.range && I.value.single && (b = I.value.single)), t.mode === "date")
1052
- return t.range ? f.split(" - ").map(d).join(" - ") : d(f);
1053
- if (t.mode === "time") return b;
1054
- if (t.range) {
1055
- const [n, $] = f.split(" - ").map(d), [h, D] = b.split(" - ");
1056
- return `${n} ${h} - ${$} ${D}`.trim();
1475
+ }), D = (p) => p instanceof Date ? p.toISOString() : p, V = (p) => p.split("T")[0] || "", W = (p) => {
1476
+ const y = p instanceof Date ? p : new Date(p);
1477
+ if (isNaN(y.getTime())) return "";
1478
+ const L = String(y.getHours()).padStart(2, "0"), Z = String(y.getMinutes()).padStart(2, "0");
1479
+ return `${L}:${Z}`;
1480
+ }, F = () => {
1481
+ if (t.disableDefaultValue && !t.initialDate)
1482
+ return;
1483
+ let p = t.initialDate;
1484
+ if (!p && !t.disableDefaultValue && t.mode !== "time") {
1485
+ const L = /* @__PURE__ */ new Date();
1486
+ p = t.range ? { start: L, end: L } : L;
1057
1487
  }
1058
- return `${d(f)} ${b}`.trim();
1059
- });
1060
- console.log(y);
1061
- const w = () => {
1062
- if (t.range) {
1063
- const { start: d, end: f } = z.value, { from: b, to: n } = I.value;
1064
- let $ = null, h = null;
1065
- if (t.mode === "time" && b && n ? ($ = b, h = n) : t.mode === "date" && d && f ? ($ = d, h = f) : t.mode === "datetime" && d && f && b && n && ($ = `${d}T${b}`, h = `${f}T${n}`), $ && h)
1066
- return { start: $, end: h };
1067
- } else {
1068
- const d = z.value.single, f = I.value.single;
1069
- if (t.mode === "date") return d;
1070
- if (t.mode === "time") return f || null;
1071
- if (t.mode === "datetime" && d && f)
1072
- return `${d}T${f}`;
1488
+ if (!p) return;
1489
+ if (t.range && typeof p == "object" && "start" in p) {
1490
+ const L = D(p.start), Z = D(p.end);
1491
+ v.value.start = V(L), v.value.end = V(Z), t.mode !== "date" && (O.value.from = W(L), O.value.to = W(Z));
1492
+ return;
1073
1493
  }
1074
- return null;
1075
- }, x = () => {
1076
- if (i.value)
1077
- z.value.single = i.value.value || null;
1078
- else if (g.value) {
1079
- const d = g.value.value;
1080
- z.value.start = (d == null ? void 0 : d.start) || null, z.value.end = (d == null ? void 0 : d.end) || null;
1494
+ const y = D(p);
1495
+ v.value.single = V(y), t.mode !== "date" && (O.value.single = W(y));
1496
+ }, K = _(() => {
1497
+ const p = (y) => {
1498
+ if (!y) return "";
1499
+ try {
1500
+ return (/* @__PURE__ */ new Date(y + "T00:00:00")).toLocaleDateString(t.locale);
1501
+ } catch {
1502
+ return y;
1503
+ }
1504
+ };
1505
+ return t.range ? v.value.start && v.value.end ? `${p(v.value.start)} - ${p(v.value.end)}` : "" : v.value.single ? p(v.value.single) : "";
1506
+ }), J = () => {
1507
+ if (d.value)
1508
+ v.value.single = d.value.value || null;
1509
+ else if (c.value) {
1510
+ const p = c.value.value;
1511
+ if (typeof p == "string" && p.includes("/")) {
1512
+ const [y, L] = p.split("/");
1513
+ v.value.start = y || null, v.value.end = L || null;
1514
+ }
1081
1515
  }
1082
- }, C = () => {
1083
- x();
1084
- const d = w();
1085
- o("update:modelValue", d), o("change", d);
1086
- }, B = () => {
1087
- var d, f, b;
1088
- t.range ? (I.value.from = ((d = p.value) == null ? void 0 : d.value) || "", I.value.to = ((f = S.value) == null ? void 0 : f.value) || "") : I.value.single = ((b = v.value) == null ? void 0 : b.value) || "", C();
1089
- }, L = () => {
1090
- s.value = !s.value, s.value && C();
1091
- }, R = () => {
1092
- s.value = !1, C();
1093
- }, N = (d) => {
1094
- if (!t.popup || !s.value) return;
1095
- const f = u.value, b = d.target;
1096
- f && !f.contains(b) && R();
1097
- }, m = () => {
1098
- const d = (f) => f instanceof Date ? f.toISOString() : f;
1099
- if (t.initialDate) {
1100
- if (t.range && typeof t.initialDate == "object" && "start" in t.initialDate) {
1101
- const f = d(t.initialDate.start), b = d(t.initialDate.end);
1102
- if (z.value.start = f.split("T")[0], z.value.end = b.split("T")[0], t.mode !== "date") {
1103
- const n = new Date(f), $ = new Date(b), h = (D) => `${String(D.getUTCHours()).padStart(2, "0")}:${String(D.getUTCMinutes()).padStart(2, "0")}`;
1104
- I.value.from = h(n), I.value.to = h($), p.value && (p.value.value = I.value.from), S.value && (S.value.value = I.value.to);
1105
- }
1106
- } else if (typeof t.initialDate == "string" || t.initialDate instanceof Date) {
1107
- const f = d(t.initialDate);
1108
- if (z.value.single = f.split("T")[0], t.mode !== "date") {
1109
- const b = new Date(f), n = `${String(b.getUTCHours()).padStart(2, "0")}:${String(b.getUTCMinutes()).padStart(2, "0")}`;
1110
- I.value.single = n, v.value && (v.value.value = n);
1111
- }
1516
+ }, ae = () => v.value.start && v.value.end ? `${v.value.start}/${v.value.end}` : null, m = () => {
1517
+ if (t.range) {
1518
+ const L = v.value.start, Z = v.value.end;
1519
+ if (!L || !Z) return null;
1520
+ if (t.mode === "date")
1521
+ return { start: L, end: Z };
1522
+ if (t.mode === "datetime") {
1523
+ const we = O.value.from || "00:00", $e = O.value.to || "23:59";
1524
+ return {
1525
+ start: `${L}T${we}:00`,
1526
+ end: `${Z}T${$e}:00`
1527
+ };
1112
1528
  }
1529
+ return null;
1113
1530
  }
1531
+ const p = v.value.single;
1532
+ if (!p) return null;
1533
+ if (t.mode === "date") return p;
1534
+ const y = O.value.single || "00:00";
1535
+ return `${p}T${y}:00`;
1536
+ }, x = async () => {
1537
+ J();
1538
+ const p = m();
1539
+ o("update:modelValue", p), o("change", p);
1540
+ }, k = () => he(x), j = (p) => {
1541
+ const y = p.target;
1542
+ t.range ? y === M.value ? O.value.from = y.value : O.value.to = y.value : O.value.single = y.value, x();
1543
+ }, f = () => {
1544
+ l.value = !l.value;
1545
+ }, B = () => {
1546
+ x(), l.value = !1;
1547
+ }, I = (p) => {
1548
+ !t.popup || !l.value || setTimeout(() => {
1549
+ const y = i.value, L = p.target, Z = `date-picker-${t.id}-popup`;
1550
+ y && !y.contains(L) && !L.closest(`#${Z}`) && B();
1551
+ }, 0);
1552
+ }, H = () => B(), ee = () => {
1553
+ x(), t.popup && (l.value = !1);
1554
+ }, G = () => {
1555
+ var y;
1556
+ const p = t.range ? c.value : d.value;
1557
+ (y = p == null ? void 0 : p.navigate) == null || y.call(p, -1);
1558
+ }, le = () => {
1559
+ var y;
1560
+ const p = t.range ? c.value : d.value;
1561
+ (y = p == null ? void 0 : p.navigate) == null || y.call(p, 1);
1114
1562
  };
1115
- return K(() => {
1116
- m(), C();
1117
- }), (d, f) => {
1118
- const b = oe("calendar-month"), n = oe("calendar-date"), $ = oe("calendar-range");
1119
- return a(), r("div", {
1563
+ return pe(() => {
1564
+ a && import("./cally-ZU3K2Th7.js").catch((p) => console.warn("Failed to load cally:", p)), F();
1565
+ }), R(v, async () => {
1566
+ if (await he(), d.value && v.value.single) {
1567
+ const p = v.value.single;
1568
+ d.value.value !== p && (d.value.value = p);
1569
+ }
1570
+ if (c.value) {
1571
+ const p = ae();
1572
+ p && c.value.value !== p && (c.value.value = p);
1573
+ }
1574
+ x();
1575
+ }, { deep: !0 }), R([v, d, c], async () => {
1576
+ await he(), d.value && v.value.single && !d.value.value && (d.value.value = v.value.single), c.value && v.value.start && v.value.end && !c.value.value && (c.value.value = `${v.value.start}/${v.value.end}`), x();
1577
+ }), R([h, M, A], x), (p, y) => {
1578
+ const L = Ae("calendar-month"), Z = Ae("calendar-date"), we = Ae("calendar-range");
1579
+ return s(), r("div", {
1120
1580
  class: "inline-block relative w-fit lg:w-full",
1121
1581
  ref_key: "pickerContainer",
1122
- ref: u,
1123
- onMousedownCapture: N
1582
+ ref: i,
1583
+ onMousedownCapture: I
1124
1584
  }, [
1125
- t.popup ? (a(), r("div", {
1585
+ t.popup ? (s(), r("div", {
1126
1586
  key: 0,
1127
1587
  class: "flex items-center gap-2 cursor-pointer w-full",
1128
- onClick: f[0] || (f[0] = (h) => t.disabled ? null : L())
1588
+ onClick: y[0] || (y[0] = ($e) => t.disabled ? null : f())
1129
1589
  }, [
1130
- l("div", kt, [
1131
- y.value ? T("", !0) : (a(), r("span", $t, O(e.placeholder), 1)),
1132
- ue(" " + O(y.value), 1)
1590
+ u("div", Ca, [
1591
+ K.value ? (s(), r("span", Sa, T(K.value), 1)) : (s(), r("span", za, T(t.placeholder), 1))
1133
1592
  ])
1134
- ])) : T("", !0),
1135
- s.value || !t.popup ? (a(), r("div", {
1593
+ ])) : S("", !0),
1594
+ l.value || !t.popup ? (s(), r("div", {
1136
1595
  key: 1,
1137
- class: M(["z-50 bg-base-100 rounded-md w-full", { "absolute top-full left-0 mt-2 shadow-lg": t.popup, "mt-2": !t.popup }]),
1138
- id: `date-picker-${t.id}-popup`
1596
+ class: w(["z-50 bg-base-100 rounded-md w-full min-w-xs overflow-hidden", { "absolute top-full left-0 mt-2 shadow-lg": t.popup, "mt-2": !t.popup }]),
1597
+ id: `date-picker-${t.id}-popup`,
1598
+ onKeydown: [
1599
+ y[1] || (y[1] = ge(oe(() => {
1600
+ }, ["prevent", "stop"]), ["tab"])),
1601
+ ge(H, ["esc"]),
1602
+ ge(oe(ee, ["prevent"]), ["enter"])
1603
+ ]
1139
1604
  }, [
1140
- !t.range && t.mode !== "time" ? (a(), W(n, {
1605
+ !t.range && t.mode !== "time" && a ? (s(), fe(Z, {
1141
1606
  key: 0,
1142
1607
  class: "cally w-full",
1143
1608
  ref_key: "datePicker",
1144
- ref: i,
1609
+ ref: d,
1145
1610
  id: `${t.id}-date`,
1146
1611
  min: t.min,
1147
1612
  max: t.max,
1148
1613
  disabled: t.disabled,
1149
- onChange: C
1614
+ "first-day-of-week": t.firstDayOfWeek,
1615
+ onChange: k
1150
1616
  }, {
1151
- default: ce(() => [
1152
- f[1] || (f[1] = l("button", {
1617
+ default: ye(() => [
1618
+ u("button", {
1153
1619
  slot: "previous",
1154
- class: "btn-outline btn btn-primary md:btn-sm"
1155
- }, [
1156
- l("svg", {
1620
+ class: "btn-outline btn btn-primary md:btn-sm",
1621
+ onClick: G
1622
+ }, [...y[2] || (y[2] = [
1623
+ u("svg", {
1157
1624
  xmlns: "http://www.w3.org/2000/svg",
1158
1625
  class: "w-4 h-4",
1159
1626
  fill: "none",
1160
1627
  viewBox: "0 0 24 24",
1161
1628
  stroke: "currentColor"
1162
1629
  }, [
1163
- l("path", {
1630
+ u("path", {
1164
1631
  "stroke-linecap": "round",
1165
1632
  "stroke-linejoin": "round",
1166
1633
  "stroke-width": "2",
1167
1634
  d: "M15 19l-7-7 7-7"
1168
1635
  })
1169
- ])
1170
- ], -1)),
1171
- f[2] || (f[2] = l("button", {
1636
+ ], -1)
1637
+ ])]),
1638
+ u("button", {
1172
1639
  slot: "next",
1173
- class: "btn-outline btn btn-primary md:btn-sm"
1174
- }, [
1175
- l("svg", {
1640
+ class: "btn-outline btn btn-primary md:btn-sm",
1641
+ onClick: le
1642
+ }, [...y[3] || (y[3] = [
1643
+ u("svg", {
1176
1644
  xmlns: "http://www.w3.org/2000/svg",
1177
1645
  class: "w-4 h-4",
1178
1646
  fill: "none",
1179
- viewBox: "0 0 24 24",
1647
+ viewBox: "0 24 24",
1180
1648
  stroke: "currentColor"
1181
1649
  }, [
1182
- l("path", {
1650
+ u("path", {
1183
1651
  "stroke-linecap": "round",
1184
1652
  "stroke-linejoin": "round",
1185
1653
  "stroke-width": "2",
1186
1654
  d: "M9 5l7 7-7 7"
1187
1655
  })
1188
- ])
1189
- ], -1)),
1190
- G(b, {
1656
+ ], -1)
1657
+ ])]),
1658
+ re(L, {
1191
1659
  locale: t.locale
1192
1660
  }, null, 8, ["locale"])
1193
1661
  ]),
1194
1662
  _: 1
1195
- }, 8, ["id", "min", "max", "disabled"])) : T("", !0),
1196
- t.range && t.mode !== "time" ? (a(), W($, {
1663
+ }, 8, ["id", "min", "max", "disabled", "first-day-of-week"])) : S("", !0),
1664
+ t.range && t.mode !== "time" && a ? (s(), fe(we, {
1197
1665
  key: 1,
1198
1666
  class: "cally w-full",
1199
1667
  ref_key: "rangeDatePicker",
1200
- ref: g,
1668
+ ref: c,
1201
1669
  id: `${t.id}-date-range`,
1202
1670
  min: t.min,
1203
1671
  max: t.max,
1204
1672
  disabled: t.disabled,
1205
- onChange: C
1673
+ "first-day-of-week": t.firstDayOfWeek,
1674
+ onChange: k
1206
1675
  }, {
1207
- default: ce(() => [
1208
- f[3] || (f[3] = l("button", {
1676
+ default: ye(() => [
1677
+ u("button", {
1209
1678
  slot: "previous",
1210
- class: "btn-outline btn btn-primary md:btn-sm"
1211
- }, [
1212
- l("svg", {
1679
+ class: "btn-outline btn btn-primary md:btn-sm",
1680
+ onClick: G
1681
+ }, [...y[4] || (y[4] = [
1682
+ u("svg", {
1213
1683
  xmlns: "http://www.w3.org/2000/svg",
1214
1684
  class: "w-4 h-4",
1215
1685
  fill: "none",
1216
1686
  viewBox: "0 0 24 24",
1217
1687
  stroke: "currentColor"
1218
1688
  }, [
1219
- l("path", {
1689
+ u("path", {
1220
1690
  "stroke-linecap": "round",
1221
1691
  "stroke-linejoin": "round",
1222
1692
  "stroke-width": "2",
1223
1693
  d: "M15 19l-7-7 7-7"
1224
1694
  })
1225
- ])
1226
- ], -1)),
1227
- f[4] || (f[4] = l("button", {
1695
+ ], -1)
1696
+ ])]),
1697
+ u("button", {
1228
1698
  slot: "next",
1229
- class: "btn-outline btn btn-primary md:btn-sm"
1230
- }, [
1231
- l("svg", {
1699
+ class: "btn-outline btn btn-primary md:btn-sm",
1700
+ onClick: le
1701
+ }, [...y[5] || (y[5] = [
1702
+ u("svg", {
1232
1703
  xmlns: "http://www.w3.org/2000/svg",
1233
1704
  class: "w-4 h-4",
1234
1705
  fill: "none",
1235
- viewBox: "0 0 24 24",
1706
+ viewBox: "0 24 24",
1236
1707
  stroke: "currentColor"
1237
1708
  }, [
1238
- l("path", {
1709
+ u("path", {
1239
1710
  "stroke-linecap": "round",
1240
1711
  "stroke-linejoin": "round",
1241
1712
  "stroke-width": "2",
1242
1713
  d: "M9 5l7 7-7 7"
1243
1714
  })
1244
- ])
1245
- ], -1)),
1246
- G(b, {
1715
+ ], -1)
1716
+ ])]),
1717
+ re(L, {
1247
1718
  locale: t.locale
1248
1719
  }, null, 8, ["locale"])
1249
1720
  ]),
1250
1721
  _: 1
1251
- }, 8, ["id", "min", "max", "disabled"])) : T("", !0),
1252
- t.range && t.mode !== "date" ? (a(), r("div", St, [
1253
- l("div", It, [
1254
- l("input", {
1255
- class: "max-md:max-w-xs text-center hover:border-b-2 hover:-mb-0.5 open:bg-primary open:p-1 open:-m-0.5 open:rounded w-full relative",
1256
- type: "time",
1257
- ref_key: "timeFromInput",
1258
- ref: p,
1259
- id: `${t.id}-time-from`,
1260
- placeholder: "van",
1261
- onChange: B,
1262
- disabled: t.disabled
1263
- }, null, 40, Tt)
1264
- ]),
1265
- f[5] || (f[5] = l("svg", {
1266
- class: "join-item",
1267
- viewBox: "0 0 1024 1024",
1268
- focusable: "false",
1269
- "data-icon": "swap-right",
1270
- width: "1em",
1271
- height: "1em",
1272
- fill: "currentColor",
1273
- "aria-hidden": "true"
1274
- }, [
1275
- l("path", { d: "M873.1 596.2l-164-208A32 32 0 00684 376h-64.8c-6.7 0-10.4 7.7-6.3 13l144.3 183H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h695.9c26.8 0 41.7-30.8 25.2-51.8z" })
1276
- ], -1)),
1277
- l("div", Mt, [
1278
- l("input", {
1279
- class: "hover:border-b-2 hover:-mb-0.5 open:bg-primary open:p-1 open:-m-0.5 open:rounded w-full relative",
1280
- type: "time",
1281
- ref_key: "timeToInput",
1282
- ref: S,
1283
- id: `${t.id}-time-to`,
1284
- onChange: B,
1285
- disabled: t.disabled
1286
- }, null, 40, Vt)
1722
+ }, 8, ["id", "min", "max", "disabled", "first-day-of-week"])) : S("", !0),
1723
+ t.range && t.mode !== "date" ? (s(), r("div", Ba, [
1724
+ u("div", Ia, [
1725
+ u("div", Ma, [
1726
+ u("input", {
1727
+ class: "text-center hover:border-b-2 hover:-mb-0.5 open:bg-primary open:p-1 open:-m-0.5 open:rounded w-full relative",
1728
+ type: "time",
1729
+ ref_key: "timeFromInput",
1730
+ ref: M,
1731
+ id: `${t.id}-time-from`,
1732
+ placeholder: "from",
1733
+ onChange: j,
1734
+ disabled: t.disabled,
1735
+ value: O.value.from || ""
1736
+ }, null, 40, Ta)
1737
+ ]),
1738
+ y[6] || (y[6] = u("svg", {
1739
+ class: "join-item",
1740
+ viewBox: "0 0 1024 1024",
1741
+ width: "1em"
1742
+ }, [
1743
+ u("path", { d: "M873.1 596.2l-164-208A32 32 0 00684 376h-64.8c-6.7 0-10.4 7.7-6.3 13l144.3 183H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h695.9c26.8 0 41.7-30.8 25.2-51.8z" })
1744
+ ], -1)),
1745
+ u("div", Va, [
1746
+ u("input", {
1747
+ class: "text-center hover:border-b-2 hover:-mb-0.5 open:bg-primary open:p-1 open:-m-0.5 open:rounded w-full relative",
1748
+ type: "time",
1749
+ ref_key: "timeToInput",
1750
+ ref: A,
1751
+ id: `${t.id}-time-to`,
1752
+ onChange: j,
1753
+ disabled: t.disabled,
1754
+ value: O.value.to || ""
1755
+ }, null, 40, ja)
1756
+ ])
1287
1757
  ])
1288
- ])) : T("", !0),
1289
- !t.range && t.mode !== "date" ? (a(), r("input", {
1290
- key: 3,
1291
- class: "open:bg-primary open:rounded w-full input input-bordered my-2 justify-center",
1292
- type: "time",
1293
- ref_key: "timeInput",
1294
- ref: v,
1295
- id: `${t.id}-time`,
1296
- onChange: B,
1297
- disabled: t.disabled
1298
- }, null, 40, Bt)) : T("", !0),
1299
- t.popup ? (a(), r("div", Dt, [
1300
- l("button", {
1301
- class: "btn btn-primary",
1302
- onClick: R
1303
- }, " Close ")
1304
- ])) : T("", !0)
1305
- ], 10, Ct)) : T("", !0)
1758
+ ])) : S("", !0),
1759
+ !t.range && t.mode !== "date" ? (s(), r("div", Da, [
1760
+ u("input", {
1761
+ class: "open:bg-primary open:rounded w-full input input-bordered justify-center",
1762
+ type: "time",
1763
+ ref_key: "timeInput",
1764
+ ref: h,
1765
+ id: `${t.id}-time`,
1766
+ onChange: j,
1767
+ disabled: t.disabled,
1768
+ value: O.value.single || ""
1769
+ }, null, 40, Oa)
1770
+ ])) : S("", !0),
1771
+ t.popup && t.closeText ? (s(), r("div", Pa, [
1772
+ u("button", {
1773
+ class: "btn btn-primary max-lg:w-full",
1774
+ onClick: B
1775
+ }, T(t.closeText), 1)
1776
+ ])) : S("", !0)
1777
+ ], 42, _a)) : S("", !0)
1306
1778
  ], 544);
1307
1779
  };
1308
1780
  }
1309
- }), Ot = /* @__PURE__ */ J(zt, [["__scopeId", "data-v-74efd8bb"]]), Pt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1781
+ }), La = /* @__PURE__ */ ve(Aa, [["__scopeId", "data-v-ca3752e5"]]), Ea = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1310
1782
  __proto__: null,
1311
- default: Ot
1312
- }, Symbol.toStringTag, { value: "Module" })), jt = ["value", "checked", "onChange", "disabled"], Xl = /* @__PURE__ */ P({
1783
+ default: La
1784
+ }, Symbol.toStringTag, { value: "Module" })), Ra = ["accept", "multiple", "disabled"], En = /* @__PURE__ */ z({
1785
+ inheritAttrs: !1,
1786
+ __name: "fileInput",
1787
+ props: {
1788
+ accept: {},
1789
+ multiple: { type: Boolean, default: !1 },
1790
+ color: {},
1791
+ size: {},
1792
+ ghost: { type: Boolean, default: !1 },
1793
+ disabled: { type: Boolean, default: !1 }
1794
+ },
1795
+ emits: ["change"],
1796
+ setup(e, { emit: n }) {
1797
+ const a = e, t = n, o = _(() => {
1798
+ const l = ["file-input"];
1799
+ return a.ghost && l.push("file-input-ghost"), a.color && l.push(`file-input-${a.color}`), a.size && l.push(`file-input-${a.size}`), l.join(" ");
1800
+ }), i = (l) => {
1801
+ const d = l.target;
1802
+ t("change", d.files);
1803
+ };
1804
+ return (l, d) => (s(), r("input", ie({
1805
+ type: "file",
1806
+ class: o.value,
1807
+ accept: e.accept,
1808
+ multiple: e.multiple,
1809
+ disabled: e.disabled,
1810
+ onChange: i
1811
+ }, l.$attrs), null, 16, Ra));
1812
+ }
1813
+ }), Na = ["value", "checked", "disabled", "name"], Rn = /* @__PURE__ */ z({
1814
+ inheritAttrs: !1,
1815
+ __name: "radio",
1816
+ props: {
1817
+ modelValue: {},
1818
+ value: {},
1819
+ name: {},
1820
+ color: {},
1821
+ size: {},
1822
+ disabled: { type: Boolean, default: !1 }
1823
+ },
1824
+ emits: ["update:modelValue"],
1825
+ setup(e, { emit: n }) {
1826
+ const a = e, t = n, o = _(() => {
1827
+ const l = ["radio"];
1828
+ return a.color && l.push(`radio-${a.color}`), a.size && l.push(`radio-${a.size}`), l.join(" ");
1829
+ }), i = () => {
1830
+ t("update:modelValue", a.value);
1831
+ };
1832
+ return (l, d) => (s(), r("input", ie({
1833
+ type: "radio",
1834
+ class: o.value,
1835
+ value: e.value,
1836
+ checked: e.modelValue === e.value,
1837
+ disabled: e.disabled,
1838
+ name: e.name,
1839
+ onChange: i
1840
+ }, l.$attrs), null, 16, Na));
1841
+ }
1842
+ }), Fa = ["min", "max", "step", "value", "disabled"], Nn = /* @__PURE__ */ z({
1843
+ inheritAttrs: !1,
1844
+ __name: "range",
1845
+ props: {
1846
+ modelValue: { default: 0 },
1847
+ min: { default: 0 },
1848
+ max: { default: 100 },
1849
+ step: { default: 1 },
1850
+ color: {},
1851
+ size: {},
1852
+ disabled: { type: Boolean, default: !1 }
1853
+ },
1854
+ emits: ["update:modelValue"],
1855
+ setup(e, { emit: n }) {
1856
+ const a = e, t = n, o = _(() => {
1857
+ const l = ["range"];
1858
+ return a.color && l.push(`range-${a.color}`), a.size && l.push(`range-${a.size}`), l.join(" ");
1859
+ }), i = (l) => {
1860
+ const d = l.target;
1861
+ t("update:modelValue", Number(d.value));
1862
+ };
1863
+ return (l, d) => (s(), r("input", ie({
1864
+ type: "range",
1865
+ class: o.value,
1866
+ min: e.min,
1867
+ max: e.max,
1868
+ step: e.step,
1869
+ value: e.modelValue,
1870
+ disabled: e.disabled,
1871
+ onInput: i
1872
+ }, l.$attrs), null, 16, Fa));
1873
+ }
1874
+ }), qa = ["value", "checked", "onChange", "disabled"], Fn = /* @__PURE__ */ z({
1313
1875
  __name: "rating",
1314
1876
  props: {
1315
1877
  initialRating: { default: 0 },
@@ -1322,34 +1884,34 @@ const Ee = Q("SunIcon", [
1322
1884
  gap: { default: 0 }
1323
1885
  },
1324
1886
  setup(e) {
1325
- const c = e, t = k(c.initialRating);
1326
- A(
1327
- () => c.initialRating,
1328
- (u) => {
1329
- t.value = u;
1887
+ const n = e, a = b(n.initialRating);
1888
+ R(
1889
+ () => n.initialRating,
1890
+ (o) => {
1891
+ a.value = o;
1330
1892
  }
1331
1893
  );
1332
- const o = (u) => {
1333
- t.value = u;
1894
+ const t = (o) => {
1895
+ a.value = o;
1334
1896
  };
1335
- return (u, s) => (a(), r("div", {
1336
- class: M(["rating", [
1337
- `rating-${c.size}`,
1897
+ return (o, i) => (s(), r("div", {
1898
+ class: w(["rating", [
1899
+ `rating-${n.size}`,
1338
1900
  { "rating-half": e.halfStars },
1339
1901
  { "pointer-events-none": !e.isInteractive }
1340
1902
  ]])
1341
1903
  }, [
1342
- (a(!0), r(j, null, E(e.numberOfStars * (e.halfStars ? 2 : 1), (i) => (a(), r("input", {
1343
- key: i,
1904
+ (s(!0), r(N, null, U(e.numberOfStars * (e.halfStars ? 2 : 1), (l) => (s(), r("input", {
1905
+ key: l,
1344
1906
  type: "radio",
1345
- value: e.halfStars ? i * 0.5 : i,
1346
- checked: t.value === (e.halfStars ? i * 0.5 : i),
1347
- onChange: (g) => e.isInteractive ? o(e.halfStars ? i * 0.5 : i) : null,
1348
- class: M(["mask", [
1907
+ value: e.halfStars ? l * 0.5 : l,
1908
+ checked: a.value === (e.halfStars ? l * 0.5 : l),
1909
+ onChange: (d) => e.isInteractive ? t(e.halfStars ? l * 0.5 : l) : null,
1910
+ class: w(["mask", [
1349
1911
  {
1350
1912
  // 'bg-yellow-400': rating >= (halfStars ? i * 0.5 : i),
1351
- "mask-half-1": e.halfStars && i % 2 !== 0,
1352
- "mask-half-2": e.halfStars && i % 2 === 0,
1913
+ "mask-half-1": e.halfStars && l % 2 !== 0,
1914
+ "mask-half-2": e.halfStars && l % 2 === 0,
1353
1915
  "cursor-pointer": e.isInteractive,
1354
1916
  "cursor-default": !e.isInteractive,
1355
1917
  "mask-star": e.shape === "star",
@@ -1366,16 +1928,16 @@ const Ee = Q("SunIcon", [
1366
1928
  "mask-triangle-3": e.shape === "triangle-left",
1367
1929
  "mask-triangle-4": e.shape === "triangle-right"
1368
1930
  },
1369
- t.value >= (e.halfStars ? i * 0.5 : i) ? c.color : ""
1931
+ a.value >= (e.halfStars ? l * 0.5 : l) ? n.color : ""
1370
1932
  ]]),
1371
- style: Z({
1372
- marginRight: e.halfStars && i % 2 === 0 ? `${c.gap}px` : e.halfStars ? "0" : `${c.gap}px`
1933
+ style: be({
1934
+ marginRight: e.halfStars && l % 2 === 0 ? `${n.gap}px` : e.halfStars ? "0" : `${n.gap}px`
1373
1935
  }),
1374
1936
  disabled: !e.isInteractive
1375
- }, null, 46, jt))), 128))
1937
+ }, null, 46, qa))), 128))
1376
1938
  ], 2));
1377
1939
  }
1378
- }), Lt = { class: "badge" }, Et = ["onClick"], At = { class: "opacity-75" }, Rt = ["placeholder"], Gl = /* @__PURE__ */ P({
1940
+ }), Wa = { class: "badge" }, Ha = ["onClick"], Ua = { class: "opacity-75" }, Ka = ["placeholder"], qn = /* @__PURE__ */ z({
1379
1941
  __name: "taginput",
1380
1942
  props: {
1381
1943
  modelValue: {},
@@ -1384,61 +1946,61 @@ const Ee = Q("SunIcon", [
1384
1946
  class: {}
1385
1947
  },
1386
1948
  emits: ["update:modelValue"],
1387
- setup(e, { emit: c }) {
1388
- const t = e, o = c, u = k([...t.modelValue]), s = t.maxTagAmount === void 0 ? -1 : t.maxTagAmount, i = k(null), g = k(""), v = _(() => s < 0 || u.value.length < s), p = () => {
1389
- const y = g.value.trim();
1390
- y && !u.value.includes(y) && (u.value.push(y), o("update:modelValue", u.value), g.value = "");
1391
- }, S = (y) => {
1392
- u.value = u.value.filter((w) => w !== y), o("update:modelValue", u.value);
1393
- }, I = () => {
1394
- g.value === "" && (u.value.pop(), o("update:modelValue", u.value));
1395
- }, z = (y) => {
1396
- y.key === "Enter" ? p() : y.key === "Backspace" && g.value === "" && I();
1949
+ setup(e, { emit: n }) {
1950
+ const a = e, t = n, o = b([...a.modelValue]), i = a.maxTagAmount === void 0 ? -1 : a.maxTagAmount, l = b(null), d = b(""), c = _(() => i < 0 || o.value.length < i), h = () => {
1951
+ const v = d.value.trim();
1952
+ v && !o.value.includes(v) && (o.value.push(v), t("update:modelValue", o.value), d.value = "");
1953
+ }, M = (v) => {
1954
+ o.value = o.value.filter((D) => D !== v), t("update:modelValue", o.value);
1955
+ }, A = () => {
1956
+ d.value === "" && (o.value.pop(), t("update:modelValue", o.value));
1957
+ }, O = (v) => {
1958
+ v.key === "Enter" ? h() : v.key === "Backspace" && d.value === "" && A();
1397
1959
  };
1398
- return A(() => t.modelValue, (y) => {
1399
- u.value = [...y];
1400
- }), (y, w) => (a(), r("div", {
1401
- class: M(["flex flex-wrap gap-2 bg-base-100 shadow px-4 py-6 border border-base-content/20 rounded", y.$props.class])
1960
+ return R(() => a.modelValue, (v) => {
1961
+ o.value = [...v];
1962
+ }), (v, D) => (s(), r("div", {
1963
+ class: w(["flex flex-wrap gap-2 bg-base-100 shadow px-4 py-6 border border-base-content/20 rounded", v.$props.class])
1402
1964
  }, [
1403
- (a(!0), r(j, null, E(u.value, (x) => V(y.$slots, "tag", {
1404
- key: x,
1405
- tag: x
1965
+ (s(!0), r(N, null, U(o.value, (V) => $(v.$slots, "tag", {
1966
+ key: V,
1967
+ tag: V
1406
1968
  }, () => [
1407
- l("div", Lt, [
1408
- l("button", {
1969
+ u("div", Wa, [
1970
+ u("button", {
1409
1971
  class: "px-1! py-0! h-fit font-bold cursor-pointer",
1410
- onClick: (C) => S(x),
1972
+ onClick: (W) => M(V),
1411
1973
  "aria-label": "Remove tag"
1412
- }, "X", 8, Et),
1413
- l("span", At, O(x), 1)
1974
+ }, "X", 8, Ha),
1975
+ u("span", Ua, T(V), 1)
1414
1976
  ])
1415
1977
  ])), 128)),
1416
- V(y.$slots, "input", { showInput: v.value }, () => [
1417
- v.value ? ee((a(), r("input", {
1978
+ $(v.$slots, "input", { showInput: c.value }, () => [
1979
+ c.value ? ke((s(), r("input", {
1418
1980
  key: 0,
1419
1981
  ref_key: "inputRef",
1420
- ref: i,
1421
- "onUpdate:modelValue": w[0] || (w[0] = (x) => g.value = x),
1982
+ ref: l,
1983
+ "onUpdate:modelValue": D[0] || (D[0] = (V) => d.value = V),
1422
1984
  type: "text",
1423
1985
  placeholder: e.placeholder || "Type here",
1424
1986
  class: "h-full input input-ghost",
1425
- onKeydown: z,
1987
+ onKeydown: O,
1426
1988
  "aria-label": "Add tags"
1427
- }, null, 40, Rt)), [
1428
- [me, g.value]
1429
- ]) : T("", !0)
1989
+ }, null, 40, Ka)), [
1990
+ [Ue, d.value]
1991
+ ]) : S("", !0)
1430
1992
  ])
1431
1993
  ], 2));
1432
1994
  }
1433
- }), Nt = { class: "w-full max-w-xs form-control" }, Ft = {
1995
+ }), Xa = { class: "w-full max-w-xs form-control" }, Ga = {
1434
1996
  key: 0,
1435
1997
  class: "label"
1436
- }, Ut = { class: "label-text" }, _t = ["value"], qt = {
1998
+ }, Ya = { class: "label-text" }, Ja = ["value"], Za = {
1437
1999
  key: 0,
1438
2000
  value: "",
1439
2001
  disabled: "",
1440
2002
  selected: ""
1441
- }, Ht = ["value"], Jl = /* @__PURE__ */ P({
2003
+ }, Qa = ["value"], Wn = /* @__PURE__ */ z({
1442
2004
  __name: "select",
1443
2005
  props: {
1444
2006
  options: {},
@@ -1447,45 +2009,45 @@ const Ee = Q("SunIcon", [
1447
2009
  modelValue: {}
1448
2010
  },
1449
2011
  emits: ["update:modelValue"],
1450
- setup(e, { expose: c, emit: t }) {
2012
+ setup(e, { expose: n, emit: a }) {
1451
2013
  console.log(e.placeholder);
1452
- const u = t, s = k(null), i = (v) => {
1453
- const p = v.target;
1454
- u("update:modelValue", p.value);
2014
+ const o = a, i = b(null), l = (c) => {
2015
+ const h = c.target;
2016
+ o("update:modelValue", h.value);
1455
2017
  };
1456
- return c({
2018
+ return n({
1457
2019
  focusInput: () => {
1458
- var v;
1459
- console.log("select.vue: focusInput method called."), (v = s.value) == null || v.focus();
2020
+ var c;
2021
+ console.log("select.vue: focusInput method called."), (c = i.value) == null || c.focus();
1460
2022
  }
1461
2023
  // You can expose other properties or methods here if needed by the parent
1462
2024
  // e.g., the current value: modelValue
1463
- }), (v, p) => (a(), r("div", Nt, [
1464
- e.label ? (a(), r("label", Ft, [
1465
- l("span", Ut, O(e.label), 1)
1466
- ])) : T("", !0),
1467
- l("select", {
2025
+ }), (c, h) => (s(), r("div", Xa, [
2026
+ e.label ? (s(), r("label", Ga, [
2027
+ u("span", Ya, T(e.label), 1)
2028
+ ])) : S("", !0),
2029
+ u("select", {
1468
2030
  ref_key: "selectElement",
1469
- ref: s,
2031
+ ref: i,
1470
2032
  class: "rounded-md w-full select-bordered select",
1471
2033
  value: e.modelValue,
1472
- onChange: i
2034
+ onChange: l
1473
2035
  }, [
1474
- e.placeholder ? (a(), r("option", qt, O(e.placeholder), 1)) : T("", !0),
1475
- (a(!0), r(j, null, E(e.options, (S) => (a(), r("option", {
1476
- key: S.value,
1477
- value: S.value
1478
- }, O(S.text), 9, Ht))), 128))
1479
- ], 40, _t)
2036
+ e.placeholder ? (s(), r("option", Za, T(e.placeholder), 1)) : S("", !0),
2037
+ (s(!0), r(N, null, U(e.options, (M) => (s(), r("option", {
2038
+ key: M.value,
2039
+ value: M.value
2040
+ }, T(M.text), 9, Qa))), 128))
2041
+ ], 40, Ja)
1480
2042
  ]));
1481
2043
  }
1482
- }), Wt = {
2044
+ }), el = {
1483
2045
  key: 0,
1484
2046
  class: "label"
1485
- }, Kt = { class: "label-text" }, Xt = ["onKeydown", "aria-expanded", "aria-activedescendant"], Gt = ["placeholder", "disabled"], Jt = {
2047
+ }, tl = { class: "label-text" }, al = ["onKeydown", "aria-expanded", "aria-activedescendant"], ll = ["placeholder", "disabled"], nl = {
1486
2048
  class: "top-full z-10 absolute bg-base-100 shadow-lg mt-1 rounded-md w-full dropdown-content",
1487
2049
  role: "listbox"
1488
- }, Zt = { class: "flex-nowrap p-0 w-[inherit] max-h-60 overflow-y-auto menu" }, Qt = ["onMousedown", "id", "aria-selected"], Zl = {
2050
+ }, sl = { class: "flex-nowrap p-0 w-[inherit] max-h-60 overflow-y-auto menu" }, ol = ["onMousedown", "id", "aria-selected"], Hn = {
1489
2051
  __name: "filterableSelect",
1490
2052
  props: {
1491
2053
  // Array of options: [{ value: any, text: string }, ...]
@@ -1515,195 +2077,193 @@ const Ee = Q("SunIcon", [
1515
2077
  }
1516
2078
  },
1517
2079
  emits: ["update:modelValue", "select", "clear"],
1518
- setup(e, { expose: c, emit: t }) {
1519
- const o = e, u = t, s = we(), i = _(() => {
1520
- const $ = (s.default ? s.default() : []).filter((h) => h.type !== xe);
1521
- return console.log("hasDefaultSlotContent computed:", $.length > 0), $.length > 0;
1522
- }), g = k(""), v = k(null), p = k(!1), S = k(null), I = k(null), z = k(null), y = k(null), w = () => {
1523
- p.value = !o.disabled;
1524
- }, x = () => {
1525
- p.value = !1, y.value = null, i.value || (v.value && g.value !== v.value.text ? g.value = v.value.text : v.value || (g.value = ""));
1526
- }, C = () => {
1527
- p.value ? x() : w();
1528
- }, B = _(() => {
1529
- const n = g.value ? g.value.toLowerCase() : "";
1530
- return n === "" && !p.value ? [] : o.options.filter(
1531
- (h) => h && h.text ? h.text.toLowerCase().includes(n) : ""
2080
+ setup(e, { expose: n, emit: a }) {
2081
+ const t = e, o = a, i = tt(), l = _(() => {
2082
+ const B = (i.default ? i.default() : []).filter((I) => I.type !== at);
2083
+ return console.log("hasDefaultSlotContent computed:", B.length > 0), B.length > 0;
2084
+ }), d = b(""), c = b(null), h = b(!1), M = b(null), A = b(null), O = b(null), v = b(null), D = () => {
2085
+ h.value = !t.disabled;
2086
+ }, V = () => {
2087
+ h.value = !1, v.value = null, l.value || (c.value && d.value !== c.value.text ? d.value = c.value.text : c.value || (d.value = ""));
2088
+ }, W = () => {
2089
+ h.value ? V() : D();
2090
+ }, F = _(() => {
2091
+ const f = d.value ? d.value.toLowerCase() : "";
2092
+ return f === "" && !h.value ? [] : t.options.filter(
2093
+ (I) => I && I.text ? I.text.toLowerCase().includes(f) : ""
1532
2094
  );
1533
2095
  });
1534
- A(
1535
- () => o.modelValue,
1536
- (n, $) => {
1537
- if (n !== $ && x(), n == null)
1538
- v.value = null, !p.value && !i.value && (g.value = "");
2096
+ R(
2097
+ () => t.modelValue,
2098
+ (f, B) => {
2099
+ if (f !== B && V(), f == null)
2100
+ c.value = null, !h.value && !l.value && (d.value = "");
1539
2101
  else {
1540
- const h = o.options.find((D) => D.value === n);
1541
- h ? (v.value = h, !p.value && !i.value && (g.value = h.text)) : (v.value = null, !p.value && !i.value && (g.value = ""));
2102
+ const I = t.options.find((H) => H.value === f);
2103
+ I ? (c.value = I, !h.value && !l.value && (d.value = I.text)) : (c.value = null, !h.value && !l.value && (d.value = ""));
1542
2104
  }
1543
2105
  },
1544
2106
  { immediate: !0 }
1545
2107
  // Run immediately on component mount
1546
2108
  );
1547
- const L = (n) => {
1548
- I.value && !I.value.contains(n.target) && x();
1549
- }, R = () => {
2109
+ const K = (f) => {
2110
+ A.value && !A.value.contains(f.target) && V();
2111
+ }, J = () => {
1550
2112
  setTimeout(() => {
1551
- I.value && !I.value.contains(document.activeElement) && x();
2113
+ A.value && !A.value.contains(document.activeElement) && V();
1552
2114
  }, 100);
1553
2115
  };
1554
- A(p, (n) => {
1555
- n ? setTimeout(() => {
1556
- document.addEventListener("click", L);
1557
- }, 0) : document.removeEventListener("click", L);
1558
- }), ie(() => {
1559
- document.removeEventListener("click", L), window.removeEventListener("keydown", b);
2116
+ R(h, (f) => {
2117
+ f ? setTimeout(() => {
2118
+ document.addEventListener("click", K);
2119
+ }, 0) : document.removeEventListener("click", K);
2120
+ }), Ee(() => {
2121
+ document.removeEventListener("click", K), window.removeEventListener("keydown", j);
1560
2122
  });
1561
- const N = () => {
1562
- if (o.disabled) return;
1563
- const n = v.value;
1564
- u("update:modelValue", null), n && u("clear", n);
1565
- }, m = (n) => {
1566
- v.value = n, i.value || (g.value = n.text), u("update:modelValue", n.value), u("select", n), x();
1567
- }, d = () => {
1568
- B.value.length > 0 && m(B.value[0]);
1569
- }, f = () => {
1570
- p.value || w();
1571
- }, b = (n) => {
1572
- if (!p.value || B.value.length === 0) return;
1573
- const $ = B.value.findIndex(
1574
- (D, F) => "option-" + F === y.value
2123
+ const ae = () => {
2124
+ if (t.disabled) return;
2125
+ const f = c.value;
2126
+ o("update:modelValue", null), f && o("clear", f);
2127
+ }, m = (f) => {
2128
+ c.value = f, l.value || (d.value = f.text), o("update:modelValue", f.value), o("select", f), V();
2129
+ }, x = () => {
2130
+ F.value.length > 0 && m(F.value[0]);
2131
+ }, k = () => {
2132
+ h.value || D();
2133
+ }, j = (f) => {
2134
+ if (!h.value || F.value.length === 0) return;
2135
+ const B = F.value.findIndex(
2136
+ (H, ee) => "option-" + ee === v.value
1575
2137
  );
1576
- let h = -1;
1577
- if (n.key === "ArrowDown")
1578
- n.preventDefault(), h = ($ + 1) % B.value.length;
1579
- else if (n.key === "ArrowUp")
1580
- n.preventDefault(), h = ($ - 1 + B.value.length) % B.value.length;
1581
- else if (n.key === "Enter" && y.value) {
1582
- n.preventDefault();
1583
- const D = B.value.find(
1584
- (F, q) => "option-" + q === y.value
2138
+ let I = -1;
2139
+ if (f.key === "ArrowDown")
2140
+ f.preventDefault(), I = (B + 1) % F.value.length;
2141
+ else if (f.key === "ArrowUp")
2142
+ f.preventDefault(), I = (B - 1 + F.value.length) % F.value.length;
2143
+ else if (f.key === "Enter" && v.value) {
2144
+ f.preventDefault();
2145
+ const H = F.value.find(
2146
+ (ee, G) => "option-" + G === v.value
1585
2147
  );
1586
- D && m(D);
2148
+ H && m(H);
1587
2149
  return;
1588
- } else if (n.key === "Escape") {
1589
- n.preventDefault(), x(), z.value && z.value.focus();
2150
+ } else if (f.key === "Escape") {
2151
+ f.preventDefault(), V(), O.value && O.value.focus();
1590
2152
  return;
1591
- } else if (i.value)
2153
+ } else if (l.value)
1592
2154
  return;
1593
- if (h !== -1) {
1594
- y.value = "option-" + h;
1595
- const D = document.getElementById(y.value);
1596
- D && requestAnimationFrame(() => {
1597
- D.scrollIntoView({ block: "nearest", behavior: "smooth" });
2155
+ if (I !== -1) {
2156
+ v.value = "option-" + I;
2157
+ const H = document.getElementById(v.value);
2158
+ H && requestAnimationFrame(() => {
2159
+ H.scrollIntoView({ block: "nearest", behavior: "smooth" });
1598
2160
  });
1599
2161
  }
1600
2162
  };
1601
- return A(p, (n) => {
1602
- n ? (window.addEventListener("keydown", b), !i.value && !g.value && v.value && (g.value = v.value.text)) : window.removeEventListener("keydown", b);
1603
- }), ie(() => {
1604
- document.removeEventListener("click", L), window.removeEventListener("keydown", b);
1605
- }), c({
1606
- isDropdownOpen: p,
2163
+ return R(h, (f) => {
2164
+ f ? (window.addEventListener("keydown", j), !l.value && !d.value && c.value && (d.value = c.value.text)) : window.removeEventListener("keydown", j);
2165
+ }), Ee(() => {
2166
+ document.removeEventListener("click", K), window.removeEventListener("keydown", j);
2167
+ }), n({
2168
+ isDropdownOpen: h,
1607
2169
  // Expose state
1608
- selectedItem: v,
2170
+ selectedItem: c,
1609
2171
  // Expose selected item
1610
- openDropdown: w,
2172
+ openDropdown: D,
1611
2173
  // Expose method to open
1612
- closeDropdown: x,
2174
+ closeDropdown: V,
1613
2175
  // Expose method to close
1614
- toggleDropdown: C,
2176
+ toggleDropdown: W,
1615
2177
  // Expose method to toggle
1616
2178
  selectItem: m,
1617
2179
  // Expose method to select an item programmatically
1618
- filterText: g,
2180
+ filterText: d,
1619
2181
  // Expose filter text (useful if parent controls filtering)
1620
- hasDefaultSlotContent: i
2182
+ hasDefaultSlotContent: l
1621
2183
  // Expose to know if the default slot is used
1622
- }), (n, $) => (a(), r("div", {
2184
+ }), (f, B) => (s(), r("div", {
1623
2185
  class: "relative w-full max-w-xs form-control",
1624
2186
  ref_key: "componentRoot",
1625
- ref: I
2187
+ ref: A
1626
2188
  }, [
1627
- e.label ? (a(), r("label", Wt, [
1628
- l("span", Kt, O(e.label), 1)
1629
- ])) : T("", !0),
1630
- l("div", {
1631
- class: M(["flex items-center input-bordered rounded-md w-fit cursor-pointer", { input: !i.value, select: !i.value }]),
1632
- style: Z(
1633
- v.value ? "background-image: unset; padding-right: 0.5rem;" : ""
1634
- ),
1635
- tabindex: "0",
1636
- onClick: $[1] || ($[1] = (h) => i.value ? C() : w()),
2189
+ e.label ? (s(), r("label", el, [
2190
+ u("span", tl, T(e.label), 1)
2191
+ ])) : S("", !0),
2192
+ u("div", {
2193
+ class: w(["flex items-center input-bordered rounded-md w-fit cursor-pointer", { input: !l.value, select: !l.value }]),
2194
+ style: { "background-image": "unset", "padding-right": "0.5rem" },
2195
+ tabindex: " 0",
2196
+ onClick: B[1] || (B[1] = (I) => l.value ? W() : D()),
1637
2197
  onKeydown: [
1638
- re(H(d, ["prevent"]), ["enter"]),
1639
- re(H(d, ["prevent"]), ["space"])
2198
+ ge(oe(x, ["prevent"]), ["enter"]),
2199
+ ge(oe(x, ["prevent"]), ["space"])
1640
2200
  ],
1641
- onBlur: R,
2201
+ onBlur: J,
1642
2202
  role: "combobox",
1643
2203
  "aria-haspopup": "listbox",
1644
- "aria-expanded": p.value,
1645
- "aria-activedescendant": y.value,
2204
+ "aria-expanded": h.value,
2205
+ "aria-activedescendant": v.value,
1646
2206
  "aria-autocomplete": "list",
1647
2207
  ref_key: "activatorWrapper",
1648
- ref: z
2208
+ ref: O
1649
2209
  }, [
1650
- V(n.$slots, "default", {}, () => [
1651
- i.value ? T("", !0) : ee((a(), r("input", {
2210
+ $(f.$slots, "default", {}, () => [
2211
+ l.value ? S("", !0) : ke((s(), r("input", {
1652
2212
  key: 0,
1653
2213
  type: "text",
1654
2214
  placeholder: e.placeholder,
1655
2215
  class: "bg-transparent border-none focus:outline-none w-full",
1656
- "onUpdate:modelValue": $[0] || ($[0] = (h) => g.value = h),
2216
+ "onUpdate:modelValue": B[0] || (B[0] = (I) => d.value = I),
1657
2217
  ref_key: "filterInput",
1658
- ref: S,
1659
- onFocus: w,
1660
- onInput: f,
2218
+ ref: M,
2219
+ onFocus: D,
2220
+ onInput: k,
1661
2221
  tabindex: "-1",
1662
- disabled: o.disabled
1663
- }, null, 40, Gt)), [
1664
- [me, g.value]
2222
+ disabled: t.disabled
2223
+ }, null, 40, ll)), [
2224
+ [Ue, d.value]
1665
2225
  ])
1666
2226
  ]),
1667
- v.value && !e.disabled ? (a(), W(U(je), {
2227
+ c.value && !e.disabled ? (s(), fe(te(gt), {
1668
2228
  key: 0,
1669
2229
  size: 20,
1670
2230
  class: "mx-2 text-base-content/50 hover:text-base-content/80 cursor-pointer",
1671
- onClick: H(N, ["stop"])
1672
- })) : T("", !0),
1673
- i.value && !v.value ? (a(), W(U(Pe), {
1674
- key: 1,
1675
- class: M([{ "rotate-180": p.value }, "mx-2"]),
1676
- size: 20
1677
- }, null, 8, ["class"])) : T("", !0)
1678
- ], 46, Xt),
1679
- ee(l("div", Jt, [
1680
- l("ul", Zt, [
1681
- (a(!0), r(j, null, E(B.value, (h, D) => (a(), r("li", {
1682
- key: h.value,
1683
- onMousedown: H((F) => m(h), ["prevent"]),
2231
+ onClick: oe(ae, ["stop"])
2232
+ })) : S("", !0),
2233
+ re(te(ht), {
2234
+ class: w([{ "rotate-180": h.value }, "mx-2 cursor-pointer text-base-content/60 hover:text-base-content/80"]),
2235
+ size: 20,
2236
+ onClick: oe(W, ["stop"])
2237
+ }, null, 8, ["class"])
2238
+ ], 42, al),
2239
+ ke(u("div", nl, [
2240
+ u("ul", sl, [
2241
+ (s(!0), r(N, null, U(F.value, (I, H) => (s(), r("li", {
2242
+ key: I.value,
2243
+ onMousedown: oe((ee) => m(I), ["prevent"]),
1684
2244
  class: "hover:bg-base-200 rounded-md w-full cursor-pointer",
1685
- id: "option-" + D,
2245
+ id: "option-" + H,
1686
2246
  role: "option",
1687
- "aria-selected": v.value && v.value.value === h.value
2247
+ "aria-selected": c.value && c.value.value === I.value
1688
2248
  }, [
1689
- l("a", null, O(h.text), 1)
1690
- ], 40, Qt))), 128))
2249
+ u("a", null, T(I.text), 1)
2250
+ ], 40, ol))), 128))
1691
2251
  ])
1692
2252
  ], 512), [
1693
- [ke, p.value && B.value.length > 0]
2253
+ [lt, h.value && F.value.length > 0]
1694
2254
  ])
1695
2255
  ], 512));
1696
2256
  }
1697
- }, Yt = { class: "w-full max-w-xs form-control" }, el = {
2257
+ }, il = { class: "w-full max-w-xs form-control" }, rl = {
1698
2258
  key: 0,
1699
2259
  class: "label"
1700
- }, tl = { class: "label-text" }, ll = ["type", "placeholder", "disabled", "value"], nl = {
2260
+ }, ul = { class: "label-text" }, cl = ["type", "placeholder", "disabled", "value"], dl = {
1701
2261
  key: 1,
1702
2262
  class: "label"
1703
- }, al = { class: "label-text-alt text-error validator-hint" }, ol = {
2263
+ }, fl = { class: "label-text-alt text-error validator-hint" }, vl = {
1704
2264
  key: 2,
1705
2265
  class: "label"
1706
- }, sl = { class: "label-text-alt text-success validator-hint" }, Ql = /* @__PURE__ */ P({
2266
+ }, ml = { class: "label-text-alt text-success validator-hint" }, Un = /* @__PURE__ */ z({
1707
2267
  __name: "inputField",
1708
2268
  props: {
1709
2269
  modelValue: { default: "" },
@@ -1719,43 +2279,43 @@ const Ee = Q("SunIcon", [
1719
2279
  disabled: { type: Boolean, default: !1 }
1720
2280
  },
1721
2281
  emits: ["update:modelValue", "validate"],
1722
- setup(e, { expose: c, emit: t }) {
1723
- const o = e, u = t, s = k(null), i = k(!1), g = k(""), v = _(() => {
1724
- var C, B, L, R;
1725
- let y = !0, w = "";
1726
- const x = o.modelValue;
1727
- return (C = o.rules) != null && C.required && (x == null || x === "") && (y = !1, w = "This field is required."), y && ((B = o.rules) == null ? void 0 : B.minLength) !== void 0 && typeof x == "string" && x.length < o.rules.minLength && (y = !1, w = `Must be at least ${o.rules.minLength} characters.`), y && ((L = o.rules) == null ? void 0 : L.maxLength) !== void 0 && typeof x == "string" && x.length > o.rules.maxLength && (y = !1, w = `Cannot exceed ${o.rules.maxLength} characters.`), y && ((R = o.rules) != null && R.email) && typeof x == "string" && x && (/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(x) || (y = !1, w = "Please enter a valid email address.")), g.value = w, u("validate", y), y;
1728
- }), p = _(() => i.value && !v.value), S = (y) => {
1729
- const w = y.target;
1730
- u("update:modelValue", w.value), i.value && v.value;
1731
- }, I = () => {
1732
- i.value = !0, v.value;
2282
+ setup(e, { expose: n, emit: a }) {
2283
+ const t = e, o = a, i = b(null), l = b(!1), d = b(""), c = _(() => {
2284
+ var W, F, K, J;
2285
+ let v = !0, D = "";
2286
+ const V = t.modelValue;
2287
+ return (W = t.rules) != null && W.required && (V == null || V === "") && (v = !1, D = "This field is required."), v && ((F = t.rules) == null ? void 0 : F.minLength) !== void 0 && typeof V == "string" && V.length < t.rules.minLength && (v = !1, D = `Must be at least ${t.rules.minLength} characters.`), v && ((K = t.rules) == null ? void 0 : K.maxLength) !== void 0 && typeof V == "string" && V.length > t.rules.maxLength && (v = !1, D = `Cannot exceed ${t.rules.maxLength} characters.`), v && ((J = t.rules) != null && J.email) && typeof V == "string" && V && (/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(V) || (v = !1, D = "Please enter a valid email address.")), d.value = D, o("validate", v), v;
2288
+ }), h = _(() => l.value && !c.value), M = (v) => {
2289
+ const D = v.target;
2290
+ o("update:modelValue", D.value), l.value && c.value;
2291
+ }, A = () => {
2292
+ l.value = !0, c.value;
1733
2293
  };
1734
- return A(
1735
- () => o.modelValue,
2294
+ return R(
2295
+ () => t.modelValue,
1736
2296
  () => {
1737
- i.value && v.value;
2297
+ l.value && c.value;
1738
2298
  }
1739
- ), c({
2299
+ ), n({
1740
2300
  focusInput: () => {
1741
- var y;
1742
- console.log("inputField.vue: focusInput method called."), (y = s.value) == null || y.focus();
2301
+ var v;
2302
+ console.log("inputField.vue: focusInput method called."), (v = i.value) == null || v.focus();
1743
2303
  },
1744
- isValid: v,
1745
- isTouched: i,
1746
- errorMessage: g
1747
- }), (y, w) => (a(), r("div", Yt, [
1748
- e.label ? (a(), r("label", el, [
1749
- l("span", tl, O(e.label), 1)
1750
- ])) : T("", !0),
1751
- V(y.$slots, "default"),
1752
- l("input", {
2304
+ isValid: c,
2305
+ isTouched: l,
2306
+ errorMessage: d
2307
+ }), (v, D) => (s(), r("div", il, [
2308
+ e.label ? (s(), r("label", rl, [
2309
+ u("span", ul, T(e.label), 1)
2310
+ ])) : S("", !0),
2311
+ $(v.$slots, "default"),
2312
+ u("input", {
1753
2313
  ref_key: "inputElement",
1754
- ref: s,
2314
+ ref: i,
1755
2315
  type: e.type,
1756
2316
  placeholder: e.placeholder,
1757
- disabled: o.disabled,
1758
- class: M(["input-bordered rounded-md w-full input validator", [
2317
+ disabled: t.disabled,
2318
+ class: w(["input-bordered rounded-md w-full input validator", [
1759
2319
  {
1760
2320
  // Size classes - Apply based on size prop
1761
2321
  "input-xs": e.size === "xs",
@@ -1767,33 +2327,89 @@ const Ee = Q("SunIcon", [
1767
2327
  "input-ghost": e.style === "ghost",
1768
2328
  // Color classes - Apply only if NOT in an error state AND NOT in a validation success state.
1769
2329
  // This ensures validation feedback overrides base colors.
1770
- "input-neutral": e.color === "neutral" && !p.value && !(v.value && i.value && e.needsValidation),
1771
- "input-primary": e.color === "primary" && !p.value && !(v.value && i.value && e.needsValidation),
1772
- "input-secondary": e.color === "secondary" && !p.value && !(v.value && i.value && e.needsValidation),
1773
- "input-accent": e.color === "accent" && !p.value && !(v.value && i.value && e.needsValidation),
1774
- "input-info": e.color === "info" && !p.value && !(v.value && i.value && e.needsValidation),
1775
- "input-success": e.color === "success" && !p.value && !(v.value && i.value && e.needsValidation),
2330
+ "input-neutral": e.color === "neutral" && !h.value && !(c.value && l.value && e.needsValidation),
2331
+ "input-primary": e.color === "primary" && !h.value && !(c.value && l.value && e.needsValidation),
2332
+ "input-secondary": e.color === "secondary" && !h.value && !(c.value && l.value && e.needsValidation),
2333
+ "input-accent": e.color === "accent" && !h.value && !(c.value && l.value && e.needsValidation),
2334
+ "input-info": e.color === "info" && !h.value && !(c.value && l.value && e.needsValidation),
2335
+ "input-success": e.color === "success" && !h.value && !(c.value && l.value && e.needsValidation),
1776
2336
  // Color success applies only if not in error or validation success state
1777
- "input-warning": e.color === "warning" && !p.value && !(v.value && i.value && e.needsValidation),
2337
+ "input-warning": e.color === "warning" && !h.value && !(c.value && l.value && e.needsValidation),
1778
2338
  // Validation state classes - These take precedence visually via conditions or CSS specificity.
1779
- "input-error": p.value,
2339
+ "input-error": h.value,
1780
2340
  // Apply error style if validation fails
1781
- "input-success-validation": v.value && i.value && !p.value && e.needsValidation
2341
+ "input-success-validation": c.value && l.value && !h.value && e.needsValidation
1782
2342
  // Apply validation success style if valid, touched, not error, AND validation is needed. Using a distinct name 'input-success-validation' is recommended to avoid CSS conflicts with the 'input-success' color class.
1783
2343
  }
1784
2344
  ]]),
1785
2345
  value: e.modelValue,
1786
- onInput: S,
1787
- onBlur: I
1788
- }, null, 42, ll),
1789
- p.value ? (a(), r("div", nl, [
1790
- l("span", al, O(g.value), 1)
1791
- ])) : v.value && i.value && e.successMessage ? (a(), r("div", ol, [
1792
- l("span", sl, O(e.successMessage), 1)
1793
- ])) : T("", !0)
2346
+ onInput: M,
2347
+ onBlur: A
2348
+ }, null, 42, cl),
2349
+ h.value ? (s(), r("div", dl, [
2350
+ u("span", fl, T(d.value), 1)
2351
+ ])) : c.value && l.value && e.successMessage ? (s(), r("div", vl, [
2352
+ u("span", ml, T(e.successMessage), 1)
2353
+ ])) : S("", !0)
1794
2354
  ]));
1795
2355
  }
1796
- }), Yl = /* @__PURE__ */ P({
2356
+ }), pl = ["value", "placeholder", "disabled", "rows"], Kn = /* @__PURE__ */ z({
2357
+ inheritAttrs: !1,
2358
+ __name: "textarea",
2359
+ props: {
2360
+ modelValue: { default: "" },
2361
+ placeholder: {},
2362
+ rows: { default: 3 },
2363
+ color: {},
2364
+ size: {},
2365
+ ghost: { type: Boolean, default: !1 },
2366
+ disabled: { type: Boolean, default: !1 }
2367
+ },
2368
+ emits: ["update:modelValue"],
2369
+ setup(e, { emit: n }) {
2370
+ const a = e, t = n, o = _(() => {
2371
+ const l = ["textarea"];
2372
+ return a.ghost && l.push("textarea-ghost"), a.color && l.push(`textarea-${a.color}`), a.size && l.push(`textarea-${a.size}`), l.join(" ");
2373
+ }), i = (l) => {
2374
+ const d = l.target;
2375
+ t("update:modelValue", d.value);
2376
+ };
2377
+ return (l, d) => (s(), r("textarea", ie({
2378
+ class: o.value,
2379
+ value: e.modelValue,
2380
+ placeholder: e.placeholder,
2381
+ disabled: e.disabled,
2382
+ rows: e.rows,
2383
+ onInput: i
2384
+ }, l.$attrs), null, 16, pl));
2385
+ }
2386
+ }), hl = ["checked", "disabled"], Xn = /* @__PURE__ */ z({
2387
+ inheritAttrs: !1,
2388
+ __name: "toggle",
2389
+ props: {
2390
+ modelValue: { type: Boolean, default: !1 },
2391
+ color: {},
2392
+ size: {},
2393
+ disabled: { type: Boolean, default: !1 }
2394
+ },
2395
+ emits: ["update:modelValue"],
2396
+ setup(e, { emit: n }) {
2397
+ const a = e, t = n, o = _(() => {
2398
+ const l = ["toggle"];
2399
+ return a.color && l.push(`toggle-${a.color}`), a.size && l.push(`toggle-${a.size}`), l.join(" ");
2400
+ }), i = (l) => {
2401
+ const d = l.target;
2402
+ t("update:modelValue", d.checked);
2403
+ };
2404
+ return (l, d) => (s(), r("input", ie({
2405
+ type: "checkbox",
2406
+ class: o.value,
2407
+ checked: e.modelValue,
2408
+ disabled: e.disabled,
2409
+ onChange: i
2410
+ }, l.$attrs), null, 16, hl));
2411
+ }
2412
+ }), Gn = /* @__PURE__ */ z({
1797
2413
  __name: "loader",
1798
2414
  props: {
1799
2415
  loading: { type: Boolean, default: !0 },
@@ -1802,15 +2418,15 @@ const Ee = Q("SunIcon", [
1802
2418
  color: { default: "primary" }
1803
2419
  },
1804
2420
  setup(e) {
1805
- const c = e, t = k(c.loading);
1806
- return A(
1807
- () => c.loading,
1808
- (o) => {
1809
- t.value = o;
2421
+ const n = e, a = b(n.loading);
2422
+ return R(
2423
+ () => n.loading,
2424
+ (t) => {
2425
+ a.value = t;
1810
2426
  }
1811
- ), (o, u) => t.value ? (a(), r("span", {
2427
+ ), (t, o) => a.value ? (s(), r("span", {
1812
2428
  key: 0,
1813
- class: M(["loading", [
2429
+ class: w(["loading", [
1814
2430
  { "loading-xs": e.size === "xs" },
1815
2431
  { "loading-sm": e.size === "sm" },
1816
2432
  { "loading-md": e.size === "md" },
@@ -1833,135 +2449,612 @@ const Ee = Q("SunIcon", [
1833
2449
  { "text-warning": e.color === "warning" },
1834
2450
  { "text-error": e.color === "error" }
1835
2451
  ]])
1836
- }, null, 2)) : T("", !0);
2452
+ }, null, 2)) : S("", !0);
2453
+ }
2454
+ }), gl = ["value", "max"], Yn = /* @__PURE__ */ z({
2455
+ inheritAttrs: !1,
2456
+ __name: "progress",
2457
+ props: {
2458
+ value: {},
2459
+ max: { default: 100 },
2460
+ color: {}
2461
+ },
2462
+ setup(e) {
2463
+ const n = e, a = _(() => {
2464
+ const t = ["progress"];
2465
+ return n.color && t.push(`progress-${n.color}`), t.join(" ");
2466
+ });
2467
+ return (t, o) => (s(), r("progress", ie({
2468
+ class: a.value,
2469
+ value: e.value,
2470
+ max: e.max
2471
+ }, t.$attrs), null, 16, gl));
2472
+ }
2473
+ }), Jn = /* @__PURE__ */ z({
2474
+ __name: "skeleton",
2475
+ props: {
2476
+ text: { type: Boolean, default: !1 },
2477
+ width: {},
2478
+ height: {}
2479
+ },
2480
+ setup(e) {
2481
+ const n = e, a = _(() => {
2482
+ const t = ["skeleton"];
2483
+ return n.text && t.push("skeleton-text"), t.join(" ");
2484
+ });
2485
+ return (t, o) => (s(), r("div", {
2486
+ class: w(a.value)
2487
+ }, [
2488
+ $(t.$slots, "default")
2489
+ ], 2));
2490
+ }
2491
+ }), Te = b([]);
2492
+ function bl() {
2493
+ const e = (a, t = "default", o = 5e3) => {
2494
+ const i = Math.random().toString(36).substring(2, 9);
2495
+ Te.value.push({
2496
+ id: i,
2497
+ message: a,
2498
+ type: t,
2499
+ duration: o
2500
+ });
2501
+ }, n = (a) => {
2502
+ Te.value = Te.value.filter((t) => t.id !== a);
2503
+ };
2504
+ return {
2505
+ // Expose a read-only version of the toasts array
2506
+ toasts: nt(Te),
2507
+ addToast: e,
2508
+ removeToast: n
2509
+ };
2510
+ }
2511
+ const yl = ["value"], wl = /* @__PURE__ */ z({
2512
+ __name: "ToastNotification",
2513
+ props: {
2514
+ toast: {
2515
+ type: Object,
2516
+ required: !0
2517
+ }
2518
+ },
2519
+ emits: ["remove"],
2520
+ setup(e, { emit: n }) {
2521
+ const a = e, t = n, o = b(100);
2522
+ let i = null, l = null;
2523
+ pe(() => {
2524
+ const c = a.toast.duration, h = Date.now();
2525
+ i = setTimeout(() => {
2526
+ t("remove", a.toast.id);
2527
+ }, c), l = setInterval(() => {
2528
+ const M = Date.now() - h, A = Math.max(0, c - M);
2529
+ o.value = A / c * 100, A === 0 && clearInterval(l);
2530
+ }, 50);
2531
+ }), Re(() => {
2532
+ i && clearTimeout(i), l && clearInterval(l);
2533
+ });
2534
+ const d = _(() => {
2535
+ switch (a.toast.type) {
2536
+ case "success":
2537
+ return "alert-success";
2538
+ case "warning":
2539
+ return "alert-warning";
2540
+ case "error":
2541
+ return "alert-error";
2542
+ case "info":
2543
+ return "alert-info";
2544
+ default:
2545
+ return "";
2546
+ }
2547
+ });
2548
+ return (c, h) => (s(), r("div", {
2549
+ role: "alert",
2550
+ class: w(["alert z-60", d.value, "shadow-lg"])
2551
+ }, [
2552
+ u("span", null, T(e.toast.message), 1),
2553
+ u("progress", {
2554
+ class: w(["progress absolute bottom-0 left-0 w-full progress-neutral"]),
2555
+ value: o.value,
2556
+ max: "100"
2557
+ }, null, 8, yl)
2558
+ ], 2));
2559
+ }
2560
+ }), $l = /* @__PURE__ */ ve(wl, [["__scopeId", "data-v-bc0c6917"]]), xl = /* @__PURE__ */ z({
2561
+ __name: "ToastContainer",
2562
+ props: {
2563
+ position: {
2564
+ type: String,
2565
+ default: "top-end"
2566
+ // Default to top-right corner
2567
+ }
2568
+ },
2569
+ setup(e) {
2570
+ const n = e, { toasts: a, removeToast: t } = bl(), o = _(() => {
2571
+ const [i, l] = n.position.split("-");
2572
+ return {
2573
+ "toast-top": i === "top",
2574
+ "toast-middle": i === "middle",
2575
+ "toast-bottom": i === "bottom",
2576
+ "toast-start": l === "start",
2577
+ "toast-center": l === "center",
2578
+ "toast-end": l === "end"
2579
+ };
2580
+ });
2581
+ return (i, l) => (s(), r("div", {
2582
+ class: w(["toast z-50", o.value])
2583
+ }, [
2584
+ re(st, { name: "toast-fade" }, {
2585
+ default: ye(() => [
2586
+ (s(!0), r(N, null, U(te(a), (d) => (s(), fe($l, {
2587
+ key: d.id,
2588
+ toast: d,
2589
+ onRemove: (c) => te(t)(d.id)
2590
+ }, null, 8, ["toast", "onRemove"]))), 128))
2591
+ ]),
2592
+ _: 1
2593
+ })
2594
+ ], 2));
2595
+ }
2596
+ }), Zn = /* @__PURE__ */ ve(xl, [["__scopeId", "data-v-e10fa884"]]), Qn = /* @__PURE__ */ z({
2597
+ __name: "toast",
2598
+ props: {
2599
+ position: { default: "end" },
2600
+ vertical: { default: "bottom" }
2601
+ },
2602
+ setup(e) {
2603
+ const n = e, a = _(() => {
2604
+ const t = ["toast"];
2605
+ return n.position && t.push(`toast-${n.position}`), n.vertical && t.push(`toast-${n.vertical}`), t.join(" ");
2606
+ });
2607
+ return (t, o) => (s(), r("div", {
2608
+ class: w(a.value)
2609
+ }, [
2610
+ $(t.$slots, "default")
2611
+ ], 2));
2612
+ }
2613
+ }), kl = {
2614
+ xmlns: "http://www.w3.org/2000/svg",
2615
+ fill: "none",
2616
+ viewBox: "0 0 24 24",
2617
+ class: "w-6 h-6 stroke-current shrink-0"
2618
+ }, Cl = ["d"], zl = { class: "empty:hidden" }, es = /* @__PURE__ */ z({
2619
+ __name: "alert",
2620
+ props: {
2621
+ type: { default: "default" },
2622
+ message: {},
2623
+ closable: { type: Boolean, default: !1 },
2624
+ modelValue: { type: Boolean, default: !0 }
2625
+ },
2626
+ emits: ["update:modelValue"],
2627
+ setup(e, { emit: n }) {
2628
+ const a = e, t = n, o = _({
2629
+ get: () => a.modelValue,
2630
+ set: (c) => t("update:modelValue", c)
2631
+ }), i = _(() => {
2632
+ switch (a.type) {
2633
+ case "info":
2634
+ return "alert-info";
2635
+ case "success":
2636
+ return "alert-success";
2637
+ case "warning":
2638
+ return "alert-warning";
2639
+ case "error":
2640
+ return "alert-error";
2641
+ default:
2642
+ return "";
2643
+ }
2644
+ }), l = _(() => {
2645
+ switch (a.type) {
2646
+ case "info":
2647
+ return "M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z";
2648
+ case "success":
2649
+ return "M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z";
2650
+ case "warning":
2651
+ return "M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z";
2652
+ case "error":
2653
+ return "M10 14l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2m7-2a9 9 0 11-18 0 9 9 0 0118 0z";
2654
+ default:
2655
+ return "M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z";
2656
+ }
2657
+ }), d = () => {
2658
+ o.value = !1;
2659
+ };
2660
+ return (c, h) => o.value ? (s(), r("div", {
2661
+ key: 0,
2662
+ role: "alert",
2663
+ class: w(["alert", i.value])
2664
+ }, [
2665
+ $(c.$slots, "icon", { class: "w-6 h-6" }, () => [
2666
+ (s(), r("svg", kl, [
2667
+ u("path", {
2668
+ "stroke-linecap": "round",
2669
+ "stroke-linejoin": "round",
2670
+ "stroke-width": "2",
2671
+ d: l.value
2672
+ }, null, 8, Cl)
2673
+ ]))
2674
+ ]),
2675
+ u("span", null, T(e.message), 1),
2676
+ u("div", zl, [
2677
+ e.closable ? (s(), r("button", {
2678
+ key: 0,
2679
+ class: "btn btn-sm btn-ghost",
2680
+ onClick: d
2681
+ }, "Close")) : S("", !0),
2682
+ $(c.$slots, "default")
2683
+ ])
2684
+ ], 2)) : S("", !0);
2685
+ }
2686
+ }), ts = /* @__PURE__ */ z({
2687
+ __name: "divider",
2688
+ props: {
2689
+ vertical: { type: Boolean, default: !1 },
2690
+ horizontal: { type: Boolean, default: !1 },
2691
+ color: {},
2692
+ position: {}
2693
+ },
2694
+ setup(e) {
2695
+ const n = e, a = _(() => {
2696
+ const t = ["divider"];
2697
+ return n.vertical ? t.push("divider-vertical") : n.horizontal && t.push("divider-horizontal"), n.color && t.push(`divider-${n.color}`), n.position && t.push(`divider-${n.position}`), t.join(" ");
2698
+ });
2699
+ return (t, o) => (s(), r("div", {
2700
+ class: w(a.value)
2701
+ }, [
2702
+ $(t.$slots, "default")
2703
+ ], 2));
1837
2704
  }
1838
- }), il = { class: "footer sm:footer-horizontal container" }, rl = { class: "footer-title" }, ul = ["href"], dl = {
2705
+ }), Sl = ["id"], _l = { class: "drawer-content" }, Bl = { class: "drawer-side" }, Il = ["for"], as = /* @__PURE__ */ z({
2706
+ __name: "drawer",
2707
+ props: {
2708
+ id: {},
2709
+ modelValue: { type: Boolean, default: !1 },
2710
+ end: { type: Boolean, default: !1 },
2711
+ open: { type: Boolean, default: !1 }
2712
+ },
2713
+ emits: ["update:modelValue"],
2714
+ setup(e, { emit: n }) {
2715
+ const a = e, t = n, o = b(a.modelValue || a.open);
2716
+ R(o, (l) => {
2717
+ t("update:modelValue", l);
2718
+ }), R(() => a.modelValue, (l) => {
2719
+ o.value = l;
2720
+ });
2721
+ const i = _(() => {
2722
+ const l = ["drawer"];
2723
+ return a.end && l.push("drawer-end"), a.open && l.push("drawer-open"), l.join(" ");
2724
+ });
2725
+ return (l, d) => (s(), r("div", {
2726
+ class: w(i.value)
2727
+ }, [
2728
+ ke(u("input", {
2729
+ id: e.id,
2730
+ type: "checkbox",
2731
+ class: "drawer-toggle",
2732
+ "onUpdate:modelValue": d[0] || (d[0] = (c) => o.value = c)
2733
+ }, null, 8, Sl), [
2734
+ [He, o.value]
2735
+ ]),
2736
+ u("div", _l, [
2737
+ $(l.$slots, "content")
2738
+ ]),
2739
+ u("div", Bl, [
2740
+ u("label", {
2741
+ for: e.id,
2742
+ "aria-label": "close sidebar",
2743
+ class: "drawer-overlay"
2744
+ }, null, 8, Il),
2745
+ $(l.$slots, "sidebar")
2746
+ ])
2747
+ ], 2));
2748
+ }
2749
+ }), Ml = { class: "container flex flex-col sm:flex-row" }, Tl = { class: "footer-title" }, Vl = ["href"], jl = {
1839
2750
  key: 0,
1840
2751
  class: "sm:hidden w-full"
1841
- }, cl = { class: "border-b-2 border-base-100 last:border-b-0 w-full" }, fl = {
2752
+ }, Dl = { class: "border-b-2 border-base-100 last:border-b-0 w-full" }, Ol = {
1842
2753
  tabindex: "0",
1843
2754
  class: "collapse collapse-plus w-full"
1844
- }, ml = { class: "collapse-title font-bold text-lg collapsible-footer-title" }, vl = { class: "collapse-content flex w-full text-sm" }, pl = { class: "flex flex-col gap-2.5" }, hl = { class: "w-full" }, gl = ["href"], bl = { class: "w-full" }, en = /* @__PURE__ */ P({
2755
+ }, Pl = { class: "collapse-title font-bold text-lg collapsible-footer-title" }, Al = { class: "collapse-content flex w-full text-sm" }, Ll = { class: "flex flex-col gap-2.5" }, El = { class: "w-full" }, Rl = ["href"], Nl = { class: "sm:w-1/4" }, ls = /* @__PURE__ */ z({
1845
2756
  __name: "footer",
1846
2757
  props: {
1847
2758
  items: {},
1848
2759
  background: {},
1849
2760
  color: {},
1850
- collapseOnMobile: { type: Boolean, default: !1 }
2761
+ collapseOnMobile: { type: Boolean, default: !1 },
2762
+ rows: { default: 1 }
1851
2763
  },
1852
2764
  setup(e) {
1853
- const c = e;
1854
- return (t, o) => (a(), r("div", {
1855
- class: M(["mx-auto md:px-10 py-10 text-base-content", [e.background ?? "bg-base-200", e.color ?? "text-base-content"]])
2765
+ const n = e;
2766
+ return (a, t) => (s(), r("div", {
2767
+ class: w(["mx-auto md:px-10 py-10 text-base-content", [e.background ?? "bg-base-200", e.color ?? "text-base-content"]])
1856
2768
  }, [
1857
- l("footer", il, [
1858
- (a(!0), r(j, null, E(c.items, (u) => (a(), r("nav", {
1859
- class: M([{ "hidden sm:grid": e.collapseOnMobile }])
2769
+ u("footer", Ml, [
2770
+ u("div", {
2771
+ class: w(["footer sm:footer-horizontal sm:w-3/4", [{ "sm:grid-rows-1": n.rows === 1 }, { "sm:grid-rows-2": n.rows === 2 }, { "sm:grid-rows-3": n.rows === 3 }]])
1860
2772
  }, [
1861
- l("h6", rl, O(u.title), 1),
1862
- (a(!0), r(j, null, E(u.items, (s) => (a(), r("a", {
1863
- class: "link link-hover",
1864
- href: s.link
1865
- }, O(s.text), 9, ul))), 256))
1866
- ], 2))), 256)),
1867
- e.collapseOnMobile ? (a(), r("nav", dl, [
1868
- (a(!0), r(j, null, E(c.items, (u) => (a(), r("ul", cl, [
1869
- l("div", fl, [
1870
- l("div", ml, O(u.title), 1),
1871
- l("div", vl, [
1872
- l("ul", pl, [
1873
- (a(!0), r(j, null, E(u.items, (s) => (a(), r("li", hl, [
1874
- l("a", {
1875
- class: "w-full font-medium link link-hover",
1876
- href: s.link
1877
- }, O(s.text), 9, gl)
1878
- ]))), 256))
2773
+ (s(!0), r(N, null, U(n.items, (o) => (s(), r("nav", {
2774
+ class: w([{ "hidden sm:grid w-max": e.collapseOnMobile }])
2775
+ }, [
2776
+ u("h6", Tl, T(o.title), 1),
2777
+ (s(!0), r(N, null, U(o.items, (i) => (s(), r("a", {
2778
+ class: "link link-hover",
2779
+ href: i.link
2780
+ }, T(i.text), 9, Vl))), 256))
2781
+ ], 2))), 256)),
2782
+ u("nav", {
2783
+ class: w(["empty:hidden", [{ "hidden sm:grid": e.collapseOnMobile }]])
2784
+ }, [
2785
+ $(a.$slots, "extra-row")
2786
+ ], 2),
2787
+ e.collapseOnMobile ? (s(), r("nav", jl, [
2788
+ (s(!0), r(N, null, U(n.items, (o) => (s(), r("ul", Dl, [
2789
+ u("div", Ol, [
2790
+ u("div", Pl, T(o.title), 1),
2791
+ u("div", Al, [
2792
+ u("ul", Ll, [
2793
+ (s(!0), r(N, null, U(o.items, (i) => (s(), r("li", El, [
2794
+ u("a", {
2795
+ class: "w-full font-medium link link-hover",
2796
+ href: i.link
2797
+ }, T(i.text), 9, Rl)
2798
+ ]))), 256))
2799
+ ])
1879
2800
  ])
1880
2801
  ])
1881
- ])
1882
- ]))), 256))
1883
- ])) : T("", !0),
1884
- l("aside", bl, [
1885
- V(t.$slots, "default")
2802
+ ]))), 256))
2803
+ ])) : S("", !0)
2804
+ ], 2),
2805
+ u("aside", Nl, [
2806
+ $(a.$slots, "default")
1886
2807
  ])
1887
2808
  ])
1888
2809
  ], 2));
1889
2810
  }
1890
- }), yl = {}, wl = { class: "min-h-40 container hero" }, xl = { class: "px-0! text-center hero-content" }, kl = { class: "mt-9 text-4xl" };
1891
- function $l(e, c) {
1892
- return a(), r("div", wl, [
1893
- l("div", xl, [
1894
- l("div", null, [
1895
- l("h1", kl, [
1896
- V(e.$slots, "title", {}, () => [
1897
- c[0] || (c[0] = ue("hero title", -1))
2811
+ }), Fl = {}, ql = { class: "min-h-40 container hero" }, Wl = { class: "px-0! text-center hero-content" }, Hl = { class: "mt-9 text-4xl" };
2812
+ function Ul(e, n) {
2813
+ return s(), r("div", ql, [
2814
+ u("div", Wl, [
2815
+ u("div", null, [
2816
+ u("h1", Hl, [
2817
+ $(e.$slots, "title", {}, () => [
2818
+ n[0] || (n[0] = je("hero title", -1))
1898
2819
  ])
1899
2820
  ]),
1900
- l("p", null, [
1901
- V(e.$slots, "description", { class: "py-9" })
2821
+ u("p", null, [
2822
+ $(e.$slots, "description", { class: "py-9" })
1902
2823
  ]),
1903
- V(e.$slots, "call-to-action-block", { class: "max-w-full" }, () => [
1904
- c[1] || (c[1] = l("button", { class: "btn btn-primary" }, "Call to action", -1))
2824
+ $(e.$slots, "call-to-action-block", { class: "max-w-full" }, () => [
2825
+ n[1] || (n[1] = u("button", { class: "btn btn-primary" }, "Call to action", -1))
1905
2826
  ])
1906
2827
  ])
1907
2828
  ])
1908
2829
  ]);
1909
2830
  }
1910
- const tn = /* @__PURE__ */ J(yl, [["render", $l]]), Cl = { class: "flex flex-row place-content-center gap-4 categories" }, Sl = ["onClick"], ln = /* @__PURE__ */ P({
2831
+ const ns = /* @__PURE__ */ ve(Fl, [["render", Ul]]), ss = /* @__PURE__ */ z({
2832
+ __name: "join",
2833
+ props: {
2834
+ vertical: { type: Boolean, default: !1 },
2835
+ horizontal: { type: Boolean, default: !1 }
2836
+ },
2837
+ setup(e) {
2838
+ const n = e, a = _(() => {
2839
+ const t = ["join"];
2840
+ return n.vertical ? t.push("join-vertical") : n.horizontal && t.push("join-horizontal"), t.join(" ");
2841
+ });
2842
+ return (t, o) => (s(), r("div", {
2843
+ class: w(a.value)
2844
+ }, [
2845
+ $(t.$slots, "default")
2846
+ ], 2));
2847
+ }
2848
+ }), os = /* @__PURE__ */ z({
2849
+ __name: "stack",
2850
+ props: {
2851
+ position: {}
2852
+ },
2853
+ setup(e) {
2854
+ const n = e, a = _(() => {
2855
+ const t = ["stack"];
2856
+ return n.position && t.push(`stack-${n.position}`), t.join(" ");
2857
+ });
2858
+ return (t, o) => (s(), r("div", {
2859
+ class: w(a.value)
2860
+ }, [
2861
+ $(t.$slots, "default")
2862
+ ], 2));
2863
+ }
2864
+ }), Kl = { class: "breadcrumbs" }, Xl = {
2865
+ key: 0,
2866
+ xmlns: "http://www.w3.org/2000/svg",
2867
+ fill: "none",
2868
+ viewBox: "0 0 24 24",
2869
+ class: "w-4 h-4 mr-2 stroke-current"
2870
+ }, Gl = ["d"], is = /* @__PURE__ */ z({
2871
+ __name: "breadcrumbs",
2872
+ props: {
2873
+ items: {}
2874
+ },
2875
+ emits: ["click"],
2876
+ setup(e, { emit: n }) {
2877
+ const a = n, t = (o, i) => {
2878
+ a("click", o, i);
2879
+ };
2880
+ return (o, i) => (s(), r("div", Kl, [
2881
+ u("ul", null, [
2882
+ (s(!0), r(N, null, U(e.items, (l, d) => (s(), r("li", { key: d }, [
2883
+ (s(), fe(Ve(l.href ? "a" : "span"), {
2884
+ href: l.href,
2885
+ onClick: (c) => t(l, c)
2886
+ }, {
2887
+ default: ye(() => [
2888
+ l.icon ? (s(), r("svg", Xl, [
2889
+ u("path", {
2890
+ "stroke-linecap": "round",
2891
+ "stroke-linejoin": "round",
2892
+ "stroke-width": "2",
2893
+ d: l.icon
2894
+ }, null, 8, Gl)
2895
+ ])) : S("", !0),
2896
+ je(" " + T(l.label), 1)
2897
+ ]),
2898
+ _: 2
2899
+ }, 1032, ["href", "onClick"]))
2900
+ ]))), 128))
2901
+ ])
2902
+ ]));
2903
+ }
2904
+ }), Yl = { class: "flex flex-row place-content-center gap-4 categories" }, Jl = ["onClick"], rs = /* @__PURE__ */ z({
1911
2905
  __name: "categoryNavigation",
1912
2906
  props: {
1913
2907
  searchOptions: {},
1914
2908
  currentCategory: {}
1915
2909
  },
1916
2910
  emits: ["update:currentCategory"],
1917
- setup(e, { emit: c }) {
1918
- const t = e, o = c;
1919
- function u(s) {
1920
- o("update:currentCategory", s);
2911
+ setup(e, { emit: n }) {
2912
+ const a = e, t = n;
2913
+ function o(i) {
2914
+ t("update:currentCategory", i);
1921
2915
  }
1922
- return (s, i) => (a(), r("div", Cl, [
1923
- (a(!0), r(j, null, E(t.searchOptions, (g) => (a(), r("div", {
1924
- key: g.category
2916
+ return (i, l) => (s(), r("div", Yl, [
2917
+ (s(!0), r(N, null, U(a.searchOptions, (d) => (s(), r("div", {
2918
+ key: d.category
1925
2919
  }, [
1926
- l("button", {
1927
- onClick: (v) => u(g.category),
1928
- class: M(["truncate btn btn-ghost", { "font-semibold": t.currentCategory === g.category }])
1929
- }, O(g.category), 11, Sl)
2920
+ u("button", {
2921
+ onClick: (c) => o(d.category),
2922
+ class: w(["truncate btn btn-ghost", { "font-semibold": a.currentCategory === d.category }])
2923
+ }, T(d.category), 11, Jl)
1930
2924
  ]))), 128))
1931
2925
  ]));
1932
2926
  }
1933
- }), Il = { class: "md:flex hidden navbar-start" }, Tl = { class: "md:flex justify-center items-center hidden navbar-center" }, Ml = { class: "md:flex hidden navbar-end" }, Vl = { class: "navbar-bottom md:flex hidden" }, Bl = /* @__PURE__ */ P({
2927
+ }), us = /* @__PURE__ */ z({
2928
+ __name: "menu",
2929
+ props: {
2930
+ horizontal: { type: Boolean, default: !1 },
2931
+ vertical: { type: Boolean, default: !1 },
2932
+ size: {}
2933
+ },
2934
+ setup(e) {
2935
+ const n = e, a = _(() => {
2936
+ const t = ["menu"];
2937
+ return n.horizontal ? t.push("menu-horizontal") : n.vertical && t.push("menu-vertical"), n.size && t.push(`menu-${n.size}`), t.join(" ");
2938
+ });
2939
+ return (t, o) => (s(), r("ul", {
2940
+ class: w(a.value)
2941
+ }, [
2942
+ $(t.$slots, "default")
2943
+ ], 2));
2944
+ }
2945
+ }), Zl = {
2946
+ key: 0,
2947
+ class: "navbar-start"
2948
+ }, Ql = {
2949
+ key: 1,
2950
+ class: "navbar-center"
2951
+ }, en = {
2952
+ key: 2,
2953
+ class: "navbar-end"
2954
+ }, cs = /* @__PURE__ */ z({
2955
+ __name: "navbar",
2956
+ props: {
2957
+ bg: {}
2958
+ },
2959
+ setup(e) {
2960
+ const n = e, a = _(() => n.bg ? `bg-${n.bg}` : "");
2961
+ return (t, o) => (s(), r("div", {
2962
+ class: w(["navbar", a.value])
2963
+ }, [
2964
+ t.$slots.start ? (s(), r("div", Zl, [
2965
+ $(t.$slots, "start")
2966
+ ])) : S("", !0),
2967
+ t.$slots.center ? (s(), r("div", Ql, [
2968
+ $(t.$slots, "center")
2969
+ ])) : S("", !0),
2970
+ t.$slots.end ? (s(), r("div", en, [
2971
+ $(t.$slots, "end")
2972
+ ])) : S("", !0),
2973
+ $(t.$slots, "default")
2974
+ ], 2));
2975
+ }
2976
+ }), tn = { class: "md:flex hidden navbar-start" }, an = { class: "md:flex justify-center items-center hidden navbar-center" }, ln = { class: "md:flex hidden navbar-end" }, nn = { class: "navbar-bottom md:flex hidden" }, sn = /* @__PURE__ */ z({
1934
2977
  __name: "navigationBar",
1935
2978
  props: {
1936
2979
  isCollapsed: { type: Boolean, default: !0 }
1937
2980
  },
1938
2981
  setup(e) {
1939
- const c = e;
1940
- return (t, o) => (a(), r("nav", {
1941
- class: M(["place-items-start border-primary bg-base-100 px-5 py-5 border-b-4 transition-all navbar navigationbar", c.isCollapsed ? "collapsed" : ""])
2982
+ const n = e;
2983
+ return (a, t) => (s(), r("nav", {
2984
+ class: w(["place-items-start border-primary bg-base-100 px-5 py-5 border-b-4 transition-all navbar navigationbar", n.isCollapsed ? "collapsed" : ""])
1942
2985
  }, [
1943
- l("div", Il, [
1944
- V(t.$slots, "start", {}, void 0, !0)
2986
+ u("div", tn, [
2987
+ $(a.$slots, "start", {}, void 0, !0)
1945
2988
  ]),
1946
- l("div", Tl, [
1947
- V(t.$slots, "center", {}, void 0, !0)
2989
+ u("div", an, [
2990
+ $(a.$slots, "center", {}, void 0, !0)
1948
2991
  ]),
1949
- l("div", Ml, [
1950
- V(t.$slots, "end", {}, void 0, !0)
2992
+ u("div", ln, [
2993
+ $(a.$slots, "end", {}, void 0, !0)
1951
2994
  ]),
1952
- l("div", Vl, [
1953
- V(t.$slots, "bottom", {}, void 0, !0)
2995
+ u("div", nn, [
2996
+ $(a.$slots, "bottom", {}, void 0, !0)
1954
2997
  ])
1955
2998
  ], 2));
1956
2999
  }
1957
- }), nn = /* @__PURE__ */ J(Bl, [["__scopeId", "data-v-8ddb2b45"]]), Dl = {
3000
+ }), ds = /* @__PURE__ */ ve(sn, [["__scopeId", "data-v-8ddb2b45"]]), on = { class: "join" }, rn = ["disabled"], un = ["disabled"], cn = ["onClick"], dn = ["disabled"], fn = ["disabled"], fs = /* @__PURE__ */ z({
3001
+ __name: "pagination",
3002
+ props: {
3003
+ currentPage: {},
3004
+ totalPages: {},
3005
+ maxVisible: { default: 5 },
3006
+ showFirstLast: { type: Boolean, default: !1 }
3007
+ },
3008
+ emits: ["update:currentPage"],
3009
+ setup(e, { emit: n }) {
3010
+ const a = e, t = n, o = _(() => {
3011
+ const l = [], d = Math.floor(a.maxVisible / 2);
3012
+ let c = Math.max(1, a.currentPage - d), h = Math.min(a.totalPages, c + a.maxVisible - 1);
3013
+ h - c < a.maxVisible - 1 && (c = Math.max(1, h - a.maxVisible + 1));
3014
+ for (let M = c; M <= h; M++)
3015
+ l.push(M);
3016
+ return l;
3017
+ }), i = (l) => {
3018
+ l >= 1 && l <= a.totalPages && l !== a.currentPage && t("update:currentPage", l);
3019
+ };
3020
+ return (l, d) => (s(), r("div", on, [
3021
+ e.showFirstLast ? (s(), r("button", {
3022
+ key: 0,
3023
+ class: "join-item btn",
3024
+ disabled: e.currentPage === 1,
3025
+ onClick: d[0] || (d[0] = (c) => i(1))
3026
+ }, " « ", 8, rn)) : S("", !0),
3027
+ u("button", {
3028
+ class: "join-item btn",
3029
+ disabled: e.currentPage === 1,
3030
+ onClick: d[1] || (d[1] = (c) => i(e.currentPage - 1))
3031
+ }, " ‹ ", 8, un),
3032
+ (s(!0), r(N, null, U(o.value, (c) => (s(), r("button", {
3033
+ key: c,
3034
+ class: w(["join-item btn", { "btn-active": c === e.currentPage }]),
3035
+ onClick: (h) => i(c)
3036
+ }, T(c), 11, cn))), 128)),
3037
+ u("button", {
3038
+ class: "join-item btn",
3039
+ disabled: e.currentPage === e.totalPages,
3040
+ onClick: d[2] || (d[2] = (c) => i(e.currentPage + 1))
3041
+ }, " › ", 8, dn),
3042
+ e.showFirstLast ? (s(), r("button", {
3043
+ key: 1,
3044
+ class: "join-item btn",
3045
+ disabled: e.currentPage === e.totalPages,
3046
+ onClick: d[3] || (d[3] = (c) => i(e.totalPages))
3047
+ }, " » ", 8, fn)) : S("", !0)
3048
+ ]));
3049
+ }
3050
+ }), vn = {
1958
3051
  key: 0,
1959
3052
  class: "hidden top-4 right-0 absolute md:flex gap-4"
1960
- }, zl = ["onClick", "aria-selected"], Ol = {
3053
+ }, mn = ["onClick", "aria-selected"], pn = {
1961
3054
  key: 0,
1962
3055
  role: "tabpanel",
1963
3056
  class: "p-6 border-x-0 border-t-2 border-b-0 border-base-300 max-w-full overflow-x-auto tab-content"
1964
- }, Pl = { class: "p-6 border-x-0 border-t-2 border-b-0 border-base-300 max-w-full" }, an = /* @__PURE__ */ P({
3057
+ }, hn = { class: "p-6 border-x-0 border-t-2 border-b-0 border-base-300 max-w-full" }, vs = /* @__PURE__ */ z({
1965
3058
  __name: "tab",
1966
3059
  props: {
1967
3060
  items: {},
@@ -1970,84 +3063,154 @@ const tn = /* @__PURE__ */ J(yl, [["render", $l]]), Cl = { class: "flex flex-row
1970
3063
  buttonOnlyMode: { type: Boolean, default: !1 }
1971
3064
  },
1972
3065
  emits: ["tab-changed"],
1973
- setup(e, { emit: c }) {
1974
- const t = e, o = k(t.items[0]), u = c;
1975
- function s(v) {
1976
- o.value = v, u("tab-changed", v);
3066
+ setup(e, { emit: n }) {
3067
+ const a = e, t = b(a.items[0]), o = n;
3068
+ function i(c) {
3069
+ t.value = c, o("tab-changed", c);
1977
3070
  }
1978
- function i() {
1979
- const p = (t.items.indexOf(o.value) + 1) % t.items.length;
1980
- s(t.items[p]);
3071
+ function l() {
3072
+ const h = (a.items.indexOf(t.value) + 1) % a.items.length;
3073
+ i(a.items[h]);
1981
3074
  }
1982
- function g() {
1983
- const p = (t.items.indexOf(o.value) - 1 + t.items.length) % t.items.length;
1984
- s(t.items[p]);
3075
+ function d() {
3076
+ const h = (a.items.indexOf(t.value) - 1 + a.items.length) % a.items.length;
3077
+ i(a.items[h]);
1985
3078
  }
1986
- return K(() => {
1987
- t.items && s(t.items[0]);
1988
- }), $e(() => {
1989
- t.rotateTabsAfter && t.rotateTabsAfter > 0 && setInterval(() => {
1990
- i();
1991
- }, t.rotateTabsAfter * 1e3);
1992
- }), (v, p) => (a(), r(j, null, [
1993
- l("div", {
3079
+ return pe(() => {
3080
+ a.items && i(a.items[0]);
3081
+ }), Re(() => {
3082
+ a.rotateTabsAfter && a.rotateTabsAfter > 0 && setInterval(() => {
3083
+ l();
3084
+ }, a.rotateTabsAfter * 1e3);
3085
+ }), (c, h) => (s(), r(N, null, [
3086
+ u("div", {
1994
3087
  role: "tablist",
1995
- class: M(["relative tabs-bordered w-full tabs tabs-lg", { "flex-nowrap overflow-x-auto": e.buttonOnlyMode }])
3088
+ class: w(["relative tabs-bordered w-full tabs tabs-lg", { "flex-nowrap overflow-x-auto": e.buttonOnlyMode }])
1996
3089
  }, [
1997
- e.withControlls ? (a(), r("div", Dl, [
1998
- l("button", {
1999
- onClick: p[0] || (p[0] = (S) => g()),
3090
+ e.withControlls ? (s(), r("div", vn, [
3091
+ u("button", {
3092
+ onClick: h[0] || (h[0] = (M) => d()),
2000
3093
  class: "cursor-pointer"
2001
3094
  }, "Previous"),
2002
- l("button", {
2003
- onClick: p[1] || (p[1] = (S) => i()),
3095
+ u("button", {
3096
+ onClick: h[1] || (h[1] = (M) => l()),
2004
3097
  class: "text-primary cursor-pointer"
2005
3098
  }, "Next")
2006
- ])) : T("", !0),
2007
- (a(!0), r(j, null, E(e.items, (S) => (a(), r(j, null, [
2008
- l("a", {
3099
+ ])) : S("", !0),
3100
+ (s(!0), r(N, null, U(e.items, (M) => (s(), r(N, null, [
3101
+ u("a", {
2009
3102
  type: "button",
2010
3103
  role: "tab",
2011
- class: M(["min-w-max tab", S === o.value ? "bg-primary text-base-100" : ""]),
2012
- onClick: (I) => s(S),
2013
- "aria-selected": o.value == S
2014
- }, O(S), 11, zl),
2015
- e.buttonOnlyMode ? T("", !0) : (a(), r("div", Ol, [
2016
- V(v.$slots, `${S}-tab`)
3104
+ class: w(["min-w-max tab", M === t.value ? "bg-primary text-base-100" : ""]),
3105
+ onClick: (A) => i(M),
3106
+ "aria-selected": t.value == M
3107
+ }, T(M), 11, mn),
3108
+ e.buttonOnlyMode ? S("", !0) : (s(), r("div", pn, [
3109
+ $(c.$slots, `${M}-tab`)
2017
3110
  ]))
2018
3111
  ], 64))), 256))
2019
3112
  ], 2),
2020
- l("div", Pl, [
2021
- V(v.$slots, "default")
3113
+ u("div", hn, [
3114
+ $(c.$slots, "default")
2022
3115
  ])
2023
3116
  ], 64));
2024
3117
  }
3118
+ }), gn = {
3119
+ key: 0,
3120
+ class: "step-icon"
3121
+ }, ms = /* @__PURE__ */ z({
3122
+ __name: "steps",
3123
+ props: {
3124
+ vertical: { type: Boolean, default: !1 },
3125
+ progress: { default: 0 },
3126
+ wrap: { type: Boolean },
3127
+ steps: { default: () => [] },
3128
+ bars: { type: Boolean, default: !1 }
3129
+ },
3130
+ setup(e) {
3131
+ const n = e, a = (t) => t < n.progress ? "complete" : t === n.progress ? "active" : "incomplete";
3132
+ return (t, o) => (s(), r("ul", {
3133
+ class: w(["w-full steps", {
3134
+ "steps-vertical flex flex-col h-full min-h-max": n.vertical,
3135
+ "lg:steps-horizontal flex flex-wrap": n.wrap
3136
+ }])
3137
+ }, [
3138
+ (s(!0), r(N, null, U(n.steps, (i, l) => (s(), r("li", {
3139
+ key: l,
3140
+ class: w(["step", {
3141
+ "step-primary": i.color === "primary" && a(l) === "complete" || !i.color && a(l) === "complete",
3142
+ "step-secondary": i.color === "secondary" && a(l) === "complete",
3143
+ "step-accent": i.color === "accent" && a(l) === "complete",
3144
+ "step-info": i.color === "info" && a(l) === "complete",
3145
+ "step-success": i.color === "success" && a(l) === "complete",
3146
+ "step-warning": i.color === "warning" && a(l) === "complete",
3147
+ "step-error": i.color === "error" && a(l) === "complete",
3148
+ "step-neutral": a(l) === "incomplete",
3149
+ "step-active": a(l) === "active",
3150
+ "step-complete": a(l) === "complete",
3151
+ bars: n.bars
3152
+ }])
3153
+ }, [
3154
+ i.icon ? (s(), r("span", gn, T(i.icon), 1)) : S("", !0),
3155
+ je(" " + T(i.title), 1)
3156
+ ], 2))), 128))
3157
+ ], 2));
3158
+ }
2025
3159
  });
2026
3160
  typeof document > "u" && (globalThis.document = {});
2027
3161
  typeof window > "u" && (globalThis.window = globalThis);
2028
3162
  export {
2029
- Fl as Accordion,
2030
- Kl as AdvancedSearch,
2031
- Ul as Avatar,
2032
- _l as Badge,
2033
- Ll as ButtonComponent,
2034
- ql as Card,
2035
- Hl as Carousel,
2036
- Wl as CarouselItem,
2037
- ln as CategoryNavigation,
2038
- Ot as DatetimePicker,
2039
- El as Dropdown,
2040
- Zl as FilterableSelect,
2041
- en as Footer,
2042
- tn as Hero,
2043
- Ql as InputField,
2044
- Yl as Loader,
2045
- Al as Modal,
2046
- nn as NavigationBar,
2047
- Xl as Rating,
2048
- Jl as Selector,
2049
- Rl as Swap,
2050
- an as Tab,
2051
- Gl as TagInput,
2052
- Nl as ThemeController
3163
+ Cn as Accordion,
3164
+ An as AdvancedSearch,
3165
+ es as Alert,
3166
+ zn as Avatar,
3167
+ Sn as Badge,
3168
+ is as Breadcrumbs,
3169
+ yn as ButtonComponent,
3170
+ _n as Card,
3171
+ Bn as Carousel,
3172
+ In as CarouselItem,
3173
+ rs as CategoryNavigation,
3174
+ Mn as Chat,
3175
+ Ln as Checkbox,
3176
+ Tn as Countdown,
3177
+ La as DatetimePicker,
3178
+ ts as Divider,
3179
+ as as Drawer,
3180
+ wn as Dropdown,
3181
+ En as FileInput,
3182
+ Hn as FilterableSelect,
3183
+ ls as Footer,
3184
+ ns as Hero,
3185
+ Un as InputField,
3186
+ ss as Join,
3187
+ Vn as Kbd,
3188
+ Gn as Loader,
3189
+ us as Menu,
3190
+ $n as Modal,
3191
+ cs as Navbar,
3192
+ ds as NavigationBar,
3193
+ fs as Pagination,
3194
+ Yn as Progress,
3195
+ Rn as Radio,
3196
+ Nn as Range,
3197
+ Fn as Rating,
3198
+ Wn as Selector,
3199
+ Jn as Skeleton,
3200
+ os as Stack,
3201
+ Dn as Stat,
3202
+ jn as Stats,
3203
+ ms as Steps,
3204
+ xn as Swap,
3205
+ vs as Tab,
3206
+ On as Table,
3207
+ qn as TagInput,
3208
+ Kn as Textarea,
3209
+ kn as ThemeController,
3210
+ Pn as Timeline,
3211
+ Zn as Toast,
3212
+ Qn as ToastComponent,
3213
+ bl as ToastComposable,
3214
+ $l as ToastNotification,
3215
+ Xn as Toggle
2053
3216
  };