@velkymx/vibeui 0.3.0 → 0.4.0

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