@velkymx/vibeui 0.4.0 → 0.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/vibeui.es.js CHANGED
@@ -1,5 +1,5 @@
1
- import { defineComponent as p, computed as c, createElementBlock as n, createCommentVNode as u, openBlock as l, normalizeClass as h, renderSlot as $, createTextVNode as N, toDisplayString as f, createBlock as x, resolveDynamicComponent as T, withCtx as V, createElementVNode as m, normalizeStyle as R, unref as L, useSlots as X, Fragment as P, renderList as I, ref as z, watch as O, withDirectives as Q, vModelText as ne, vModelSelect as de, withModifiers as G, onMounted as oe, onBeforeUnmount as re } from "vue";
2
- const ul = /* @__PURE__ */ p({
1
+ import { defineComponent as p, computed as c, createElementBlock as o, createCommentVNode as u, openBlock as l, normalizeClass as h, renderSlot as $, createTextVNode as N, toDisplayString as f, createBlock as V, resolveDynamicComponent as T, withCtx as x, createElementVNode as m, normalizeStyle as R, unref as L, useSlots as D, Fragment as q, renderList as I, ref as F, watch as O, withDirectives as W, vModelText as ye, vModelSelect as he, withModifiers as Y, onMounted as ge, onBeforeUnmount as pe } from "vue";
2
+ const $e = /* @__PURE__ */ p({
3
3
  __name: "VibeAlert",
4
4
  props: {
5
5
  variant: { type: String, default: "primary" },
@@ -8,11 +8,11 @@ const ul = /* @__PURE__ */ p({
8
8
  message: { type: String, required: !0 }
9
9
  },
10
10
  emits: ["update:modelValue", "component-error"],
11
- setup(e, { emit: o }) {
12
- const t = e, i = o, a = c({
11
+ setup(e, { emit: d }) {
12
+ const t = e, i = d, a = c({
13
13
  get: () => t.modelValue,
14
14
  set: (r) => i("update:modelValue", r)
15
- }), s = () => {
15
+ }), n = () => {
16
16
  try {
17
17
  a.value = !1;
18
18
  } catch (r) {
@@ -23,7 +23,7 @@ const ul = /* @__PURE__ */ p({
23
23
  });
24
24
  }
25
25
  };
26
- return (r, d) => a.value ? (l(), n("div", {
26
+ return (r, s) => a.value ? (l(), o("div", {
27
27
  key: 0,
28
28
  class: h(`alert alert-${e.variant}`),
29
29
  role: "alert"
@@ -31,15 +31,15 @@ const ul = /* @__PURE__ */ p({
31
31
  $(r.$slots, "default", {}, () => [
32
32
  N(f(e.message), 1)
33
33
  ]),
34
- e.dismissable ? (l(), n("button", {
34
+ e.dismissable ? (l(), o("button", {
35
35
  key: 0,
36
36
  class: "btn-close",
37
- onClick: s,
37
+ onClick: n,
38
38
  "aria-label": "Close"
39
39
  })) : u("", !0)
40
40
  ], 2)) : u("", !0);
41
41
  }
42
- }), cl = /* @__PURE__ */ p({
42
+ }), ke = /* @__PURE__ */ p({
43
43
  __name: "VibeBadge",
44
44
  props: {
45
45
  variant: { type: String, default: "primary" },
@@ -47,21 +47,21 @@ const ul = /* @__PURE__ */ p({
47
47
  tag: { type: String, default: "span" }
48
48
  },
49
49
  emits: ["component-error"],
50
- setup(e, { emit: o }) {
50
+ setup(e, { emit: d }) {
51
51
  const t = e, i = c(() => {
52
52
  const a = ["badge", `bg-${t.variant}`];
53
53
  return t.pill && a.push("rounded-pill"), a.join(" ");
54
54
  });
55
- return (a, s) => (l(), x(T(e.tag), {
55
+ return (a, n) => (l(), V(T(e.tag), {
56
56
  class: h(i.value)
57
57
  }, {
58
- default: V(() => [
58
+ default: x(() => [
59
59
  $(a.$slots, "default")
60
60
  ]),
61
61
  _: 3
62
62
  }, 8, ["class"]));
63
63
  }
64
- }), fl = /* @__PURE__ */ p({
64
+ }), Se = /* @__PURE__ */ p({
65
65
  __name: "VibeButton",
66
66
  props: {
67
67
  variant: { type: String, default: "primary" },
@@ -74,15 +74,15 @@ const ul = /* @__PURE__ */ p({
74
74
  active: { type: Boolean, default: !1 }
75
75
  },
76
76
  emits: ["click", "component-error"],
77
- setup(e, { emit: o }) {
78
- const t = e, i = o, a = c(() => t.href ? "a" : t.to ? "router-link" : "button"), s = c(() => {
79
- const d = ["btn"];
80
- return t.outline ? d.push(`btn-outline-${t.variant}`) : d.push(`btn-${t.variant}`), t.size && d.push(`btn-${t.size}`), t.active && d.push("active"), d.join(" ");
81
- }), r = (d) => {
82
- t.disabled || i("click", d);
77
+ setup(e, { emit: d }) {
78
+ const t = e, i = d, a = c(() => t.href ? "a" : t.to ? "router-link" : "button"), n = c(() => {
79
+ const s = ["btn"];
80
+ return t.outline ? s.push(`btn-outline-${t.variant}`) : s.push(`btn-${t.variant}`), t.size && s.push(`btn-${t.size}`), t.active && s.push("active"), s.join(" ");
81
+ }), r = (s) => {
82
+ t.disabled || i("click", s);
83
83
  };
84
- return (d, y) => (l(), x(T(a.value), {
85
- class: h(s.value),
84
+ return (s, y) => (l(), V(T(a.value), {
85
+ class: h(n.value),
86
86
  type: e.href || e.to ? void 0 : e.type,
87
87
  href: e.href,
88
88
  to: e.to,
@@ -90,13 +90,13 @@ const ul = /* @__PURE__ */ p({
90
90
  "aria-disabled": e.disabled,
91
91
  onClick: r
92
92
  }, {
93
- default: V(() => [
94
- $(d.$slots, "default")
93
+ default: x(() => [
94
+ $(s.$slots, "default")
95
95
  ]),
96
96
  _: 3
97
97
  }, 8, ["class", "type", "href", "to", "disabled", "aria-disabled"]));
98
98
  }
99
- }), ue = ["role", "aria-label"], vl = /* @__PURE__ */ p({
99
+ }), Ve = ["role", "aria-label"], xe = /* @__PURE__ */ p({
100
100
  __name: "VibeButtonGroup",
101
101
  props: {
102
102
  size: { type: String, default: void 0 },
@@ -105,20 +105,20 @@ const ul = /* @__PURE__ */ p({
105
105
  ariaLabel: { type: String, default: void 0 }
106
106
  },
107
107
  emits: ["component-error"],
108
- setup(e, { emit: o }) {
108
+ setup(e, { emit: d }) {
109
109
  const t = e, i = c(() => {
110
110
  const a = [t.vertical ? "btn-group-vertical" : "btn-group"];
111
111
  return t.size && a.push(`btn-group-${t.size}`), a.join(" ");
112
112
  });
113
- return (a, s) => (l(), n("div", {
113
+ return (a, n) => (l(), o("div", {
114
114
  class: h(i.value),
115
115
  role: e.role,
116
116
  "aria-label": e.ariaLabel
117
117
  }, [
118
118
  $(a.$slots, "default")
119
- ], 10, ue));
119
+ ], 10, Ve));
120
120
  }
121
- }), ce = ["disabled", "aria-label"], bl = /* @__PURE__ */ p({
121
+ }), Ce = ["disabled", "aria-label"], Be = /* @__PURE__ */ p({
122
122
  __name: "VibeCloseButton",
123
123
  props: {
124
124
  disabled: { type: Boolean, default: !1 },
@@ -126,19 +126,19 @@ const ul = /* @__PURE__ */ p({
126
126
  ariaLabel: { type: String, default: "Close" }
127
127
  },
128
128
  emits: ["click", "component-error"],
129
- setup(e, { emit: o }) {
130
- const t = e, i = o, a = (s) => {
131
- t.disabled || i("click", s);
129
+ setup(e, { emit: d }) {
130
+ const t = e, i = d, a = (n) => {
131
+ t.disabled || i("click", n);
132
132
  };
133
- return (s, r) => (l(), n("button", {
133
+ return (n, r) => (l(), o("button", {
134
134
  type: "button",
135
135
  class: h(["btn-close", { "btn-close-white": e.white }]),
136
136
  disabled: e.disabled,
137
137
  "aria-label": e.ariaLabel,
138
138
  onClick: a
139
- }, null, 10, ce));
139
+ }, null, 10, Ce));
140
140
  }
141
- }), fe = { class: "visually-hidden" }, ml = /* @__PURE__ */ p({
141
+ }), we = { class: "visually-hidden" }, Ne = /* @__PURE__ */ p({
142
142
  __name: "VibeSpinner",
143
143
  props: {
144
144
  variant: { type: String, default: void 0 },
@@ -148,22 +148,22 @@ const ul = /* @__PURE__ */ p({
148
148
  tag: { type: String, default: "div" }
149
149
  },
150
150
  emits: ["component-error"],
151
- setup(e, { emit: o }) {
151
+ setup(e, { emit: d }) {
152
152
  const t = e, i = c(() => {
153
153
  const a = [`spinner-${t.type}`];
154
154
  return t.variant && a.push(`text-${t.variant}`), t.size && a.push(`spinner-${t.type}-${t.size}`), a.join(" ");
155
155
  });
156
- return (a, s) => (l(), x(T(e.tag), {
156
+ return (a, n) => (l(), V(T(e.tag), {
157
157
  class: h(i.value),
158
158
  role: "status"
159
159
  }, {
160
- default: V(() => [
161
- m("span", fe, f(e.label), 1)
160
+ default: x(() => [
161
+ m("span", we, f(e.label), 1)
162
162
  ]),
163
163
  _: 1
164
164
  }, 8, ["class"]));
165
165
  }
166
- }), yl = /* @__PURE__ */ p({
166
+ }), Te = /* @__PURE__ */ p({
167
167
  __name: "VibePlaceholder",
168
168
  props: {
169
169
  variant: { type: String, default: void 0 },
@@ -173,23 +173,23 @@ const ul = /* @__PURE__ */ p({
173
173
  tag: { type: String, default: "span" }
174
174
  },
175
175
  emits: ["component-error"],
176
- setup(e, { emit: o }) {
176
+ setup(e, { emit: d }) {
177
177
  const t = e, i = c(() => {
178
178
  const r = ["placeholder"];
179
179
  return t.variant && r.push(`bg-${t.variant}`), t.size && r.push(`placeholder-${t.size}`), r.join(" ");
180
180
  }), a = c(() => {
181
181
  if (t.animation) return `placeholder-${t.animation}`;
182
- }), s = c(() => {
182
+ }), n = c(() => {
183
183
  if (t.width)
184
184
  return { width: typeof t.width == "number" ? `${t.width}%` : t.width };
185
185
  });
186
- return (r, d) => (l(), x(T(e.tag), {
186
+ return (r, s) => (l(), V(T(e.tag), {
187
187
  class: h(a.value)
188
188
  }, {
189
- default: V(() => [
189
+ default: x(() => [
190
190
  m("span", {
191
191
  class: h(i.value),
192
- style: R(s.value)
192
+ style: R(n.value)
193
193
  }, [
194
194
  $(r.$slots, "default")
195
195
  ], 6)
@@ -197,25 +197,25 @@ const ul = /* @__PURE__ */ p({
197
197
  _: 3
198
198
  }, 8, ["class"]));
199
199
  }
200
- }), hl = /* @__PURE__ */ p({
200
+ }), Me = /* @__PURE__ */ p({
201
201
  __name: "VibeContainer",
202
202
  props: {
203
203
  fluid: { type: [Boolean, String], default: !1 },
204
204
  tag: { type: String, default: "div" }
205
205
  },
206
206
  emits: ["component-error"],
207
- setup(e, { emit: o }) {
207
+ setup(e, { emit: d }) {
208
208
  const t = e, i = c(() => t.fluid === !1 ? "container" : t.fluid === !0 ? "container-fluid" : `container-${t.fluid}`);
209
- return (a, s) => (l(), x(T(e.tag), {
209
+ return (a, n) => (l(), V(T(e.tag), {
210
210
  class: h(i.value)
211
211
  }, {
212
- default: V(() => [
212
+ default: x(() => [
213
213
  $(a.$slots, "default")
214
214
  ]),
215
215
  _: 3
216
216
  }, 8, ["class"]));
217
217
  }
218
- }), gl = /* @__PURE__ */ p({
218
+ }), Pe = /* @__PURE__ */ p({
219
219
  __name: "VibeRow",
220
220
  props: {
221
221
  tag: { type: String, default: "div" },
@@ -251,33 +251,33 @@ const ul = /* @__PURE__ */ p({
251
251
  justifyContent: { type: String, default: void 0 }
252
252
  },
253
253
  emits: ["component-error"],
254
- setup(e, { emit: o }) {
254
+ setup(e, { emit: d }) {
255
255
  const t = e, i = c(() => {
256
256
  const a = ["row"];
257
257
  t.gutters !== void 0 && a.push(`g-${t.gutters}`), t.guttersX !== void 0 && a.push(`gx-${t.guttersX}`), t.guttersY !== void 0 && a.push(`gy-${t.guttersY}`);
258
- const s = ["sm", "md", "lg", "xl", "xxl"];
259
- return s.forEach((r) => {
260
- const d = r.charAt(0).toUpperCase() + r.slice(1), y = `gutters${d}`;
258
+ const n = ["sm", "md", "lg", "xl", "xxl"];
259
+ return n.forEach((r) => {
260
+ const s = r.charAt(0).toUpperCase() + r.slice(1), y = `gutters${s}`;
261
261
  t[y] !== void 0 && a.push(`g-${r}-${t[y]}`);
262
- const v = `guttersX${d}`;
262
+ const v = `guttersX${s}`;
263
263
  t[v] !== void 0 && a.push(`gx-${r}-${t[v]}`);
264
- const b = `guttersY${d}`;
264
+ const b = `guttersY${s}`;
265
265
  t[b] !== void 0 && a.push(`gy-${r}-${t[b]}`);
266
- }), t.rowCols !== void 0 && a.push(`row-cols-${t.rowCols}`), s.forEach((r) => {
267
- const d = `rowCols${r.charAt(0).toUpperCase() + r.slice(1)}`;
268
- t[d] !== void 0 && a.push(`row-cols-${r}-${t[d]}`);
266
+ }), t.rowCols !== void 0 && a.push(`row-cols-${t.rowCols}`), n.forEach((r) => {
267
+ const s = `rowCols${r.charAt(0).toUpperCase() + r.slice(1)}`;
268
+ t[s] !== void 0 && a.push(`row-cols-${r}-${t[s]}`);
269
269
  }), t.alignItems && a.push(`align-items-${t.alignItems}`), t.justifyContent && a.push(`justify-content-${t.justifyContent}`), a.join(" ");
270
270
  });
271
- return (a, s) => (l(), x(T(e.tag), {
271
+ return (a, n) => (l(), V(T(e.tag), {
272
272
  class: h(i.value)
273
273
  }, {
274
- default: V(() => [
274
+ default: x(() => [
275
275
  $(a.$slots, "default")
276
276
  ]),
277
277
  _: 3
278
278
  }, 8, ["class"]));
279
279
  }
280
- }), pl = /* @__PURE__ */ p({
280
+ }), qe = /* @__PURE__ */ p({
281
281
  __name: "VibeCol",
282
282
  props: {
283
283
  tag: { type: String, default: "div" },
@@ -306,7 +306,7 @@ const ul = /* @__PURE__ */ p({
306
306
  alignSelf: { type: String, default: void 0 }
307
307
  },
308
308
  emits: ["component-error"],
309
- setup(e, { emit: o }) {
309
+ setup(e, { emit: d }) {
310
310
  const t = e, i = c(() => {
311
311
  const a = [];
312
312
  return t.cols !== void 0 || t.sm !== void 0 || t.md !== void 0 || t.lg !== void 0 || t.xl !== void 0 || t.xxl !== void 0 ? (t.cols === !0 ? a.push("col") : t.cols === "auto" ? a.push("col-auto") : t.cols && a.push(`col-${t.cols}`), [
@@ -315,62 +315,62 @@ const ul = /* @__PURE__ */ p({
315
315
  { name: "lg", value: t.lg },
316
316
  { name: "xl", value: t.xl },
317
317
  { name: "xxl", value: t.xxl }
318
- ].forEach(({ name: d, value: y }) => {
319
- y === !0 ? a.push(`col-${d}`) : y === "auto" ? a.push(`col-${d}-auto`) : y !== void 0 && a.push(`col-${d}-${y}`);
318
+ ].forEach(({ name: s, value: y }) => {
319
+ y === !0 ? a.push(`col-${s}`) : y === "auto" ? a.push(`col-${s}-auto`) : y !== void 0 && a.push(`col-${s}-${y}`);
320
320
  })) : a.push("col"), t.offset !== void 0 && a.push(`offset-${t.offset}`), t.offsetSm !== void 0 && a.push(`offset-sm-${t.offsetSm}`), t.offsetMd !== void 0 && a.push(`offset-md-${t.offsetMd}`), t.offsetLg !== void 0 && a.push(`offset-lg-${t.offsetLg}`), t.offsetXl !== void 0 && a.push(`offset-xl-${t.offsetXl}`), t.offsetXxl !== void 0 && a.push(`offset-xxl-${t.offsetXxl}`), t.order !== void 0 && a.push(`order-${t.order}`), t.orderSm !== void 0 && a.push(`order-sm-${t.orderSm}`), t.orderMd !== void 0 && a.push(`order-md-${t.orderMd}`), t.orderLg !== void 0 && a.push(`order-lg-${t.orderLg}`), t.orderXl !== void 0 && a.push(`order-xl-${t.orderXl}`), t.orderXxl !== void 0 && a.push(`order-xxl-${t.orderXxl}`), t.alignSelf && a.push(`align-self-${t.alignSelf}`), a.join(" ");
321
321
  });
322
- return (a, s) => (l(), x(T(e.tag), {
322
+ return (a, n) => (l(), V(T(e.tag), {
323
323
  class: h(i.value)
324
324
  }, {
325
- default: V(() => [
325
+ default: x(() => [
326
326
  $(a.$slots, "default")
327
327
  ]),
328
328
  _: 3
329
329
  }, 8, ["class"]));
330
330
  }
331
- }), ve = /* @__PURE__ */ p({
331
+ }), J = /* @__PURE__ */ p({
332
332
  __name: "VibeCardHeader",
333
333
  props: {
334
334
  tag: { type: String, default: "div" }
335
335
  },
336
336
  emits: ["component-error"],
337
- setup(e, { emit: o }) {
338
- return (t, i) => (l(), x(T(e.tag), { class: "card-header" }, {
339
- default: V(() => [
337
+ setup(e, { emit: d }) {
338
+ return (t, i) => (l(), V(T(e.tag), { class: "card-header" }, {
339
+ default: x(() => [
340
340
  $(t.$slots, "default")
341
341
  ]),
342
342
  _: 3
343
343
  }));
344
344
  }
345
- }), be = /* @__PURE__ */ p({
345
+ }), Z = /* @__PURE__ */ p({
346
346
  __name: "VibeCardBody",
347
347
  props: {
348
348
  tag: { type: String, default: "div" }
349
349
  },
350
350
  emits: ["component-error"],
351
- setup(e, { emit: o }) {
352
- return (t, i) => (l(), x(T(e.tag), { class: "card-body" }, {
353
- default: V(() => [
351
+ setup(e, { emit: d }) {
352
+ return (t, i) => (l(), V(T(e.tag), { class: "card-body" }, {
353
+ default: x(() => [
354
354
  $(t.$slots, "default")
355
355
  ]),
356
356
  _: 3
357
357
  }));
358
358
  }
359
- }), me = /* @__PURE__ */ p({
359
+ }), _ = /* @__PURE__ */ p({
360
360
  __name: "VibeCardFooter",
361
361
  props: {
362
362
  tag: { type: String, default: "div" }
363
363
  },
364
364
  emits: ["component-error"],
365
- setup(e, { emit: o }) {
366
- return (t, i) => (l(), x(T(e.tag), { class: "card-footer" }, {
367
- default: V(() => [
365
+ setup(e, { emit: d }) {
366
+ return (t, i) => (l(), V(T(e.tag), { class: "card-footer" }, {
367
+ default: x(() => [
368
368
  $(t.$slots, "default")
369
369
  ]),
370
370
  _: 3
371
371
  }));
372
372
  }
373
- }), ye = ["src", "alt"], K = /* @__PURE__ */ p({
373
+ }), Fe = ["src", "alt"], U = /* @__PURE__ */ p({
374
374
  __name: "VibeCardImg",
375
375
  props: {
376
376
  src: { type: String, required: !0 },
@@ -379,43 +379,43 @@ const ul = /* @__PURE__ */ p({
379
379
  bottom: { type: Boolean, default: !1 }
380
380
  },
381
381
  emits: ["component-error"],
382
- setup(e, { emit: o }) {
382
+ setup(e, { emit: d }) {
383
383
  const t = e, i = t.top ? "card-img-top" : t.bottom ? "card-img-bottom" : "card-img";
384
- return (a, s) => (l(), n("img", {
384
+ return (a, n) => (l(), o("img", {
385
385
  src: e.src,
386
386
  alt: e.alt,
387
387
  class: h(L(i))
388
- }, null, 10, ye));
388
+ }, null, 10, Fe));
389
389
  }
390
- }), he = /* @__PURE__ */ p({
390
+ }), ee = /* @__PURE__ */ p({
391
391
  __name: "VibeCardTitle",
392
392
  props: {
393
393
  tag: { type: String, default: "h5" }
394
394
  },
395
395
  emits: ["component-error"],
396
- setup(e, { emit: o }) {
397
- return (t, i) => (l(), x(T(e.tag), { class: "card-title" }, {
398
- default: V(() => [
396
+ setup(e, { emit: d }) {
397
+ return (t, i) => (l(), V(T(e.tag), { class: "card-title" }, {
398
+ default: x(() => [
399
399
  $(t.$slots, "default")
400
400
  ]),
401
401
  _: 3
402
402
  }));
403
403
  }
404
- }), ge = /* @__PURE__ */ p({
404
+ }), te = /* @__PURE__ */ p({
405
405
  __name: "VibeCardText",
406
406
  props: {
407
407
  tag: { type: String, default: "p" }
408
408
  },
409
409
  emits: ["component-error"],
410
- setup(e, { emit: o }) {
411
- return (t, i) => (l(), x(T(e.tag), { class: "card-text" }, {
412
- default: V(() => [
410
+ setup(e, { emit: d }) {
411
+ return (t, i) => (l(), V(T(e.tag), { class: "card-text" }, {
412
+ default: x(() => [
413
413
  $(t.$slots, "default")
414
414
  ]),
415
415
  _: 3
416
416
  }));
417
417
  }
418
- }), $l = /* @__PURE__ */ p({
418
+ }), Ie = /* @__PURE__ */ p({
419
419
  __name: "VibeCard",
420
420
  props: {
421
421
  variant: { type: String, default: void 0 },
@@ -433,38 +433,38 @@ const ul = /* @__PURE__ */ p({
433
433
  footerImageAlt: { type: String, default: "" }
434
434
  },
435
435
  emits: ["component-error"],
436
- setup(e, { emit: o }) {
437
- const t = e, i = X(), a = c(() => {
438
- const d = ["card"];
439
- return t.variant && d.push(`bg-${t.variant}`), t.border && d.push(`border-${t.border}`), t.textVariant && d.push(`text-${t.textVariant}`), d.join(" ");
440
- }), s = c(() => !!(t.title || t.body || t.header || t.footer || t.headerImage || t.footerImage)), r = c(() => !!(i.default || i.header || i.footer || i.body));
441
- return (d, y) => (l(), x(T(e.tag), {
436
+ setup(e, { emit: d }) {
437
+ const t = e, i = D(), a = c(() => {
438
+ const s = ["card"];
439
+ return t.variant && s.push(`bg-${t.variant}`), t.border && s.push(`border-${t.border}`), t.textVariant && s.push(`text-${t.textVariant}`), s.join(" ");
440
+ }), n = c(() => !!(t.title || t.body || t.header || t.footer || t.headerImage || t.footerImage)), r = c(() => !!(i.default || i.header || i.footer || i.body));
441
+ return (s, y) => (l(), V(T(e.tag), {
442
442
  class: h(a.value)
443
443
  }, {
444
- default: V(() => [
445
- s.value && !r.value ? (l(), n(P, { key: 0 }, [
446
- e.headerImage ? (l(), x(K, {
444
+ default: x(() => [
445
+ n.value && !r.value ? (l(), o(q, { key: 0 }, [
446
+ e.headerImage ? (l(), V(U, {
447
447
  key: 0,
448
448
  top: "",
449
449
  src: e.headerImage,
450
450
  alt: e.headerImageAlt
451
451
  }, null, 8, ["src", "alt"])) : u("", !0),
452
- e.header ? (l(), x(ve, { key: 1 }, {
453
- default: V(() => [
452
+ e.header ? (l(), V(J, { key: 1 }, {
453
+ default: x(() => [
454
454
  N(f(e.header), 1)
455
455
  ]),
456
456
  _: 1
457
457
  })) : u("", !0),
458
- e.title || e.body ? (l(), x(be, { key: 2 }, {
459
- default: V(() => [
460
- e.title ? (l(), x(he, { key: 0 }, {
461
- default: V(() => [
458
+ e.title || e.body ? (l(), V(Z, { key: 2 }, {
459
+ default: x(() => [
460
+ e.title ? (l(), V(ee, { key: 0 }, {
461
+ default: x(() => [
462
462
  N(f(e.title), 1)
463
463
  ]),
464
464
  _: 1
465
465
  })) : u("", !0),
466
- e.body ? (l(), x(ge, { key: 1 }, {
467
- default: V(() => [
466
+ e.body ? (l(), V(te, { key: 1 }, {
467
+ default: x(() => [
468
468
  N(f(e.body), 1)
469
469
  ]),
470
470
  _: 1
@@ -472,24 +472,24 @@ const ul = /* @__PURE__ */ p({
472
472
  ]),
473
473
  _: 1
474
474
  })) : u("", !0),
475
- e.footer ? (l(), x(me, { key: 3 }, {
476
- default: V(() => [
475
+ e.footer ? (l(), V(_, { key: 3 }, {
476
+ default: x(() => [
477
477
  N(f(e.footer), 1)
478
478
  ]),
479
479
  _: 1
480
480
  })) : u("", !0),
481
- e.footerImage ? (l(), x(K, {
481
+ e.footerImage ? (l(), V(U, {
482
482
  key: 4,
483
483
  bottom: "",
484
484
  src: e.footerImage,
485
485
  alt: e.footerImageAlt
486
486
  }, null, 8, ["src", "alt"])) : u("", !0)
487
- ], 64)) : $(d.$slots, "default", { key: 1 })
487
+ ], 64)) : $(s.$slots, "default", { key: 1 })
488
488
  ]),
489
489
  _: 3
490
490
  }, 8, ["class"]));
491
491
  }
492
- }), pe = ["aria-current"], $e = /* @__PURE__ */ p({
492
+ }), ze = ["aria-current"], ae = /* @__PURE__ */ p({
493
493
  __name: "VibeBreadcrumbItem",
494
494
  props: {
495
495
  active: { type: Boolean, default: !1 },
@@ -497,49 +497,49 @@ const ul = /* @__PURE__ */ p({
497
497
  to: { type: [String, Object], default: void 0 }
498
498
  },
499
499
  emits: ["component-error"],
500
- setup(e, { emit: o }) {
500
+ setup(e, { emit: d }) {
501
501
  const t = e, i = t.href ? "a" : t.to ? "router-link" : "span";
502
- return (a, s) => (l(), n("li", {
502
+ return (a, n) => (l(), o("li", {
503
503
  class: h(["breadcrumb-item", { active: e.active }]),
504
504
  "aria-current": e.active ? "page" : void 0
505
505
  }, [
506
- (l(), x(T(L(i)), {
506
+ (l(), V(T(L(i)), {
507
507
  href: e.href,
508
508
  to: e.to
509
509
  }, {
510
- default: V(() => [
510
+ default: x(() => [
511
511
  $(a.$slots, "default")
512
512
  ]),
513
513
  _: 3
514
514
  }, 8, ["href", "to"]))
515
- ], 10, pe));
515
+ ], 10, ze));
516
516
  }
517
- }), ke = ["aria-label"], Se = { class: "breadcrumb" }, kl = /* @__PURE__ */ p({
517
+ }), Ae = ["aria-label"], je = { class: "breadcrumb" }, Le = /* @__PURE__ */ p({
518
518
  __name: "VibeBreadcrumb",
519
519
  props: {
520
520
  ariaLabel: { type: String, default: "breadcrumb" },
521
521
  items: { type: Array, default: void 0 }
522
522
  },
523
523
  emits: ["component-error"],
524
- setup(e, { emit: o }) {
525
- const t = X();
526
- return (i, a) => (l(), n("nav", { "aria-label": e.ariaLabel }, [
527
- m("ol", Se, [
528
- e.items && e.items.length > 0 && !L(t).default ? (l(!0), n(P, { key: 0 }, I(e.items, (s, r) => (l(), x($e, {
524
+ setup(e, { emit: d }) {
525
+ const t = D();
526
+ return (i, a) => (l(), o("nav", { "aria-label": e.ariaLabel }, [
527
+ m("ol", je, [
528
+ e.items && e.items.length > 0 && !L(t).default ? (l(!0), o(q, { key: 0 }, I(e.items, (n, r) => (l(), V(ae, {
529
529
  key: r,
530
- href: s.href,
531
- to: s.to,
532
- active: s.active
530
+ href: n.href,
531
+ to: n.to,
532
+ active: n.active
533
533
  }, {
534
- default: V(() => [
535
- N(f(s.text), 1)
534
+ default: x(() => [
535
+ N(f(n.text), 1)
536
536
  ]),
537
537
  _: 2
538
538
  }, 1032, ["href", "to", "active"]))), 128)) : $(i.$slots, "default", { key: 1 })
539
539
  ])
540
- ], 8, ke));
540
+ ], 8, Ae));
541
541
  }
542
- }), xe = ["role"], W = /* @__PURE__ */ p({
542
+ }), Oe = ["role"], Q = /* @__PURE__ */ p({
543
543
  __name: "VibeNavItem",
544
544
  props: {
545
545
  active: { type: Boolean, default: !1 },
@@ -551,19 +551,19 @@ const ul = /* @__PURE__ */ p({
551
551
  target: { type: String, default: void 0 }
552
552
  },
553
553
  emits: ["click", "component-error"],
554
- setup(e, { emit: o }) {
555
- const t = e, i = o, a = c(() => t.tab && !t.href && !t.to ? "button" : t.href ? "a" : t.to ? "router-link" : "a"), s = c(() => {
556
- const d = ["nav-link"];
557
- return t.active && d.push("active"), t.disabled && d.push("disabled"), d.join(" ");
558
- }), r = (d) => {
559
- t.disabled || i("click", d);
554
+ setup(e, { emit: d }) {
555
+ const t = e, i = d, a = c(() => t.tab && !t.href && !t.to ? "button" : t.href ? "a" : t.to ? "router-link" : "a"), n = c(() => {
556
+ const s = ["nav-link"];
557
+ return t.active && s.push("active"), t.disabled && s.push("disabled"), s.join(" ");
558
+ }), r = (s) => {
559
+ t.disabled || i("click", s);
560
560
  };
561
- return (d, y) => (l(), n("li", {
561
+ return (s, y) => (l(), o("li", {
562
562
  class: "nav-item",
563
563
  role: e.tab ? "presentation" : void 0
564
564
  }, [
565
- (l(), x(T(a.value), {
566
- class: h(s.value),
565
+ (l(), V(T(a.value), {
566
+ class: h(n.value),
567
567
  href: e.href,
568
568
  to: e.to,
569
569
  type: a.value === "button" ? "button" : void 0,
@@ -575,14 +575,14 @@ const ul = /* @__PURE__ */ p({
575
575
  "aria-selected": e.tab ? e.active : void 0,
576
576
  onClick: r
577
577
  }, {
578
- default: V(() => [
579
- $(d.$slots, "default")
578
+ default: x(() => [
579
+ $(s.$slots, "default")
580
580
  ]),
581
581
  _: 3
582
582
  }, 8, ["class", "href", "to", "type", "data-bs-toggle", "data-bs-target", "role", "aria-current", "aria-disabled", "aria-selected"]))
583
- ], 8, xe));
583
+ ], 8, Oe));
584
584
  }
585
- }), Sl = /* @__PURE__ */ p({
585
+ }), De = /* @__PURE__ */ p({
586
586
  __name: "VibeNav",
587
587
  props: {
588
588
  tabs: { type: Boolean, default: !1 },
@@ -594,32 +594,32 @@ const ul = /* @__PURE__ */ p({
594
594
  items: { type: Array, default: void 0 }
595
595
  },
596
596
  emits: ["component-error"],
597
- setup(e, { emit: o }) {
598
- const t = e, i = X(), a = c(() => {
599
- const s = ["nav"];
600
- return t.tabs && s.push("nav-tabs"), t.pills && s.push("nav-pills"), t.fill && s.push("nav-fill"), t.justified && s.push("nav-justified"), t.vertical && s.push("flex-column"), s.join(" ");
597
+ setup(e, { emit: d }) {
598
+ const t = e, i = D(), a = c(() => {
599
+ const n = ["nav"];
600
+ return t.tabs && n.push("nav-tabs"), t.pills && n.push("nav-pills"), t.fill && n.push("nav-fill"), t.justified && n.push("nav-justified"), t.vertical && n.push("flex-column"), n.join(" ");
601
601
  });
602
- return (s, r) => (l(), x(T(e.tag), {
602
+ return (n, r) => (l(), V(T(e.tag), {
603
603
  class: h(a.value)
604
604
  }, {
605
- default: V(() => [
606
- e.items && e.items.length > 0 && !L(i).default ? (l(!0), n(P, { key: 0 }, I(e.items, (d, y) => (l(), x(W, {
605
+ default: x(() => [
606
+ e.items && e.items.length > 0 && !L(i).default ? (l(!0), o(q, { key: 0 }, I(e.items, (s, y) => (l(), V(Q, {
607
607
  key: y,
608
- href: d.href,
609
- to: d.to,
610
- active: d.active,
611
- disabled: d.disabled
608
+ href: s.href,
609
+ to: s.to,
610
+ active: s.active,
611
+ disabled: s.disabled
612
612
  }, {
613
- default: V(() => [
614
- N(f(d.text), 1)
613
+ default: x(() => [
614
+ N(f(s.text), 1)
615
615
  ]),
616
616
  _: 2
617
- }, 1032, ["href", "to", "active", "disabled"]))), 128)) : $(s.$slots, "default", { key: 1 })
617
+ }, 1032, ["href", "to", "active", "disabled"]))), 128)) : $(n.$slots, "default", { key: 1 })
618
618
  ]),
619
619
  _: 3
620
620
  }, 8, ["class"]));
621
621
  }
622
- }), xl = /* @__PURE__ */ p({
622
+ }), Xe = /* @__PURE__ */ p({
623
623
  __name: "VibeNavbar",
624
624
  props: {
625
625
  variant: { type: String, default: "light" },
@@ -629,57 +629,57 @@ const ul = /* @__PURE__ */ p({
629
629
  tag: { type: String, default: "nav" }
630
630
  },
631
631
  emits: ["component-error"],
632
- setup(e, { emit: o }) {
632
+ setup(e, { emit: d }) {
633
633
  const t = e, i = c(() => {
634
- const s = ["navbar"];
635
- return t.expand === !0 ? s.push("navbar-expand") : typeof t.expand == "string" && s.push(`navbar-expand-${t.expand}`), t.variant === "dark" || t.variant === "light" ? s.push(`navbar-${t.variant}`) : s.push(`bg-${t.variant}`), t.position && s.push(t.position), s.join(" ");
634
+ const n = ["navbar"];
635
+ return t.expand === !0 ? n.push("navbar-expand") : typeof t.expand == "string" && n.push(`navbar-expand-${t.expand}`), t.variant === "dark" || t.variant === "light" ? n.push(`navbar-${t.variant}`) : n.push(`bg-${t.variant}`), t.position && n.push(t.position), n.join(" ");
636
636
  }), a = c(() => {
637
637
  if (t.container !== !1)
638
638
  return t.container === !0 ? "container-fluid" : `container-${t.container}`;
639
639
  });
640
- return (s, r) => (l(), x(T(e.tag), {
640
+ return (n, r) => (l(), V(T(e.tag), {
641
641
  class: h(i.value)
642
642
  }, {
643
- default: V(() => [
644
- a.value ? (l(), n("div", {
643
+ default: x(() => [
644
+ a.value ? (l(), o("div", {
645
645
  key: 0,
646
646
  class: h(a.value)
647
647
  }, [
648
- $(s.$slots, "default")
649
- ], 2)) : $(s.$slots, "default", { key: 1 })
648
+ $(n.$slots, "default")
649
+ ], 2)) : $(n.$slots, "default", { key: 1 })
650
650
  ]),
651
651
  _: 3
652
652
  }, 8, ["class"]));
653
653
  }
654
- }), Vl = /* @__PURE__ */ p({
654
+ }), Re = /* @__PURE__ */ p({
655
655
  __name: "VibeNavbarBrand",
656
656
  props: {
657
657
  href: { type: String, default: void 0 },
658
658
  to: { type: [String, Object], default: void 0 }
659
659
  },
660
660
  emits: ["component-error"],
661
- setup(e, { emit: o }) {
661
+ setup(e, { emit: d }) {
662
662
  const t = e, i = t.href ? "a" : t.to ? "router-link" : "span";
663
- return (a, s) => (l(), x(T(L(i)), {
663
+ return (a, n) => (l(), V(T(L(i)), {
664
664
  class: "navbar-brand",
665
665
  href: e.href,
666
666
  to: e.to
667
667
  }, {
668
- default: V(() => [
668
+ default: x(() => [
669
669
  $(a.$slots, "default")
670
670
  ]),
671
671
  _: 3
672
672
  }, 8, ["href", "to"]));
673
673
  }
674
- }), Ve = ["data-bs-target", "aria-controls", "aria-label"], Cl = /* @__PURE__ */ p({
674
+ }), Ge = ["data-bs-target", "aria-controls", "aria-label"], Ee = /* @__PURE__ */ p({
675
675
  __name: "VibeNavbarToggle",
676
676
  props: {
677
677
  target: { type: String, required: !0 },
678
678
  ariaLabel: { type: String, default: "Toggle navigation" }
679
679
  },
680
680
  emits: ["component-error"],
681
- setup(e, { emit: o }) {
682
- return (t, i) => (l(), n("button", {
681
+ setup(e, { emit: d }) {
682
+ return (t, i) => (l(), o("button", {
683
683
  class: "navbar-toggler",
684
684
  type: "button",
685
685
  "data-bs-toggle": "collapse",
@@ -689,28 +689,28 @@ const ul = /* @__PURE__ */ p({
689
689
  "aria-label": e.ariaLabel
690
690
  }, [...i[0] || (i[0] = [
691
691
  m("span", { class: "navbar-toggler-icon" }, null, -1)
692
- ])], 8, Ve));
692
+ ])], 8, Ge));
693
693
  }
694
- }), Bl = /* @__PURE__ */ p({
694
+ }), Ye = /* @__PURE__ */ p({
695
695
  __name: "VibeNavbarNav",
696
696
  props: {
697
697
  tag: { type: String, default: "ul" },
698
698
  items: { type: Array, default: void 0 }
699
699
  },
700
700
  emits: ["component-error"],
701
- setup(e, { emit: o }) {
702
- const t = X();
703
- return (i, a) => (l(), x(T(e.tag), { class: "navbar-nav" }, {
704
- default: V(() => [
705
- e.items && e.items.length > 0 && !L(t).default ? (l(!0), n(P, { key: 0 }, I(e.items, (s, r) => (l(), x(W, {
701
+ setup(e, { emit: d }) {
702
+ const t = D();
703
+ return (i, a) => (l(), V(T(e.tag), { class: "navbar-nav" }, {
704
+ default: x(() => [
705
+ e.items && e.items.length > 0 && !L(t).default ? (l(!0), o(q, { key: 0 }, I(e.items, (n, r) => (l(), V(Q, {
706
706
  key: r,
707
- href: s.href,
708
- to: s.to,
709
- active: s.active,
710
- disabled: s.disabled
707
+ href: n.href,
708
+ to: n.to,
709
+ active: n.active,
710
+ disabled: n.disabled
711
711
  }, {
712
- default: V(() => [
713
- N(f(s.text), 1)
712
+ default: x(() => [
713
+ N(f(n.text), 1)
714
714
  ]),
715
715
  _: 2
716
716
  }, 1032, ["href", "to", "active", "disabled"]))), 128)) : $(i.$slots, "default", { key: 1 })
@@ -727,14 +727,14 @@ const ul = /* @__PURE__ */ p({
727
727
  to: { type: [String, Object], default: void 0 }
728
728
  },
729
729
  emits: ["click", "component-error"],
730
- setup(e, { emit: o }) {
731
- const t = e, i = o, a = c(() => t.href ? "a" : t.to ? "router-link" : "button"), s = (r) => {
730
+ setup(e, { emit: d }) {
731
+ const t = e, i = d, a = c(() => t.href ? "a" : t.to ? "router-link" : "button"), n = (r) => {
732
732
  t.disabled || i("click", r);
733
733
  };
734
- return (r, d) => (l(), n("li", {
734
+ return (r, s) => (l(), o("li", {
735
735
  class: h(["page-item", { active: e.active, disabled: e.disabled }])
736
736
  }, [
737
- (l(), x(T(a.value), {
737
+ (l(), V(T(a.value), {
738
738
  class: "page-link",
739
739
  href: e.href,
740
740
  to: e.to,
@@ -742,16 +742,16 @@ const ul = /* @__PURE__ */ p({
742
742
  disabled: e.disabled && a.value === "button",
743
743
  "aria-current": e.active ? "page" : void 0,
744
744
  "aria-disabled": e.disabled,
745
- onClick: s
745
+ onClick: n
746
746
  }, {
747
- default: V(() => [
747
+ default: x(() => [
748
748
  $(r.$slots, "default")
749
749
  ]),
750
750
  _: 3
751
751
  }, 8, ["href", "to", "type", "disabled", "aria-current", "aria-disabled"]))
752
752
  ], 2));
753
753
  }
754
- }), Ce = ["aria-label"], wl = /* @__PURE__ */ p({
754
+ }), He = ["aria-label"], Ue = /* @__PURE__ */ p({
755
755
  __name: "VibePagination",
756
756
  props: {
757
757
  size: { type: String, default: void 0 },
@@ -762,71 +762,71 @@ const ul = /* @__PURE__ */ p({
762
762
  showPrevNext: { type: Boolean, default: !0 }
763
763
  },
764
764
  emits: ["page-click", "component-error"],
765
- setup(e, { emit: o }) {
766
- const t = e, i = o, a = X(), s = c(() => {
765
+ setup(e, { emit: d }) {
766
+ const t = e, i = d, a = D(), n = c(() => {
767
767
  const y = ["pagination"];
768
768
  return t.size && y.push(`pagination-${t.size}`), y.join(" ");
769
- }), r = c(() => t.totalPages ? Array.from({ length: t.totalPages }, (y, v) => v + 1) : []), d = (y) => {
769
+ }), r = c(() => t.totalPages ? Array.from({ length: t.totalPages }, (y, v) => v + 1) : []), s = (y) => {
770
770
  y >= 1 && y <= t.totalPages && i("page-click", y);
771
771
  };
772
- return (y, v) => (l(), n("nav", { "aria-label": e.ariaLabel }, [
772
+ return (y, v) => (l(), o("nav", { "aria-label": e.ariaLabel }, [
773
773
  m("ul", {
774
- class: h(s.value)
774
+ class: h(n.value)
775
775
  }, [
776
- e.totalPages && !L(a).default ? (l(), n(P, { key: 0 }, [
777
- e.showPrevNext ? (l(), x(H, {
776
+ e.totalPages && !L(a).default ? (l(), o(q, { key: 0 }, [
777
+ e.showPrevNext ? (l(), V(H, {
778
778
  key: 0,
779
779
  disabled: e.currentPage === 1,
780
- onClick: v[0] || (v[0] = (b) => d(e.currentPage - 1))
780
+ onClick: v[0] || (v[0] = (b) => s(e.currentPage - 1))
781
781
  }, {
782
- default: V(() => [...v[2] || (v[2] = [
782
+ default: x(() => [...v[2] || (v[2] = [
783
783
  N(" Previous ", -1)
784
784
  ])]),
785
785
  _: 1
786
786
  }, 8, ["disabled"])) : u("", !0),
787
- (l(!0), n(P, null, I(r.value, (b) => (l(), x(H, {
787
+ (l(!0), o(q, null, I(r.value, (b) => (l(), V(H, {
788
788
  key: b,
789
789
  active: b === e.currentPage,
790
- onClick: (g) => d(b)
790
+ onClick: (g) => s(b)
791
791
  }, {
792
- default: V(() => [
792
+ default: x(() => [
793
793
  N(f(b), 1)
794
794
  ]),
795
795
  _: 2
796
796
  }, 1032, ["active", "onClick"]))), 128)),
797
- e.showPrevNext ? (l(), x(H, {
797
+ e.showPrevNext ? (l(), V(H, {
798
798
  key: 1,
799
799
  disabled: e.currentPage === e.totalPages,
800
- onClick: v[1] || (v[1] = (b) => d(e.currentPage + 1))
800
+ onClick: v[1] || (v[1] = (b) => s(e.currentPage + 1))
801
801
  }, {
802
- default: V(() => [...v[3] || (v[3] = [
802
+ default: x(() => [...v[3] || (v[3] = [
803
803
  N(" Next ", -1)
804
804
  ])]),
805
805
  _: 1
806
806
  }, 8, ["disabled"])) : u("", !0)
807
807
  ], 64)) : $(y.$slots, "default", { key: 1 })
808
808
  ], 2)
809
- ], 8, Ce));
809
+ ], 8, He));
810
810
  }
811
- }), Nl = /* @__PURE__ */ p({
811
+ }), Qe = /* @__PURE__ */ p({
812
812
  __name: "VibeTabContent",
813
813
  props: {
814
814
  id: { type: String, default: void 0 },
815
815
  tag: { type: String, default: "div" }
816
816
  },
817
817
  emits: ["component-error"],
818
- setup(e, { emit: o }) {
819
- return (t, i) => (l(), x(T(e.tag), {
818
+ setup(e, { emit: d }) {
819
+ return (t, i) => (l(), V(T(e.tag), {
820
820
  id: e.id,
821
821
  class: "tab-content"
822
822
  }, {
823
- default: V(() => [
823
+ default: x(() => [
824
824
  $(t.$slots, "default")
825
825
  ]),
826
826
  _: 3
827
827
  }, 8, ["id"]));
828
828
  }
829
- }), Tl = /* @__PURE__ */ p({
829
+ }), Ke = /* @__PURE__ */ p({
830
830
  __name: "VibeTabPane",
831
831
  props: {
832
832
  id: { type: String, required: !0 },
@@ -836,25 +836,25 @@ const ul = /* @__PURE__ */ p({
836
836
  ariaLabelledby: { type: String, default: void 0 }
837
837
  },
838
838
  emits: ["component-error"],
839
- setup(e, { emit: o }) {
839
+ setup(e, { emit: d }) {
840
840
  const t = e, i = c(() => {
841
841
  const a = ["tab-pane"];
842
842
  return t.fade && a.push("fade"), t.active && a.push("show", "active"), a.join(" ");
843
843
  });
844
- return (a, s) => (l(), x(T(e.tag), {
844
+ return (a, n) => (l(), V(T(e.tag), {
845
845
  id: e.id,
846
846
  class: h(i.value),
847
847
  role: "tabpanel",
848
848
  "aria-labelledby": e.ariaLabelledby,
849
849
  tabindex: "0"
850
850
  }, {
851
- default: V(() => [
851
+ default: x(() => [
852
852
  $(a.$slots, "default")
853
853
  ]),
854
854
  _: 3
855
855
  }, 8, ["id", "class", "aria-labelledby"]));
856
856
  }
857
- }), Be = /* @__PURE__ */ p({
857
+ }), le = /* @__PURE__ */ p({
858
858
  __name: "VibeListGroupItem",
859
859
  props: {
860
860
  active: { type: Boolean, default: !1 },
@@ -866,15 +866,15 @@ const ul = /* @__PURE__ */ p({
866
866
  action: { type: Boolean, default: !1 }
867
867
  },
868
868
  emits: ["click", "component-error"],
869
- setup(e, { emit: o }) {
870
- const t = e, i = o, a = c(() => t.href ? "a" : t.to ? "router-link" : t.action ? "button" : t.tag), s = c(() => {
871
- const d = ["list-group-item"];
872
- return t.active && d.push("active"), t.disabled && d.push("disabled"), t.variant && d.push(`list-group-item-${t.variant}`), (t.action || t.href || t.to) && d.push("list-group-item-action"), d.join(" ");
873
- }), r = (d) => {
874
- t.disabled || i("click", d);
869
+ setup(e, { emit: d }) {
870
+ const t = e, i = d, a = c(() => t.href ? "a" : t.to ? "router-link" : t.action ? "button" : t.tag), n = c(() => {
871
+ const s = ["list-group-item"];
872
+ return t.active && s.push("active"), t.disabled && s.push("disabled"), t.variant && s.push(`list-group-item-${t.variant}`), (t.action || t.href || t.to) && s.push("list-group-item-action"), s.join(" ");
873
+ }), r = (s) => {
874
+ t.disabled || i("click", s);
875
875
  };
876
- return (d, y) => (l(), x(T(a.value), {
877
- class: h(s.value),
876
+ return (s, y) => (l(), V(T(a.value), {
877
+ class: h(n.value),
878
878
  href: e.href,
879
879
  to: e.to,
880
880
  type: a.value === "button" ? "button" : void 0,
@@ -883,13 +883,13 @@ const ul = /* @__PURE__ */ p({
883
883
  "aria-current": e.active ? "true" : void 0,
884
884
  onClick: r
885
885
  }, {
886
- default: V(() => [
887
- $(d.$slots, "default")
886
+ default: x(() => [
887
+ $(s.$slots, "default")
888
888
  ]),
889
889
  _: 3
890
890
  }, 8, ["class", "href", "to", "type", "disabled", "aria-disabled", "aria-current"]));
891
891
  }
892
- }), Ml = /* @__PURE__ */ p({
892
+ }), We = /* @__PURE__ */ p({
893
893
  __name: "VibeListGroup",
894
894
  props: {
895
895
  flush: { type: Boolean, default: !1 },
@@ -899,51 +899,51 @@ const ul = /* @__PURE__ */ p({
899
899
  items: { type: Array, default: void 0 }
900
900
  },
901
901
  emits: ["component-error"],
902
- setup(e, { emit: o }) {
903
- const t = e, i = X(), a = c(() => {
904
- const s = ["list-group"];
905
- return t.flush && s.push("list-group-flush"), t.numbered && s.push("list-group-numbered"), t.horizontal === !0 ? s.push("list-group-horizontal") : typeof t.horizontal == "string" && s.push(`list-group-horizontal-${t.horizontal}`), s.join(" ");
902
+ setup(e, { emit: d }) {
903
+ const t = e, i = D(), a = c(() => {
904
+ const n = ["list-group"];
905
+ return t.flush && n.push("list-group-flush"), t.numbered && n.push("list-group-numbered"), t.horizontal === !0 ? n.push("list-group-horizontal") : typeof t.horizontal == "string" && n.push(`list-group-horizontal-${t.horizontal}`), n.join(" ");
906
906
  });
907
- return (s, r) => (l(), x(T(e.tag), {
907
+ return (n, r) => (l(), V(T(e.tag), {
908
908
  class: h(a.value)
909
909
  }, {
910
- default: V(() => [
911
- e.items && e.items.length > 0 && !L(i).default ? (l(!0), n(P, { key: 0 }, I(e.items, (d, y) => (l(), x(Be, {
910
+ default: x(() => [
911
+ e.items && e.items.length > 0 && !L(i).default ? (l(!0), o(q, { key: 0 }, I(e.items, (s, y) => (l(), V(le, {
912
912
  key: y,
913
- href: d.href,
914
- to: d.to,
915
- active: d.active,
916
- disabled: d.disabled,
917
- variant: d.variant
913
+ href: s.href,
914
+ to: s.to,
915
+ active: s.active,
916
+ disabled: s.disabled,
917
+ variant: s.variant
918
918
  }, {
919
- default: V(() => [
920
- N(f(d.text), 1)
919
+ default: x(() => [
920
+ N(f(s.text), 1)
921
921
  ]),
922
922
  _: 2
923
- }, 1032, ["href", "to", "active", "disabled", "variant"]))), 128)) : $(s.$slots, "default", { key: 1 })
923
+ }, 1032, ["href", "to", "active", "disabled", "variant"]))), 128)) : $(n.$slots, "default", { key: 1 })
924
924
  ]),
925
925
  _: 3
926
926
  }, 8, ["class"]));
927
927
  }
928
- }), ql = /* @__PURE__ */ p({
928
+ }), Je = /* @__PURE__ */ p({
929
929
  __name: "VibeProgress",
930
930
  props: {
931
931
  height: { type: String, default: void 0 }
932
932
  },
933
933
  emits: ["component-error"],
934
- setup(e, { emit: o }) {
934
+ setup(e, { emit: d }) {
935
935
  const t = e, i = c(() => {
936
936
  if (t.height)
937
937
  return { height: t.height };
938
938
  });
939
- return (a, s) => (l(), n("div", {
939
+ return (a, n) => (l(), o("div", {
940
940
  class: "progress",
941
941
  style: R(i.value)
942
942
  }, [
943
943
  $(a.$slots, "default")
944
944
  ], 4));
945
945
  }
946
- }), we = ["aria-valuenow", "aria-valuemax"], Pl = /* @__PURE__ */ p({
946
+ }), Ze = ["aria-valuenow", "aria-valuemax"], _e = /* @__PURE__ */ p({
947
947
  __name: "VibeProgressBar",
948
948
  props: {
949
949
  value: { type: Number, default: 0 },
@@ -955,12 +955,12 @@ const ul = /* @__PURE__ */ p({
955
955
  showValue: { type: Boolean, default: !1 }
956
956
  },
957
957
  emits: ["component-error"],
958
- setup(e, { emit: o }) {
958
+ setup(e, { emit: d }) {
959
959
  const t = e, i = c(() => {
960
960
  const r = ["progress-bar"];
961
961
  return t.variant && r.push(`bg-${t.variant}`), (t.striped || t.animated) && r.push("progress-bar-striped"), t.animated && r.push("progress-bar-animated"), r.join(" ");
962
- }), a = c(() => ({ width: `${Math.min(100, Math.max(0, t.value / t.max * 100))}%` })), s = c(() => t.label ? t.label : t.showValue ? `${t.value}%` : "");
963
- return (r, d) => (l(), n("div", {
962
+ }), a = c(() => ({ width: `${Math.min(100, Math.max(0, t.value / t.max * 100))}%` })), n = c(() => t.label ? t.label : t.showValue ? `${t.value}%` : "");
963
+ return (r, s) => (l(), o("div", {
964
964
  class: h(i.value),
965
965
  style: R(a.value),
966
966
  role: "progressbar",
@@ -968,11 +968,11 @@ const ul = /* @__PURE__ */ p({
968
968
  "aria-valuemin": 0,
969
969
  "aria-valuemax": e.max
970
970
  }, [
971
- N(f(s.value) + " ", 1),
971
+ N(f(n.value) + " ", 1),
972
972
  $(r.$slots, "default")
973
- ], 14, we));
973
+ ], 14, Ze));
974
974
  }
975
- }), Ne = { class: "accordion-item" }, Te = { class: "accordion-header" }, Me = ["data-bs-target", "aria-expanded", "aria-controls"], qe = ["id", "data-bs-parent"], Pe = { class: "accordion-body" }, ze = /* @__PURE__ */ p({
975
+ }), et = { class: "accordion-item" }, tt = { class: "accordion-header" }, at = ["data-bs-target", "aria-expanded", "aria-controls"], lt = ["id", "data-bs-parent"], it = { class: "accordion-body" }, ie = /* @__PURE__ */ p({
976
976
  __name: "VibeAccordionItem",
977
977
  props: {
978
978
  id: { type: String, required: !0 },
@@ -981,10 +981,10 @@ const ul = /* @__PURE__ */ p({
981
981
  show: { type: Boolean, default: !1 }
982
982
  },
983
983
  emits: ["component-error"],
984
- setup(e, { emit: o }) {
984
+ setup(e, { emit: d }) {
985
985
  const t = e, i = c(() => t.show ? "accordion-collapse collapse show" : "accordion-collapse collapse");
986
- return (a, s) => (l(), n("div", Ne, [
987
- m("h2", Te, [
986
+ return (a, n) => (l(), o("div", et, [
987
+ m("h2", tt, [
988
988
  m("button", {
989
989
  class: h(["accordion-button", { collapsed: !e.show }]),
990
990
  type: "button",
@@ -992,20 +992,20 @@ const ul = /* @__PURE__ */ p({
992
992
  "data-bs-target": `#${e.id}`,
993
993
  "aria-expanded": e.show,
994
994
  "aria-controls": e.id
995
- }, f(e.title), 11, Me)
995
+ }, f(e.title), 11, at)
996
996
  ]),
997
997
  m("div", {
998
998
  id: e.id,
999
999
  class: h(i.value),
1000
1000
  "data-bs-parent": `#${e.parentId}`
1001
1001
  }, [
1002
- m("div", Pe, [
1002
+ m("div", it, [
1003
1003
  $(a.$slots, "default")
1004
1004
  ])
1005
- ], 10, qe)
1005
+ ], 10, lt)
1006
1006
  ]));
1007
1007
  }
1008
- }), Ie = ["id"], zl = /* @__PURE__ */ p({
1008
+ }), nt = ["id"], ot = /* @__PURE__ */ p({
1009
1009
  __name: "VibeAccordion",
1010
1010
  props: {
1011
1011
  id: { type: String, required: !0 },
@@ -1013,27 +1013,27 @@ const ul = /* @__PURE__ */ p({
1013
1013
  items: { type: Array, default: void 0 }
1014
1014
  },
1015
1015
  emits: ["component-error"],
1016
- setup(e, { emit: o }) {
1017
- const t = X();
1018
- return (i, a) => (l(), n("div", {
1016
+ setup(e, { emit: d }) {
1017
+ const t = D();
1018
+ return (i, a) => (l(), o("div", {
1019
1019
  id: e.id,
1020
1020
  class: h(["accordion", { "accordion-flush": e.flush }])
1021
1021
  }, [
1022
- e.items && e.items.length > 0 && !L(t).default ? (l(!0), n(P, { key: 0 }, I(e.items, (s, r) => (l(), x(ze, {
1022
+ e.items && e.items.length > 0 && !L(t).default ? (l(!0), o(q, { key: 0 }, I(e.items, (n, r) => (l(), V(ie, {
1023
1023
  key: r,
1024
- id: s.id,
1024
+ id: n.id,
1025
1025
  "parent-id": e.id,
1026
- title: s.title,
1027
- show: s.show
1026
+ title: n.title,
1027
+ show: n.show
1028
1028
  }, {
1029
- default: V(() => [
1030
- N(f(s.content), 1)
1029
+ default: x(() => [
1030
+ N(f(n.content), 1)
1031
1031
  ]),
1032
1032
  _: 2
1033
1033
  }, 1032, ["id", "parent-id", "title", "show"]))), 128)) : $(i.$slots, "default", { key: 1 })
1034
- ], 10, Ie));
1034
+ ], 10, nt));
1035
1035
  }
1036
- }), Il = /* @__PURE__ */ p({
1036
+ }), st = /* @__PURE__ */ p({
1037
1037
  __name: "VibeCollapse",
1038
1038
  props: {
1039
1039
  id: { type: String, required: !0 },
@@ -1042,26 +1042,26 @@ const ul = /* @__PURE__ */ p({
1042
1042
  horizontal: { type: Boolean, default: !1 }
1043
1043
  },
1044
1044
  emits: ["update:modelValue", "show", "shown", "hide", "hidden", "component-error"],
1045
- setup(e, { emit: o }) {
1046
- const t = e, i = z(t.modelValue);
1047
- O(() => t.modelValue, (s) => {
1048
- i.value = s;
1045
+ setup(e, { emit: d }) {
1046
+ const t = e, i = F(t.modelValue);
1047
+ O(() => t.modelValue, (n) => {
1048
+ i.value = n;
1049
1049
  });
1050
1050
  const a = c(() => {
1051
- const s = ["collapse"];
1052
- return t.horizontal && s.push("collapse-horizontal"), i.value && s.push("show"), s.join(" ");
1051
+ const n = ["collapse"];
1052
+ return t.horizontal && n.push("collapse-horizontal"), i.value && n.push("show"), n.join(" ");
1053
1053
  });
1054
- return (s, r) => (l(), x(T(e.tag), {
1054
+ return (n, r) => (l(), V(T(e.tag), {
1055
1055
  id: e.id,
1056
1056
  class: h(a.value)
1057
1057
  }, {
1058
- default: V(() => [
1059
- $(s.$slots, "default")
1058
+ default: x(() => [
1059
+ $(n.$slots, "default")
1060
1060
  ]),
1061
1061
  _: 3
1062
1062
  }, 8, ["id", "class"]));
1063
1063
  }
1064
- }), Fe = { key: 0 }, je = /* @__PURE__ */ p({
1064
+ }), dt = { key: 0 }, ne = /* @__PURE__ */ p({
1065
1065
  __name: "VibeDropdownItem",
1066
1066
  props: {
1067
1067
  active: { type: Boolean, default: !1 },
@@ -1072,40 +1072,40 @@ const ul = /* @__PURE__ */ p({
1072
1072
  header: { type: Boolean, default: !1 }
1073
1073
  },
1074
1074
  emits: ["click", "component-error"],
1075
- setup(e, { emit: o }) {
1076
- const t = e, i = o, a = c(() => t.divider ? "hr" : t.header ? "h6" : t.href ? "a" : t.to ? "router-link" : "button"), s = c(() => {
1075
+ setup(e, { emit: d }) {
1076
+ const t = e, i = d, a = c(() => t.divider ? "hr" : t.header ? "h6" : t.href ? "a" : t.to ? "router-link" : "button"), n = c(() => {
1077
1077
  if (t.divider) return "dropdown-divider";
1078
1078
  if (t.header) return "dropdown-header";
1079
- const d = ["dropdown-item"];
1080
- return t.active && d.push("active"), t.disabled && d.push("disabled"), d.join(" ");
1081
- }), r = (d) => {
1082
- !t.disabled && !t.divider && !t.header && i("click", d);
1079
+ const s = ["dropdown-item"];
1080
+ return t.active && s.push("active"), t.disabled && s.push("disabled"), s.join(" ");
1081
+ }), r = (s) => {
1082
+ !t.disabled && !t.divider && !t.header && i("click", s);
1083
1083
  };
1084
- return (d, y) => !e.divider && !e.header ? (l(), n("li", Fe, [
1085
- (l(), x(T(a.value), {
1086
- class: h(s.value),
1084
+ return (s, y) => !e.divider && !e.header ? (l(), o("li", dt, [
1085
+ (l(), V(T(a.value), {
1086
+ class: h(n.value),
1087
1087
  href: e.href,
1088
1088
  to: e.to,
1089
1089
  type: a.value === "button" ? "button" : void 0,
1090
1090
  disabled: e.disabled,
1091
1091
  onClick: r
1092
1092
  }, {
1093
- default: V(() => [
1094
- $(d.$slots, "default")
1093
+ default: x(() => [
1094
+ $(s.$slots, "default")
1095
1095
  ]),
1096
1096
  _: 3
1097
1097
  }, 8, ["class", "href", "to", "type", "disabled"]))
1098
- ])) : (l(), x(T(a.value), {
1098
+ ])) : (l(), V(T(a.value), {
1099
1099
  key: 1,
1100
- class: h(s.value)
1100
+ class: h(n.value)
1101
1101
  }, {
1102
- default: V(() => [
1103
- $(d.$slots, "default")
1102
+ default: x(() => [
1103
+ $(s.$slots, "default")
1104
1104
  ]),
1105
1105
  _: 3
1106
1106
  }, 8, ["class"]));
1107
1107
  }
1108
- }), Ae = ["id"], Le = ["aria-labelledby"], Fl = /* @__PURE__ */ p({
1108
+ }), rt = ["id"], ut = ["aria-labelledby"], ct = /* @__PURE__ */ p({
1109
1109
  __name: "VibeDropdown",
1110
1110
  props: {
1111
1111
  id: { type: String, required: !0 },
@@ -1118,29 +1118,29 @@ const ul = /* @__PURE__ */ p({
1118
1118
  items: { type: Array, default: void 0 }
1119
1119
  },
1120
1120
  emits: ["component-error"],
1121
- setup(e, { emit: o }) {
1122
- const t = e, i = X(), a = c(() => t.direction === "up" ? "dropup" : t.direction === "end" ? "dropend" : t.direction === "start" ? "dropstart" : "dropdown"), s = c(() => {
1123
- const d = ["btn", `btn-${t.variant}`];
1124
- return t.size && d.push(`btn-${t.size}`), d.join(" ");
1121
+ setup(e, { emit: d }) {
1122
+ const t = e, i = D(), a = c(() => t.direction === "up" ? "dropup" : t.direction === "end" ? "dropend" : t.direction === "start" ? "dropstart" : "dropdown"), n = c(() => {
1123
+ const s = ["btn", `btn-${t.variant}`];
1124
+ return t.size && s.push(`btn-${t.size}`), s.join(" ");
1125
1125
  }), r = c(() => {
1126
- const d = ["dropdown-menu"];
1127
- return t.menuEnd && d.push("dropdown-menu-end"), d.join(" ");
1126
+ const s = ["dropdown-menu"];
1127
+ return t.menuEnd && s.push("dropdown-menu-end"), s.join(" ");
1128
1128
  });
1129
- return (d, y) => (l(), n("div", {
1129
+ return (s, y) => (l(), o("div", {
1130
1130
  class: h(a.value)
1131
1131
  }, [
1132
1132
  m("button", {
1133
1133
  id: e.id,
1134
- class: h([s.value, "dropdown-toggle"]),
1134
+ class: h([n.value, "dropdown-toggle"]),
1135
1135
  type: "button",
1136
1136
  "data-bs-toggle": "dropdown",
1137
1137
  "aria-expanded": "false"
1138
- }, f(e.text), 11, Ae),
1138
+ }, f(e.text), 11, rt),
1139
1139
  m("ul", {
1140
1140
  class: h(r.value),
1141
1141
  "aria-labelledby": e.id
1142
1142
  }, [
1143
- e.items && e.items.length > 0 && !L(i).default ? (l(!0), n(P, { key: 0 }, I(e.items, (v, b) => (l(), x(je, {
1143
+ e.items && e.items.length > 0 && !L(i).default ? (l(!0), o(q, { key: 0 }, I(e.items, (v, b) => (l(), V(ne, {
1144
1144
  key: b,
1145
1145
  href: v.href,
1146
1146
  to: v.to,
@@ -1149,21 +1149,21 @@ const ul = /* @__PURE__ */ p({
1149
1149
  divider: v.divider,
1150
1150
  header: v.header
1151
1151
  }, {
1152
- default: V(() => [
1152
+ default: x(() => [
1153
1153
  N(f(v.text), 1)
1154
1154
  ]),
1155
1155
  _: 2
1156
- }, 1032, ["href", "to", "active", "disabled", "divider", "header"]))), 128)) : $(d.$slots, "default", { key: 1 })
1157
- ], 10, Le)
1156
+ }, 1032, ["href", "to", "active", "disabled", "divider", "header"]))), 128)) : $(s.$slots, "default", { key: 1 })
1157
+ ], 10, ut)
1158
1158
  ], 2));
1159
1159
  }
1160
- }), Oe = ["id", "aria-labelledby", "data-bs-backdrop", "data-bs-keyboard"], Xe = { class: "modal-content" }, De = {
1160
+ }), ft = ["id", "aria-labelledby", "data-bs-backdrop", "data-bs-keyboard"], vt = { class: "modal-content" }, bt = {
1161
1161
  key: 0,
1162
1162
  class: "modal-header"
1163
- }, Re = ["id"], Ee = { class: "modal-body" }, Ye = {
1163
+ }, mt = ["id"], yt = { class: "modal-body" }, ht = {
1164
1164
  key: 1,
1165
1165
  class: "modal-footer"
1166
- }, jl = /* @__PURE__ */ p({
1166
+ }, gt = /* @__PURE__ */ p({
1167
1167
  __name: "VibeModal",
1168
1168
  props: {
1169
1169
  id: { type: String, required: !0 },
@@ -1178,12 +1178,12 @@ const ul = /* @__PURE__ */ p({
1178
1178
  hideFooter: { type: Boolean, default: !1 }
1179
1179
  },
1180
1180
  emits: ["update:modelValue", "show", "shown", "hide", "hidden", "component-error"],
1181
- setup(e, { emit: o }) {
1181
+ setup(e, { emit: d }) {
1182
1182
  const t = e, i = c(() => {
1183
1183
  const a = ["modal-dialog"];
1184
1184
  return t.size && a.push(`modal-${t.size}`), t.centered && a.push("modal-dialog-centered"), t.scrollable && a.push("modal-dialog-scrollable"), t.fullscreen === !0 ? a.push("modal-fullscreen") : typeof t.fullscreen == "string" && a.push(`modal-fullscreen-${t.fullscreen}-down`), a.join(" ");
1185
1185
  });
1186
- return (a, s) => (l(), n("div", {
1186
+ return (a, n) => (l(), o("div", {
1187
1187
  id: e.id,
1188
1188
  class: "modal fade",
1189
1189
  tabindex: "-1",
@@ -1195,8 +1195,8 @@ const ul = /* @__PURE__ */ p({
1195
1195
  m("div", {
1196
1196
  class: h(i.value)
1197
1197
  }, [
1198
- m("div", Xe, [
1199
- e.hideHeader ? u("", !0) : (l(), n("div", De, [
1198
+ m("div", vt, [
1199
+ e.hideHeader ? u("", !0) : (l(), o("div", bt, [
1200
1200
  m("h5", {
1201
1201
  id: `${e.id}-label`,
1202
1202
  class: "modal-title"
@@ -1204,20 +1204,20 @@ const ul = /* @__PURE__ */ p({
1204
1204
  $(a.$slots, "header", {}, () => [
1205
1205
  N(f(e.title), 1)
1206
1206
  ])
1207
- ], 8, Re),
1208
- s[0] || (s[0] = m("button", {
1207
+ ], 8, mt),
1208
+ n[0] || (n[0] = m("button", {
1209
1209
  type: "button",
1210
1210
  class: "btn-close",
1211
1211
  "data-bs-dismiss": "modal",
1212
1212
  "aria-label": "Close"
1213
1213
  }, null, -1))
1214
1214
  ])),
1215
- m("div", Ee, [
1215
+ m("div", yt, [
1216
1216
  $(a.$slots, "default")
1217
1217
  ]),
1218
- e.hideFooter ? u("", !0) : (l(), n("div", Ye, [
1218
+ e.hideFooter ? u("", !0) : (l(), o("div", ht, [
1219
1219
  $(a.$slots, "footer", {}, () => [
1220
- s[1] || (s[1] = m("button", {
1220
+ n[1] || (n[1] = m("button", {
1221
1221
  type: "button",
1222
1222
  class: "btn btn-secondary",
1223
1223
  "data-bs-dismiss": "modal"
@@ -1226,9 +1226,9 @@ const ul = /* @__PURE__ */ p({
1226
1226
  ]))
1227
1227
  ])
1228
1228
  ], 2)
1229
- ], 8, Oe));
1229
+ ], 8, ft));
1230
1230
  }
1231
- }), Ge = ["id", "aria-labelledby", "data-bs-backdrop", "data-bs-scroll"], He = { class: "offcanvas-header" }, Ue = ["id"], Qe = { class: "offcanvas-body" }, Al = /* @__PURE__ */ p({
1231
+ }), pt = ["id", "aria-labelledby", "data-bs-backdrop", "data-bs-scroll"], $t = { class: "offcanvas-header" }, kt = ["id"], St = { class: "offcanvas-body" }, Vt = /* @__PURE__ */ p({
1232
1232
  __name: "VibeOffcanvas",
1233
1233
  props: {
1234
1234
  id: { type: String, required: !0 },
@@ -1239,9 +1239,9 @@ const ul = /* @__PURE__ */ p({
1239
1239
  scroll: { type: Boolean, default: !1 }
1240
1240
  },
1241
1241
  emits: ["update:modelValue", "show", "shown", "hide", "hidden", "component-error"],
1242
- setup(e, { emit: o }) {
1242
+ setup(e, { emit: d }) {
1243
1243
  const t = e, i = c(() => `offcanvas offcanvas-${t.placement}`);
1244
- return (a, s) => (l(), n("div", {
1244
+ return (a, n) => (l(), o("div", {
1245
1245
  id: e.id,
1246
1246
  class: h(i.value),
1247
1247
  tabindex: "-1",
@@ -1249,7 +1249,7 @@ const ul = /* @__PURE__ */ p({
1249
1249
  "data-bs-backdrop": e.backdrop === !1 ? "false" : e.backdrop === "static" ? "static" : "true",
1250
1250
  "data-bs-scroll": e.scroll
1251
1251
  }, [
1252
- m("div", He, [
1252
+ m("div", $t, [
1253
1253
  m("h5", {
1254
1254
  id: `${e.id}-label`,
1255
1255
  class: "offcanvas-title"
@@ -1257,23 +1257,23 @@ const ul = /* @__PURE__ */ p({
1257
1257
  $(a.$slots, "header", {}, () => [
1258
1258
  N(f(e.title), 1)
1259
1259
  ])
1260
- ], 8, Ue),
1261
- s[0] || (s[0] = m("button", {
1260
+ ], 8, kt),
1261
+ n[0] || (n[0] = m("button", {
1262
1262
  type: "button",
1263
1263
  class: "btn-close",
1264
1264
  "data-bs-dismiss": "offcanvas",
1265
1265
  "aria-label": "Close"
1266
1266
  }, null, -1))
1267
1267
  ]),
1268
- m("div", Qe, [
1268
+ m("div", St, [
1269
1269
  $(a.$slots, "default")
1270
1270
  ])
1271
- ], 10, Ge));
1271
+ ], 10, pt));
1272
1272
  }
1273
- }), Ke = ["id", "data-bs-autohide", "data-bs-delay"], We = {
1273
+ }), xt = ["id", "data-bs-autohide", "data-bs-delay"], Ct = {
1274
1274
  key: 0,
1275
1275
  class: "toast-header"
1276
- }, Je = { class: "me-auto" }, Ze = { class: "toast-body" }, Ll = /* @__PURE__ */ p({
1276
+ }, Bt = { class: "me-auto" }, wt = { class: "toast-body" }, Nt = /* @__PURE__ */ p({
1277
1277
  __name: "VibeToast",
1278
1278
  props: {
1279
1279
  id: { type: String, default: void 0 },
@@ -1284,12 +1284,12 @@ const ul = /* @__PURE__ */ p({
1284
1284
  delay: { type: Number, default: 5e3 }
1285
1285
  },
1286
1286
  emits: ["update:modelValue", "show", "shown", "hide", "hidden", "component-error"],
1287
- setup(e, { emit: o }) {
1287
+ setup(e, { emit: d }) {
1288
1288
  const t = e, i = c(() => {
1289
1289
  const a = ["toast"];
1290
1290
  return t.variant && a.push(`text-bg-${t.variant}`), a.join(" ");
1291
1291
  });
1292
- return (a, s) => (l(), n("div", {
1292
+ return (a, n) => (l(), o("div", {
1293
1293
  id: e.id,
1294
1294
  class: h(i.value),
1295
1295
  role: "alert",
@@ -1298,26 +1298,26 @@ const ul = /* @__PURE__ */ p({
1298
1298
  "data-bs-autohide": e.autohide,
1299
1299
  "data-bs-delay": e.delay
1300
1300
  }, [
1301
- e.title || a.$slots.header ? (l(), n("div", We, [
1301
+ e.title || a.$slots.header ? (l(), o("div", Ct, [
1302
1302
  $(a.$slots, "header", {}, () => [
1303
- m("strong", Je, f(e.title), 1)
1303
+ m("strong", Bt, f(e.title), 1)
1304
1304
  ]),
1305
- s[0] || (s[0] = m("button", {
1305
+ n[0] || (n[0] = m("button", {
1306
1306
  type: "button",
1307
1307
  class: "btn-close",
1308
1308
  "data-bs-dismiss": "toast",
1309
1309
  "aria-label": "Close"
1310
1310
  }, null, -1))
1311
1311
  ])) : u("", !0),
1312
- m("div", Ze, [
1312
+ m("div", wt, [
1313
1313
  $(a.$slots, "default")
1314
1314
  ])
1315
- ], 10, Ke));
1315
+ ], 10, xt));
1316
1316
  }
1317
- }), _e = ["data-bs-interval"], et = ["src", "alt"], tt = {
1317
+ }), Tt = ["data-bs-interval"], Mt = ["src", "alt"], Pt = {
1318
1318
  key: 1,
1319
1319
  class: "carousel-caption d-none d-md-block"
1320
- }, at = { key: 0 }, lt = { key: 1 }, it = /* @__PURE__ */ p({
1320
+ }, qt = { key: 0 }, Ft = { key: 1 }, oe = /* @__PURE__ */ p({
1321
1321
  __name: "VibeCarouselSlide",
1322
1322
  props: {
1323
1323
  active: { type: Boolean, default: !1 },
@@ -1328,34 +1328,34 @@ const ul = /* @__PURE__ */ p({
1328
1328
  captionText: { type: String, default: void 0 }
1329
1329
  },
1330
1330
  emits: ["component-error"],
1331
- setup(e, { emit: o }) {
1332
- return (t, i) => (l(), n("div", {
1331
+ setup(e, { emit: d }) {
1332
+ return (t, i) => (l(), o("div", {
1333
1333
  class: h(["carousel-item", { active: e.active }]),
1334
1334
  "data-bs-interval": e.interval
1335
1335
  }, [
1336
- e.imgSrc ? (l(), n("img", {
1336
+ e.imgSrc ? (l(), o("img", {
1337
1337
  key: 0,
1338
1338
  src: e.imgSrc,
1339
1339
  class: "d-block w-100",
1340
1340
  alt: e.imgAlt
1341
- }, null, 8, et)) : u("", !0),
1341
+ }, null, 8, Mt)) : u("", !0),
1342
1342
  $(t.$slots, "img"),
1343
- e.caption || e.captionText || t.$slots.caption ? (l(), n("div", tt, [
1343
+ e.caption || e.captionText || t.$slots.caption ? (l(), o("div", Pt, [
1344
1344
  $(t.$slots, "caption", {}, () => [
1345
- e.caption ? (l(), n("h5", at, f(e.caption), 1)) : u("", !0),
1346
- e.captionText ? (l(), n("p", lt, f(e.captionText), 1)) : u("", !0)
1345
+ e.caption ? (l(), o("h5", qt, f(e.caption), 1)) : u("", !0),
1346
+ e.captionText ? (l(), o("p", Ft, f(e.captionText), 1)) : u("", !0)
1347
1347
  ])
1348
1348
  ])) : u("", !0),
1349
1349
  $(t.$slots, "default")
1350
- ], 10, _e));
1350
+ ], 10, Tt));
1351
1351
  }
1352
- }), st = ["id", "data-bs-ride", "data-bs-interval", "data-bs-keyboard", "data-bs-pause", "data-bs-wrap", "data-bs-touch"], nt = {
1352
+ }), It = ["id", "data-bs-ride", "data-bs-interval", "data-bs-keyboard", "data-bs-pause", "data-bs-wrap", "data-bs-touch"], zt = {
1353
1353
  key: 0,
1354
1354
  class: "carousel-indicators"
1355
- }, dt = ["data-bs-target", "data-bs-slide-to", "aria-current", "aria-label"], ot = { class: "carousel-inner" }, rt = {
1355
+ }, At = ["data-bs-target", "data-bs-slide-to", "aria-current", "aria-label"], jt = { class: "carousel-inner" }, Lt = {
1356
1356
  key: 0,
1357
1357
  class: "carousel-indicators"
1358
- }, ut = { class: "carousel-inner" }, ct = ["data-bs-target"], ft = ["data-bs-target"], Ol = /* @__PURE__ */ p({
1358
+ }, Ot = { class: "carousel-inner" }, Dt = ["data-bs-target"], Xt = ["data-bs-target"], Rt = /* @__PURE__ */ p({
1359
1359
  __name: "VibeCarousel",
1360
1360
  props: {
1361
1361
  id: { type: String, required: !0 },
@@ -1372,9 +1372,9 @@ const ul = /* @__PURE__ */ p({
1372
1372
  items: { type: Array, default: void 0 }
1373
1373
  },
1374
1374
  emits: ["slide", "slid", "component-error"],
1375
- setup(e, { emit: o }) {
1376
- const t = X();
1377
- return (i, a) => (l(), n("div", {
1375
+ setup(e, { emit: d }) {
1376
+ const t = D();
1377
+ return (i, a) => (l(), o("div", {
1378
1378
  id: e.id,
1379
1379
  class: h(["carousel", "slide", { "carousel-dark": e.dark, "carousel-fade": e.fade }]),
1380
1380
  "data-bs-ride": e.ride === !0 ? "carousel" : e.ride,
@@ -1384,38 +1384,38 @@ const ul = /* @__PURE__ */ p({
1384
1384
  "data-bs-wrap": e.wrap,
1385
1385
  "data-bs-touch": e.touch
1386
1386
  }, [
1387
- e.items && e.items.length > 0 && !L(t).default ? (l(), n(P, { key: 0 }, [
1388
- e.indicators ? (l(), n("div", nt, [
1389
- (l(!0), n(P, null, I(e.items, (s, r) => (l(), n("button", {
1387
+ e.items && e.items.length > 0 && !L(t).default ? (l(), o(q, { key: 0 }, [
1388
+ e.indicators ? (l(), o("div", zt, [
1389
+ (l(!0), o(q, null, I(e.items, (n, r) => (l(), o("button", {
1390
1390
  key: `indicator-${r}`,
1391
1391
  type: "button",
1392
1392
  "data-bs-target": `#${e.id}`,
1393
1393
  "data-bs-slide-to": r,
1394
- class: h({ active: s.active || r === 0 }),
1395
- "aria-current": s.active || r === 0,
1394
+ class: h({ active: n.active || r === 0 }),
1395
+ "aria-current": n.active || r === 0,
1396
1396
  "aria-label": `Slide ${r + 1}`
1397
- }, null, 10, dt))), 128))
1397
+ }, null, 10, At))), 128))
1398
1398
  ])) : u("", !0),
1399
- m("div", ot, [
1400
- (l(!0), n(P, null, I(e.items, (s, r) => (l(), x(it, {
1399
+ m("div", jt, [
1400
+ (l(!0), o(q, null, I(e.items, (n, r) => (l(), V(oe, {
1401
1401
  key: r,
1402
- active: s.active || r === 0,
1403
- interval: s.interval,
1404
- "img-src": s.src,
1405
- "img-alt": s.alt,
1406
- caption: s.caption,
1407
- "caption-text": s.captionText
1402
+ active: n.active || r === 0,
1403
+ interval: n.interval,
1404
+ "img-src": n.src,
1405
+ "img-alt": n.alt,
1406
+ caption: n.caption,
1407
+ "caption-text": n.captionText
1408
1408
  }, null, 8, ["active", "interval", "img-src", "img-alt", "caption", "caption-text"]))), 128))
1409
1409
  ])
1410
- ], 64)) : (l(), n(P, { key: 1 }, [
1411
- e.indicators ? (l(), n("div", rt, [
1410
+ ], 64)) : (l(), o(q, { key: 1 }, [
1411
+ e.indicators ? (l(), o("div", Lt, [
1412
1412
  $(i.$slots, "indicators")
1413
1413
  ])) : u("", !0),
1414
- m("div", ut, [
1414
+ m("div", Ot, [
1415
1415
  $(i.$slots, "default")
1416
1416
  ])
1417
1417
  ], 64)),
1418
- e.controls ? (l(), n("button", {
1418
+ e.controls ? (l(), o("button", {
1419
1419
  key: 2,
1420
1420
  class: "carousel-control-prev",
1421
1421
  type: "button",
@@ -1427,8 +1427,8 @@ const ul = /* @__PURE__ */ p({
1427
1427
  "aria-hidden": "true"
1428
1428
  }, null, -1),
1429
1429
  m("span", { class: "visually-hidden" }, "Previous", -1)
1430
- ])], 8, ct)) : u("", !0),
1431
- e.controls ? (l(), n("button", {
1430
+ ])], 8, Dt)) : u("", !0),
1431
+ e.controls ? (l(), o("button", {
1432
1432
  key: 3,
1433
1433
  class: "carousel-control-next",
1434
1434
  type: "button",
@@ -1440,10 +1440,10 @@ const ul = /* @__PURE__ */ p({
1440
1440
  "aria-hidden": "true"
1441
1441
  }, null, -1),
1442
1442
  m("span", { class: "visually-hidden" }, "Next", -1)
1443
- ])], 8, ft)) : u("", !0)
1444
- ], 10, st));
1443
+ ])], 8, Xt)) : u("", !0)
1444
+ ], 10, It));
1445
1445
  }
1446
- }), vt = ["data-bs-placement", "data-bs-title", "data-bs-trigger", "data-bs-html"], Xl = /* @__PURE__ */ p({
1446
+ }), Gt = ["data-bs-placement", "data-bs-title", "data-bs-trigger", "data-bs-html"], Et = /* @__PURE__ */ p({
1447
1447
  __name: "VibeTooltip",
1448
1448
  props: {
1449
1449
  content: { type: String, required: !0 },
@@ -1452,8 +1452,8 @@ const ul = /* @__PURE__ */ p({
1452
1452
  html: { type: Boolean, default: !1 }
1453
1453
  },
1454
1454
  emits: ["component-error"],
1455
- setup(e, { emit: o }) {
1456
- return (t, i) => (l(), n("span", {
1455
+ setup(e, { emit: d }) {
1456
+ return (t, i) => (l(), o("span", {
1457
1457
  "data-bs-toggle": "tooltip",
1458
1458
  "data-bs-placement": e.placement,
1459
1459
  "data-bs-title": e.content,
@@ -1461,9 +1461,9 @@ const ul = /* @__PURE__ */ p({
1461
1461
  "data-bs-html": e.html
1462
1462
  }, [
1463
1463
  $(t.$slots, "default")
1464
- ], 8, vt));
1464
+ ], 8, Gt));
1465
1465
  }
1466
- }), bt = ["data-bs-placement", "data-bs-title", "data-bs-content", "data-bs-trigger", "data-bs-html"], Dl = /* @__PURE__ */ p({
1466
+ }), Yt = ["data-bs-placement", "data-bs-title", "data-bs-content", "data-bs-trigger", "data-bs-html"], Ht = /* @__PURE__ */ p({
1467
1467
  __name: "VibePopover",
1468
1468
  props: {
1469
1469
  title: { type: String, default: void 0 },
@@ -1473,8 +1473,8 @@ const ul = /* @__PURE__ */ p({
1473
1473
  html: { type: Boolean, default: !1 }
1474
1474
  },
1475
1475
  emits: ["component-error"],
1476
- setup(e, { emit: o }) {
1477
- return (t, i) => (l(), n("span", {
1476
+ setup(e, { emit: d }) {
1477
+ return (t, i) => (l(), o("span", {
1478
1478
  "data-bs-toggle": "popover",
1479
1479
  "data-bs-placement": e.placement,
1480
1480
  "data-bs-title": e.title,
@@ -1483,9 +1483,9 @@ const ul = /* @__PURE__ */ p({
1483
1483
  "data-bs-html": e.html
1484
1484
  }, [
1485
1485
  $(t.$slots, "default")
1486
- ], 8, bt));
1486
+ ], 8, Yt));
1487
1487
  }
1488
- }), Rl = /* @__PURE__ */ p({
1488
+ }), Ut = /* @__PURE__ */ p({
1489
1489
  __name: "VibeScrollspy",
1490
1490
  props: {
1491
1491
  target: { type: String, required: !0 },
@@ -1495,8 +1495,8 @@ const ul = /* @__PURE__ */ p({
1495
1495
  tag: { type: String, default: "div" }
1496
1496
  },
1497
1497
  emits: ["activate", "component-error"],
1498
- setup(e, { emit: o }) {
1499
- return (t, i) => (l(), x(T(e.tag), {
1498
+ setup(e, { emit: d }) {
1499
+ return (t, i) => (l(), V(T(e.tag), {
1500
1500
  "data-bs-spy": "scroll",
1501
1501
  "data-bs-target": e.target,
1502
1502
  "data-bs-offset": e.offset,
@@ -1504,13 +1504,13 @@ const ul = /* @__PURE__ */ p({
1504
1504
  "data-bs-smooth-scroll": e.smoothScroll,
1505
1505
  tabindex: "0"
1506
1506
  }, {
1507
- default: V(() => [
1507
+ default: x(() => [
1508
1508
  $(t.$slots, "default")
1509
1509
  ]),
1510
1510
  _: 3
1511
1511
  }, 8, ["data-bs-target", "data-bs-offset", "data-bs-method", "data-bs-smooth-scroll"]));
1512
1512
  }
1513
- }), El = /* @__PURE__ */ p({
1513
+ }), Qt = /* @__PURE__ */ p({
1514
1514
  __name: "VibeIcon",
1515
1515
  props: {
1516
1516
  // Icon name (e.g., 'house', 'heart-fill', 'star')
@@ -1529,14 +1529,14 @@ const ul = /* @__PURE__ */ p({
1529
1529
  rotate: { type: Number, default: void 0 }
1530
1530
  },
1531
1531
  emits: ["click", "component-error"],
1532
- setup(e, { emit: o }) {
1533
- const t = e, i = o, a = c(() => {
1534
- const d = ["bi", `bi-${t.icon}`];
1535
- return t.size && (["1x", "2x", "3x", "4x", "5x"].includes(t.size) || d.push(`bi-${t.size}`)), t.customClass && d.push(t.customClass), d.join(" ");
1536
- }), s = c(() => {
1537
- const d = {};
1532
+ setup(e, { emit: d }) {
1533
+ const t = e, i = d, a = c(() => {
1534
+ const s = ["bi", `bi-${t.icon}`];
1535
+ return t.size && (["1x", "2x", "3x", "4x", "5x"].includes(t.size) || s.push(`bi-${t.size}`)), t.customClass && s.push(t.customClass), s.join(" ");
1536
+ }), n = c(() => {
1537
+ const s = {};
1538
1538
  if (t.fontSize)
1539
- d.fontSize = t.fontSize;
1539
+ s.fontSize = t.fontSize;
1540
1540
  else if (t.size) {
1541
1541
  const v = {
1542
1542
  "1x": "1rem",
@@ -1545,49 +1545,49 @@ const ul = /* @__PURE__ */ p({
1545
1545
  "4x": "4rem",
1546
1546
  "5x": "5rem"
1547
1547
  };
1548
- v[t.size] && (d.fontSize = v[t.size]);
1548
+ v[t.size] && (s.fontSize = v[t.size]);
1549
1549
  }
1550
- t.color && (d.color = t.color);
1550
+ t.color && (s.color = t.color);
1551
1551
  const y = [];
1552
- return t.flipH && y.push("scaleX(-1)"), t.flipV && y.push("scaleY(-1)"), t.rotate && y.push(`rotate(${t.rotate}deg)`), y.length > 0 && (d.transform = y.join(" "), d.display = "inline-block"), Object.keys(d).length > 0 ? d : void 0;
1553
- }), r = (d) => {
1554
- i("click", d);
1552
+ return t.flipH && y.push("scaleX(-1)"), t.flipV && y.push("scaleY(-1)"), t.rotate && y.push(`rotate(${t.rotate}deg)`), y.length > 0 && (s.transform = y.join(" "), s.display = "inline-block"), Object.keys(s).length > 0 ? s : void 0;
1553
+ }), r = (s) => {
1554
+ i("click", s);
1555
1555
  };
1556
- return (d, y) => (l(), n("i", {
1556
+ return (s, y) => (l(), o("i", {
1557
1557
  class: h(a.value),
1558
- style: R(s.value),
1558
+ style: R(n.value),
1559
1559
  "aria-hidden": !0,
1560
1560
  onClick: r
1561
1561
  }, null, 6));
1562
1562
  }
1563
- }), mt = { class: "vibe-datatable" }, yt = { class: "row mb-3" }, ht = {
1563
+ }), Kt = { class: "vibe-datatable" }, Wt = { class: "row mb-3" }, Jt = {
1564
1564
  key: 0,
1565
1565
  class: "col-md-6 mb-2 mb-md-0"
1566
- }, gt = ["placeholder"], pt = {
1566
+ }, Zt = ["placeholder"], _t = {
1567
1567
  key: 1,
1568
1568
  class: "col-md-6"
1569
- }, $t = { class: "d-flex justify-content-md-end align-items-center" }, kt = ["value"], St = ["onClick"], xt = {
1569
+ }, ea = { class: "d-flex justify-content-md-end align-items-center" }, ta = ["value"], aa = ["onClick"], la = {
1570
1570
  key: 0,
1571
1571
  class: "ms-1"
1572
- }, Vt = ["onClick"], Ct = { key: 0 }, Bt = ["colspan"], wt = { class: "row" }, Nt = {
1572
+ }, ia = ["onClick"], na = { key: 0 }, oa = ["colspan"], sa = { class: "row" }, da = {
1573
1573
  key: 0,
1574
1574
  class: "col-md-6 mb-2 mb-md-0"
1575
- }, Tt = { class: "datatable-info" }, Mt = {
1575
+ }, ra = { class: "datatable-info" }, ua = {
1576
1576
  key: 1,
1577
1577
  class: "col-md-6"
1578
- }, qt = { class: "pagination justify-content-md-end mb-0" }, Pt = {
1578
+ }, ca = { class: "pagination justify-content-md-end mb-0" }, fa = {
1579
1579
  key: 0,
1580
1580
  class: "page-item"
1581
- }, zt = {
1581
+ }, va = {
1582
1582
  key: 1,
1583
1583
  class: "page-item disabled"
1584
- }, It = ["onClick"], Ft = {
1584
+ }, ba = ["onClick"], ma = {
1585
1585
  key: 2,
1586
1586
  class: "page-item disabled"
1587
- }, jt = {
1587
+ }, ya = {
1588
1588
  key: 3,
1589
1589
  class: "page-item"
1590
- }, At = /* @__PURE__ */ p({
1590
+ }, ha = /* @__PURE__ */ p({
1591
1591
  __name: "VibeDataTable",
1592
1592
  props: {
1593
1593
  // Data
@@ -1624,92 +1624,92 @@ const ul = /* @__PURE__ */ p({
1624
1624
  filteredInfoText: { type: String, default: "Showing {start} to {end} of {total} entries (filtered from {totalRows} total entries)" }
1625
1625
  },
1626
1626
  emits: ["update:currentPage", "update:perPage", "update:sortBy", "update:sortDesc", "row-clicked", "component-error"],
1627
- setup(e, { emit: o }) {
1628
- const t = e, i = o, a = z(""), s = z(null), r = z(""), d = z(t.currentPage), y = z(t.perPage), v = z(t.sortBy), b = z(t.sortDesc);
1629
- O(() => t.currentPage, (k) => {
1630
- d.value = k;
1631
- }), O(() => t.perPage, (k) => {
1632
- y.value = k;
1633
- }), O(() => t.sortBy, (k) => {
1634
- v.value = k;
1635
- }), O(() => t.sortDesc, (k) => {
1636
- b.value = k;
1637
- }), O(a, (k) => {
1638
- s.value && clearTimeout(s.value), s.value = window.setTimeout(() => {
1639
- r.value = k, d.value = 1;
1627
+ setup(e, { emit: d }) {
1628
+ const t = e, i = d, a = F(""), n = F(null), r = F(""), s = F(t.currentPage), y = F(t.perPage), v = F(t.sortBy), b = F(t.sortDesc);
1629
+ O(() => t.currentPage, (S) => {
1630
+ s.value = S;
1631
+ }), O(() => t.perPage, (S) => {
1632
+ y.value = S;
1633
+ }), O(() => t.sortBy, (S) => {
1634
+ v.value = S;
1635
+ }), O(() => t.sortDesc, (S) => {
1636
+ b.value = S;
1637
+ }), O(a, (S) => {
1638
+ n.value && clearTimeout(n.value), n.value = window.setTimeout(() => {
1639
+ r.value = S, s.value = 1;
1640
1640
  }, t.searchDebounce);
1641
1641
  });
1642
1642
  const g = c(() => {
1643
1643
  if (!t.searchable || !r.value)
1644
1644
  return t.items;
1645
- const k = r.value.toLowerCase();
1645
+ const S = r.value.toLowerCase();
1646
1646
  return t.items.filter((w) => t.columns.some((C) => {
1647
1647
  if (C.searchable === !1) return !1;
1648
- const A = w[C.key];
1649
- return A == null ? !1 : String(A).toLowerCase().includes(k);
1648
+ const j = w[C.key];
1649
+ return j == null ? !1 : String(j).toLowerCase().includes(S);
1650
1650
  }));
1651
- }), S = c(() => {
1651
+ }), k = c(() => {
1652
1652
  if (!t.sortable || !v.value)
1653
1653
  return g.value;
1654
- const k = [...g.value], w = v.value;
1655
- return k.sort((C, A) => {
1656
- let F = C[w], E = A[w];
1657
- return F == null ? 1 : E == null ? -1 : (typeof F == "string" && (F = F.toLowerCase()), typeof E == "string" && (E = E.toLowerCase()), F < E ? b.value ? 1 : -1 : F > E ? b.value ? -1 : 1 : 0);
1658
- }), k;
1654
+ const S = [...g.value], w = v.value;
1655
+ return S.sort((C, j) => {
1656
+ let z = C[w], G = j[w];
1657
+ return z == null ? 1 : G == null ? -1 : (typeof z == "string" && (z = z.toLowerCase()), typeof G == "string" && (G = G.toLowerCase()), z < G ? b.value ? 1 : -1 : z > G ? b.value ? -1 : 1 : 0);
1658
+ }), S;
1659
1659
  }), M = c(() => {
1660
1660
  if (!t.paginated)
1661
- return S.value;
1662
- const k = (d.value - 1) * y.value, w = k + y.value;
1663
- return S.value.slice(k, w);
1664
- }), j = c(() => t.items.length), B = c(() => g.value.length), q = c(() => Math.ceil(B.value / y.value)), D = c(() => B.value === 0 ? 0 : (d.value - 1) * y.value + 1), J = c(() => {
1665
- const k = d.value * y.value;
1666
- return Math.min(k, B.value);
1667
- }), Z = c(() => (B.value !== j.value ? t.filteredInfoText : t.infoText).replace("{start}", String(D.value)).replace("{end}", String(J.value)).replace("{total}", String(B.value)).replace("{totalRows}", String(j.value))), _ = c(() => {
1668
- const k = ["table"];
1669
- return t.striped && k.push("table-striped"), t.bordered && k.push("table-bordered"), t.borderless && k.push("table-borderless"), t.hover && k.push("table-hover"), t.small && k.push("table-sm"), t.variant && k.push(`table-${t.variant}`), k.join(" ");
1670
- }), ee = (k) => {
1671
- !t.sortable || k.sortable === !1 || (v.value === k.key ? b.value = !b.value : (v.value = k.key, b.value = !1), i("update:sortBy", v.value), i("update:sortDesc", b.value));
1672
- }, Y = (k) => {
1673
- k < 1 || k > q.value || (d.value = k, i("update:currentPage", k));
1674
- }, te = () => {
1675
- d.value = 1, i("update:perPage", y.value), i("update:currentPage", 1);
1676
- }, ae = (k, w) => {
1677
- i("row-clicked", k, w);
1678
- }, le = (k, w) => {
1679
- const C = k[w.key];
1680
- return w.formatter ? w.formatter(C, k) : C;
1681
- }, ie = (k) => !t.sortable || k.sortable === !1 ? "" : v.value !== k.key ? "⇅" : b.value ? "↓" : "↑", se = (k) => {
1682
- const w = { ...k.thStyle };
1683
- return t.sortable && k.sortable !== !1 && (w.cursor = "pointer"), w;
1661
+ return k.value;
1662
+ const S = (s.value - 1) * y.value, w = S + y.value;
1663
+ return k.value.slice(S, w);
1664
+ }), A = c(() => t.items.length), B = c(() => g.value.length), P = c(() => Math.ceil(B.value / y.value)), X = c(() => B.value === 0 ? 0 : (s.value - 1) * y.value + 1), se = c(() => {
1665
+ const S = s.value * y.value;
1666
+ return Math.min(S, B.value);
1667
+ }), de = c(() => (B.value !== A.value ? t.filteredInfoText : t.infoText).replace("{start}", String(X.value)).replace("{end}", String(se.value)).replace("{total}", String(B.value)).replace("{totalRows}", String(A.value))), re = c(() => {
1668
+ const S = ["table"];
1669
+ return t.striped && S.push("table-striped"), t.bordered && S.push("table-bordered"), t.borderless && S.push("table-borderless"), t.hover && S.push("table-hover"), t.small && S.push("table-sm"), t.variant && S.push(`table-${t.variant}`), S.join(" ");
1670
+ }), ue = (S) => {
1671
+ !t.sortable || S.sortable === !1 || (v.value === S.key ? b.value = !b.value : (v.value = S.key, b.value = !1), i("update:sortBy", v.value), i("update:sortDesc", b.value));
1672
+ }, E = (S) => {
1673
+ S < 1 || S > P.value || (s.value = S, i("update:currentPage", S));
1674
+ }, ce = () => {
1675
+ s.value = 1, i("update:perPage", y.value), i("update:currentPage", 1);
1676
+ }, fe = (S, w) => {
1677
+ i("row-clicked", S, w);
1678
+ }, ve = (S, w) => {
1679
+ const C = S[w.key];
1680
+ return w.formatter ? w.formatter(C, S) : C;
1681
+ }, be = (S) => !t.sortable || S.sortable === !1 ? "" : v.value !== S.key ? "⇅" : b.value ? "↓" : "↑", me = (S) => {
1682
+ const w = { ...S.thStyle };
1683
+ return t.sortable && S.sortable !== !1 && (w.cursor = "pointer"), w;
1684
1684
  };
1685
- return (k, w) => (l(), n("div", mt, [
1686
- m("div", yt, [
1687
- e.searchable ? (l(), n("div", ht, [
1688
- Q(m("input", {
1685
+ return (S, w) => (l(), o("div", Kt, [
1686
+ m("div", Wt, [
1687
+ e.searchable ? (l(), o("div", Jt, [
1688
+ W(m("input", {
1689
1689
  "onUpdate:modelValue": w[0] || (w[0] = (C) => a.value = C),
1690
1690
  type: "search",
1691
1691
  class: "form-control",
1692
1692
  placeholder: e.searchPlaceholder
1693
- }, null, 8, gt), [
1694
- [ne, a.value]
1693
+ }, null, 8, Zt), [
1694
+ [ye, a.value]
1695
1695
  ])
1696
1696
  ])) : u("", !0),
1697
- e.showPerPage && e.paginated ? (l(), n("div", pt, [
1698
- m("div", $t, [
1697
+ e.showPerPage && e.paginated ? (l(), o("div", _t, [
1698
+ m("div", ea, [
1699
1699
  w[6] || (w[6] = m("label", { class: "me-2 mb-0" }, "Show", -1)),
1700
- Q(m("select", {
1700
+ W(m("select", {
1701
1701
  "onUpdate:modelValue": w[1] || (w[1] = (C) => y.value = C),
1702
1702
  class: "form-select form-select-sm",
1703
1703
  style: { width: "auto" },
1704
- onChange: te
1704
+ onChange: ce
1705
1705
  }, [
1706
- (l(!0), n(P, null, I(e.perPageOptions, (C) => (l(), n("option", {
1706
+ (l(!0), o(q, null, I(e.perPageOptions, (C) => (l(), o("option", {
1707
1707
  key: C,
1708
1708
  value: C
1709
- }, f(C), 9, kt))), 128))
1709
+ }, f(C), 9, ta))), 128))
1710
1710
  ], 544), [
1711
1711
  [
1712
- de,
1712
+ he,
1713
1713
  y.value,
1714
1714
  void 0,
1715
1715
  { number: !0 }
@@ -1723,105 +1723,105 @@ const ul = /* @__PURE__ */ p({
1723
1723
  class: h({ "table-responsive": e.responsive })
1724
1724
  }, [
1725
1725
  m("table", {
1726
- class: h(_.value)
1726
+ class: h(re.value)
1727
1727
  }, [
1728
1728
  m("thead", null, [
1729
1729
  m("tr", null, [
1730
- (l(!0), n(P, null, I(e.columns, (C) => (l(), n("th", {
1730
+ (l(!0), o(q, null, I(e.columns, (C) => (l(), o("th", {
1731
1731
  key: C.key,
1732
1732
  class: h(C.headerClass),
1733
- style: R(se(C)),
1734
- onClick: (A) => ee(C)
1733
+ style: R(me(C)),
1734
+ onClick: (j) => ue(C)
1735
1735
  }, [
1736
1736
  N(f(C.label) + " ", 1),
1737
- e.sortable && C.sortable !== !1 ? (l(), n("span", xt, f(ie(C)), 1)) : u("", !0)
1738
- ], 14, St))), 128))
1737
+ e.sortable && C.sortable !== !1 ? (l(), o("span", la, f(be(C)), 1)) : u("", !0)
1738
+ ], 14, aa))), 128))
1739
1739
  ])
1740
1740
  ]),
1741
1741
  m("tbody", null, [
1742
- (l(!0), n(P, null, I(M.value, (C, A) => (l(), n("tr", {
1743
- key: A,
1744
- onClick: (F) => ae(C, A),
1742
+ (l(!0), o(q, null, I(M.value, (C, j) => (l(), o("tr", {
1743
+ key: j,
1744
+ onClick: (z) => fe(C, j),
1745
1745
  style: { cursor: "pointer" }
1746
1746
  }, [
1747
- (l(!0), n(P, null, I(e.columns, (F) => (l(), n("td", {
1748
- key: F.key,
1749
- class: h(F.class),
1750
- style: R(F.tdStyle)
1747
+ (l(!0), o(q, null, I(e.columns, (z) => (l(), o("td", {
1748
+ key: z.key,
1749
+ class: h(z.class),
1750
+ style: R(z.tdStyle)
1751
1751
  }, [
1752
- $(k.$slots, `cell(${F.key})`, {
1752
+ $(S.$slots, `cell(${z.key})`, {
1753
1753
  item: C,
1754
- value: C[F.key],
1755
- index: A
1754
+ value: C[z.key],
1755
+ index: j
1756
1756
  }, () => [
1757
- N(f(le(C, F)), 1)
1757
+ N(f(ve(C, z)), 1)
1758
1758
  ], !0)
1759
1759
  ], 6))), 128))
1760
- ], 8, Vt))), 128)),
1761
- M.value.length === 0 && e.showEmpty ? (l(), n("tr", Ct, [
1760
+ ], 8, ia))), 128)),
1761
+ M.value.length === 0 && e.showEmpty ? (l(), o("tr", na, [
1762
1762
  m("td", {
1763
1763
  colspan: e.columns.length,
1764
1764
  class: "text-center"
1765
- }, f(e.emptyText), 9, Bt)
1765
+ }, f(e.emptyText), 9, oa)
1766
1766
  ])) : u("", !0)
1767
1767
  ])
1768
1768
  ], 2)
1769
1769
  ], 2),
1770
- m("div", wt, [
1771
- e.showInfo ? (l(), n("div", Nt, [
1772
- m("div", Tt, f(Z.value), 1)
1770
+ m("div", sa, [
1771
+ e.showInfo ? (l(), o("div", da, [
1772
+ m("div", ra, f(de.value), 1)
1773
1773
  ])) : u("", !0),
1774
- e.paginated && q.value > 1 ? (l(), n("div", Mt, [
1774
+ e.paginated && P.value > 1 ? (l(), o("div", ua, [
1775
1775
  m("nav", null, [
1776
- m("ul", qt, [
1776
+ m("ul", ca, [
1777
1777
  m("li", {
1778
- class: h(["page-item", { disabled: d.value === 1 }])
1778
+ class: h(["page-item", { disabled: s.value === 1 }])
1779
1779
  }, [
1780
1780
  m("a", {
1781
1781
  class: "page-link",
1782
1782
  href: "#",
1783
- onClick: w[2] || (w[2] = G((C) => Y(d.value - 1), ["prevent"]))
1783
+ onClick: w[2] || (w[2] = Y((C) => E(s.value - 1), ["prevent"]))
1784
1784
  }, " Previous ")
1785
1785
  ], 2),
1786
- d.value > 3 ? (l(), n("li", Pt, [
1786
+ s.value > 3 ? (l(), o("li", fa, [
1787
1787
  m("a", {
1788
1788
  class: "page-link",
1789
1789
  href: "#",
1790
- onClick: w[3] || (w[3] = G((C) => Y(1), ["prevent"]))
1790
+ onClick: w[3] || (w[3] = Y((C) => E(1), ["prevent"]))
1791
1791
  }, "1")
1792
1792
  ])) : u("", !0),
1793
- d.value > 4 ? (l(), n("li", zt, [...w[8] || (w[8] = [
1793
+ s.value > 4 ? (l(), o("li", va, [...w[8] || (w[8] = [
1794
1794
  m("span", { class: "page-link" }, "...", -1)
1795
1795
  ])])) : u("", !0),
1796
- (l(!0), n(P, null, I(Array.from({ length: q.value }, (C, A) => A + 1).filter(
1797
- (C) => C >= d.value - 2 && C <= d.value + 2
1798
- ), (C) => (l(), n("li", {
1796
+ (l(!0), o(q, null, I(Array.from({ length: P.value }, (C, j) => j + 1).filter(
1797
+ (C) => C >= s.value - 2 && C <= s.value + 2
1798
+ ), (C) => (l(), o("li", {
1799
1799
  key: C,
1800
- class: h(["page-item", { active: C === d.value }])
1800
+ class: h(["page-item", { active: C === s.value }])
1801
1801
  }, [
1802
1802
  m("a", {
1803
1803
  class: "page-link",
1804
1804
  href: "#",
1805
- onClick: G((A) => Y(C), ["prevent"])
1806
- }, f(C), 9, It)
1805
+ onClick: Y((j) => E(C), ["prevent"])
1806
+ }, f(C), 9, ba)
1807
1807
  ], 2))), 128)),
1808
- d.value < q.value - 3 ? (l(), n("li", Ft, [...w[9] || (w[9] = [
1808
+ s.value < P.value - 3 ? (l(), o("li", ma, [...w[9] || (w[9] = [
1809
1809
  m("span", { class: "page-link" }, "...", -1)
1810
1810
  ])])) : u("", !0),
1811
- d.value < q.value - 2 ? (l(), n("li", jt, [
1811
+ s.value < P.value - 2 ? (l(), o("li", ya, [
1812
1812
  m("a", {
1813
1813
  class: "page-link",
1814
1814
  href: "#",
1815
- onClick: w[4] || (w[4] = G((C) => Y(q.value), ["prevent"]))
1816
- }, f(q.value), 1)
1815
+ onClick: w[4] || (w[4] = Y((C) => E(P.value), ["prevent"]))
1816
+ }, f(P.value), 1)
1817
1817
  ])) : u("", !0),
1818
1818
  m("li", {
1819
- class: h(["page-item", { disabled: d.value === q.value }])
1819
+ class: h(["page-item", { disabled: s.value === P.value }])
1820
1820
  }, [
1821
1821
  m("a", {
1822
1822
  class: "page-link",
1823
1823
  href: "#",
1824
- onClick: w[5] || (w[5] = G((C) => Y(d.value + 1), ["prevent"]))
1824
+ onClick: w[5] || (w[5] = Y((C) => E(s.value + 1), ["prevent"]))
1825
1825
  }, " Next ")
1826
1826
  ], 2)
1827
1827
  ])
@@ -1830,22 +1830,26 @@ const ul = /* @__PURE__ */ p({
1830
1830
  ])
1831
1831
  ]));
1832
1832
  }
1833
- }), U = (e, o) => {
1833
+ }), K = (e, d) => {
1834
1834
  const t = e.__vccOpts || e;
1835
- for (const [i, a] of o)
1835
+ for (const [i, a] of d)
1836
1836
  t[i] = a;
1837
1837
  return t;
1838
- }, Yl = /* @__PURE__ */ U(At, [["__scopeId", "data-v-48221c7b"]]), Lt = { class: "mb-3" }, Ot = ["for"], Xt = {
1838
+ }, ga = /* @__PURE__ */ K(ha, [["__scopeId", "data-v-48221c7b"]]), pa = { class: "mb-3" }, $a = ["for"], ka = {
1839
1839
  key: 0,
1840
1840
  class: "text-danger"
1841
- }, Dt = ["id", "type", "value", "placeholder", "disabled", "readonly", "required", "aria-invalid", "aria-describedby"], Rt = ["id"], Et = {
1841
+ }, Sa = ["id", "type", "value", "placeholder", "disabled", "readonly", "required", "aria-invalid", "aria-describedby"], Va = ["id"], xa = {
1842
1842
  key: 2,
1843
1843
  class: "valid-feedback",
1844
1844
  style: { display: "block" }
1845
- }, Yt = ["id"], Gl = /* @__PURE__ */ p({
1845
+ }, Ca = ["id"], Ba = /* @__PURE__ */ p({
1846
1846
  __name: "VibeFormInput",
1847
1847
  props: {
1848
- modelValue: { type: [String, Number], default: "" },
1848
+ modelValue: {
1849
+ type: [String, Number],
1850
+ default: "",
1851
+ validator: (e) => !0
1852
+ },
1849
1853
  type: { type: String, default: "text" },
1850
1854
  id: { type: String, required: !0 },
1851
1855
  label: { type: String, default: void 0 },
@@ -1862,33 +1866,33 @@ const ul = /* @__PURE__ */ p({
1862
1866
  plaintext: { type: Boolean, default: !1 }
1863
1867
  },
1864
1868
  emits: ["update:modelValue", "validate", "blur", "focus", "input", "change"],
1865
- setup(e, { emit: o }) {
1866
- const t = e, i = o, a = c(() => t.validationState), s = c(() => {
1869
+ setup(e, { emit: d }) {
1870
+ const t = e, i = d, a = c(() => t.validationState), n = c(() => {
1867
1871
  const b = [];
1868
1872
  return t.plaintext ? b.push("form-control-plaintext") : (b.push("form-control"), t.size && b.push(`form-control-${t.size}`)), a.value === "valid" && b.push("is-valid"), a.value === "invalid" && b.push("is-invalid"), b.join(" ");
1869
1873
  }), r = (b) => {
1870
- const g = b.target, S = t.type === "number" ? g.value === "" ? "" : Number(g.value) : g.value;
1871
- i("update:modelValue", S), i("input", b), t.validateOn === "input" && i("validate");
1872
- }, d = (b) => {
1874
+ const g = b.target, k = t.type === "number" ? g.value === "" ? "" : Number(g.value) : g.value;
1875
+ i("update:modelValue", k), i("input", b), t.validateOn === "input" && i("validate");
1876
+ }, s = (b) => {
1873
1877
  i("change", b), t.validateOn === "change" && i("validate");
1874
1878
  }, y = (b) => {
1875
1879
  i("blur", b), t.validateOn === "blur" && i("validate");
1876
1880
  }, v = (b) => {
1877
1881
  i("focus", b);
1878
1882
  };
1879
- return (b, g) => (l(), n("div", Lt, [
1880
- e.label ? (l(), n("label", {
1883
+ return (b, g) => (l(), o("div", pa, [
1884
+ e.label ? (l(), o("label", {
1881
1885
  key: 0,
1882
1886
  for: e.id,
1883
1887
  class: "form-label"
1884
1888
  }, [
1885
1889
  N(f(e.label) + " ", 1),
1886
- e.required ? (l(), n("span", Xt, "*")) : u("", !0)
1887
- ], 8, Ot)) : u("", !0),
1890
+ e.required ? (l(), o("span", ka, "*")) : u("", !0)
1891
+ ], 8, $a)) : u("", !0),
1888
1892
  m("input", {
1889
1893
  id: e.id,
1890
1894
  type: e.type,
1891
- class: h(s.value),
1895
+ class: h(n.value),
1892
1896
  value: e.modelValue,
1893
1897
  placeholder: e.placeholder,
1894
1898
  disabled: e.disabled,
@@ -1897,35 +1901,39 @@ const ul = /* @__PURE__ */ p({
1897
1901
  "aria-invalid": a.value === "invalid",
1898
1902
  "aria-describedby": e.validationMessage || e.helpText ? `${e.id}-feedback` : void 0,
1899
1903
  onInput: r,
1900
- onChange: d,
1904
+ onChange: s,
1901
1905
  onBlur: y,
1902
1906
  onFocus: v
1903
- }, null, 42, Dt),
1904
- e.helpText && !e.validationMessage ? (l(), n("div", {
1907
+ }, null, 42, Sa),
1908
+ e.helpText && !e.validationMessage ? (l(), o("div", {
1905
1909
  key: 1,
1906
1910
  id: `${e.id}-feedback`,
1907
1911
  class: "form-text"
1908
- }, f(e.helpText), 9, Rt)) : u("", !0),
1909
- a.value === "valid" ? (l(), n("div", Et, f(e.validationMessage || "Looks good!"), 1)) : u("", !0),
1910
- a.value === "invalid" ? (l(), n("div", {
1912
+ }, f(e.helpText), 9, Va)) : u("", !0),
1913
+ a.value === "valid" ? (l(), o("div", xa, f(e.validationMessage || "Looks good!"), 1)) : u("", !0),
1914
+ a.value === "invalid" ? (l(), o("div", {
1911
1915
  key: 3,
1912
1916
  id: `${e.id}-feedback`,
1913
1917
  class: "invalid-feedback",
1914
1918
  style: { display: "block" }
1915
- }, f(e.validationMessage || "Please provide a valid value."), 9, Yt)) : u("", !0)
1919
+ }, f(e.validationMessage || "Please provide a valid value."), 9, Ca)) : u("", !0)
1916
1920
  ]));
1917
1921
  }
1918
- }), Gt = { class: "mb-3" }, Ht = ["for"], Ut = {
1922
+ }), wa = { class: "mb-3" }, Na = ["for"], Ta = {
1919
1923
  key: 0,
1920
1924
  class: "text-danger"
1921
- }, Qt = ["id", "value", "disabled", "required", "multiple", "size", "aria-invalid", "aria-describedby"], Kt = ["selected"], Wt = ["value", "disabled"], Jt = ["id"], Zt = {
1925
+ }, Ma = ["id", "value", "disabled", "required", "multiple", "size", "aria-invalid", "aria-describedby"], Pa = ["selected"], qa = ["value", "disabled"], Fa = ["id"], Ia = {
1922
1926
  key: 2,
1923
1927
  class: "valid-feedback",
1924
1928
  style: { display: "block" }
1925
- }, _t = ["id"], Hl = /* @__PURE__ */ p({
1929
+ }, za = ["id"], Aa = /* @__PURE__ */ p({
1926
1930
  __name: "VibeFormSelect",
1927
1931
  props: {
1928
- modelValue: { type: [String, Number, Array], default: "" },
1932
+ modelValue: {
1933
+ type: [String, Number, Array],
1934
+ default: "",
1935
+ validator: (e) => !0
1936
+ },
1929
1937
  id: { type: String, required: !0 },
1930
1938
  label: { type: String, default: void 0 },
1931
1939
  options: { type: Array, default: () => [] },
@@ -1942,31 +1950,31 @@ const ul = /* @__PURE__ */ p({
1942
1950
  placeholder: { type: String, default: void 0 }
1943
1951
  },
1944
1952
  emits: ["update:modelValue", "validate", "blur", "focus", "change"],
1945
- setup(e, { emit: o }) {
1946
- const t = e, i = o, a = c(() => t.validationState), s = c(() => {
1953
+ setup(e, { emit: d }) {
1954
+ const t = e, i = d, a = c(() => t.validationState), n = c(() => {
1947
1955
  const v = ["form-select"];
1948
1956
  return t.size && v.push(`form-select-${t.size}`), a.value === "valid" && v.push("is-valid"), a.value === "invalid" && v.push("is-invalid"), v.join(" ");
1949
1957
  }), r = (v) => {
1950
1958
  const b = v.target;
1951
1959
  let g;
1952
1960
  t.multiple ? g = Array.from(b.selectedOptions).map((M) => M.value) : g = b.value, i("update:modelValue", g), i("change", v), t.validateOn === "change" && i("validate");
1953
- }, d = (v) => {
1961
+ }, s = (v) => {
1954
1962
  i("blur", v), t.validateOn === "blur" && i("validate");
1955
1963
  }, y = (v) => {
1956
1964
  i("focus", v);
1957
1965
  };
1958
- return (v, b) => (l(), n("div", Gt, [
1959
- e.label ? (l(), n("label", {
1966
+ return (v, b) => (l(), o("div", wa, [
1967
+ e.label ? (l(), o("label", {
1960
1968
  key: 0,
1961
1969
  for: e.id,
1962
1970
  class: "form-label"
1963
1971
  }, [
1964
1972
  N(f(e.label) + " ", 1),
1965
- e.required ? (l(), n("span", Ut, "*")) : u("", !0)
1966
- ], 8, Ht)) : u("", !0),
1973
+ e.required ? (l(), o("span", Ta, "*")) : u("", !0)
1974
+ ], 8, Na)) : u("", !0),
1967
1975
  m("select", {
1968
1976
  id: e.id,
1969
- class: h(s.value),
1977
+ class: h(n.value),
1970
1978
  value: e.modelValue,
1971
1979
  disabled: e.disabled,
1972
1980
  required: e.required,
@@ -1975,50 +1983,54 @@ const ul = /* @__PURE__ */ p({
1975
1983
  "aria-invalid": a.value === "invalid",
1976
1984
  "aria-describedby": e.validationMessage || e.helpText ? `${e.id}-feedback` : void 0,
1977
1985
  onChange: r,
1978
- onBlur: d,
1986
+ onBlur: s,
1979
1987
  onFocus: y
1980
1988
  }, [
1981
- e.placeholder && !e.multiple ? (l(), n("option", {
1989
+ e.placeholder && !e.multiple ? (l(), o("option", {
1982
1990
  key: 0,
1983
1991
  value: "",
1984
1992
  disabled: "",
1985
1993
  selected: !e.modelValue
1986
- }, f(e.placeholder), 9, Kt)) : u("", !0),
1987
- (l(!0), n(P, null, I(e.options, (g) => (l(), n("option", {
1994
+ }, f(e.placeholder), 9, Pa)) : u("", !0),
1995
+ (l(!0), o(q, null, I(e.options, (g) => (l(), o("option", {
1988
1996
  key: g.value,
1989
1997
  value: g.value,
1990
1998
  disabled: g.disabled
1991
- }, f(g.text), 9, Wt))), 128)),
1999
+ }, f(g.text), 9, qa))), 128)),
1992
2000
  $(v.$slots, "default")
1993
- ], 42, Qt),
1994
- e.helpText && !e.validationMessage ? (l(), n("div", {
2001
+ ], 42, Ma),
2002
+ e.helpText && !e.validationMessage ? (l(), o("div", {
1995
2003
  key: 1,
1996
2004
  id: `${e.id}-feedback`,
1997
2005
  class: "form-text"
1998
- }, f(e.helpText), 9, Jt)) : u("", !0),
1999
- a.value === "valid" ? (l(), n("div", Zt, f(e.validationMessage || "Looks good!"), 1)) : u("", !0),
2000
- a.value === "invalid" ? (l(), n("div", {
2006
+ }, f(e.helpText), 9, Fa)) : u("", !0),
2007
+ a.value === "valid" ? (l(), o("div", Ia, f(e.validationMessage || "Looks good!"), 1)) : u("", !0),
2008
+ a.value === "invalid" ? (l(), o("div", {
2001
2009
  key: 3,
2002
2010
  id: `${e.id}-feedback`,
2003
2011
  class: "invalid-feedback",
2004
2012
  style: { display: "block" }
2005
- }, f(e.validationMessage || "Please select a valid option."), 9, _t)) : u("", !0)
2013
+ }, f(e.validationMessage || "Please select a valid option."), 9, za)) : u("", !0)
2006
2014
  ]));
2007
2015
  }
2008
- }), ea = { class: "mb-3" }, ta = ["for"], aa = {
2016
+ }), ja = { class: "mb-3" }, La = ["for"], Oa = {
2009
2017
  key: 0,
2010
2018
  class: "text-danger"
2011
- }, la = ["id", "value", "placeholder", "disabled", "readonly", "required", "rows", "maxlength", "aria-invalid", "aria-describedby"], ia = {
2019
+ }, Da = ["id", "value", "placeholder", "disabled", "readonly", "required", "rows", "maxlength", "aria-invalid", "aria-describedby"], Xa = {
2012
2020
  key: 1,
2013
2021
  class: "form-text"
2014
- }, sa = ["id"], na = {
2022
+ }, Ra = ["id"], Ga = {
2015
2023
  key: 3,
2016
2024
  class: "valid-feedback",
2017
2025
  style: { display: "block" }
2018
- }, da = ["id"], Ul = /* @__PURE__ */ p({
2026
+ }, Ea = ["id"], Ya = /* @__PURE__ */ p({
2019
2027
  __name: "VibeFormTextarea",
2020
2028
  props: {
2021
- modelValue: { type: String, default: "" },
2029
+ modelValue: {
2030
+ type: String,
2031
+ default: "",
2032
+ validator: (e) => !0
2033
+ },
2022
2034
  id: { type: String, required: !0 },
2023
2035
  label: { type: String, default: void 0 },
2024
2036
  placeholder: { type: String, default: void 0 },
@@ -2036,32 +2048,35 @@ const ul = /* @__PURE__ */ p({
2036
2048
  showCharCount: { type: Boolean, default: !1 }
2037
2049
  },
2038
2050
  emits: ["update:modelValue", "validate", "blur", "focus", "input", "change"],
2039
- setup(e, { emit: o }) {
2040
- const t = e, i = o, a = c(() => t.validationState), s = c(() => {
2041
- const S = ["form-control"];
2042
- return t.size && S.push(`form-control-${t.size}`), a.value === "valid" && S.push("is-valid"), a.value === "invalid" && S.push("is-invalid"), S.join(" ");
2043
- }), r = c(() => t.modelValue ? t.modelValue.length : 0), d = c(() => t.maxlength ? `${r.value} / ${t.maxlength}` : `${r.value}`), y = (S) => {
2044
- const M = S.target;
2045
- i("update:modelValue", M.value), i("input", S), t.validateOn === "input" && i("validate");
2046
- }, v = (S) => {
2047
- i("change", S), t.validateOn === "change" && i("validate");
2048
- }, b = (S) => {
2049
- i("blur", S), t.validateOn === "blur" && i("validate");
2050
- }, g = (S) => {
2051
- i("focus", S);
2051
+ setup(e, { emit: d }) {
2052
+ const t = e, i = d, a = c(() => t.validationState), n = c(() => {
2053
+ const k = ["form-control"];
2054
+ return t.size && k.push(`form-control-${t.size}`), a.value === "valid" && k.push("is-valid"), a.value === "invalid" && k.push("is-invalid"), k.join(" ");
2055
+ }), r = c(() => {
2056
+ const k = typeof t.modelValue == "string" ? t.modelValue : "";
2057
+ return k ? k.length : 0;
2058
+ }), s = c(() => t.maxlength ? `${r.value} / ${t.maxlength}` : `${r.value}`), y = (k) => {
2059
+ const M = k.target;
2060
+ i("update:modelValue", M.value), i("input", k), t.validateOn === "input" && i("validate");
2061
+ }, v = (k) => {
2062
+ i("change", k), t.validateOn === "change" && i("validate");
2063
+ }, b = (k) => {
2064
+ i("blur", k), t.validateOn === "blur" && i("validate");
2065
+ }, g = (k) => {
2066
+ i("focus", k);
2052
2067
  };
2053
- return (S, M) => (l(), n("div", ea, [
2054
- e.label ? (l(), n("label", {
2068
+ return (k, M) => (l(), o("div", ja, [
2069
+ e.label ? (l(), o("label", {
2055
2070
  key: 0,
2056
2071
  for: e.id,
2057
2072
  class: "form-label"
2058
2073
  }, [
2059
2074
  N(f(e.label) + " ", 1),
2060
- e.required ? (l(), n("span", aa, "*")) : u("", !0)
2061
- ], 8, ta)) : u("", !0),
2075
+ e.required ? (l(), o("span", Oa, "*")) : u("", !0)
2076
+ ], 8, La)) : u("", !0),
2062
2077
  m("textarea", {
2063
2078
  id: e.id,
2064
- class: h(s.value),
2079
+ class: h(n.value),
2065
2080
  value: e.modelValue,
2066
2081
  placeholder: e.placeholder,
2067
2082
  disabled: e.disabled,
@@ -2075,33 +2090,37 @@ const ul = /* @__PURE__ */ p({
2075
2090
  onChange: v,
2076
2091
  onBlur: b,
2077
2092
  onFocus: g
2078
- }, null, 42, la),
2079
- e.showCharCount ? (l(), n("div", ia, f(d.value), 1)) : u("", !0),
2080
- e.helpText && !e.validationMessage && !e.showCharCount ? (l(), n("div", {
2093
+ }, null, 42, Da),
2094
+ e.showCharCount ? (l(), o("div", Xa, f(s.value), 1)) : u("", !0),
2095
+ e.helpText && !e.validationMessage && !e.showCharCount ? (l(), o("div", {
2081
2096
  key: 2,
2082
2097
  id: `${e.id}-feedback`,
2083
2098
  class: "form-text"
2084
- }, f(e.helpText), 9, sa)) : u("", !0),
2085
- a.value === "valid" ? (l(), n("div", na, f(e.validationMessage || "Looks good!"), 1)) : u("", !0),
2086
- a.value === "invalid" ? (l(), n("div", {
2099
+ }, f(e.helpText), 9, Ra)) : u("", !0),
2100
+ a.value === "valid" ? (l(), o("div", Ga, f(e.validationMessage || "Looks good!"), 1)) : u("", !0),
2101
+ a.value === "invalid" ? (l(), o("div", {
2087
2102
  key: 4,
2088
2103
  id: `${e.id}-feedback`,
2089
2104
  class: "invalid-feedback",
2090
2105
  style: { display: "block" }
2091
- }, f(e.validationMessage || "Please provide a valid value."), 9, da)) : u("", !0)
2106
+ }, f(e.validationMessage || "Please provide a valid value."), 9, Ea)) : u("", !0)
2092
2107
  ]));
2093
2108
  }
2094
- }), oa = { class: "mb-3" }, ra = ["for"], ua = {
2109
+ }), Ha = { class: "mb-3" }, Ua = ["for"], Qa = {
2095
2110
  key: 0,
2096
2111
  class: "text-danger"
2097
- }, ca = ["disabled"], fa = ["id", "value", "disabled", "readonly", "required", "min", "max", "step", "aria-invalid", "aria-describedby"], va = ["disabled"], ba = ["id"], ma = {
2112
+ }, Ka = ["disabled"], Wa = ["id", "value", "disabled", "readonly", "required", "min", "max", "step", "aria-invalid", "aria-describedby"], Ja = ["disabled"], Za = ["id"], _a = {
2098
2113
  key: 2,
2099
2114
  class: "valid-feedback",
2100
2115
  style: { display: "block" }
2101
- }, ya = ["id"], ha = /* @__PURE__ */ p({
2116
+ }, el = ["id"], tl = /* @__PURE__ */ p({
2102
2117
  __name: "VibeFormSpinbutton",
2103
2118
  props: {
2104
- modelValue: { type: Number, default: 0 },
2119
+ modelValue: {
2120
+ type: Number,
2121
+ default: 0,
2122
+ validator: (e) => !0
2123
+ },
2105
2124
  id: { type: String, required: !0 },
2106
2125
  label: { type: String, default: void 0 },
2107
2126
  disabled: { type: Boolean, default: !1 },
@@ -2120,57 +2139,57 @@ const ul = /* @__PURE__ */ p({
2120
2139
  vertical: { type: Boolean, default: !1 }
2121
2140
  },
2122
2141
  emits: ["update:modelValue", "validate", "blur", "focus", "input", "change", "increment", "decrement"],
2123
- setup(e, { emit: o }) {
2124
- const t = e, i = o, a = c(() => t.validationState), s = c(() => {
2142
+ setup(e, { emit: d }) {
2143
+ const t = e, i = d, a = c(() => t.validationState), n = c(() => {
2125
2144
  const B = ["form-control"];
2126
2145
  return t.size && B.push(`form-control-${t.size}`), a.value === "valid" && B.push("is-valid"), a.value === "invalid" && B.push("is-invalid"), B.join(" ");
2127
2146
  }), r = c(() => {
2128
2147
  const B = ["input-group"];
2129
2148
  return t.size && B.push(`input-group-${t.size}`), t.vertical && B.push("input-group-vertical"), B.join(" ");
2130
- }), d = c(() => t.disabled || t.readonly ? !1 : t.min === void 0 || t.wrap ? !0 : t.modelValue > t.min), y = c(() => t.disabled || t.readonly ? !1 : t.max === void 0 || t.wrap ? !0 : t.modelValue < t.max), v = (B) => {
2131
- const q = B.target;
2132
- let D = q.value === "" ? 0 : Number(q.value);
2133
- t.min !== void 0 && D < t.min && (D = t.min), t.max !== void 0 && D > t.max && (D = t.max), i("update:modelValue", D), i("input", B), t.validateOn === "input" && i("validate");
2149
+ }), s = c(() => t.disabled || t.readonly ? !1 : t.min === void 0 || t.wrap ? !0 : t.modelValue > t.min), y = c(() => t.disabled || t.readonly ? !1 : t.max === void 0 || t.wrap ? !0 : t.modelValue < t.max), v = (B) => {
2150
+ const P = B.target;
2151
+ let X = P.value === "" ? 0 : Number(P.value);
2152
+ t.min !== void 0 && X < t.min && (X = t.min), t.max !== void 0 && X > t.max && (X = t.max), i("update:modelValue", X), i("input", B), t.validateOn === "input" && i("validate");
2134
2153
  }, b = (B) => {
2135
2154
  i("change", B), t.validateOn === "change" && i("validate");
2136
2155
  }, g = (B) => {
2137
2156
  i("blur", B), t.validateOn === "blur" && i("validate");
2138
- }, S = (B) => {
2157
+ }, k = (B) => {
2139
2158
  i("focus", B);
2140
2159
  }, M = () => {
2141
2160
  if (!y.value) return;
2142
2161
  let B = t.modelValue + t.step;
2143
2162
  t.max !== void 0 && B > t.max && (B = t.wrap ? t.min ?? 0 : t.max), i("update:modelValue", B), i("increment", B), t.validateOn === "change" && i("validate");
2144
- }, j = () => {
2145
- if (!d.value) return;
2163
+ }, A = () => {
2164
+ if (!s.value) return;
2146
2165
  let B = t.modelValue - t.step;
2147
2166
  t.min !== void 0 && B < t.min && (B = t.wrap ? t.max ?? 0 : t.min), i("update:modelValue", B), i("decrement", B), t.validateOn === "change" && i("validate");
2148
2167
  };
2149
- return (B, q) => (l(), n("div", oa, [
2150
- e.label ? (l(), n("label", {
2168
+ return (B, P) => (l(), o("div", Ha, [
2169
+ e.label ? (l(), o("label", {
2151
2170
  key: 0,
2152
2171
  for: e.id,
2153
2172
  class: "form-label"
2154
2173
  }, [
2155
2174
  N(f(e.label) + " ", 1),
2156
- e.required ? (l(), n("span", ua, "*")) : u("", !0)
2157
- ], 8, ra)) : u("", !0),
2175
+ e.required ? (l(), o("span", Qa, "*")) : u("", !0)
2176
+ ], 8, Ua)) : u("", !0),
2158
2177
  m("div", {
2159
2178
  class: h(r.value)
2160
2179
  }, [
2161
2180
  m("button", {
2162
2181
  class: "btn btn-outline-secondary",
2163
2182
  type: "button",
2164
- disabled: !d.value,
2165
- onClick: j,
2183
+ disabled: !s.value,
2184
+ onClick: A,
2166
2185
  "aria-label": "Decrement"
2167
- }, [...q[0] || (q[0] = [
2186
+ }, [...P[0] || (P[0] = [
2168
2187
  m("span", { "aria-hidden": "true" }, "−", -1)
2169
- ])], 8, ca),
2188
+ ])], 8, Ka),
2170
2189
  m("input", {
2171
2190
  id: e.id,
2172
2191
  type: "number",
2173
- class: h(s.value),
2192
+ class: h(n.value),
2174
2193
  value: e.modelValue,
2175
2194
  disabled: e.disabled,
2176
2195
  readonly: e.readonly,
@@ -2183,43 +2202,47 @@ const ul = /* @__PURE__ */ p({
2183
2202
  onInput: v,
2184
2203
  onChange: b,
2185
2204
  onBlur: g,
2186
- onFocus: S
2187
- }, null, 42, fa),
2205
+ onFocus: k
2206
+ }, null, 42, Wa),
2188
2207
  m("button", {
2189
2208
  class: "btn btn-outline-secondary",
2190
2209
  type: "button",
2191
2210
  disabled: !y.value,
2192
2211
  onClick: M,
2193
2212
  "aria-label": "Increment"
2194
- }, [...q[1] || (q[1] = [
2213
+ }, [...P[1] || (P[1] = [
2195
2214
  m("span", { "aria-hidden": "true" }, "+", -1)
2196
- ])], 8, va)
2215
+ ])], 8, Ja)
2197
2216
  ], 2),
2198
- e.helpText && !e.validationMessage ? (l(), n("div", {
2217
+ e.helpText && !e.validationMessage ? (l(), o("div", {
2199
2218
  key: 1,
2200
2219
  id: `${e.id}-feedback`,
2201
2220
  class: "form-text"
2202
- }, f(e.helpText), 9, ba)) : u("", !0),
2203
- a.value === "valid" ? (l(), n("div", ma, f(e.validationMessage || "Looks good!"), 1)) : u("", !0),
2204
- a.value === "invalid" ? (l(), n("div", {
2221
+ }, f(e.helpText), 9, Za)) : u("", !0),
2222
+ a.value === "valid" ? (l(), o("div", _a, f(e.validationMessage || "Looks good!"), 1)) : u("", !0),
2223
+ a.value === "invalid" ? (l(), o("div", {
2205
2224
  key: 3,
2206
2225
  id: `${e.id}-feedback`,
2207
2226
  class: "invalid-feedback",
2208
2227
  style: { display: "block" }
2209
- }, f(e.validationMessage || "Please provide a valid value."), 9, ya)) : u("", !0)
2228
+ }, f(e.validationMessage || "Please provide a valid value."), 9, el)) : u("", !0)
2210
2229
  ]));
2211
2230
  }
2212
- }), Ql = /* @__PURE__ */ U(ha, [["__scopeId", "data-v-e706d3dc"]]), ga = { class: "mb-3" }, pa = ["for"], $a = {
2231
+ }), al = /* @__PURE__ */ K(tl, [["__scopeId", "data-v-f7aee3b4"]]), ll = { class: "mb-3" }, il = ["for"], nl = {
2213
2232
  key: 0,
2214
2233
  class: "text-danger"
2215
- }, ka = ["id", "type", "value", "disabled", "readonly", "required", "min", "max", "aria-invalid", "aria-describedby"], Sa = ["id"], xa = {
2234
+ }, ol = ["id", "type", "value", "disabled", "readonly", "required", "min", "max", "aria-invalid", "aria-describedby"], sl = ["id"], dl = {
2216
2235
  key: 2,
2217
2236
  class: "valid-feedback",
2218
2237
  style: { display: "block" }
2219
- }, Va = ["id"], Kl = /* @__PURE__ */ p({
2238
+ }, rl = ["id"], ul = /* @__PURE__ */ p({
2220
2239
  __name: "VibeFormDatepicker",
2221
2240
  props: {
2222
- modelValue: { type: String, default: "" },
2241
+ modelValue: {
2242
+ type: String,
2243
+ default: "",
2244
+ validator: (e) => !0
2245
+ },
2223
2246
  id: { type: String, required: !0 },
2224
2247
  label: { type: String, default: void 0 },
2225
2248
  disabled: { type: Boolean, default: !1 },
@@ -2236,33 +2259,33 @@ const ul = /* @__PURE__ */ p({
2236
2259
  type: { type: String, default: "date" }
2237
2260
  },
2238
2261
  emits: ["update:modelValue", "validate", "blur", "focus", "input", "change"],
2239
- setup(e, { emit: o }) {
2240
- const t = e, i = o, a = c(() => t.validationState), s = c(() => {
2262
+ setup(e, { emit: d }) {
2263
+ const t = e, i = d, a = c(() => t.validationState), n = c(() => {
2241
2264
  const b = ["form-control"];
2242
2265
  return t.size && b.push(`form-control-${t.size}`), a.value === "valid" && b.push("is-valid"), a.value === "invalid" && b.push("is-invalid"), b.join(" ");
2243
2266
  }), r = (b) => {
2244
2267
  const g = b.target;
2245
2268
  i("update:modelValue", g.value), i("input", b), t.validateOn === "input" && i("validate");
2246
- }, d = (b) => {
2269
+ }, s = (b) => {
2247
2270
  i("change", b), t.validateOn === "change" && i("validate");
2248
2271
  }, y = (b) => {
2249
2272
  i("blur", b), t.validateOn === "blur" && i("validate");
2250
2273
  }, v = (b) => {
2251
2274
  i("focus", b);
2252
2275
  };
2253
- return (b, g) => (l(), n("div", ga, [
2254
- e.label ? (l(), n("label", {
2276
+ return (b, g) => (l(), o("div", ll, [
2277
+ e.label ? (l(), o("label", {
2255
2278
  key: 0,
2256
2279
  for: e.id,
2257
2280
  class: "form-label"
2258
2281
  }, [
2259
2282
  N(f(e.label) + " ", 1),
2260
- e.required ? (l(), n("span", $a, "*")) : u("", !0)
2261
- ], 8, pa)) : u("", !0),
2283
+ e.required ? (l(), o("span", nl, "*")) : u("", !0)
2284
+ ], 8, il)) : u("", !0),
2262
2285
  m("input", {
2263
2286
  id: e.id,
2264
2287
  type: e.type,
2265
- class: h(s.value),
2288
+ class: h(n.value),
2266
2289
  value: e.modelValue,
2267
2290
  disabled: e.disabled,
2268
2291
  readonly: e.readonly,
@@ -2272,35 +2295,39 @@ const ul = /* @__PURE__ */ p({
2272
2295
  "aria-invalid": a.value === "invalid",
2273
2296
  "aria-describedby": e.validationMessage || e.helpText ? `${e.id}-feedback` : void 0,
2274
2297
  onInput: r,
2275
- onChange: d,
2298
+ onChange: s,
2276
2299
  onBlur: y,
2277
2300
  onFocus: v
2278
- }, null, 42, ka),
2279
- e.helpText && !e.validationMessage ? (l(), n("div", {
2301
+ }, null, 42, ol),
2302
+ e.helpText && !e.validationMessage ? (l(), o("div", {
2280
2303
  key: 1,
2281
2304
  id: `${e.id}-feedback`,
2282
2305
  class: "form-text"
2283
- }, f(e.helpText), 9, Sa)) : u("", !0),
2284
- a.value === "valid" ? (l(), n("div", xa, f(e.validationMessage || "Looks good!"), 1)) : u("", !0),
2285
- a.value === "invalid" ? (l(), n("div", {
2306
+ }, f(e.helpText), 9, sl)) : u("", !0),
2307
+ a.value === "valid" ? (l(), o("div", dl, f(e.validationMessage || "Looks good!"), 1)) : u("", !0),
2308
+ a.value === "invalid" ? (l(), o("div", {
2286
2309
  key: 3,
2287
2310
  id: `${e.id}-feedback`,
2288
2311
  class: "invalid-feedback",
2289
2312
  style: { display: "block" }
2290
- }, f(e.validationMessage || "Please provide a valid date."), 9, Va)) : u("", !0)
2313
+ }, f(e.validationMessage || "Please provide a valid date."), 9, rl)) : u("", !0)
2291
2314
  ]));
2292
2315
  }
2293
- }), Ca = ["id", "checked", "value", "disabled", "required", "indeterminate", "aria-invalid", "aria-describedby"], Ba = ["for"], wa = {
2316
+ }), cl = ["id", "checked", "value", "disabled", "required", "indeterminate", "aria-invalid", "aria-describedby"], fl = ["for"], vl = {
2294
2317
  key: 0,
2295
2318
  class: "text-danger"
2296
- }, Na = ["id"], Ta = {
2319
+ }, bl = ["id"], ml = {
2297
2320
  key: 2,
2298
2321
  class: "valid-feedback",
2299
2322
  style: { display: "block" }
2300
- }, Ma = ["id"], Wl = /* @__PURE__ */ p({
2323
+ }, yl = ["id"], hl = /* @__PURE__ */ p({
2301
2324
  __name: "VibeFormCheckbox",
2302
2325
  props: {
2303
- modelValue: { type: [Boolean, Array], default: !1 },
2326
+ modelValue: {
2327
+ type: [Boolean, Array],
2328
+ default: !1,
2329
+ validator: (e) => !0
2330
+ },
2304
2331
  id: { type: String, required: !0 },
2305
2332
  label: { type: String, default: void 0 },
2306
2333
  value: { type: [String, Number, Boolean], default: !0 },
@@ -2315,39 +2342,39 @@ const ul = /* @__PURE__ */ p({
2315
2342
  indeterminate: { type: Boolean, default: !1 }
2316
2343
  },
2317
2344
  emits: ["update:modelValue", "validate", "blur", "focus", "change"],
2318
- setup(e, { emit: o }) {
2319
- const t = e, i = o, a = c(() => t.validationState), s = c(() => {
2345
+ setup(e, { emit: d }) {
2346
+ const t = e, i = d, a = c(() => t.validationState), n = c(() => {
2320
2347
  const g = ["form-check-input"];
2321
2348
  return a.value === "valid" && g.push("is-valid"), a.value === "invalid" && g.push("is-invalid"), g.join(" ");
2322
2349
  }), r = c(() => {
2323
2350
  const g = ["form-check"];
2324
2351
  return t.inline && g.push("form-check-inline"), g.join(" ");
2325
- }), d = c(() => Array.isArray(t.modelValue) ? t.modelValue.includes(t.value) : t.modelValue === t.value || t.modelValue === !0), y = (g) => {
2326
- const S = g.target;
2352
+ }), s = c(() => Array.isArray(t.modelValue) ? t.modelValue.includes(t.value) : t.modelValue === t.value || t.modelValue === !0), y = (g) => {
2353
+ const k = g.target;
2327
2354
  let M;
2328
2355
  if (Array.isArray(t.modelValue))
2329
- if (M = [...t.modelValue], S.checked)
2356
+ if (M = [...t.modelValue], k.checked)
2330
2357
  M.includes(t.value) || M.push(t.value);
2331
2358
  else {
2332
- const j = M.indexOf(t.value);
2333
- j > -1 && M.splice(j, 1);
2359
+ const A = M.indexOf(t.value);
2360
+ A > -1 && M.splice(A, 1);
2334
2361
  }
2335
2362
  else
2336
- M = S.checked;
2363
+ M = k.checked;
2337
2364
  i("update:modelValue", M), i("change", g), t.validateOn === "change" && i("validate");
2338
2365
  }, v = (g) => {
2339
2366
  i("blur", g), t.validateOn === "blur" && i("validate");
2340
2367
  }, b = (g) => {
2341
2368
  i("focus", g);
2342
2369
  };
2343
- return (g, S) => (l(), n("div", {
2370
+ return (g, k) => (l(), o("div", {
2344
2371
  class: h(r.value)
2345
2372
  }, [
2346
2373
  m("input", {
2347
2374
  id: e.id,
2348
2375
  type: "checkbox",
2349
- class: h(s.value),
2350
- checked: d.value,
2376
+ class: h(n.value),
2377
+ checked: s.value,
2351
2378
  value: e.value,
2352
2379
  disabled: e.disabled,
2353
2380
  required: e.required,
@@ -2357,40 +2384,44 @@ const ul = /* @__PURE__ */ p({
2357
2384
  onChange: y,
2358
2385
  onBlur: v,
2359
2386
  onFocus: b
2360
- }, null, 42, Ca),
2361
- e.label ? (l(), n("label", {
2387
+ }, null, 42, cl),
2388
+ e.label ? (l(), o("label", {
2362
2389
  key: 0,
2363
2390
  for: e.id,
2364
2391
  class: "form-check-label"
2365
2392
  }, [
2366
2393
  N(f(e.label) + " ", 1),
2367
- e.required ? (l(), n("span", wa, "*")) : u("", !0)
2368
- ], 8, Ba)) : u("", !0),
2369
- e.helpText && !e.validationMessage ? (l(), n("div", {
2394
+ e.required ? (l(), o("span", vl, "*")) : u("", !0)
2395
+ ], 8, fl)) : u("", !0),
2396
+ e.helpText && !e.validationMessage ? (l(), o("div", {
2370
2397
  key: 1,
2371
2398
  id: `${e.id}-feedback`,
2372
2399
  class: "form-text"
2373
- }, f(e.helpText), 9, Na)) : u("", !0),
2374
- a.value === "valid" ? (l(), n("div", Ta, f(e.validationMessage || "Looks good!"), 1)) : u("", !0),
2375
- a.value === "invalid" ? (l(), n("div", {
2400
+ }, f(e.helpText), 9, bl)) : u("", !0),
2401
+ a.value === "valid" ? (l(), o("div", ml, f(e.validationMessage || "Looks good!"), 1)) : u("", !0),
2402
+ a.value === "invalid" ? (l(), o("div", {
2376
2403
  key: 3,
2377
2404
  id: `${e.id}-feedback`,
2378
2405
  class: "invalid-feedback",
2379
2406
  style: { display: "block" }
2380
- }, f(e.validationMessage || "You must check this box."), 9, Ma)) : u("", !0)
2407
+ }, f(e.validationMessage || "You must check this box."), 9, yl)) : u("", !0)
2381
2408
  ], 2));
2382
2409
  }
2383
- }), qa = ["id", "checked", "value", "name", "disabled", "required", "aria-invalid", "aria-describedby"], Pa = ["for"], za = {
2410
+ }), gl = ["id", "checked", "value", "name", "disabled", "required", "aria-invalid", "aria-describedby"], pl = ["for"], $l = {
2384
2411
  key: 0,
2385
2412
  class: "text-danger"
2386
- }, Ia = ["id"], Fa = {
2413
+ }, kl = ["id"], Sl = {
2387
2414
  key: 2,
2388
2415
  class: "valid-feedback",
2389
2416
  style: { display: "block" }
2390
- }, ja = ["id"], Jl = /* @__PURE__ */ p({
2417
+ }, Vl = ["id"], xl = /* @__PURE__ */ p({
2391
2418
  __name: "VibeFormRadio",
2392
2419
  props: {
2393
- modelValue: { type: [String, Number, Boolean], default: void 0 },
2420
+ modelValue: {
2421
+ type: [String, Number, Boolean],
2422
+ default: void 0,
2423
+ validator: (e) => !0
2424
+ },
2394
2425
  id: { type: String, required: !0 },
2395
2426
  label: { type: String, default: void 0 },
2396
2427
  value: { type: [String, Number, Boolean], required: !0 },
@@ -2405,28 +2436,28 @@ const ul = /* @__PURE__ */ p({
2405
2436
  helpText: { type: String, default: void 0 }
2406
2437
  },
2407
2438
  emits: ["update:modelValue", "validate", "blur", "focus", "change"],
2408
- setup(e, { emit: o }) {
2409
- const t = e, i = o, a = c(() => t.validationState), s = c(() => {
2439
+ setup(e, { emit: d }) {
2440
+ const t = e, i = d, a = c(() => t.validationState), n = c(() => {
2410
2441
  const g = ["form-check-input"];
2411
2442
  return a.value === "valid" && g.push("is-valid"), a.value === "invalid" && g.push("is-invalid"), g.join(" ");
2412
2443
  }), r = c(() => {
2413
2444
  const g = ["form-check"];
2414
2445
  return t.inline && g.push("form-check-inline"), g.join(" ");
2415
- }), d = c(() => t.modelValue === t.value), y = (g) => {
2446
+ }), s = c(() => t.modelValue === t.value), y = (g) => {
2416
2447
  g.target.checked && i("update:modelValue", t.value), i("change", g), t.validateOn === "change" && i("validate");
2417
2448
  }, v = (g) => {
2418
2449
  i("blur", g), t.validateOn === "blur" && i("validate");
2419
2450
  }, b = (g) => {
2420
2451
  i("focus", g);
2421
2452
  };
2422
- return (g, S) => (l(), n("div", {
2453
+ return (g, k) => (l(), o("div", {
2423
2454
  class: h(r.value)
2424
2455
  }, [
2425
2456
  m("input", {
2426
2457
  id: e.id,
2427
2458
  type: "radio",
2428
- class: h(s.value),
2429
- checked: d.value,
2459
+ class: h(n.value),
2460
+ checked: s.value,
2430
2461
  value: e.value,
2431
2462
  name: e.name,
2432
2463
  disabled: e.disabled,
@@ -2436,40 +2467,44 @@ const ul = /* @__PURE__ */ p({
2436
2467
  onChange: y,
2437
2468
  onBlur: v,
2438
2469
  onFocus: b
2439
- }, null, 42, qa),
2440
- e.label ? (l(), n("label", {
2470
+ }, null, 42, gl),
2471
+ e.label ? (l(), o("label", {
2441
2472
  key: 0,
2442
2473
  for: e.id,
2443
2474
  class: "form-check-label"
2444
2475
  }, [
2445
2476
  N(f(e.label) + " ", 1),
2446
- e.required ? (l(), n("span", za, "*")) : u("", !0)
2447
- ], 8, Pa)) : u("", !0),
2448
- e.helpText && !e.validationMessage ? (l(), n("div", {
2477
+ e.required ? (l(), o("span", $l, "*")) : u("", !0)
2478
+ ], 8, pl)) : u("", !0),
2479
+ e.helpText && !e.validationMessage ? (l(), o("div", {
2449
2480
  key: 1,
2450
2481
  id: `${e.id}-feedback`,
2451
2482
  class: "form-text"
2452
- }, f(e.helpText), 9, Ia)) : u("", !0),
2453
- a.value === "valid" ? (l(), n("div", Fa, f(e.validationMessage || "Looks good!"), 1)) : u("", !0),
2454
- a.value === "invalid" ? (l(), n("div", {
2483
+ }, f(e.helpText), 9, kl)) : u("", !0),
2484
+ a.value === "valid" ? (l(), o("div", Sl, f(e.validationMessage || "Looks good!"), 1)) : u("", !0),
2485
+ a.value === "invalid" ? (l(), o("div", {
2455
2486
  key: 3,
2456
2487
  id: `${e.id}-feedback`,
2457
2488
  class: "invalid-feedback",
2458
2489
  style: { display: "block" }
2459
- }, f(e.validationMessage || "Please select an option."), 9, ja)) : u("", !0)
2490
+ }, f(e.validationMessage || "Please select an option."), 9, Vl)) : u("", !0)
2460
2491
  ], 2));
2461
2492
  }
2462
- }), Aa = { class: "form-check form-switch" }, La = ["id", "checked", "disabled", "required", "aria-invalid", "aria-describedby"], Oa = ["for"], Xa = {
2493
+ }), Cl = { class: "form-check form-switch" }, Bl = ["id", "checked", "disabled", "required", "aria-invalid", "aria-describedby"], wl = ["for"], Nl = {
2463
2494
  key: 0,
2464
2495
  class: "text-danger"
2465
- }, Da = ["id"], Ra = {
2496
+ }, Tl = ["id"], Ml = {
2466
2497
  key: 2,
2467
2498
  class: "valid-feedback",
2468
2499
  style: { display: "block" }
2469
- }, Ea = ["id"], Zl = /* @__PURE__ */ p({
2500
+ }, Pl = ["id"], ql = /* @__PURE__ */ p({
2470
2501
  __name: "VibeFormSwitch",
2471
2502
  props: {
2472
- modelValue: { type: Boolean, default: !1 },
2503
+ modelValue: {
2504
+ type: Boolean,
2505
+ default: !1,
2506
+ validator: (e) => !0
2507
+ },
2473
2508
  id: { type: String, required: !0 },
2474
2509
  label: { type: String, default: void 0 },
2475
2510
  disabled: { type: Boolean, default: !1 },
@@ -2481,23 +2516,23 @@ const ul = /* @__PURE__ */ p({
2481
2516
  helpText: { type: String, default: void 0 }
2482
2517
  },
2483
2518
  emits: ["update:modelValue", "validate", "blur", "focus", "change"],
2484
- setup(e, { emit: o }) {
2485
- const t = e, i = o, a = c(() => t.validationState), s = c(() => {
2519
+ setup(e, { emit: d }) {
2520
+ const t = e, i = d, a = c(() => t.validationState), n = c(() => {
2486
2521
  const v = ["form-check-input"];
2487
2522
  return a.value === "valid" && v.push("is-valid"), a.value === "invalid" && v.push("is-invalid"), v.join(" ");
2488
2523
  }), r = (v) => {
2489
2524
  const b = v.target;
2490
2525
  i("update:modelValue", b.checked), i("change", v), t.validateOn === "change" && i("validate");
2491
- }, d = (v) => {
2526
+ }, s = (v) => {
2492
2527
  i("blur", v), t.validateOn === "blur" && i("validate");
2493
2528
  }, y = (v) => {
2494
2529
  i("focus", v);
2495
2530
  };
2496
- return (v, b) => (l(), n("div", Aa, [
2531
+ return (v, b) => (l(), o("div", Cl, [
2497
2532
  m("input", {
2498
2533
  id: e.id,
2499
2534
  type: "checkbox",
2500
- class: h(s.value),
2535
+ class: h(n.value),
2501
2536
  checked: e.modelValue,
2502
2537
  disabled: e.disabled,
2503
2538
  required: e.required,
@@ -2505,46 +2540,46 @@ const ul = /* @__PURE__ */ p({
2505
2540
  "aria-describedby": e.validationMessage || e.helpText ? `${e.id}-feedback` : void 0,
2506
2541
  role: "switch",
2507
2542
  onChange: r,
2508
- onBlur: d,
2543
+ onBlur: s,
2509
2544
  onFocus: y
2510
- }, null, 42, La),
2511
- e.label ? (l(), n("label", {
2545
+ }, null, 42, Bl),
2546
+ e.label ? (l(), o("label", {
2512
2547
  key: 0,
2513
2548
  for: e.id,
2514
2549
  class: "form-check-label"
2515
2550
  }, [
2516
2551
  N(f(e.label) + " ", 1),
2517
- e.required ? (l(), n("span", Xa, "*")) : u("", !0)
2518
- ], 8, Oa)) : u("", !0),
2519
- e.helpText && !e.validationMessage ? (l(), n("div", {
2552
+ e.required ? (l(), o("span", Nl, "*")) : u("", !0)
2553
+ ], 8, wl)) : u("", !0),
2554
+ e.helpText && !e.validationMessage ? (l(), o("div", {
2520
2555
  key: 1,
2521
2556
  id: `${e.id}-feedback`,
2522
2557
  class: "form-text"
2523
- }, f(e.helpText), 9, Da)) : u("", !0),
2524
- a.value === "valid" ? (l(), n("div", Ra, f(e.validationMessage || "Looks good!"), 1)) : u("", !0),
2525
- a.value === "invalid" ? (l(), n("div", {
2558
+ }, f(e.helpText), 9, Tl)) : u("", !0),
2559
+ a.value === "valid" ? (l(), o("div", Ml, f(e.validationMessage || "Looks good!"), 1)) : u("", !0),
2560
+ a.value === "invalid" ? (l(), o("div", {
2526
2561
  key: 3,
2527
2562
  id: `${e.id}-feedback`,
2528
2563
  class: "invalid-feedback",
2529
2564
  style: { display: "block" }
2530
- }, f(e.validationMessage || "You must toggle this switch."), 9, Ea)) : u("", !0)
2565
+ }, f(e.validationMessage || "You must toggle this switch."), 9, Pl)) : u("", !0)
2531
2566
  ]));
2532
2567
  }
2533
- }), Ya = ["for"], Ga = {
2568
+ }), Fl = ["for"], Il = {
2534
2569
  key: 0,
2535
2570
  class: "text-danger"
2536
- }, Ha = ["id"], Ua = {
2571
+ }, zl = ["id"], Al = {
2537
2572
  key: 1,
2538
2573
  class: "valid-feedback",
2539
2574
  style: { display: "block" }
2540
- }, Qa = ["id"], Ka = ["for"], Wa = {
2575
+ }, jl = ["id"], Ll = ["for"], Ol = {
2541
2576
  key: 0,
2542
2577
  class: "text-danger"
2543
- }, Ja = ["id"], Za = {
2578
+ }, Dl = ["id"], Xl = {
2544
2579
  key: 2,
2545
2580
  class: "valid-feedback",
2546
2581
  style: { display: "block" }
2547
- }, _a = ["id"], _l = /* @__PURE__ */ p({
2582
+ }, Rl = ["id"], Gl = /* @__PURE__ */ p({
2548
2583
  __name: "VibeFormGroup",
2549
2584
  props: {
2550
2585
  label: { type: String, default: void 0 },
@@ -2559,81 +2594,85 @@ const ul = /* @__PURE__ */ p({
2559
2594
  labelAlign: { type: String, default: void 0 }
2560
2595
  },
2561
2596
  setup(e) {
2562
- const o = e, t = c(() => {
2597
+ const d = e, t = c(() => {
2563
2598
  const r = [];
2564
- return o.floating ? r.push("form-floating") : o.row ? r.push("row", "mb-3") : r.push("mb-3"), r.join(" ");
2599
+ return d.floating ? r.push("form-floating") : d.row ? r.push("row", "mb-3") : r.push("mb-3"), r.join(" ");
2565
2600
  }), i = c(() => {
2566
2601
  const r = [];
2567
- return o.floating ? r.push("form-label") : o.row ? (r.push("col-form-label"), o.labelCols && r.push(`col-sm-${o.labelCols}`), o.labelAlign && r.push(`text-${o.labelAlign}`)) : r.push("form-label"), r.join(" ");
2568
- }), a = c(() => o.row && o.labelCols ? `col-sm-${12 - Number(o.labelCols)}` : ""), s = c(() => o.labelFor ? `${o.labelFor}-feedback` : void 0);
2569
- return (r, d) => (l(), n("div", {
2602
+ return d.floating ? r.push("form-label") : d.row ? (r.push("col-form-label"), d.labelCols && r.push(`col-sm-${d.labelCols}`), d.labelAlign && r.push(`text-${d.labelAlign}`)) : r.push("form-label"), r.join(" ");
2603
+ }), a = c(() => d.row && d.labelCols ? `col-sm-${12 - Number(d.labelCols)}` : ""), n = c(() => d.labelFor ? `${d.labelFor}-feedback` : void 0);
2604
+ return (r, s) => (l(), o("div", {
2570
2605
  class: h(t.value)
2571
2606
  }, [
2572
- e.label && !e.floating ? (l(), n("label", {
2607
+ e.label && !e.floating ? (l(), o("label", {
2573
2608
  key: 0,
2574
2609
  for: e.labelFor,
2575
2610
  class: h(i.value)
2576
2611
  }, [
2577
2612
  N(f(e.label) + " ", 1),
2578
- e.required ? (l(), n("span", Ga, "*")) : u("", !0)
2579
- ], 10, Ya)) : u("", !0),
2580
- e.row && e.labelCols ? (l(), n("div", {
2613
+ e.required ? (l(), o("span", Il, "*")) : u("", !0)
2614
+ ], 10, Fl)) : u("", !0),
2615
+ e.row && e.labelCols ? (l(), o("div", {
2581
2616
  key: 1,
2582
2617
  class: h(a.value)
2583
2618
  }, [
2584
2619
  $(r.$slots, "default"),
2585
- e.helpText && !e.validationMessage ? (l(), n("div", {
2620
+ e.helpText && !e.validationMessage ? (l(), o("div", {
2586
2621
  key: 0,
2587
- id: s.value,
2622
+ id: n.value,
2588
2623
  class: "form-text"
2589
- }, f(e.helpText), 9, Ha)) : u("", !0),
2590
- e.validationState === "valid" ? (l(), n("div", Ua, f(e.validationMessage || "Looks good!"), 1)) : u("", !0),
2591
- e.validationState === "invalid" ? (l(), n("div", {
2624
+ }, f(e.helpText), 9, zl)) : u("", !0),
2625
+ e.validationState === "valid" ? (l(), o("div", Al, f(e.validationMessage || "Looks good!"), 1)) : u("", !0),
2626
+ e.validationState === "invalid" ? (l(), o("div", {
2592
2627
  key: 2,
2593
- id: s.value,
2628
+ id: n.value,
2594
2629
  class: "invalid-feedback",
2595
2630
  style: { display: "block" }
2596
- }, f(e.validationMessage || "Please provide a valid value."), 9, Qa)) : u("", !0)
2597
- ], 2)) : (l(), n(P, { key: 2 }, [
2631
+ }, f(e.validationMessage || "Please provide a valid value."), 9, jl)) : u("", !0)
2632
+ ], 2)) : (l(), o(q, { key: 2 }, [
2598
2633
  $(r.$slots, "default"),
2599
- e.label && e.floating ? (l(), n("label", {
2634
+ e.label && e.floating ? (l(), o("label", {
2600
2635
  key: 0,
2601
2636
  for: e.labelFor,
2602
2637
  class: h(i.value)
2603
2638
  }, [
2604
2639
  N(f(e.label) + " ", 1),
2605
- e.required ? (l(), n("span", Wa, "*")) : u("", !0)
2606
- ], 10, Ka)) : u("", !0),
2607
- e.helpText && !e.validationMessage ? (l(), n("div", {
2640
+ e.required ? (l(), o("span", Ol, "*")) : u("", !0)
2641
+ ], 10, Ll)) : u("", !0),
2642
+ e.helpText && !e.validationMessage ? (l(), o("div", {
2608
2643
  key: 1,
2609
- id: s.value,
2644
+ id: n.value,
2610
2645
  class: "form-text"
2611
- }, f(e.helpText), 9, Ja)) : u("", !0),
2612
- e.validationState === "valid" ? (l(), n("div", Za, f(e.validationMessage || "Looks good!"), 1)) : u("", !0),
2613
- e.validationState === "invalid" ? (l(), n("div", {
2646
+ }, f(e.helpText), 9, Dl)) : u("", !0),
2647
+ e.validationState === "valid" ? (l(), o("div", Xl, f(e.validationMessage || "Looks good!"), 1)) : u("", !0),
2648
+ e.validationState === "invalid" ? (l(), o("div", {
2614
2649
  key: 3,
2615
- id: s.value,
2650
+ id: n.value,
2616
2651
  class: "invalid-feedback",
2617
2652
  style: { display: "block" }
2618
- }, f(e.validationMessage || "Please provide a valid value."), 9, _a)) : u("", !0)
2653
+ }, f(e.validationMessage || "Please provide a valid value."), 9, Rl)) : u("", !0)
2619
2654
  ], 64))
2620
2655
  ], 2));
2621
2656
  }
2622
- }), el = { class: "mb-3" }, tl = ["for"], al = {
2657
+ }), El = { class: "mb-3" }, Yl = ["for"], Hl = {
2623
2658
  key: 0,
2624
2659
  class: "text-danger"
2625
- }, ll = {
2660
+ }, Ul = {
2626
2661
  key: 1,
2627
2662
  class: "alert alert-warning",
2628
2663
  role: "alert"
2629
- }, il = ["id"], sl = ["id"], nl = {
2664
+ }, Ql = ["id"], Kl = ["id"], Wl = {
2630
2665
  key: 4,
2631
2666
  class: "valid-feedback",
2632
2667
  style: { display: "block" }
2633
- }, dl = ["id"], ol = /* @__PURE__ */ p({
2668
+ }, Jl = ["id"], Zl = /* @__PURE__ */ p({
2634
2669
  __name: "VibeFormWysiwyg",
2635
2670
  props: {
2636
- modelValue: { type: String, default: "" },
2671
+ modelValue: {
2672
+ type: String,
2673
+ default: "",
2674
+ validator: (e) => !0
2675
+ },
2637
2676
  id: { type: String, required: !0 },
2638
2677
  label: { type: String, default: void 0 },
2639
2678
  placeholder: { type: String, default: "Write something..." },
@@ -2650,10 +2689,10 @@ const ul = /* @__PURE__ */ p({
2650
2689
  height: { type: String, default: "200px" }
2651
2690
  },
2652
2691
  emits: ["update:modelValue", "validate", "blur", "focus", "change", "ready"],
2653
- setup(e, { emit: o }) {
2654
- const t = e, i = o, a = z(null), s = z(null), r = z(!1), d = z(null), y = c(() => t.validationState), v = c(() => {
2655
- const S = ["vibe-wysiwyg-container"];
2656
- return y.value === "valid" && S.push("is-valid"), y.value === "invalid" && S.push("is-invalid"), t.disabled && S.push("disabled"), S.join(" ");
2692
+ setup(e, { emit: d }) {
2693
+ const t = e, i = d, a = F(null), n = F(null), r = F(!1), s = F(null), y = c(() => t.validationState), v = c(() => {
2694
+ const k = ["vibe-wysiwyg-container"];
2695
+ return y.value === "valid" && k.push("is-valid"), y.value === "invalid" && k.push("is-invalid"), t.disabled && k.push("disabled"), k.join(" ");
2657
2696
  }), b = [
2658
2697
  [{ header: [1, 2, 3, !1] }],
2659
2698
  ["bold", "italic", "underline", "strike"],
@@ -2662,11 +2701,11 @@ const ul = /* @__PURE__ */ p({
2662
2701
  ["link", "image"],
2663
2702
  ["clean"]
2664
2703
  ], g = () => t.toolbar === !1 ? !1 : t.toolbar === !0 || t.toolbar === void 0 ? b : t.toolbar;
2665
- return oe(async () => {
2704
+ return ge(async () => {
2666
2705
  try {
2667
- const S = await import("quill"), M = S.default || S;
2706
+ const k = await import("quill"), M = k.default || k;
2668
2707
  if (await import("quill/dist/quill.snow.css"), a.value) {
2669
- const j = {
2708
+ const A = {
2670
2709
  theme: t.theme,
2671
2710
  placeholder: t.placeholder,
2672
2711
  readOnly: t.readonly || t.disabled,
@@ -2674,36 +2713,36 @@ const ul = /* @__PURE__ */ p({
2674
2713
  toolbar: g()
2675
2714
  }
2676
2715
  };
2677
- s.value = new M(a.value, j), t.modelValue && (s.value.root.innerHTML = t.modelValue), s.value.on("text-change", () => {
2678
- const B = s.value.root.innerHTML, q = s.value.getText().trim().length === 0;
2679
- i("update:modelValue", q ? "" : B), i("change"), t.validateOn === "change" && i("validate");
2680
- }), s.value.root.addEventListener("blur", () => {
2716
+ n.value = new M(a.value, A), t.modelValue && (n.value.root.innerHTML = t.modelValue), n.value.on("text-change", () => {
2717
+ const B = n.value.root.innerHTML, P = n.value.getText().trim().length === 0;
2718
+ i("update:modelValue", P ? "" : B), i("change"), t.validateOn === "change" && i("validate");
2719
+ }), n.value.root.addEventListener("blur", () => {
2681
2720
  i("blur"), t.validateOn === "blur" && i("validate");
2682
- }), s.value.root.addEventListener("focus", () => {
2721
+ }), n.value.root.addEventListener("focus", () => {
2683
2722
  i("focus");
2684
- }), r.value = !0, i("ready", s.value);
2723
+ }), r.value = !0, i("ready", n.value);
2685
2724
  }
2686
- } catch (S) {
2687
- console.error("Failed to load Quill editor:", S), d.value = "Failed to load WYSIWYG editor. Please install quill: npm install quill", r.value = !1;
2725
+ } catch (k) {
2726
+ console.error("Failed to load Quill editor:", k), s.value = "Failed to load WYSIWYG editor. Please install quill: npm install quill", r.value = !1;
2688
2727
  }
2689
- }), re(() => {
2690
- s.value && (s.value = null);
2691
- }), O(() => t.modelValue, (S) => {
2692
- s.value && s.value.root.innerHTML !== S && (s.value.root.innerHTML = S || "");
2693
- }), O(() => t.disabled, (S) => {
2694
- s.value && s.value.enable(!S);
2695
- }), O(() => t.readonly, (S) => {
2696
- s.value && s.value.enable(!S);
2697
- }), (S, M) => (l(), n("div", el, [
2698
- e.label ? (l(), n("label", {
2728
+ }), pe(() => {
2729
+ n.value && (n.value = null);
2730
+ }), O(() => t.modelValue, (k) => {
2731
+ n.value && n.value.root.innerHTML !== k && (n.value.root.innerHTML = k || "");
2732
+ }), O(() => t.disabled, (k) => {
2733
+ n.value && n.value.enable(!k);
2734
+ }), O(() => t.readonly, (k) => {
2735
+ n.value && n.value.enable(!k);
2736
+ }), (k, M) => (l(), o("div", El, [
2737
+ e.label ? (l(), o("label", {
2699
2738
  key: 0,
2700
2739
  for: e.id,
2701
2740
  class: "form-label"
2702
2741
  }, [
2703
2742
  N(f(e.label) + " ", 1),
2704
- e.required ? (l(), n("span", al, "*")) : u("", !0)
2705
- ], 8, tl)) : u("", !0),
2706
- d.value ? (l(), n("div", ll, f(d.value), 1)) : (l(), n("div", {
2743
+ e.required ? (l(), o("span", Hl, "*")) : u("", !0)
2744
+ ], 8, Yl)) : u("", !0),
2745
+ s.value ? (l(), o("div", Ul, f(s.value), 1)) : (l(), o("div", {
2707
2746
  key: 2,
2708
2747
  class: h(v.value),
2709
2748
  style: R({ minHeight: e.height })
@@ -2712,95 +2751,99 @@ const ul = /* @__PURE__ */ p({
2712
2751
  ref_key: "editorContainer",
2713
2752
  ref: a,
2714
2753
  id: e.id
2715
- }, null, 8, il)
2754
+ }, null, 8, Ql)
2716
2755
  ], 6)),
2717
- e.helpText && !e.validationMessage ? (l(), n("div", {
2756
+ e.helpText && !e.validationMessage ? (l(), o("div", {
2718
2757
  key: 3,
2719
2758
  id: `${e.id}-feedback`,
2720
2759
  class: "form-text"
2721
- }, f(e.helpText), 9, sl)) : u("", !0),
2722
- y.value === "valid" ? (l(), n("div", nl, f(e.validationMessage || "Looks good!"), 1)) : u("", !0),
2723
- y.value === "invalid" ? (l(), n("div", {
2760
+ }, f(e.helpText), 9, Kl)) : u("", !0),
2761
+ y.value === "valid" ? (l(), o("div", Wl, f(e.validationMessage || "Looks good!"), 1)) : u("", !0),
2762
+ y.value === "invalid" ? (l(), o("div", {
2724
2763
  key: 5,
2725
2764
  id: `${e.id}-feedback`,
2726
2765
  class: "invalid-feedback",
2727
2766
  style: { display: "block" }
2728
- }, f(e.validationMessage || "Please provide valid content."), 9, dl)) : u("", !0)
2767
+ }, f(e.validationMessage || "Please provide valid content."), 9, Jl)) : u("", !0)
2729
2768
  ]));
2730
2769
  }
2731
- }), ei = /* @__PURE__ */ U(ol, [["__scopeId", "data-v-2eb8f4ff"]]);
2732
- function ti(e = "") {
2733
- const o = z(e), t = z(null), i = z(""), a = z(!1), s = z(!1), r = z(!1), d = async (M) => {
2770
+ }), _l = /* @__PURE__ */ K(Zl, [["__scopeId", "data-v-792a0bda"]]), ti = {
2771
+ install(e) {
2772
+ e.component("VibeAlert", $e), e.component("VibeBadge", ke), e.component("VibeButton", Se), e.component("VibeButtonGroup", xe), e.component("VibeCloseButton", Be), e.component("VibeSpinner", Ne), e.component("VibePlaceholder", Te), e.component("VibeContainer", Me), e.component("VibeRow", Pe), e.component("VibeCol", qe), e.component("VibeCard", Ie), e.component("VibeCardHeader", J), e.component("VibeCardBody", Z), e.component("VibeCardFooter", _), e.component("VibeCardImg", U), e.component("VibeCardTitle", ee), e.component("VibeCardText", te), e.component("VibeBreadcrumb", Le), e.component("VibeBreadcrumbItem", ae), e.component("VibeNav", De), e.component("VibeNavItem", Q), e.component("VibeNavbar", Xe), e.component("VibeNavbarBrand", Re), e.component("VibeNavbarToggle", Ee), e.component("VibeNavbarNav", Ye), e.component("VibePagination", Ue), e.component("VibePaginationItem", H), e.component("VibeTabContent", Qe), e.component("VibeTabPane", Ke), e.component("VibeListGroup", We), e.component("VibeListGroupItem", le), e.component("VibeProgress", Je), e.component("VibeProgressBar", _e), e.component("VibeAccordion", ot), e.component("VibeAccordionItem", ie), e.component("VibeCollapse", st), e.component("VibeDropdown", ct), e.component("VibeDropdownItem", ne), e.component("VibeModal", gt), e.component("VibeOffcanvas", Vt), e.component("VibeToast", Nt), e.component("VibeCarousel", Rt), e.component("VibeCarouselSlide", oe), e.component("VibeTooltip", Et), e.component("VibePopover", Ht), e.component("VibeScrollspy", Ut), e.component("VibeIcon", Qt), e.component("VibeDataTable", ga), e.component("VibeFormInput", Ba), e.component("VibeFormSelect", Aa), e.component("VibeFormTextarea", Ya), e.component("VibeFormSpinbutton", al), e.component("VibeFormDatepicker", ul), e.component("VibeFormCheckbox", hl), e.component("VibeFormRadio", xl), e.component("VibeFormSwitch", ql), e.component("VibeFormGroup", Gl), e.component("VibeFormWysiwyg", _l);
2773
+ }
2774
+ };
2775
+ function ai(e = "") {
2776
+ const d = F(e), t = F(null), i = F(""), a = F(!1), n = F(!1), r = F(!1), s = async (M) => {
2734
2777
  if (!M)
2735
2778
  return t.value = null, i.value = "", { valid: !0 };
2736
2779
  r.value = !0;
2737
2780
  try {
2738
- const j = Array.isArray(M) ? M : [{ validator: M }];
2739
- for (const B of j) {
2740
- const q = await B.validator(o.value);
2741
- if (q === !1 || typeof q == "string")
2742
- return t.value = "invalid", i.value = typeof q == "string" ? q : B.message || "Invalid value", r.value = !1, { valid: !1, message: i.value };
2781
+ const A = Array.isArray(M) ? M : [{ validator: M }];
2782
+ for (const B of A) {
2783
+ const P = await B.validator(d.value);
2784
+ if (P === !1 || typeof P == "string")
2785
+ return t.value = "invalid", i.value = typeof P == "string" ? P : B.message || "Invalid value", r.value = !1, { valid: !1, message: i.value };
2743
2786
  }
2744
2787
  return t.value = "valid", i.value = "", r.value = !1, { valid: !0 };
2745
2788
  } catch {
2746
2789
  return t.value = "invalid", i.value = "Validation error occurred", r.value = !1, { valid: !1, message: i.value };
2747
2790
  }
2748
2791
  }, y = () => {
2749
- o.value = e, t.value = null, i.value = "", a.value = !1, s.value = !1, r.value = !1;
2792
+ d.value = e, t.value = null, i.value = "", a.value = !1, n.value = !1, r.value = !1;
2750
2793
  }, v = () => {
2751
- s.value = !0;
2794
+ n.value = !0;
2752
2795
  }, b = () => {
2753
2796
  a.value = !0;
2754
- }, g = c(() => t.value === "valid"), S = c(() => t.value === "invalid");
2797
+ }, g = c(() => t.value === "valid"), k = c(() => t.value === "invalid");
2755
2798
  return {
2756
- value: o,
2799
+ value: d,
2757
2800
  validationState: t,
2758
2801
  validationMessage: i,
2759
2802
  isDirty: a,
2760
- isTouched: s,
2803
+ isTouched: n,
2761
2804
  isValidating: r,
2762
2805
  isValid: g,
2763
- isInvalid: S,
2764
- validate: d,
2806
+ isInvalid: k,
2807
+ validate: s,
2765
2808
  reset: y,
2766
2809
  markAsTouched: v,
2767
2810
  markAsDirty: b
2768
2811
  };
2769
2812
  }
2770
- const ai = {
2813
+ const li = {
2771
2814
  required: (e = "This field is required") => ({
2772
- validator: (o) => Array.isArray(o) ? o.length > 0 || e : typeof o == "string" ? o.trim().length > 0 || e : o != null && o !== "" || e,
2815
+ validator: (d) => Array.isArray(d) ? d.length > 0 || e : typeof d == "string" ? d.trim().length > 0 || e : d != null && d !== "" || e,
2773
2816
  message: e
2774
2817
  }),
2775
2818
  email: (e = "Please enter a valid email address") => ({
2776
- validator: (o) => o ? /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(o) || e : !0,
2819
+ validator: (d) => d ? /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(d) || e : !0,
2777
2820
  message: e
2778
2821
  }),
2779
- minLength: (e, o) => ({
2780
- validator: (t) => t ? t.length >= e || o || `Minimum length is ${e} characters` : !0,
2781
- message: o
2822
+ minLength: (e, d) => ({
2823
+ validator: (t) => t ? t.length >= e || d || `Minimum length is ${e} characters` : !0,
2824
+ message: d
2782
2825
  }),
2783
- maxLength: (e, o) => ({
2784
- validator: (t) => t ? t.length <= e || o || `Maximum length is ${e} characters` : !0,
2785
- message: o
2826
+ maxLength: (e, d) => ({
2827
+ validator: (t) => t ? t.length <= e || d || `Maximum length is ${e} characters` : !0,
2828
+ message: d
2786
2829
  }),
2787
- min: (e, o) => ({
2788
- validator: (t) => t == null || t === "" ? !0 : Number(t) >= e || o || `Minimum value is ${e}`,
2789
- message: o
2830
+ min: (e, d) => ({
2831
+ validator: (t) => t == null || t === "" ? !0 : Number(t) >= e || d || `Minimum value is ${e}`,
2832
+ message: d
2790
2833
  }),
2791
- max: (e, o) => ({
2792
- validator: (t) => t == null || t === "" ? !0 : Number(t) <= e || o || `Maximum value is ${e}`,
2793
- message: o
2834
+ max: (e, d) => ({
2835
+ validator: (t) => t == null || t === "" ? !0 : Number(t) <= e || d || `Maximum value is ${e}`,
2836
+ message: d
2794
2837
  }),
2795
- pattern: (e, o = "Invalid format") => ({
2796
- validator: (t) => t ? e.test(t) || o : !0,
2797
- message: o
2838
+ pattern: (e, d = "Invalid format") => ({
2839
+ validator: (t) => t ? e.test(t) || d : !0,
2840
+ message: d
2798
2841
  }),
2799
2842
  url: (e = "Please enter a valid URL") => ({
2800
- validator: (o) => {
2801
- if (!o) return !0;
2843
+ validator: (d) => {
2844
+ if (!d) return !0;
2802
2845
  try {
2803
- return new URL(o), !0;
2846
+ return new URL(d), !0;
2804
2847
  } catch {
2805
2848
  return e;
2806
2849
  }
@@ -2813,64 +2856,65 @@ const ai = {
2813
2856
  })
2814
2857
  };
2815
2858
  export {
2816
- zl as VibeAccordion,
2817
- ze as VibeAccordionItem,
2818
- ul as VibeAlert,
2819
- cl as VibeBadge,
2820
- kl as VibeBreadcrumb,
2821
- $e as VibeBreadcrumbItem,
2822
- fl as VibeButton,
2823
- vl as VibeButtonGroup,
2824
- $l as VibeCard,
2825
- be as VibeCardBody,
2826
- me as VibeCardFooter,
2827
- ve as VibeCardHeader,
2828
- K as VibeCardImg,
2829
- ge as VibeCardText,
2830
- he as VibeCardTitle,
2831
- Ol as VibeCarousel,
2832
- it as VibeCarouselSlide,
2833
- bl as VibeCloseButton,
2834
- pl as VibeCol,
2835
- Il as VibeCollapse,
2836
- hl as VibeContainer,
2837
- Yl as VibeDataTable,
2838
- Fl as VibeDropdown,
2839
- je as VibeDropdownItem,
2840
- Wl as VibeFormCheckbox,
2841
- Kl as VibeFormDatepicker,
2842
- _l as VibeFormGroup,
2843
- Gl as VibeFormInput,
2844
- Jl as VibeFormRadio,
2845
- Hl as VibeFormSelect,
2846
- Ql as VibeFormSpinbutton,
2847
- Zl as VibeFormSwitch,
2848
- Ul as VibeFormTextarea,
2849
- ei as VibeFormWysiwyg,
2850
- El as VibeIcon,
2851
- Ml as VibeListGroup,
2852
- Be as VibeListGroupItem,
2853
- jl as VibeModal,
2854
- Sl as VibeNav,
2855
- W as VibeNavItem,
2856
- xl as VibeNavbar,
2857
- Vl as VibeNavbarBrand,
2858
- Bl as VibeNavbarNav,
2859
- Cl as VibeNavbarToggle,
2860
- Al as VibeOffcanvas,
2861
- wl as VibePagination,
2859
+ ot as VibeAccordion,
2860
+ ie as VibeAccordionItem,
2861
+ $e as VibeAlert,
2862
+ ke as VibeBadge,
2863
+ Le as VibeBreadcrumb,
2864
+ ae as VibeBreadcrumbItem,
2865
+ Se as VibeButton,
2866
+ xe as VibeButtonGroup,
2867
+ Ie as VibeCard,
2868
+ Z as VibeCardBody,
2869
+ _ as VibeCardFooter,
2870
+ J as VibeCardHeader,
2871
+ U as VibeCardImg,
2872
+ te as VibeCardText,
2873
+ ee as VibeCardTitle,
2874
+ Rt as VibeCarousel,
2875
+ oe as VibeCarouselSlide,
2876
+ Be as VibeCloseButton,
2877
+ qe as VibeCol,
2878
+ st as VibeCollapse,
2879
+ Me as VibeContainer,
2880
+ ga as VibeDataTable,
2881
+ ct as VibeDropdown,
2882
+ ne as VibeDropdownItem,
2883
+ hl as VibeFormCheckbox,
2884
+ ul as VibeFormDatepicker,
2885
+ Gl as VibeFormGroup,
2886
+ Ba as VibeFormInput,
2887
+ xl as VibeFormRadio,
2888
+ Aa as VibeFormSelect,
2889
+ al as VibeFormSpinbutton,
2890
+ ql as VibeFormSwitch,
2891
+ Ya as VibeFormTextarea,
2892
+ _l as VibeFormWysiwyg,
2893
+ Qt as VibeIcon,
2894
+ We as VibeListGroup,
2895
+ le as VibeListGroupItem,
2896
+ gt as VibeModal,
2897
+ De as VibeNav,
2898
+ Q as VibeNavItem,
2899
+ Xe as VibeNavbar,
2900
+ Re as VibeNavbarBrand,
2901
+ Ye as VibeNavbarNav,
2902
+ Ee as VibeNavbarToggle,
2903
+ Vt as VibeOffcanvas,
2904
+ Ue as VibePagination,
2862
2905
  H as VibePaginationItem,
2863
- yl as VibePlaceholder,
2864
- Dl as VibePopover,
2865
- ql as VibeProgress,
2866
- Pl as VibeProgressBar,
2867
- gl as VibeRow,
2868
- Rl as VibeScrollspy,
2869
- ml as VibeSpinner,
2870
- Nl as VibeTabContent,
2871
- Tl as VibeTabPane,
2872
- Ll as VibeToast,
2873
- Xl as VibeTooltip,
2874
- ti as useFormValidation,
2875
- ai as validators
2906
+ Te as VibePlaceholder,
2907
+ Ht as VibePopover,
2908
+ Je as VibeProgress,
2909
+ _e as VibeProgressBar,
2910
+ Pe as VibeRow,
2911
+ Ut as VibeScrollspy,
2912
+ Ne as VibeSpinner,
2913
+ Qe as VibeTabContent,
2914
+ Ke as VibeTabPane,
2915
+ Nt as VibeToast,
2916
+ Et as VibeTooltip,
2917
+ ti as default,
2918
+ ai as useFormValidation,
2919
+ li as validators
2876
2920
  };