@velkymx/vibeui 1.0.2 → 1.1.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 (111) hide show
  1. package/dist/{src/components → components}/VibeAlert.vue.d.ts +4 -4
  2. package/dist/{src/components → components}/VibeButton.vue.d.ts +2 -2
  3. package/dist/{src/components → components}/VibeDataTable.vue.d.ts +5 -1
  4. package/dist/components/VibeFormErrorSummary.vue.d.ts +17 -0
  5. package/dist/{src/components → components}/VibeFormInput.vue.d.ts +38 -2
  6. package/dist/{src/components → components}/VibeHero.vue.d.ts +9 -0
  7. package/dist/{src/components → components}/VibeModal.vue.d.ts +18 -0
  8. package/dist/{src/components → components}/VibeSortable.vue.d.ts +1 -1
  9. package/dist/{src/components → components}/VibeToast.vue.d.ts +3 -3
  10. package/dist/{src/components → components}/index.d.ts +2 -1
  11. package/dist/{src/injectionKeys.d.ts → injectionKeys.d.ts} +6 -0
  12. package/dist/purify.es-eYghtX9j.mjs +735 -0
  13. package/dist/{src/types.d.ts → types.d.ts} +2 -0
  14. package/dist/utils/routeKey.d.ts +11 -0
  15. package/dist/vibeui.css +1 -1
  16. package/dist/vibeui.es.js +1240 -982
  17. package/dist/vibeui.umd.js +3 -3
  18. package/docs/components/advanced/popover.md +1 -1
  19. package/docs/components/advanced/scrollspy.md +2 -2
  20. package/docs/components/advanced/tooltip.md +1 -1
  21. package/docs/components/core/button.md +19 -1
  22. package/docs/components/core/close-button.md +1 -1
  23. package/docs/components/data/datatable.md +3 -1
  24. package/docs/components/hero/hero.md +1 -0
  25. package/docs/components/interactive/modal.md +8 -0
  26. package/docs/components/navigation/navbar.md +6 -0
  27. package/docs/components/navigation/pagination.md +1 -0
  28. package/docs/forms/form-error-summary.md +96 -0
  29. package/docs/forms/form-group.md +4 -1
  30. package/docs/forms/form-input.md +28 -0
  31. package/llms.txt +24 -5
  32. package/package.json +1 -1
  33. package/dist/purify.es-1D-VntFD.mjs +0 -679
  34. package/dist/{src/App.vue.d.ts → App.vue.d.ts} +0 -0
  35. package/dist/{src/components → components}/HelloWorld.vue.d.ts +0 -0
  36. package/dist/{src/components → components}/VibeAccordion.vue.d.ts +0 -0
  37. package/dist/{src/components → components}/VibeAutocomplete.vue.d.ts +0 -0
  38. package/dist/{src/components → components}/VibeBadge.vue.d.ts +0 -0
  39. package/dist/{src/components → components}/VibeBreadcrumb.vue.d.ts +0 -0
  40. package/dist/{src/components → components}/VibeButtonGroup.vue.d.ts +1 -1
  41. package/dist/{src/components → components}/VibeCard.vue.d.ts +0 -0
  42. package/dist/{src/components → components}/VibeCarousel.vue.d.ts +1 -1
  43. package/dist/{src/components → components}/VibeChartBar.vue.d.ts +0 -0
  44. package/dist/{src/components → components}/VibeChartLine.vue.d.ts +0 -0
  45. package/dist/{src/components → components}/VibeChartPie.vue.d.ts +0 -0
  46. package/dist/{src/components → components}/VibeCloseButton.vue.d.ts +0 -0
  47. package/dist/{src/components → components}/VibeCol.vue.d.ts +0 -0
  48. package/dist/{src/components → components}/VibeCollapse.vue.d.ts +1 -1
  49. package/dist/{src/components → components}/VibeContainer.vue.d.ts +0 -0
  50. package/dist/{src/components → components}/VibeDatePicker.vue.d.ts +1 -1
  51. package/dist/{src/components → components}/VibeDraggable.vue.d.ts +0 -0
  52. package/dist/{src/components → components}/VibeDropdown.vue.d.ts +0 -0
  53. package/dist/{src/components → components}/VibeDroppable.vue.d.ts +0 -0
  54. package/dist/{src/components → components}/VibeFileInput.vue.d.ts +1 -1
  55. package/dist/{src/components → components}/VibeFormCheckbox.vue.d.ts +1 -1
  56. package/dist/{src/components → components}/VibeFormDatepicker.vue.d.ts +1 -1
  57. package/dist/{src/components → components}/VibeFormGroup.vue.d.ts +0 -0
  58. package/dist/{src/components → components}/VibeFormRadio.vue.d.ts +1 -1
  59. package/dist/{src/components → components}/VibeFormSelect.vue.d.ts +1 -1
  60. package/dist/{src/components → components}/VibeFormSpinbutton.vue.d.ts +1 -1
  61. package/dist/{src/components → components}/VibeFormSwitch.vue.d.ts +1 -1
  62. package/dist/{src/components → components}/VibeFormTextarea.vue.d.ts +1 -1
  63. package/dist/{src/components → components}/VibeFormWysiwyg.vue.d.ts +1 -1
  64. package/dist/{src/components → components}/VibeIcon.vue.d.ts +1 -1
  65. package/dist/{src/components → components}/VibeInputGroup.vue.d.ts +1 -1
  66. /package/dist/{src/components → components}/VibeLink.vue.d.ts +0 -0
  67. /package/dist/{src/components → components}/VibeListGroup.vue.d.ts +0 -0
  68. /package/dist/{src/components → components}/VibeNav.vue.d.ts +0 -0
  69. /package/dist/{src/components → components}/VibeNavbar.vue.d.ts +0 -0
  70. /package/dist/{src/components → components}/VibeNavbarBrand.vue.d.ts +0 -0
  71. /package/dist/{src/components → components}/VibeNavbarNav.vue.d.ts +0 -0
  72. /package/dist/{src/components → components}/VibeNavbarToggle.vue.d.ts +0 -0
  73. /package/dist/{src/components → components}/VibeOffcanvas.vue.d.ts +0 -0
  74. /package/dist/{src/components → components}/VibePagination.vue.d.ts +0 -0
  75. /package/dist/{src/components → components}/VibePlaceholder.vue.d.ts +0 -0
  76. /package/dist/{src/components → components}/VibePopover.vue.d.ts +0 -0
  77. /package/dist/{src/components → components}/VibeProgress.vue.d.ts +0 -0
  78. /package/dist/{src/components → components}/VibeResizable.vue.d.ts +0 -0
  79. /package/dist/{src/components → components}/VibeRow.vue.d.ts +0 -0
  80. /package/dist/{src/components → components}/VibeScrollspy.vue.d.ts +0 -0
  81. /package/dist/{src/components → components}/VibeSkeleton.vue.d.ts +0 -0
  82. /package/dist/{src/components → components}/VibeSlider.vue.d.ts +0 -0
  83. /package/dist/{src/components → components}/VibeSpinner.vue.d.ts +0 -0
  84. /package/dist/{src/components → components}/VibeStepper.vue.d.ts +0 -0
  85. /package/dist/{src/components → components}/VibeTab.vue.d.ts +0 -0
  86. /package/dist/{src/components → components}/VibeTabContent.vue.d.ts +0 -0
  87. /package/dist/{src/components → components}/VibeTabs.vue.d.ts +0 -0
  88. /package/dist/{src/components → components}/VibeToastHost.vue.d.ts +0 -0
  89. /package/dist/{src/components → components}/VibeTooltip.vue.d.ts +0 -0
  90. /package/dist/{src/components → components}/chart/chartColors.d.ts +0 -0
  91. /package/dist/{src/components → components}/chart/chartResize.d.ts +0 -0
  92. /package/dist/{src/components → components}/chart/chartTooltip.d.ts +0 -0
  93. /package/dist/{src/components → components}/chart/chartTypes.d.ts +0 -0
  94. /package/dist/{src/components → components}/chart/drawBar.d.ts +0 -0
  95. /package/dist/{src/components → components}/chart/drawLine.d.ts +0 -0
  96. /package/dist/{src/components → components}/chart/drawPie.d.ts +0 -0
  97. /package/dist/{src/components → components}/dndStore.d.ts +0 -0
  98. /package/dist/{src/composables → composables}/useBackButton.d.ts +0 -0
  99. /package/dist/{src/composables → composables}/useBreakpoints.d.ts +0 -0
  100. /package/dist/{src/composables → composables}/useColorMode.d.ts +0 -0
  101. /package/dist/{src/composables → composables}/useForm.d.ts +0 -0
  102. /package/dist/{src/composables → composables}/useFormValidation.d.ts +0 -0
  103. /package/dist/{src/composables → composables}/useId.d.ts +0 -0
  104. /package/dist/{src/composables → composables}/usePosition.d.ts +0 -0
  105. /package/dist/{src/composables → composables}/useToast.d.ts +0 -0
  106. /package/dist/{src/directives → directives}/vTooltip.d.ts +0 -0
  107. /package/dist/{src/index.d.ts → index.d.ts} +0 -0
  108. /package/dist/{src/main.d.ts → main.d.ts} +0 -0
  109. /package/dist/{src/utils → utils}/safeCss.d.ts +0 -0
  110. /package/dist/{src/utils → utils}/safeHref.d.ts +0 -0
  111. /package/dist/{src/utils → utils}/sanitizeHtml.d.ts +0 -0
package/dist/vibeui.es.js CHANGED
@@ -1,5 +1,4 @@
1
1
  import { Fragment as e, Teleport as t, computed as n, createBlock as r, createCommentVNode as i, createElementBlock as a, createElementVNode as o, createTextVNode as s, defineComponent as c, getCurrentInstance as l, inject as u, mergeModels as d, mergeProps as f, nextTick as p, normalizeClass as m, normalizeStyle as h, onActivated as g, onBeforeUnmount as _, onDeactivated as v, onMounted as y, onUnmounted as b, openBlock as x, provide as S, reactive as C, readonly as w, ref as T, renderList as E, renderSlot as D, resolveDynamicComponent as O, shallowRef as k, toDisplayString as A, unref as j, useModel as M, vModelSelect as N, vModelText as P, vShow as F, watch as I, watchEffect as L, withCtx as R, withDirectives as z, withKeys as B, withMemo as V, withModifiers as H } from "vue";
2
- import "quill";
3
2
  //#endregion
4
3
  //#region src/components/VibeAlert.vue
5
4
  var ee = /* @__PURE__ */ c({
@@ -52,7 +51,8 @@ var ee = /* @__PURE__ */ c({
52
51
  }
53
52
  h = !0, w();
54
53
  try {
55
- if (!l.value || u.value) return;
54
+ if (!l.value) return;
55
+ u.value &&= (u.value.dispose(), null);
56
56
  let e = await import("bootstrap");
57
57
  if (!l.value || v) return;
58
58
  u.value = new e.Alert(l.value), C();
@@ -127,7 +127,7 @@ var ee = /* @__PURE__ */ c({
127
127
  _: 3
128
128
  }, 8, ["class"]));
129
129
  }
130
- }), ne = /* @__PURE__ */ c({
130
+ }), U = /*@__PURE__*/ c({
131
131
  __name: "VibeButton",
132
132
  props: {
133
133
  variant: {
@@ -169,26 +169,30 @@ var ee = /* @__PURE__ */ c({
169
169
  },
170
170
  emits: ["click", "component-error"],
171
171
  setup(e, { emit: t }) {
172
- let i = e, a = t, o = n(() => i.href ? "a" : i.to ? i.disabled ? "span" : "router-link" : "button"), s = n(() => {
172
+ let i = e, a = t, o = T(null);
173
+ y(() => {});
174
+ let s = n(() => i.href ? "a" : i.to ? i.disabled ? "span" : "router-link" : "button"), c = n(() => {
173
175
  let e = ["btn"];
174
- return i.variant === "link" ? e.push("btn-link") : i.outline ? e.push(`btn-outline-${i.variant}`) : e.push(`btn-${i.variant}`), i.size && e.push(`btn-${i.size}`), i.active && e.push("active"), i.focusRing && e.push("focus-ring"), i.disabled && o.value !== "button" && e.push("disabled"), e.join(" ");
175
- }), c = (e) => {
176
+ return i.variant === "link" ? e.push("btn-link") : i.outline ? e.push(`btn-outline-${i.variant}`) : e.push(`btn-${i.variant}`), i.size && e.push(`btn-${i.size}`), i.active && e.push("active"), i.focusRing && e.push("focus-ring"), i.disabled && s.value !== "button" && e.push("disabled"), e.join(" ");
177
+ }), l = (e) => {
176
178
  if (i.disabled) {
177
179
  e.preventDefault();
178
180
  return;
179
181
  }
180
182
  a("click", e);
181
183
  };
182
- return (t, n) => (x(), r(O(o.value), {
183
- class: m(s.value),
184
+ return (t, n) => (x(), r(O(s.value), {
185
+ ref_key: "rootRef",
186
+ ref: o,
187
+ class: m(c.value),
184
188
  type: e.href || e.to ? void 0 : e.type,
185
189
  href: e.href,
186
190
  to: e.to || void 0,
187
- disabled: o.value === "button" ? e.disabled : void 0,
191
+ disabled: s.value === "button" ? e.disabled : void 0,
188
192
  "aria-disabled": e.disabled || void 0,
189
- onClick: c
193
+ onClick: l
190
194
  }, {
191
- default: R(() => [D(t.$slots, "default")]),
195
+ default: R(() => [D(t.$slots, "default", {}, void 0, !0)]),
192
196
  _: 3
193
197
  }, 8, [
194
198
  "class",
@@ -199,7 +203,11 @@ var ee = /* @__PURE__ */ c({
199
203
  "aria-disabled"
200
204
  ]));
201
205
  }
202
- }), re = ["role", "aria-label"], U = /* @__PURE__ */ c({
206
+ }), W = (e, t) => {
207
+ let n = e.__vccOpts || e;
208
+ for (let [e, r] of t) n[e] = r;
209
+ return n;
210
+ }, ne = /*#__PURE__*/ W(U, [["__scopeId", "data-v-17d9412e"]]), re = ["role", "aria-label"], ie = /* @__PURE__ */ c({
203
211
  __name: "VibeButtonGroup",
204
212
  props: {
205
213
  size: {
@@ -230,7 +238,7 @@ var ee = /* @__PURE__ */ c({
230
238
  "aria-label": e.ariaLabel
231
239
  }, [D(t.$slots, "default")], 10, re));
232
240
  }
233
- }), ie = ["disabled", "aria-label"], ae = /* @__PURE__ */ c({
241
+ }), ae = ["disabled", "aria-label"], oe = /* @__PURE__ */ c({
234
242
  __name: "VibeCloseButton",
235
243
  props: {
236
244
  disabled: {
@@ -257,9 +265,9 @@ var ee = /* @__PURE__ */ c({
257
265
  disabled: e.disabled,
258
266
  "aria-label": e.ariaLabel,
259
267
  onClick: i
260
- }, null, 10, ie));
268
+ }, null, 10, ae));
261
269
  }
262
- }), oe = { class: "visually-hidden" }, se = /* @__PURE__ */ c({
270
+ }), se = { class: "visually-hidden" }, ce = /* @__PURE__ */ c({
263
271
  __name: "VibeSpinner",
264
272
  props: {
265
273
  variant: {
@@ -292,11 +300,11 @@ var ee = /* @__PURE__ */ c({
292
300
  class: m(i.value),
293
301
  role: "status"
294
302
  }, {
295
- default: R(() => [o("span", oe, A(e.label), 1)]),
303
+ default: R(() => [o("span", se, A(e.label), 1)]),
296
304
  _: 1
297
305
  }, 8, ["class"]));
298
306
  }
299
- }), ce = /* @__PURE__ */ c({
307
+ }), le = /* @__PURE__ */ c({
300
308
  __name: "VibePlaceholder",
301
309
  props: {
302
310
  variant: {
@@ -337,7 +345,7 @@ var ee = /* @__PURE__ */ c({
337
345
  _: 3
338
346
  }, 8, ["class"]));
339
347
  }
340
- }), le = /* @__PURE__ */ c({
348
+ }), ue = /*#__PURE__*/ W(/* @__PURE__ */ c({
341
349
  inheritAttrs: !1,
342
350
  __name: "VibeSkeleton",
343
351
  props: {
@@ -388,7 +396,7 @@ var ee = /* @__PURE__ */ c({
388
396
  width: e === l.value && l.value > 1 ? "60%" : s(t.width),
389
397
  height: s(t.height)
390
398
  }
391
- }, { ref_for: !0 }, e === 1 ? n.$attrs : void 0, {
399
+ }, { ref_for: !0 }, n.$attrs, {
392
400
  role: "status",
393
401
  "aria-busy": "true"
394
402
  }), null, 16))), 128)) : t.variant === "rect" ? (x(), a("div", f({
@@ -448,11 +456,7 @@ var ee = /* @__PURE__ */ c({
448
456
  }, null, 2)
449
457
  ], 16)) : i("", !0);
450
458
  }
451
- }), W = (e, t) => {
452
- let n = e.__vccOpts || e;
453
- for (let [e, r] of t) n[e] = r;
454
- return n;
455
- }, ue = /* @__PURE__ */ W(le, [["__scopeId", "data-v-56cea6eb"]]), de = /* @__PURE__ */ c({
459
+ }), [["__scopeId", "data-v-c0c2699d"]]), de = /* @__PURE__ */ c({
456
460
  __name: "VibeContainer",
457
461
  props: {
458
462
  fluid: {
@@ -880,7 +884,7 @@ function G(e) {
880
884
  }
881
885
  //#endregion
882
886
  //#region src/utils/safeCss.ts
883
- var be = /^(auto|0|[\d.]+(%|px|rem|em|vh|vw|dvh|dvw|svh|svw|ch|ex|vmin|vmax))$/, xe = /^(#[0-9a-fA-F]{3,8}|rgba?\(\s*[\d.,\s]+\)|hsla?\(\s*[\d.,\s%]+\)|var\(--[\w-]+(?:\s*,\s*[^)]+)?\)|[a-zA-Z]+)$/, Se = new Set([
887
+ var be = /^(auto|0|[\d.]+(%|px|rem|em|vh|vw|dvh|dvw|svh|svw|ch|ex|vmin|vmax))$/, xe = /^(#[0-9a-fA-F]{3,8}|rgba?\(\s*[\d.,\s]+\)|hsla?\(\s*[\d.,\s%]+\)|var\(--[\w-]+(?:\s*,\s*[^)]+)?\)|[a-zA-Z]+)$/, Se = /* @__PURE__ */ new Set([
884
888
  "width",
885
889
  "minWidth",
886
890
  "maxWidth",
@@ -951,6 +955,10 @@ var Ee = /* @__PURE__ */ c({
951
955
  type: [Boolean, String],
952
956
  default: !1
953
957
  },
958
+ overlayOpacity: {
959
+ type: Number,
960
+ default: .5
961
+ },
954
962
  gradient: {
955
963
  type: String,
956
964
  default: void 0
@@ -972,8 +980,8 @@ var Ee = /* @__PURE__ */ c({
972
980
  let e = {}, n = G(t.bgImage), r = a(t.gradient), i = [];
973
981
  if (r) i.push(r);
974
982
  else if (n && t.overlay) {
975
- let e = typeof t.overlay == "string" ? we(t.overlay) ?? "rgba(0, 0, 0, 0.5)" : "rgba(0, 0, 0, 0.5)";
976
- i.push(`linear-gradient(${e}, ${e})`);
983
+ let e = Math.min(1, Math.max(0, t.overlayOpacity)), n = typeof t.overlay == "string" ? we(t.overlay) ?? `rgba(0, 0, 0, ${e})` : `rgba(0, 0, 0, ${e})`;
984
+ i.push(`linear-gradient(${n}, ${n})`);
977
985
  }
978
986
  n && i.push(`url("${n}")`), i.length && (e.backgroundImage = i.join(", "), n && (e.backgroundSize = "cover", e.backgroundPosition = "center"));
979
987
  let o = Ce(t.minHeight);
@@ -1012,9 +1020,10 @@ var Ee = /* @__PURE__ */ c({
1012
1020
  key: e.href || e.text || String(t),
1013
1021
  class: m(["breadcrumb-item", { active: e.active }]),
1014
1022
  "aria-current": e.active ? "page" : void 0
1015
- }, [(x(), r(O(e.active ? "span" : j(G)(e.href) ? "a" : e.to ? "router-link" : "span"), {
1023
+ }, [(x(), r(O(e.active ? "span" : j(G)(e.href) ? "a" : e.to ? "router-link" : "button"), {
1016
1024
  href: e.active ? void 0 : j(G)(e.href),
1017
1025
  to: e.active ? void 0 : e.to,
1026
+ type: !e.active && !e.href && !e.to ? "button" : void 0,
1018
1027
  onClick: (n) => c(e, t, n)
1019
1028
  }, {
1020
1029
  default: R(() => [D(n.$slots, "item", {
@@ -1025,16 +1034,25 @@ var Ee = /* @__PURE__ */ c({
1025
1034
  }, 1032, [
1026
1035
  "href",
1027
1036
  "to",
1037
+ "type",
1028
1038
  "onClick"
1029
1039
  ]))], 10, ke))), 128))])], 8, De));
1030
1040
  }
1031
- }), je = { class: "dropdown-menu" }, Me = {
1041
+ });
1042
+ //#endregion
1043
+ //#region src/utils/routeKey.ts
1044
+ function je(e) {
1045
+ return e == null ? "" : typeof e == "string" ? e : JSON.stringify(e);
1046
+ }
1047
+ //#endregion
1048
+ //#region src/components/VibeNav.vue?vue&type=script&setup=true&lang.ts
1049
+ var Me = { class: "dropdown-menu" }, Ne = {
1032
1050
  key: 0,
1033
1051
  class: "dropdown-divider"
1034
- }, Ne = {
1052
+ }, Pe = {
1035
1053
  key: 1,
1036
1054
  class: "dropdown-header"
1037
- }, Pe = /* @__PURE__ */ c({
1055
+ }, Fe = /* @__PURE__ */ c({
1038
1056
  __name: "VibeNav",
1039
1057
  props: {
1040
1058
  items: {
@@ -1079,20 +1097,20 @@ var Ee = /* @__PURE__ */ c({
1079
1097
  "component-error"
1080
1098
  ],
1081
1099
  setup(t, { expose: i, emit: c }) {
1082
- let l = t, u = c, d = T(null), f = /* @__PURE__ */ new Map(), h = !1, g = !1, v = n(() => {
1100
+ let l = t, u = c, d = T(null), f = /* @__PURE__ */ new Map(), h = !1, g = !1, v = !1, b = n(() => {
1083
1101
  let e = ["nav"];
1084
1102
  return l.pills && e.push("nav-pills"), l.tabs && e.push("nav-tabs"), l.vertical && e.push("flex-column"), l.justified && e.push("nav-justified"), l.fill && e.push("nav-fill"), l.underline && e.push("nav-underline"), e.join(" ");
1085
- }), b = (e) => u("show", e), S = (e) => u("shown", e), C = (e) => u("hide", e), w = (e) => u("hidden", e), k = async () => {
1103
+ }), S = (e) => u("show", e), C = (e) => u("shown", e), w = (e) => u("hide", e), k = (e) => u("hidden", e), M = async () => {
1086
1104
  if (!(!d.value || h)) {
1087
1105
  h = !0;
1088
1106
  try {
1089
1107
  let e = (await import("bootstrap")).Tab;
1090
- if (!d.value || g) return;
1108
+ if (!d.value || v) return;
1091
1109
  d.value.querySelectorAll("[data-bs-toggle=\"tab\"], [data-bs-toggle=\"pill\"]").forEach((t) => {
1092
1110
  let n = t;
1093
1111
  if (!f.has(n)) {
1094
1112
  let t = new e(n);
1095
- f.set(n, t), n.addEventListener("show.bs.tab", b), n.addEventListener("shown.bs.tab", S), n.addEventListener("hide.bs.tab", C), n.addEventListener("hidden.bs.tab", w);
1113
+ f.set(n, t), n.addEventListener("show.bs.tab", S), n.addEventListener("shown.bs.tab", C), n.addEventListener("hide.bs.tab", w), n.addEventListener("hidden.bs.tab", k);
1096
1114
  }
1097
1115
  });
1098
1116
  } catch (e) {
@@ -1106,23 +1124,30 @@ var Ee = /* @__PURE__ */ c({
1106
1124
  }
1107
1125
  }
1108
1126
  };
1109
- y(k), _(() => {
1110
- g = !0, f.forEach((e, t) => {
1111
- t.removeEventListener("show.bs.tab", b), t.removeEventListener("shown.bs.tab", S), t.removeEventListener("hide.bs.tab", C), t.removeEventListener("hidden.bs.tab", w), e.dispose();
1127
+ y(M), _(() => {
1128
+ v = !0, f.forEach((e, t) => {
1129
+ t.removeEventListener("show.bs.tab", S), t.removeEventListener("shown.bs.tab", C), t.removeEventListener("hide.bs.tab", w), t.removeEventListener("hidden.bs.tab", k), e.dispose();
1112
1130
  }), f.clear();
1113
1131
  }), I(() => l.items, async () => {
1114
- f.forEach((e, t) => {
1115
- t.removeEventListener("show.bs.tab", b), t.removeEventListener("shown.bs.tab", S), t.removeEventListener("hide.bs.tab", C), t.removeEventListener("hidden.bs.tab", w), e.dispose();
1116
- }), f.clear(), await p(), await k();
1132
+ if (!g) {
1133
+ g = !0;
1134
+ try {
1135
+ f.forEach((e, t) => {
1136
+ t.removeEventListener("show.bs.tab", S), t.removeEventListener("shown.bs.tab", C), t.removeEventListener("hide.bs.tab", w), t.removeEventListener("hidden.bs.tab", k), e.dispose();
1137
+ }), f.clear(), await p(), await M();
1138
+ } finally {
1139
+ g = !1;
1140
+ }
1141
+ }
1117
1142
  }, { deep: !1 });
1118
- let M = (e) => {
1143
+ let N = (e) => {
1119
1144
  if (e.href?.startsWith("#")) return e.href;
1120
1145
  if (e.target) return e.target;
1121
1146
  if (typeof e.to == "string") {
1122
1147
  let t = e.to.indexOf("#");
1123
1148
  if (t !== -1) return e.to.slice(t);
1124
1149
  }
1125
- }, N = (e, t, n) => {
1150
+ }, P = (e, t, n) => {
1126
1151
  e.disabled || u("item-click", {
1127
1152
  item: e,
1128
1153
  index: t,
@@ -1132,17 +1157,17 @@ var Ee = /* @__PURE__ */ c({
1132
1157
  return i({
1133
1158
  refresh: async () => {
1134
1159
  f.forEach((e, t) => {
1135
- t.removeEventListener("show.bs.tab", b), t.removeEventListener("shown.bs.tab", S), t.removeEventListener("hide.bs.tab", C), t.removeEventListener("hidden.bs.tab", w), e.dispose();
1136
- }), f.clear(), await p(), await k();
1160
+ t.removeEventListener("show.bs.tab", S), t.removeEventListener("shown.bs.tab", C), t.removeEventListener("hide.bs.tab", w), t.removeEventListener("hidden.bs.tab", k), e.dispose();
1161
+ }), f.clear(), await p(), await M();
1137
1162
  },
1138
1163
  _unsafe_bsInstances: f
1139
1164
  }), (n, i) => (x(), r(O(t.tag), {
1140
1165
  ref_key: "navRef",
1141
1166
  ref: d,
1142
- class: m(v.value)
1167
+ class: m(b.value)
1143
1168
  }, {
1144
1169
  default: R(() => [(x(!0), a(e, null, E(t.items, (i, c) => (x(), a("li", {
1145
- key: i.href || (i.to ? String(i.to) : void 0) || i.text || String(c),
1170
+ key: i.href || j(je)(i.to) || i.text || String(c),
1146
1171
  class: m(["nav-item", { dropdown: i.children && i.children.length > 0 }])
1147
1172
  }, [i.children && i.children.length > 0 ? (x(), a(e, { key: 0 }, [o("button", {
1148
1173
  type: "button",
@@ -1152,7 +1177,7 @@ var Ee = /* @__PURE__ */ c({
1152
1177
  }]),
1153
1178
  "data-bs-toggle": "dropdown",
1154
1179
  "aria-expanded": "false"
1155
- }, A(i.text), 3), o("ul", je, [(x(!0), a(e, null, E(i.children, (e, t) => (x(), a("li", { key: e.href || e.text || String(t) }, [e.divider ? (x(), a("hr", Me)) : e.header ? (x(), a("h6", Ne, A(e.text), 1)) : (x(), r(O(j(G)(e.href) ? "a" : e.to ? "router-link" : "button"), {
1180
+ }, A(i.text), 3), o("ul", Me, [(x(!0), a(e, null, E(i.children, (e, t) => (x(), a("li", { key: e.href || e.text || String(t) }, [e.divider ? (x(), a("hr", Ne)) : e.header ? (x(), a("h6", Pe, A(e.text), 1)) : (x(), r(O(j(G)(e.href) ? "a" : e.to ? "router-link" : "button"), {
1156
1181
  key: 2,
1157
1182
  class: m(["dropdown-item", {
1158
1183
  active: e.active,
@@ -1180,9 +1205,9 @@ var Ee = /* @__PURE__ */ c({
1180
1205
  type: !i.href && !i.to ? "button" : void 0,
1181
1206
  disabled: !i.href && !i.to && i.disabled || void 0,
1182
1207
  "aria-current": i.active ? "page" : void 0,
1183
- "data-bs-toggle": (t.tabs || t.pills) && M(i) ? t.tabs ? "tab" : "pill" : void 0,
1184
- "data-bs-target": M(i),
1185
- onClick: (e) => N(i, c, e)
1208
+ "data-bs-toggle": (t.tabs || t.pills) && N(i) ? t.tabs ? "tab" : "pill" : void 0,
1209
+ "data-bs-target": N(i),
1210
+ onClick: (e) => P(i, c, e)
1186
1211
  }, {
1187
1212
  default: R(() => [D(n.$slots, "item", {
1188
1213
  item: i,
@@ -1203,7 +1228,7 @@ var Ee = /* @__PURE__ */ c({
1203
1228
  _: 3
1204
1229
  }, 8, ["class"]));
1205
1230
  }
1206
- }), K = Symbol("vibeFormGroup"), Fe = Symbol("vibeNavbarCollapse"), Ie = Symbol("vibeTabsContext"), Le = /* @__PURE__ */ W(/* @__PURE__ */ c({
1231
+ }), K = Symbol("vibeFormGroup"), Ie = Symbol("vibeNavbarCollapse"), Le = Symbol("vibeTabsContext"), Re = /*#__PURE__*/ W(/* @__PURE__ */ c({
1207
1232
  __name: "VibeNavbar",
1208
1233
  props: {
1209
1234
  variant: {
@@ -1233,7 +1258,7 @@ var Ee = /* @__PURE__ */ c({
1233
1258
  },
1234
1259
  setup(e) {
1235
1260
  let t = e, i = C({});
1236
- S(Fe, {
1261
+ S(Ie, {
1237
1262
  collapseStates: i,
1238
1263
  toggleCollapse: (e) => {
1239
1264
  i[e] = !i[e];
@@ -1260,7 +1285,7 @@ var Ee = /* @__PURE__ */ c({
1260
1285
  _: 3
1261
1286
  }, 8, ["class", "data-bs-theme"]));
1262
1287
  }
1263
- }), [["__scopeId", "data-v-c3e6fe24"]]), Re = /* @__PURE__ */ c({
1288
+ }), [["__scopeId", "data-v-c3e6fe24"]]), ze = /* @__PURE__ */ c({
1264
1289
  __name: "VibeNavbarBrand",
1265
1290
  props: {
1266
1291
  href: {
@@ -1283,11 +1308,11 @@ var Ee = /* @__PURE__ */ c({
1283
1308
  _: 3
1284
1309
  }, 8, ["href", "to"]));
1285
1310
  }
1286
- }), ze = [
1311
+ }), Be = [
1287
1312
  "aria-controls",
1288
1313
  "aria-expanded",
1289
1314
  "aria-label"
1290
- ], Be = /* @__PURE__ */ c({
1315
+ ], Ve = /* @__PURE__ */ c({
1291
1316
  __name: "VibeNavbarToggle",
1292
1317
  props: {
1293
1318
  target: {
@@ -1301,13 +1326,16 @@ var Ee = /* @__PURE__ */ c({
1301
1326
  },
1302
1327
  emits: ["component-error"],
1303
1328
  setup(e, { emit: t }) {
1304
- let r = e, i = t, s = u(Fe, null), c = n(() => s?.collapseStates[r.target] ?? !1), l = async () => {
1305
- s && s.toggleCollapse(r.target);
1329
+ let r = e, i = t, s = u(Ie, null), c = n(() => s?.collapseStates[r.target] ?? !1), l = async () => {
1330
+ if (s) {
1331
+ s.toggleCollapse(r.target);
1332
+ return;
1333
+ }
1306
1334
  try {
1307
1335
  let e = document.getElementById(r.target);
1308
1336
  e && (await import("bootstrap")).Collapse.getOrCreateInstance(e).toggle();
1309
1337
  } catch (e) {
1310
- s && s.toggleCollapse(r.target), i("component-error", {
1338
+ i("component-error", {
1311
1339
  message: "Bootstrap JS toggle failed.",
1312
1340
  componentName: "VibeNavbarToggle",
1313
1341
  originalError: e
@@ -1321,9 +1349,9 @@ var Ee = /* @__PURE__ */ c({
1321
1349
  "aria-expanded": c.value,
1322
1350
  "aria-label": e.ariaLabel,
1323
1351
  onClick: l
1324
- }, [...n[0] ||= [o("span", { class: "navbar-toggler-icon" }, null, -1)]], 8, ze));
1352
+ }, [...n[0] ||= [o("span", { class: "navbar-toggler-icon" }, null, -1)]], 8, Be));
1325
1353
  }
1326
- }), Ve = { class: "dropdown-menu" }, He = { key: 0 }, Ue = { key: 1 }, We = { class: "dropdown-header" }, Ge = { key: 2 }, Ke = /* @__PURE__ */ c({
1354
+ }), He = { class: "dropdown-menu" }, Ue = { key: 0 }, We = { key: 1 }, Ge = { class: "dropdown-header" }, Ke = { key: 2 }, qe = /* @__PURE__ */ c({
1327
1355
  __name: "VibeNavbarNav",
1328
1356
  props: {
1329
1357
  tag: {
@@ -1400,7 +1428,7 @@ var Ee = /* @__PURE__ */ c({
1400
1428
  }, [D(n.$slots, "item", {
1401
1429
  item: t,
1402
1430
  index: c
1403
- }, () => [s(A(t.text), 1)])], 2), o("ul", Ve, [(x(!0), a(e, null, E(t.children, (l, u) => (x(), a(e, { key: l.href || l.text || String(u) }, [l.divider ? (x(), a("li", He, [...i[0] ||= [o("hr", { class: "dropdown-divider" }, null, -1)]])) : l.header ? (x(), a("li", Ue, [o("h6", We, A(l.text), 1)])) : (x(), a("li", Ge, [(x(), r(O(l.href ? "a" : l.to ? "router-link" : "button"), {
1431
+ }, () => [s(A(t.text), 1)])], 2), o("ul", He, [(x(!0), a(e, null, E(t.children, (l, u) => (x(), a(e, { key: l.href || l.text || String(u) }, [l.divider ? (x(), a("li", Ue, [...i[0] ||= [o("hr", { class: "dropdown-divider" }, null, -1)]])) : l.header ? (x(), a("li", We, [o("h6", Ge, A(l.text), 1)])) : (x(), a("li", Ke, [(x(), r(O(l.href ? "a" : l.to ? "router-link" : "button"), {
1404
1432
  class: m(v(l)),
1405
1433
  href: l.href,
1406
1434
  to: l.to,
@@ -1447,11 +1475,11 @@ var Ee = /* @__PURE__ */ c({
1447
1475
  _: 3
1448
1476
  }, 512));
1449
1477
  }
1450
- }), qe = ["aria-label"], Je = ["disabled"], Ye = {
1478
+ }), Je = ["aria-label"], Ye = ["disabled"], Xe = {
1451
1479
  key: 0,
1452
1480
  class: "page-item disabled",
1453
1481
  "aria-hidden": "true"
1454
- }, Xe = ["aria-current", "onClick"], Ze = ["disabled"], Qe = /* @__PURE__ */ c({
1482
+ }, Ze = ["aria-current", "onClick"], Qe = ["disabled"], $e = /* @__PURE__ */ c({
1455
1483
  __name: "VibePagination",
1456
1484
  props: {
1457
1485
  size: {
@@ -1520,8 +1548,8 @@ var Ee = /* @__PURE__ */ c({
1520
1548
  type: "button",
1521
1549
  disabled: p.value,
1522
1550
  onClick: r[0] ||= (e) => f(t.currentPage - 1)
1523
- }, [D(n.$slots, "prev", { disabled: p.value }, () => [s(A(t.prevText), 1)])], 8, Je)], 2)) : i("", !0),
1524
- (x(!0), a(e, null, E(d.value, (i, c) => (x(), a(e, { key: i === null ? `e${c}` : `p${i}` }, [i === null ? (x(), a("li", Ye, [...r[2] ||= [o("span", { class: "page-link" }, "…", -1)]])) : (x(), a("li", {
1551
+ }, [D(n.$slots, "prev", { disabled: p.value }, () => [s(A(t.prevText), 1)])], 8, Ye)], 2)) : i("", !0),
1552
+ (x(!0), a(e, null, E(d.value, (i, c) => (x(), a(e, { key: i === null ? `e${c}` : `p${i}` }, [i === null ? (x(), a("li", Xe, [...r[2] ||= [o("span", { class: "page-link" }, "…", -1)]])) : (x(), a("li", {
1525
1553
  key: 1,
1526
1554
  class: m(["page-item", { active: i === t.currentPage }])
1527
1555
  }, [o("button", {
@@ -1532,7 +1560,7 @@ var Ee = /* @__PURE__ */ c({
1532
1560
  }, [D(n.$slots, "page", {
1533
1561
  page: i,
1534
1562
  active: i === t.currentPage
1535
- }, () => [s(A(i), 1)])], 8, Xe)], 2))], 64))), 128)),
1563
+ }, () => [s(A(i), 1)])], 8, Ze)], 2))], 64))), 128)),
1536
1564
  t.showPrevNext ? (x(), a("li", {
1537
1565
  key: 1,
1538
1566
  class: m(["page-item", { disabled: h.value }])
@@ -1541,10 +1569,10 @@ var Ee = /* @__PURE__ */ c({
1541
1569
  type: "button",
1542
1570
  disabled: h.value,
1543
1571
  onClick: r[1] ||= (e) => f(t.currentPage + 1)
1544
- }, [D(n.$slots, "next", { disabled: h.value }, () => [s(A(t.nextText), 1)])], 8, Ze)], 2)) : i("", !0)
1545
- ], 2)], 8, qe));
1572
+ }, [D(n.$slots, "next", { disabled: h.value }, () => [s(A(t.nextText), 1)])], 8, Qe)], 2)) : i("", !0)
1573
+ ], 2)], 8, Je));
1546
1574
  }
1547
- }), $e = ["id", "aria-labelledby"], et = /* @__PURE__ */ c({
1575
+ }), et = ["id", "aria-labelledby"], tt = /* @__PURE__ */ c({
1548
1576
  __name: "VibeTabContent",
1549
1577
  props: {
1550
1578
  id: {
@@ -1583,15 +1611,15 @@ var Ee = /* @__PURE__ */ c({
1583
1611
  }, [D(n.$slots, "pane", {
1584
1612
  pane: e,
1585
1613
  index: t
1586
- }, () => [s(A(e.content), 1)])], 10, $e))), 128))]),
1614
+ }, () => [s(A(e.content), 1)])], 10, et))), 128))]),
1587
1615
  _: 3
1588
1616
  }, 8, ["id"]));
1589
1617
  }
1590
- }), tt = [
1618
+ }), nt = [
1591
1619
  "disabled",
1592
1620
  "aria-selected",
1593
1621
  "onClick"
1594
- ], nt = /* @__PURE__ */ c({
1622
+ ], rt = /* @__PURE__ */ c({
1595
1623
  __name: "VibeTabs",
1596
1624
  props: {
1597
1625
  modelValue: {
@@ -1631,7 +1659,7 @@ var Ee = /* @__PURE__ */ c({
1631
1659
  let e = ["nav"];
1632
1660
  return i.variant === "tabs" ? e.push("nav-tabs") : i.variant === "pills" ? e.push("nav-pills") : i.variant === "underline" && e.push("nav-underline"), i.fill && e.push("nav-fill"), i.justified && e.push("nav-justified"), i.vertical && e.push("flex-column"), e.join(" ");
1633
1661
  }), g = n(() => i.vertical ? "d-flex" : "");
1634
- return S(Ie, {
1662
+ return S(Le, {
1635
1663
  register: (e, t, n) => {
1636
1664
  c.find((t) => t.name === e) || (c.push({
1637
1665
  name: e,
@@ -1641,7 +1669,7 @@ var Ee = /* @__PURE__ */ c({
1641
1669
  },
1642
1670
  unregister: (e) => {
1643
1671
  let t = l.value === e, n = c.filter((t) => t.name !== e);
1644
- if (c.splice(0, c.length, ...n), t) {
1672
+ if (c.splice(0, c.length, ...n), u.delete(e), t) {
1645
1673
  let e = c.find((e) => !e.disabled)?.name;
1646
1674
  l.value = e, e !== void 0 && (u.add(e), s("update:modelValue", e), s("change", e));
1647
1675
  }
@@ -1668,9 +1696,9 @@ var Ee = /* @__PURE__ */ c({
1668
1696
  "aria-selected": e.name === d.value,
1669
1697
  role: "tab",
1670
1698
  onClick: (t) => f(e.name)
1671
- }, A(e.label), 11, tt)]))), 128))], 2), o("div", { class: m(["tab-content", { "flex-grow-1 ms-3": t.vertical }]) }, [D(n.$slots, "default")], 2)], 2));
1699
+ }, A(e.label), 11, nt)]))), 128))], 2), o("div", { class: m(["tab-content", { "flex-grow-1 ms-3": t.vertical }]) }, [D(n.$slots, "default")], 2)], 2));
1672
1700
  }
1673
- }), rt = /* @__PURE__ */ c({
1701
+ }), it = /* @__PURE__ */ c({
1674
1702
  __name: "VibeTab",
1675
1703
  props: {
1676
1704
  name: {
@@ -1687,7 +1715,7 @@ var Ee = /* @__PURE__ */ c({
1687
1715
  }
1688
1716
  },
1689
1717
  setup(e) {
1690
- let t = e, r = u(Ie, null);
1718
+ let t = e, r = u(Le, null);
1691
1719
  r || console.error("[VibeTab] must be a descendant of <VibeTabs>"), y(() => {
1692
1720
  r?.register(t.name, t.label, t.disabled);
1693
1721
  }), _(() => {
@@ -1703,7 +1731,7 @@ var Ee = /* @__PURE__ */ c({
1703
1731
  role: "tabpanel"
1704
1732
  }, [D(e.$slots, "default")], 2)), [[F, o.value]]) : i("", !0);
1705
1733
  }
1706
- }), it = /* @__PURE__ */ c({
1734
+ }), at = /* @__PURE__ */ c({
1707
1735
  __name: "VibeListGroup",
1708
1736
  props: {
1709
1737
  flush: {
@@ -1734,7 +1762,7 @@ var Ee = /* @__PURE__ */ c({
1734
1762
  return o.flush && e.push("list-group-flush"), o.numbered && e.push("list-group-numbered"), o.horizontal === !0 ? e.push("list-group-horizontal") : typeof o.horizontal == "string" && e.push(`list-group-horizontal-${o.horizontal}`), e.join(" ");
1735
1763
  }), u = (e) => {
1736
1764
  let t = ["list-group-item"];
1737
- return e.active && t.push("active"), e.disabled && t.push("disabled"), e.variant && t.push(`list-group-item-${e.variant}`), t.join(" ");
1765
+ return (G(e.href) || e.to || !e.disabled) && t.push("list-group-item-action"), e.active && t.push("active"), e.disabled && t.push("disabled"), e.variant && t.push(`list-group-item-${e.variant}`), t.join(" ");
1738
1766
  }, d = (e, t, n) => {
1739
1767
  e.disabled || c("item-click", {
1740
1768
  item: e,
@@ -1752,6 +1780,7 @@ var Ee = /* @__PURE__ */ c({
1752
1780
  e.text
1753
1781
  ], () => (x(), r(O(j(G)(e.href) ? "a" : e.to ? "router-link" : "li"), {
1754
1782
  class: m(u(e)),
1783
+ style: h(!j(G)(e.href) && !e.to && !e.disabled ? { cursor: "pointer" } : void 0),
1755
1784
  href: j(G)(e.href),
1756
1785
  to: e.to,
1757
1786
  "aria-disabled": e.disabled || void 0,
@@ -1765,6 +1794,7 @@ var Ee = /* @__PURE__ */ c({
1765
1794
  _: 2
1766
1795
  }, 1032, [
1767
1796
  "class",
1797
+ "style",
1768
1798
  "href",
1769
1799
  "to",
1770
1800
  "aria-disabled",
@@ -1774,11 +1804,11 @@ var Ee = /* @__PURE__ */ c({
1774
1804
  _: 3
1775
1805
  }, 8, ["class"]));
1776
1806
  }
1777
- }), at = [
1807
+ }), ot = [
1778
1808
  "aria-label",
1779
1809
  "aria-valuenow",
1780
1810
  "aria-valuemax"
1781
- ], ot = /* @__PURE__ */ c({
1811
+ ], st = /* @__PURE__ */ c({
1782
1812
  __name: "VibeProgress",
1783
1813
  props: {
1784
1814
  height: {
@@ -1824,23 +1854,23 @@ var Ee = /* @__PURE__ */ c({
1824
1854
  }, [D(n.$slots, "label", {
1825
1855
  bar: e,
1826
1856
  index: t
1827
- }, () => [s(A(l(e)), 1)])], 14, at))), 128))], 4));
1857
+ }, () => [s(A(l(e)), 1)])], 14, ot))), 128))], 4));
1828
1858
  }
1829
- }), st = 0, ct = /* @__PURE__ */ new WeakMap();
1859
+ }), ct = 0, lt = /* @__PURE__ */ new WeakMap();
1830
1860
  function q(e = "vibe") {
1831
1861
  let t = l();
1832
- if (!t) return `${e}-${++st}`;
1833
- let n = (ct.get(t) ?? 0) + 1;
1834
- return ct.set(t, n), `${e}-${t.uid}-${n}`;
1862
+ if (!t) return `${e}-${++ct}`;
1863
+ let n = (lt.get(t) ?? 0) + 1;
1864
+ return lt.set(t, n), `${e}-${t.uid}-${n}`;
1835
1865
  }
1836
1866
  //#endregion
1837
1867
  //#region src/components/VibeAccordion.vue?vue&type=script&setup=true&lang.ts
1838
- var lt = ["id"], ut = { class: "accordion-header" }, dt = [
1868
+ var ut = ["id"], dt = { class: "accordion-header" }, ft = [
1839
1869
  "data-bs-target",
1840
1870
  "aria-expanded",
1841
1871
  "aria-controls",
1842
1872
  "onClick"
1843
- ], ft = ["id", "data-bs-parent"], pt = { class: "accordion-body" }, mt = /* @__PURE__ */ c({
1873
+ ], pt = ["id", "data-bs-parent"], mt = { class: "accordion-body" }, ht = /* @__PURE__ */ c({
1844
1874
  __name: "VibeAccordion",
1845
1875
  props: {
1846
1876
  id: {
@@ -1869,10 +1899,10 @@ var lt = ["id"], ut = { class: "accordion-header" }, dt = [
1869
1899
  "component-error"
1870
1900
  ],
1871
1901
  setup(t, { expose: r, emit: i }) {
1872
- let c = q("accordion"), l = t, u = n(() => l.id || c), d = i, f = T(null), h = /* @__PURE__ */ new Map(), g = /* @__PURE__ */ new Map(), v = !1, b = !1, S = /* @__PURE__ */ new Map(), C = (e) => d("show", e), w = (e) => d("shown", e), O = (e) => d("hide", e), k = (e) => d("hidden", e), j = (e) => {
1873
- let t = g.get(e), n = S.get(e);
1874
- t && n && (t.removeEventListener("show.bs.collapse", n.show), t.removeEventListener("shown.bs.collapse", n.shown), t.removeEventListener("hide.bs.collapse", n.hide), t.removeEventListener("hidden.bs.collapse", n.hidden)), g.delete(e), S.delete(e), h.get(e)?.dispose(), h.delete(e);
1875
- }, M = async () => {
1902
+ let c = q("accordion"), l = t, u = n(() => l.id || c), d = i, f = T(null), h = /* @__PURE__ */ new Map(), g = /* @__PURE__ */ new Map(), v = !1, b = !1, S = !1, C = !1, w = /* @__PURE__ */ new Map(), O = (e) => d("show", e), k = (e) => d("shown", e), j = (e) => d("hide", e), M = (e) => d("hidden", e), N = (e) => {
1903
+ let t = g.get(e), n = w.get(e);
1904
+ t && n && (t.removeEventListener("show.bs.collapse", n.show), t.removeEventListener("shown.bs.collapse", n.shown), t.removeEventListener("hide.bs.collapse", n.hide), t.removeEventListener("hidden.bs.collapse", n.hidden)), g.delete(e), w.delete(e), h.get(e)?.dispose(), h.delete(e);
1905
+ }, P = async () => {
1876
1906
  if (f.value) {
1877
1907
  if (v) {
1878
1908
  b = !0;
@@ -1881,23 +1911,29 @@ var lt = ["id"], ut = { class: "accordion-header" }, dt = [
1881
1911
  v = !0, b = !1;
1882
1912
  try {
1883
1913
  let e = (await import("bootstrap")).Collapse;
1884
- f.value.querySelectorAll(".accordion-collapse").forEach((t) => {
1885
- let n = t.id;
1886
- if (!h.has(n)) {
1887
- let r = t;
1888
- g.set(n, r);
1889
- let i = new e(r, {
1914
+ if (C || !f.value) return;
1915
+ let t = f.value.querySelectorAll(".accordion-collapse"), n = /* @__PURE__ */ new Set();
1916
+ t.forEach((t) => {
1917
+ let r = t.id;
1918
+ if (n.has(r)) {
1919
+ console.warn(`[VibeAccordion] Duplicate item.id "${r}" detected — only the first occurrence is initialised. Ensure each item has a unique id.`);
1920
+ return;
1921
+ }
1922
+ if (n.add(r), !h.has(r)) {
1923
+ let n = t;
1924
+ g.set(r, n);
1925
+ let i = new e(n, {
1890
1926
  toggle: !1,
1891
1927
  parent: l.alwaysOpen ? void 0 : `#${u.value}`
1892
1928
  });
1893
- h.set(n, i);
1929
+ h.set(r, i);
1894
1930
  let a = {
1895
- show: () => C(n),
1896
- shown: () => w(n),
1897
- hide: () => O(n),
1898
- hidden: () => k(n)
1931
+ show: () => O(r),
1932
+ shown: () => k(r),
1933
+ hide: () => j(r),
1934
+ hidden: () => M(r)
1899
1935
  };
1900
- S.set(n, a), t.addEventListener("show.bs.collapse", a.show), t.addEventListener("shown.bs.collapse", a.shown), t.addEventListener("hide.bs.collapse", a.hide), t.addEventListener("hidden.bs.collapse", a.hidden), l.items.find((e) => e.id === n)?.show && i.show();
1936
+ w.set(r, a), t.addEventListener("show.bs.collapse", a.show), t.addEventListener("shown.bs.collapse", a.shown), t.addEventListener("hide.bs.collapse", a.hide), t.addEventListener("hidden.bs.collapse", a.hidden), l.items.find((e) => e.id === r)?.show && i.show();
1901
1937
  }
1902
1938
  });
1903
1939
  } catch (e) {
@@ -1907,25 +1943,38 @@ var lt = ["id"], ut = { class: "accordion-header" }, dt = [
1907
1943
  originalError: e
1908
1944
  });
1909
1945
  } finally {
1910
- v = !1, b && (b = !1, M());
1946
+ v = !1, !C && b && (b = !1, P());
1911
1947
  }
1912
1948
  }
1913
1949
  };
1914
- y(M), _(() => {
1915
- h.forEach((e, t) => j(t));
1950
+ y(P), _(() => {
1951
+ C = !0, h.forEach((e, t) => N(t));
1916
1952
  }), I([() => l.items, () => l.alwaysOpen], async () => {
1917
- let e = [...h.keys()];
1918
- for (let t of e) j(t);
1919
- h.clear(), g.clear(), await p(), await M();
1953
+ if (!S) {
1954
+ S = !0;
1955
+ try {
1956
+ let e = [...h.keys()];
1957
+ for (let t of e) N(t);
1958
+ h.clear(), g.clear(), await p(), await P();
1959
+ } catch (e) {
1960
+ d("component-error", {
1961
+ message: "Error reinitialising accordion items.",
1962
+ componentName: "VibeAccordion",
1963
+ originalError: e
1964
+ });
1965
+ } finally {
1966
+ S = !1;
1967
+ }
1968
+ }
1920
1969
  }, { deep: !1 });
1921
- let N = (e, t) => {
1970
+ let F = (e, t) => {
1922
1971
  d("item-click", {
1923
1972
  item: e,
1924
1973
  index: t
1925
1974
  });
1926
1975
  };
1927
1976
  return r({
1928
- refresh: M,
1977
+ refresh: P,
1929
1978
  _unsafe_bsInstances: h
1930
1979
  }), (n, r) => (x(), a("div", {
1931
1980
  ref_key: "accordionRef",
@@ -1935,27 +1984,27 @@ var lt = ["id"], ut = { class: "accordion-header" }, dt = [
1935
1984
  }, [(x(!0), a(e, null, E(t.items, (e, r) => (x(), a("div", {
1936
1985
  key: e.id,
1937
1986
  class: "accordion-item"
1938
- }, [o("h2", ut, [o("button", {
1987
+ }, [o("h2", dt, [o("button", {
1939
1988
  class: m(["accordion-button", { collapsed: !e.show }]),
1940
1989
  type: "button",
1941
1990
  "data-bs-toggle": "collapse",
1942
1991
  "data-bs-target": `#${e.id}`,
1943
1992
  "aria-expanded": e.show,
1944
1993
  "aria-controls": e.id,
1945
- onClick: (t) => N(e, r)
1994
+ onClick: (t) => F(e, r)
1946
1995
  }, [D(n.$slots, "title", {
1947
1996
  item: e,
1948
1997
  index: r
1949
- }, () => [s(A(e.title), 1)])], 10, dt)]), o("div", {
1998
+ }, () => [s(A(e.title), 1)])], 10, ft)]), o("div", {
1950
1999
  id: e.id,
1951
2000
  class: m(["accordion-collapse", "collapse"]),
1952
2001
  "data-bs-parent": t.alwaysOpen ? void 0 : `#${u.value}`
1953
- }, [o("div", pt, [D(n.$slots, "content", {
2002
+ }, [o("div", mt, [D(n.$slots, "content", {
1954
2003
  item: e,
1955
2004
  index: r
1956
- }, () => [s(A(e.content), 1)])])], 8, ft)]))), 128))], 10, lt));
2005
+ }, () => [s(A(e.content), 1)])])], 8, pt)]))), 128))], 10, ut));
1957
2006
  }
1958
- }), ht = /* @__PURE__ */ c({
2007
+ }), gt = /* @__PURE__ */ c({
1959
2008
  __name: "VibeCollapse",
1960
2009
  props: {
1961
2010
  id: {
@@ -1988,22 +2037,22 @@ var lt = ["id"], ut = { class: "accordion-header" }, dt = [
1988
2037
  "component-error"
1989
2038
  ],
1990
2039
  setup(e, { emit: t }) {
1991
- let i = q("collapse"), a = e, o = t, s = u(Fe, null), c = n(() => a.id || i), l = T(null), d = k(null), f = T(!1), h = T(!1), g = null, v = () => {
2040
+ let i = q("collapse"), a = e, o = t, s = u(Ie, null), c = n(() => a.id || i), l = T(null), d = k(null), f = T(!1), h = T(!1), g = !1, v = null, b = () => {
1992
2041
  f.value = !0, o("show");
1993
- }, b = () => {
1994
- o("shown"), o("update:modelValue", !0);
1995
2042
  }, S = () => {
1996
- o("hide");
2043
+ o("shown"), o("update:modelValue", !0);
1997
2044
  }, C = () => {
2045
+ o("hide");
2046
+ }, w = () => {
1998
2047
  f.value = !1, o("hidden"), o("update:modelValue", !1);
1999
2048
  };
2000
2049
  y(async () => {
2001
2050
  if (l.value) try {
2002
2051
  let e = (await import("bootstrap")).Collapse;
2003
- if (!l.value) return;
2004
- d.value = new e(l.value, { toggle: !1 }), l.value.addEventListener("show.bs.collapse", v), l.value.addEventListener("shown.bs.collapse", b), l.value.addEventListener("hide.bs.collapse", S), l.value.addEventListener("hidden.bs.collapse", C);
2005
- let t = g === null ? s && c.value in s.collapseStates ? s.collapseStates[c.value] : a.modelValue : g;
2006
- if (g = null, h.value = !0, await p(), !d.value) return;
2052
+ if (g || !l.value) return;
2053
+ d.value = new e(l.value, { toggle: !1 }), l.value.addEventListener("show.bs.collapse", b), l.value.addEventListener("shown.bs.collapse", S), l.value.addEventListener("hide.bs.collapse", C), l.value.addEventListener("hidden.bs.collapse", w);
2054
+ let t = v === null ? s && c.value in s.collapseStates ? s.collapseStates[c.value] : a.modelValue : v;
2055
+ if (v = null, h.value = !0, await p(), !d.value) return;
2007
2056
  t && d.value.show();
2008
2057
  } catch (e) {
2009
2058
  h.value = !0, o("component-error", {
@@ -2013,33 +2062,33 @@ var lt = ["id"], ut = { class: "accordion-header" }, dt = [
2013
2062
  });
2014
2063
  }
2015
2064
  }), _(() => {
2016
- l.value && (l.value.removeEventListener("show.bs.collapse", v), l.value.removeEventListener("shown.bs.collapse", b), l.value.removeEventListener("hide.bs.collapse", S), l.value.removeEventListener("hidden.bs.collapse", C)), d.value &&= (d.value.dispose(), null);
2065
+ g = !0, l.value && (l.value.removeEventListener("show.bs.collapse", b), l.value.removeEventListener("shown.bs.collapse", S), l.value.removeEventListener("hide.bs.collapse", C), l.value.removeEventListener("hidden.bs.collapse", w)), d.value &&= (d.value.dispose(), null);
2017
2066
  });
2018
- let w = n(() => s && c.value in s.collapseStates ? s.collapseStates[c.value] : a.modelValue);
2019
- I(w, (e) => {
2067
+ let E = n(() => s && c.value in s.collapseStates ? s.collapseStates[c.value] : a.modelValue);
2068
+ I(E, (e) => {
2020
2069
  if (!h.value) {
2021
- g = e;
2070
+ v = e;
2022
2071
  return;
2023
2072
  }
2024
2073
  d.value && (e && !f.value ? d.value.show() : !e && f.value && d.value.hide());
2025
2074
  }), I(() => a.modelValue, (e) => {
2026
2075
  s && c.value in s.collapseStates && s.collapseStates[c.value] !== e && (s.collapseStates[c.value] = e);
2027
2076
  });
2028
- let E = n(() => {
2077
+ let A = n(() => {
2029
2078
  let e = ["collapse"];
2030
- return a.isNav && e.push("navbar-collapse"), a.horizontal && e.push("collapse-horizontal"), !h.value && w.value && e.push("show"), e.join(" ");
2079
+ return a.isNav && e.push("navbar-collapse"), a.horizontal && e.push("collapse-horizontal"), !h.value && E.value && e.push("show"), e.join(" ");
2031
2080
  });
2032
2081
  return (t, n) => (x(), r(O(e.tag), {
2033
2082
  ref_key: "collapseRef",
2034
2083
  ref: l,
2035
2084
  id: c.value,
2036
- class: m(E.value)
2085
+ class: m(A.value)
2037
2086
  }, {
2038
2087
  default: R(() => [D(t.$slots, "default")]),
2039
2088
  _: 3
2040
2089
  }, 8, ["id", "class"]));
2041
2090
  }
2042
- }), gt = ["id", "data-bs-auto-close"], _t = ["id", "data-bs-auto-close"], vt = ["aria-labelledby"], yt = { key: 0 }, bt = { key: 1 }, xt = { class: "dropdown-header" }, St = { key: 2 }, Ct = /* @__PURE__ */ c({
2091
+ }), _t = ["id", "data-bs-auto-close"], vt = ["id", "data-bs-auto-close"], yt = ["aria-labelledby"], bt = { key: 0 }, xt = { key: 1 }, St = { class: "dropdown-header" }, Ct = { key: 2 }, wt = /* @__PURE__ */ c({
2043
2092
  __name: "VibeDropdown",
2044
2093
  props: {
2045
2094
  id: {
@@ -2094,14 +2143,10 @@ var lt = ["id"], ut = { class: "accordion-header" }, dt = [
2094
2143
  }), M = n(() => {
2095
2144
  let e = ["dropdown-menu"];
2096
2145
  return u.menuEnd && e.push("dropdown-menu-end"), e.join(" ");
2097
- }), N = n(() => {
2098
- let e = /* @__PURE__ */ new Map();
2099
- for (let t of u.items) {
2100
- let n = ["dropdown-item"];
2101
- t.active && n.push("active"), t.disabled && n.push("disabled"), e.set(t, n.join(" "));
2102
- }
2103
- return e;
2104
- }), P = () => d("show"), F = () => d("shown"), L = () => d("hide"), z = () => d("hidden"), B = async () => {
2146
+ }), N = (e) => {
2147
+ let t = ["dropdown-item"];
2148
+ return e.active && t.push("active"), e.disabled && t.push("disabled"), t.join(" ");
2149
+ }, P = () => d("show"), F = () => d("shown"), L = () => d("hide"), z = () => d("hidden"), B = async () => {
2105
2150
  if (!(!p.value || b)) {
2106
2151
  b = !0;
2107
2152
  try {
@@ -2162,7 +2207,7 @@ var lt = ["id"], ut = { class: "accordion-header" }, dt = [
2162
2207
  "data-bs-toggle": "dropdown",
2163
2208
  "aria-expanded": "false",
2164
2209
  "data-bs-auto-close": t.autoClose
2165
- }, [...i[0] ||= [o("span", { class: "visually-hidden" }, "Toggle Dropdown", -1)]], 10, _t)], 64)) : (x(), a("button", {
2210
+ }, [...i[0] ||= [o("span", { class: "visually-hidden" }, "Toggle Dropdown", -1)]], 10, vt)], 64)) : (x(), a("button", {
2166
2211
  key: 0,
2167
2212
  id: f.value,
2168
2213
  class: m([w.value, "dropdown-toggle"]),
@@ -2170,14 +2215,14 @@ var lt = ["id"], ut = { class: "accordion-header" }, dt = [
2170
2215
  "data-bs-toggle": "dropdown",
2171
2216
  "aria-expanded": "false",
2172
2217
  "data-bs-auto-close": t.autoClose
2173
- }, [D(n.$slots, "button", {}, () => [s(A(t.text), 1)])], 10, gt)), o("ul", {
2218
+ }, [D(n.$slots, "button", {}, () => [s(A(t.text), 1)])], 10, _t)), o("ul", {
2174
2219
  class: m(M.value),
2175
2220
  "aria-labelledby": f.value
2176
- }, [(x(!0), a(e, null, E(t.items, (t, c) => (x(), a(e, { key: t.text || t.href || String(t.to) || c }, [t.divider ? (x(), a("li", yt, [...i[1] ||= [o("hr", { class: "dropdown-divider" }, null, -1)]])) : t.header ? (x(), a("li", bt, [o("h6", xt, [D(n.$slots, "header", {
2221
+ }, [(x(!0), a(e, null, E(t.items, (t, c) => (x(), a(e, { key: t.text || t.href || j(je)(t.to) || c }, [t.divider ? (x(), a("li", bt, [...i[1] ||= [o("hr", { class: "dropdown-divider" }, null, -1)]])) : t.header ? (x(), a("li", xt, [o("h6", St, [D(n.$slots, "header", {
2177
2222
  item: t,
2178
2223
  index: c
2179
- }, () => [s(A(t.text), 1)])])])) : (x(), a("li", St, [(x(), r(O(j(G)(t.href) ? "a" : t.to ? "router-link" : "button"), {
2180
- class: m(N.value.get(t)),
2224
+ }, () => [s(A(t.text), 1)])])])) : (x(), a("li", Ct, [(x(), r(O(j(G)(t.href) ? "a" : t.to ? "router-link" : "button"), {
2225
+ class: m(N(t)),
2181
2226
  href: j(G)(t.href),
2182
2227
  to: t.to,
2183
2228
  type: !t.href && !t.to ? "button" : void 0,
@@ -2196,43 +2241,43 @@ var lt = ["id"], ut = { class: "accordion-header" }, dt = [
2196
2241
  "type",
2197
2242
  "disabled",
2198
2243
  "onClick"
2199
- ]))]))], 64))), 128))], 10, vt)], 2));
2244
+ ]))]))], 64))), 128))], 10, yt)], 2));
2200
2245
  }
2201
- }), wt = [];
2202
- function Tt(e) {
2203
- if (wt.length > 0) {
2246
+ }), Tt = [];
2247
+ function Et(e) {
2248
+ if (Tt.length > 0) {
2204
2249
  e.preventDefault();
2205
- let t = wt.pop();
2250
+ let t = Tt.pop();
2206
2251
  t && t.action();
2207
2252
  }
2208
2253
  }
2209
- function Et(e) {
2254
+ function Dt(e) {
2210
2255
  let t = Symbol();
2211
2256
  y(() => {
2212
- wt.push({
2257
+ Tt.push({
2213
2258
  token: t,
2214
2259
  action: e
2215
- }), wt.length === 1 && typeof document < "u" && document.addEventListener("backbutton", Tt);
2260
+ }), Tt.length === 1 && typeof document < "u" && document.addEventListener("backbutton", Et);
2216
2261
  }), b(() => {
2217
- let e = wt.findIndex((e) => e.token === t);
2218
- e !== -1 && wt.splice(e, 1), wt.length === 0 && typeof document < "u" && document.removeEventListener("backbutton", Tt);
2262
+ let e = Tt.findIndex((e) => e.token === t);
2263
+ e !== -1 && Tt.splice(e, 1), Tt.length === 0 && typeof document < "u" && document.removeEventListener("backbutton", Et);
2219
2264
  });
2220
2265
  }
2221
2266
  //#endregion
2222
2267
  //#region src/components/VibeModal.vue?vue&type=script&setup=true&lang.ts
2223
- var Dt = [
2268
+ var Ot = [
2224
2269
  "id",
2225
2270
  "aria-labelledby",
2226
2271
  "aria-hidden",
2227
2272
  "data-bs-backdrop",
2228
2273
  "data-bs-keyboard"
2229
- ], Ot = { class: "modal-content" }, kt = {
2274
+ ], kt = { class: "modal-content" }, At = {
2230
2275
  key: 0,
2231
2276
  class: "modal-header"
2232
- }, At = ["id"], jt = { class: "modal-body" }, Mt = {
2277
+ }, jt = ["id"], Mt = { class: "modal-body" }, Nt = {
2233
2278
  key: 1,
2234
2279
  class: "modal-footer"
2235
- }, Nt = /* @__PURE__ */ W(/* @__PURE__ */ c({
2280
+ }, Pt = "a[href], button:not([disabled]), input:not([disabled]),select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex=\"-1\"])", Ft = /*#__PURE__*/ W(/* @__PURE__ */ c({
2236
2281
  __name: "VibeModal",
2237
2282
  props: {
2238
2283
  id: {
@@ -2278,6 +2323,14 @@ var Dt = [
2278
2323
  teleport: {
2279
2324
  type: [String, Boolean],
2280
2325
  default: "body"
2326
+ },
2327
+ autoFocus: {
2328
+ type: Boolean,
2329
+ default: !0
2330
+ },
2331
+ submitOnMetaEnter: {
2332
+ type: Boolean,
2333
+ default: !0
2281
2334
  }
2282
2335
  },
2283
2336
  emits: [
@@ -2289,37 +2342,65 @@ var Dt = [
2289
2342
  "component-error"
2290
2343
  ],
2291
2344
  setup(e, { expose: c, emit: l }) {
2292
- let u = q("modal"), d = e, f = l, p = n(() => d.id || u), h = T(null), g = k(null), v = T(!1), b = null, S = !1, C = !1, w = !1, E = n(() => {
2345
+ let u = q("modal"), d = e, f = l, p = n(() => d.id || u), h = T(null), g = k(null), v = T(!1), b = null, S = [];
2346
+ function C() {
2347
+ return h.value ? Array.from(h.value.querySelectorAll(Pt)) : [];
2348
+ }
2349
+ function w(e) {
2350
+ if (!v.value) return;
2351
+ if (d.submitOnMetaEnter && (e.metaKey || e.ctrlKey) && e.key === "Enter") {
2352
+ (h.value?.querySelector("form"))?.requestSubmit();
2353
+ return;
2354
+ }
2355
+ if (e.key !== "Tab") return;
2356
+ let t = C();
2357
+ if (t.length === 0) return;
2358
+ let n = t[0], r = t[t.length - 1];
2359
+ e.shiftKey ? document.activeElement === n && (e.preventDefault(), r.focus()) : document.activeElement === r && (e.preventDefault(), n.focus());
2360
+ }
2361
+ function E() {
2362
+ let e = h.value?.parentElement;
2363
+ e && Array.from(e.children).forEach((e) => {
2364
+ let t = e;
2365
+ t === h.value || t.inert || (t.inert = !0, S.push(t));
2366
+ });
2367
+ }
2368
+ function O() {
2369
+ S.forEach((e) => {
2370
+ e.inert = !1;
2371
+ }), S.length = 0;
2372
+ }
2373
+ let j = !1, M = !1, N = !1, P = n(() => {
2293
2374
  let e = ["modal-dialog"];
2294
2375
  return d.size && e.push(`modal-${d.size}`), d.centered && e.push("modal-dialog-centered"), d.scrollable && e.push("modal-dialog-scrollable"), d.fullscreen === !0 ? e.push("modal-fullscreen") : typeof d.fullscreen == "string" && e.push(`modal-fullscreen-${d.fullscreen}-down`), e.join(" ");
2295
- }), O = () => {
2376
+ }), F = () => {
2296
2377
  typeof document < "u" && (b = document.activeElement), f("show");
2297
- }, j = () => {
2298
- v.value = !0, f("shown"), f("update:modelValue", !0);
2299
- }, M = () => {
2378
+ }, L = () => {
2379
+ v.value = !0, f("shown"), f("update:modelValue", !0), E(), d.autoFocus && h.value && h.value.querySelector("input:not([type=\"hidden\"]), select, textarea")?.focus();
2380
+ }, R = () => {
2300
2381
  f("hide");
2301
- }, N = () => {
2302
- v.value = !1, f("hidden"), f("update:modelValue", !1), b && typeof b.focus == "function" && b.focus(), b = null;
2382
+ }, z = () => {
2383
+ v.value = !1, f("hidden"), f("update:modelValue", !1), O(), b && typeof b.focus == "function" && b.focus(), b = null;
2303
2384
  };
2304
- function P() {
2305
- C || !h.value || (h.value.addEventListener("show.bs.modal", O), h.value.addEventListener("shown.bs.modal", j), h.value.addEventListener("hide.bs.modal", M), h.value.addEventListener("hidden.bs.modal", N), C = !0);
2385
+ function B() {
2386
+ M || !h.value || (h.value.addEventListener("show.bs.modal", F), h.value.addEventListener("shown.bs.modal", L), h.value.addEventListener("hide.bs.modal", R), h.value.addEventListener("hidden.bs.modal", z), h.value.addEventListener("keydown", w), M = !0);
2306
2387
  }
2307
- function F() {
2308
- !C || !h.value || (h.value.removeEventListener("show.bs.modal", O), h.value.removeEventListener("shown.bs.modal", j), h.value.removeEventListener("hide.bs.modal", M), h.value.removeEventListener("hidden.bs.modal", N), C = !1);
2388
+ function V() {
2389
+ !M || !h.value || (h.value.removeEventListener("show.bs.modal", F), h.value.removeEventListener("shown.bs.modal", L), h.value.removeEventListener("hide.bs.modal", R), h.value.removeEventListener("hidden.bs.modal", z), h.value.removeEventListener("keydown", w), M = !1);
2309
2390
  }
2310
- let L = async () => {
2311
- if (h.value && !S) {
2312
- S = !0;
2391
+ let H = async () => {
2392
+ if (h.value && !j) {
2393
+ j = !0;
2313
2394
  try {
2314
- g.value &&= (F(), g.value.dispose(), null);
2395
+ g.value &&= (V(), g.value.dispose(), null);
2315
2396
  let e = await import("bootstrap");
2316
- if (!h.value || w) return;
2397
+ if (!h.value || N) return;
2317
2398
  let t = e.Modal;
2318
2399
  g.value = new t(h.value, {
2319
2400
  backdrop: d.staticBackdrop ? "static" : !0,
2320
2401
  keyboard: !d.staticBackdrop,
2321
2402
  focus: !0
2322
- }), P(), d.modelValue && g.value.show();
2403
+ }), B(), d.modelValue && g.value.show();
2323
2404
  } catch (e) {
2324
2405
  f("component-error", {
2325
2406
  message: "Bootstrap JS not loaded. Modal will use data attributes only.",
@@ -2327,21 +2408,21 @@ var Dt = [
2327
2408
  originalError: e
2328
2409
  });
2329
2410
  } finally {
2330
- S = !1;
2411
+ j = !1;
2331
2412
  }
2332
2413
  }
2333
2414
  };
2334
- y(L), _(() => {
2335
- w = !0, F(), g.value?.dispose(), g.value = null;
2415
+ y(H), _(() => {
2416
+ N = !0, O(), V(), g.value?.dispose(), g.value = null;
2336
2417
  }), I(() => d.modelValue, (e) => {
2337
2418
  g.value && (e && !v.value ? g.value.show() : !e && v.value && g.value.hide());
2338
- }), I(() => d.staticBackdrop, L);
2339
- let R = () => g.value?.show(), z = () => g.value?.hide();
2340
- return Et(() => {
2341
- v.value && z();
2419
+ }), I(() => d.staticBackdrop, H);
2420
+ let ee = () => g.value?.show(), te = () => g.value?.hide();
2421
+ return Dt(() => {
2422
+ v.value && te();
2342
2423
  }), c({
2343
- show: R,
2344
- hide: z,
2424
+ show: ee,
2425
+ hide: te,
2345
2426
  handleUpdate: () => g.value?.handleUpdate(),
2346
2427
  _unsafe_bsInstance: g
2347
2428
  }), (n, c) => (x(), r(t, {
@@ -2357,30 +2438,30 @@ var Dt = [
2357
2438
  "aria-hidden": v.value ? void 0 : "true",
2358
2439
  "data-bs-backdrop": e.staticBackdrop ? "static" : void 0,
2359
2440
  "data-bs-keyboard": !e.staticBackdrop
2360
- }, [o("div", { class: m(E.value) }, [o("div", Ot, [
2361
- e.hideHeader ? i("", !0) : (x(), a("div", kt, [o("h5", {
2441
+ }, [o("div", { class: m(P.value) }, [o("div", kt, [
2442
+ e.hideHeader ? i("", !0) : (x(), a("div", At, [o("h5", {
2362
2443
  id: `${p.value}-label`,
2363
2444
  class: "modal-title"
2364
- }, [D(n.$slots, "header", {}, () => [s(A(e.title), 1)], !0)], 8, At), o("button", {
2445
+ }, [D(n.$slots, "header", {}, () => [s(A(e.title), 1)], !0)], 8, jt), o("button", {
2365
2446
  type: "button",
2366
2447
  class: "btn-close",
2367
2448
  "aria-label": "Close",
2368
- onClick: z
2449
+ onClick: te
2369
2450
  })])),
2370
- o("div", jt, [D(n.$slots, "default", {}, void 0, !0)]),
2371
- e.hideFooter ? i("", !0) : (x(), a("div", Mt, [D(n.$slots, "footer", {}, () => [o("button", {
2451
+ o("div", Mt, [D(n.$slots, "default", {}, void 0, !0)]),
2452
+ e.hideFooter ? i("", !0) : (x(), a("div", Nt, [D(n.$slots, "footer", {}, () => [o("button", {
2372
2453
  type: "button",
2373
2454
  class: "btn btn-secondary",
2374
- onClick: z
2455
+ onClick: te
2375
2456
  }, "Close")], !0)]))
2376
- ])], 2)], 8, Dt)], 8, ["to", "disabled"]));
2457
+ ])], 2)], 8, Ot)], 8, ["to", "disabled"]));
2377
2458
  }
2378
- }), [["__scopeId", "data-v-ed3ac656"]]), Pt = [
2459
+ }), [["__scopeId", "data-v-37f40a50"]]), It = [
2379
2460
  "id",
2380
2461
  "aria-labelledby",
2381
2462
  "data-bs-backdrop",
2382
2463
  "data-bs-scroll"
2383
- ], Ft = { class: "offcanvas-header" }, It = ["id"], Lt = { class: "offcanvas-body" }, Rt = /* @__PURE__ */ W(/* @__PURE__ */ c({
2464
+ ], Lt = { class: "offcanvas-header" }, Rt = ["id"], zt = { class: "offcanvas-body" }, Bt = /*#__PURE__*/ W(/* @__PURE__ */ c({
2384
2465
  __name: "VibeOffcanvas",
2385
2466
  props: {
2386
2467
  id: {
@@ -2470,7 +2551,7 @@ var Dt = [
2470
2551
  () => l.scroll
2471
2552
  ], P);
2472
2553
  let F = () => p.value?.show(), L = () => p.value?.hide();
2473
- return Et(() => {
2554
+ return Dt(() => {
2474
2555
  h.value && L();
2475
2556
  }), i({
2476
2557
  show: F,
@@ -2488,28 +2569,20 @@ var Dt = [
2488
2569
  "aria-labelledby": `${d.value}-label`,
2489
2570
  "data-bs-backdrop": e.backdrop === !1 ? "false" : e.backdrop === "static" ? "static" : "true",
2490
2571
  "data-bs-scroll": e.scroll
2491
- }, [o("div", Ft, [o("h5", {
2572
+ }, [o("div", Lt, [o("h5", {
2492
2573
  id: `${d.value}-label`,
2493
2574
  class: "offcanvas-title"
2494
- }, [D(n.$slots, "header", {}, () => [s(A(e.title), 1)], !0)], 8, It), o("button", {
2575
+ }, [D(n.$slots, "header", {}, () => [s(A(e.title), 1)], !0)], 8, Rt), o("button", {
2495
2576
  type: "button",
2496
2577
  class: "btn-close",
2497
2578
  "aria-label": "Close",
2498
2579
  onClick: L
2499
- })]), o("div", Lt, [D(n.$slots, "default", {}, void 0, !0)])], 10, Pt)], 8, ["to", "disabled"]));
2580
+ })]), o("div", zt, [D(n.$slots, "default", {}, void 0, !0)])], 10, It)], 8, ["to", "disabled"]));
2500
2581
  }
2501
- }), [["__scopeId", "data-v-417d55a1"]]), zt = [
2502
- "id",
2503
- "data-bs-autohide",
2504
- "data-bs-delay"
2505
- ], Bt = {
2582
+ }), [["__scopeId", "data-v-417d55a1"]]), Vt = {
2506
2583
  key: 0,
2507
2584
  class: "toast-header"
2508
- }, Vt = { class: "me-auto" }, Ht = { class: "toast-body" }, Ut = [
2509
- "id",
2510
- "data-bs-autohide",
2511
- "data-bs-delay"
2512
- ], Wt = {
2585
+ }, Ht = { class: "me-auto" }, Ut = { class: "toast-body" }, Wt = {
2513
2586
  key: 0,
2514
2587
  class: "toast-header"
2515
2588
  }, Gt = { class: "me-auto" }, Kt = { class: "toast-body" }, qt = /* @__PURE__ */ c({
@@ -2561,38 +2634,38 @@ var Dt = [
2561
2634
  "component-error"
2562
2635
  ],
2563
2636
  setup(e, { expose: s, emit: c }) {
2564
- let l = q("toast"), u = e, d = c, f = n(() => u.id ?? l), p = T(null), h = k(null), g = T(!1), v = n(() => {
2637
+ let l = q("toast"), u = e, d = c, p = n(() => u.id ?? l), h = T(null), g = k(null), v = T(!1), b = n(() => {
2565
2638
  let e = ["toast"];
2566
2639
  return u.variant && e.push(`text-bg-${u.variant}`), e.join(" ");
2567
- }), b = n(() => {
2640
+ }), S = n(() => {
2568
2641
  let e = [
2569
2642
  "toast-container",
2570
2643
  "position-fixed",
2571
2644
  "p-3"
2572
2645
  ], t = u.placement;
2573
2646
  return t.includes("top") && e.push("top-0"), t.includes("bottom") && e.push("bottom-0"), t.includes("middle") && e.push("top-50", "start-50", "translate-middle"), t.includes("start") && e.push("start-0"), t.includes("end") && e.push("end-0"), t.includes("center") && !t.includes("middle") && e.push("start-50", "translate-middle-x"), e.join(" ");
2574
- }), S = () => {
2647
+ }), C = () => {
2575
2648
  d("show");
2576
- }, C = () => {
2577
- g.value = !0, d("shown"), d("update:modelValue", !0);
2578
2649
  }, w = () => {
2579
- d("hide");
2650
+ v.value = !0, d("shown"), d("update:modelValue", !0);
2580
2651
  }, E = () => {
2581
- g.value = !1, d("hidden"), d("update:modelValue", !1);
2652
+ d("hide");
2582
2653
  }, O = () => {
2583
- let e = p.value;
2584
- e && (e.removeEventListener("show.bs.toast", S), e.removeEventListener("shown.bs.toast", C), e.removeEventListener("hide.bs.toast", w), e.removeEventListener("hidden.bs.toast", E));
2585
- }, j = !1, M = !1, N = async () => {
2586
- if (!(!p.value || j)) {
2587
- j = !0, O(), h.value &&= (h.value.dispose(), null);
2654
+ v.value = !1, d("hidden"), d("update:modelValue", !1);
2655
+ }, j = () => {
2656
+ let e = h.value;
2657
+ e && (e.removeEventListener("show.bs.toast", C), e.removeEventListener("shown.bs.toast", w), e.removeEventListener("hide.bs.toast", E), e.removeEventListener("hidden.bs.toast", O));
2658
+ }, M = !1, N = !1, P = async () => {
2659
+ if (!(!h.value || M)) {
2660
+ M = !0, j(), g.value &&= (g.value.dispose(), null);
2588
2661
  try {
2589
2662
  let e = await import("bootstrap");
2590
- if (!p.value || M) return;
2663
+ if (!h.value || N) return;
2591
2664
  let t = e.Toast;
2592
- h.value = new t(p.value, {
2665
+ g.value = new t(h.value, {
2593
2666
  autohide: u.autohide,
2594
2667
  delay: u.delay
2595
- }), p.value.addEventListener("show.bs.toast", S), p.value.addEventListener("shown.bs.toast", C), p.value.addEventListener("hide.bs.toast", w), p.value.addEventListener("hidden.bs.toast", E), u.modelValue && h.value.show();
2668
+ }), h.value.addEventListener("show.bs.toast", C), h.value.addEventListener("shown.bs.toast", w), h.value.addEventListener("hide.bs.toast", E), h.value.addEventListener("hidden.bs.toast", O), u.modelValue && g.value.show();
2596
2669
  } catch (e) {
2597
2670
  d("component-error", {
2598
2671
  message: "Bootstrap JS not loaded. Toast will use data attributes only.",
@@ -2600,59 +2673,55 @@ var Dt = [
2600
2673
  originalError: e
2601
2674
  });
2602
2675
  } finally {
2603
- j = !1;
2676
+ M = !1;
2604
2677
  }
2605
2678
  }
2606
2679
  };
2607
- y(N), _(() => {
2608
- M = !0, O(), h.value &&= (h.value.dispose(), null);
2680
+ y(P), _(() => {
2681
+ N = !0, j(), g.value &&= (g.value.dispose(), null);
2609
2682
  }), I(() => u.modelValue, (e) => {
2610
- h.value && (e && !g.value ? h.value.show() : !e && g.value && h.value.hide());
2611
- }), I([() => u.autohide, () => u.delay], N);
2612
- let P = () => h.value?.show(), F = () => h.value?.hide();
2613
- return s({
2614
- show: P,
2615
- hide: F,
2616
- _unsafe_bsInstance: h
2617
- }), (n, s) => e.noContainer ? (x(), a("div", {
2618
- key: 0,
2619
- ref_key: "toastRef",
2620
- ref: p,
2621
- id: f.value,
2622
- class: m(v.value),
2683
+ g.value && (e && !v.value ? g.value.show() : !e && v.value && g.value.hide());
2684
+ }), I([() => u.autohide, () => u.delay], P);
2685
+ let F = () => g.value?.show(), L = () => g.value?.hide();
2686
+ s({
2687
+ show: F,
2688
+ hide: L,
2689
+ _unsafe_bsInstance: g
2690
+ });
2691
+ let R = n(() => ({
2692
+ id: p.value,
2693
+ class: b.value,
2623
2694
  role: "alert",
2624
2695
  "aria-live": "assertive",
2625
2696
  "aria-atomic": "true",
2626
- "data-bs-autohide": e.autohide,
2627
- "data-bs-delay": e.delay
2628
- }, [e.title || n.$slots.header ? (x(), a("div", Bt, [D(n.$slots, "header", {}, () => [o("strong", Vt, A(e.title), 1)]), o("button", {
2697
+ "data-bs-autohide": u.autohide,
2698
+ "data-bs-delay": u.delay
2699
+ }));
2700
+ return (n, s) => (x(), r(t, {
2701
+ to: e.teleport === !0 ? "body" : e.teleport || void 0,
2702
+ disabled: e.noContainer || !e.teleport
2703
+ }, [e.noContainer ? (x(), a("div", f({
2704
+ key: 1,
2705
+ ref_key: "toastRef",
2706
+ ref: h
2707
+ }, R.value), [e.title || n.$slots.header ? (x(), a("div", Wt, [D(n.$slots, "header", {}, () => [o("strong", Gt, A(e.title), 1)]), o("button", {
2629
2708
  type: "button",
2630
2709
  class: "btn-close",
2631
2710
  "aria-label": "Close",
2632
- onClick: F
2633
- })])) : i("", !0), o("div", Ht, [D(n.$slots, "default")])], 10, zt)) : (x(), r(t, {
2634
- key: 1,
2635
- to: e.teleport === !0 ? "body" : e.teleport || void 0,
2636
- disabled: !e.teleport
2637
- }, [o("div", {
2638
- class: m(b.value),
2711
+ onClick: L
2712
+ })])) : i("", !0), o("div", Kt, [D(n.$slots, "default")])], 16)) : (x(), a("div", {
2713
+ key: 0,
2714
+ class: m(S.value),
2639
2715
  style: { "z-index": "1090" }
2640
- }, [o("div", {
2716
+ }, [o("div", f({
2641
2717
  ref_key: "toastRef",
2642
- ref: p,
2643
- id: f.value,
2644
- class: m(v.value),
2645
- role: "alert",
2646
- "aria-live": "assertive",
2647
- "aria-atomic": "true",
2648
- "data-bs-autohide": e.autohide,
2649
- "data-bs-delay": e.delay
2650
- }, [e.title || n.$slots.header ? (x(), a("div", Wt, [D(n.$slots, "header", {}, () => [o("strong", Gt, A(e.title), 1)]), o("button", {
2718
+ ref: h
2719
+ }, R.value), [e.title || n.$slots.header ? (x(), a("div", Vt, [D(n.$slots, "header", {}, () => [o("strong", Ht, A(e.title), 1)]), o("button", {
2651
2720
  type: "button",
2652
2721
  class: "btn-close",
2653
2722
  "aria-label": "Close",
2654
- onClick: F
2655
- })])) : i("", !0), o("div", Kt, [D(n.$slots, "default")])], 10, Ut)], 2)], 8, ["to", "disabled"]));
2723
+ onClick: L
2724
+ })])) : i("", !0), o("div", Ut, [D(n.$slots, "default")])], 16)], 2))], 8, ["to", "disabled"]));
2656
2725
  }
2657
2726
  }), Jt = C({ toasts: [] }), Yt = /* @__PURE__ */ new Map(), Xt = 0, Zt = () => (Xt += 1, `vibe-toast-${Xt}`), Qt = (e, t) => {
2658
2727
  let n = t.id ?? Zt(), r = Yt.get(n);
@@ -2727,21 +2796,17 @@ var nn = () => {
2727
2796
  placement: e,
2728
2797
  toasts: t
2729
2798
  }));
2730
- }), u = /* @__PURE__ */ new Map(), d = (e) => {
2731
- let t = u.get(e);
2732
- if (t !== void 0) return t;
2733
- let n = [
2799
+ }), u = (e) => {
2800
+ let t = [
2734
2801
  "toast-container",
2735
2802
  "position-fixed",
2736
2803
  "p-3"
2737
2804
  ];
2738
- e.includes("top") && n.push("top-0"), e.includes("bottom") && n.push("bottom-0"), e.includes("middle") && n.push("top-50", "start-50", "translate-middle"), e.includes("start") && n.push("start-0"), e.includes("end") && n.push("end-0"), e.includes("center") && !e.includes("middle") && n.push("start-50", "translate-middle-x");
2739
- let r = n.join(" ");
2740
- return u.set(e, r), r;
2805
+ return e.includes("top") && t.push("top-0"), e.includes("bottom") && t.push("bottom-0"), e.includes("middle") && t.push("top-50", "start-50", "translate-middle"), e.includes("start") && t.push("start-0"), e.includes("end") && t.push("end-0"), e.includes("center") && !e.includes("middle") && t.push("start-50", "translate-middle-x"), t.join(" ");
2741
2806
  };
2742
2807
  return (n, i) => (x(), r(t, { to: "body" }, [(x(!0), a(e, null, E(l.value, (t) => (x(), a("div", {
2743
2808
  key: t.placement,
2744
- class: m(d(t.placement)),
2809
+ class: m(u(t.placement)),
2745
2810
  style: { "z-index": "1090" }
2746
2811
  }, [(x(!0), a(e, null, E(t.toasts, (e) => (x(), r(qt, {
2747
2812
  key: e.id,
@@ -2973,7 +3038,7 @@ var nn = () => {
2973
3038
  setup(e, { expose: t, emit: r }) {
2974
3039
  let i = e, o = r;
2975
3040
  i.content !== void 0 && i.text === void 0 && console.warn("[VibeTooltip] The `content` prop is deprecated and may be removed in a future version. Use `text` instead.");
2976
- let s = T(null), c = k(null), l = !1, u = () => typeof window < "u" && ("ontouchstart" in window || typeof navigator < "u" && navigator.maxTouchPoints > 0), d = n(() => u() && i.trigger === "hover focus" ? "click" : i.trigger), f = !1, p = !1, m = async () => {
3041
+ let s = T(null), c = k(null), l = !1, u = typeof window < "u" && ("ontouchstart" in window || typeof navigator < "u" && navigator.maxTouchPoints > 0), d = n(() => u && i.trigger === "hover focus" ? "click" : i.trigger), f = !1, p = !1, m = async () => {
2977
3042
  if (s.value) {
2978
3043
  if (f) {
2979
3044
  p = !0;
@@ -3044,7 +3109,7 @@ var nn = () => {
3044
3109
  },
3045
3110
  emits: ["component-error"],
3046
3111
  setup(e, { expose: t, emit: r }) {
3047
- let i = e, o = r, s = T(null), c = k(null), l = !1, u = () => typeof window < "u" && ("ontouchstart" in window || typeof navigator < "u" && navigator.maxTouchPoints > 0), d = n(() => u() && i.trigger === "hover focus" ? "click" : i.trigger), f = !1, p = !1, m = async () => {
3112
+ let i = e, o = r, s = T(null), c = k(null), l = !1, u = typeof window < "u" && ("ontouchstart" in window || typeof navigator < "u" && navigator.maxTouchPoints > 0), d = n(() => u && i.trigger === "hover focus" ? "click" : i.trigger), f = !1, p = !1, m = async () => {
3048
3113
  if (s.value) {
3049
3114
  if (f) {
3050
3115
  p = !0;
@@ -3135,12 +3200,14 @@ var nn = () => {
3135
3200
  try {
3136
3201
  let e = (await import("bootstrap")).ScrollSpy;
3137
3202
  if (!s.value || u) return;
3138
- a.offset !== void 0 && console.warn("[VibeScrollspy] The `offset` prop is deprecated (Bootstrap 5.2+). Use `rootMargin` instead."), c.value = new e(s.value, {
3203
+ a.offset !== void 0 && console.warn("[VibeScrollspy] The `offset` prop is deprecated (Bootstrap 5.2+). Use `rootMargin` instead.");
3204
+ let t = {
3139
3205
  target: a.target,
3140
3206
  rootMargin: a.rootMargin,
3141
3207
  method: a.method,
3142
3208
  smoothScroll: a.smoothScroll
3143
- }), s.value.addEventListener("activate.bs.scrollspy", d);
3209
+ };
3210
+ c.value = new e(s.value, t), s.value.addEventListener("activate.bs.scrollspy", d);
3144
3211
  } catch (e) {
3145
3212
  o("component-error", {
3146
3213
  message: "Bootstrap JS not loaded. ScrollSpy will use data attributes only.",
@@ -3242,7 +3309,10 @@ var nn = () => {
3242
3309
  let e = ["bi", `bi-${r.icon}`];
3243
3310
  return r.customClass && e.push(r.customClass), e.join(" ");
3244
3311
  }), s = n(() => {
3245
- let e = {};
3312
+ let e = {
3313
+ cursor: "inherit",
3314
+ userSelect: "none"
3315
+ };
3246
3316
  if (r.fontSize) {
3247
3317
  let t = Ce(r.fontSize);
3248
3318
  t && (e.fontSize = t);
@@ -3263,7 +3333,7 @@ var nn = () => {
3263
3333
  t && (e.color = t);
3264
3334
  }
3265
3335
  let t = [];
3266
- return r.flipH && t.push("scaleX(-1)"), r.flipV && t.push("scaleY(-1)"), r.rotate && t.push(`rotate(${r.rotate}deg)`), t.length > 0 && (e.transform = t.join(" "), e.display = "inline-block"), Object.keys(e).length > 0 ? e : void 0;
3336
+ return r.flipH && t.push("scaleX(-1)"), r.flipV && t.push("scaleY(-1)"), r.rotate && t.push(`rotate(${r.rotate}deg)`), t.length > 0 && (e.transform = t.join(" "), e.display = "inline-block"), e;
3267
3337
  }), c = (e) => {
3268
3338
  (r.ariaLabel || !r.ariaHidden) && i("click", e);
3269
3339
  };
@@ -3428,7 +3498,7 @@ var Rn = { class: "vibe-chart" }, zn = {
3428
3498
  }, Bn = {
3429
3499
  key: 1,
3430
3500
  class: "vibe-chart-legend vibe-chart-legend--bottom"
3431
- }, Vn = /* @__PURE__ */ W(/* @__PURE__ */ c({
3501
+ }, Vn = /*#__PURE__*/ W(/* @__PURE__ */ c({
3432
3502
  __name: "VibeChartLine",
3433
3503
  props: {
3434
3504
  data: {
@@ -3483,7 +3553,7 @@ var Rn = { class: "vibe-chart" }, zn = {
3483
3553
  d = e, f = t, v();
3484
3554
  }), y(() => {
3485
3555
  g(), _ = In(r.data), c.value && l.value && (u = An(c.value, l.value, (e, t) => Ln(e, t, r.data, d, f, r.showAxes, _)));
3486
- }), I(() => r.data, v, { deep: !0 }), I([
3556
+ }), I(() => r.data, v), I([
3487
3557
  () => r.showAxes,
3488
3558
  () => r.showGrid,
3489
3559
  () => r.smooth,
@@ -3523,7 +3593,7 @@ var Rn = { class: "vibe-chart" }, zn = {
3523
3593
  }, null, 4), s(" " + A(e.label), 1)]))), 128))])) : i("", !0)
3524
3594
  ]));
3525
3595
  }
3526
- }), [["__scopeId", "data-v-a910a057"]]), Hn = 5, Un = .2;
3596
+ }), [["__scopeId", "data-v-d995a6f3"]]), Hn = 5, Un = .2;
3527
3597
  function Wn(e) {
3528
3598
  return e ? {
3529
3599
  left: 50,
@@ -3615,7 +3685,7 @@ var Jn = { class: "vibe-chart" }, Yn = {
3615
3685
  }, Xn = {
3616
3686
  key: 1,
3617
3687
  class: "vibe-chart-legend vibe-chart-legend--bottom"
3618
- }, Zn = /* @__PURE__ */ W(/* @__PURE__ */ c({
3688
+ }, Zn = /*#__PURE__*/ W(/* @__PURE__ */ c({
3619
3689
  __name: "VibeChartBar",
3620
3690
  props: {
3621
3691
  data: {
@@ -3666,7 +3736,7 @@ var Jn = { class: "vibe-chart" }, Yn = {
3666
3736
  d = e, f = t, v();
3667
3737
  }), y(() => {
3668
3738
  g(), _ = Gn(r.data, r.stacked), c.value && l.value && (u = An(c.value, l.value, (e, t) => qn(e, t, r.data, d, f, r.showAxes, r.stacked, _)));
3669
- }), I(() => r.data, v, { deep: !0 }), I([
3739
+ }), I(() => r.data, v), I([
3670
3740
  () => r.showAxes,
3671
3741
  () => r.showGrid,
3672
3742
  () => r.stacked
@@ -3705,7 +3775,7 @@ var Jn = { class: "vibe-chart" }, Yn = {
3705
3775
  }, null, 4), s(" " + A(e.label), 1)]))), 128))])) : i("", !0)
3706
3776
  ]));
3707
3777
  }
3708
- }), [["__scopeId", "data-v-b143798f"]]);
3778
+ }), [["__scopeId", "data-v-eb3ff4df"]]);
3709
3779
  //#endregion
3710
3780
  //#region src/components/chart/drawPie.ts
3711
3781
  function Qn(e, t, n, r, i) {
@@ -3746,7 +3816,7 @@ var er = { class: "vibe-chart" }, tr = {
3746
3816
  }, nr = {
3747
3817
  key: 1,
3748
3818
  class: "vibe-chart-legend vibe-chart-legend--bottom"
3749
- }, rr = /* @__PURE__ */ W(/* @__PURE__ */ c({
3819
+ }, rr = /*#__PURE__*/ W(/* @__PURE__ */ c({
3750
3820
  __name: "VibeChartPie",
3751
3821
  props: {
3752
3822
  data: {
@@ -3784,7 +3854,7 @@ var er = { class: "vibe-chart" }, tr = {
3784
3854
  d = e, f = t, _();
3785
3855
  }), y(() => {
3786
3856
  g(), c.value && l.value && (u = An(c.value, l.value, (e, t) => $n(e, t, r.data, d, f)));
3787
- }), I(() => r.data, _, { deep: !0 }), b(() => {
3857
+ }), I(() => r.data, _), b(() => {
3788
3858
  u?.();
3789
3859
  }), (n, r) => (x(), a("div", er, [
3790
3860
  t.legend === "top" ? (x(), a("div", tr, [(x(!0), a(e, null, E(t.data.labels, (e, t) => (x(), a("span", {
@@ -3819,43 +3889,40 @@ var er = { class: "vibe-chart" }, tr = {
3819
3889
  }, null, 4), s(" " + A(e), 1)]))), 128))])) : i("", !0)
3820
3890
  ]));
3821
3891
  }
3822
- }), [["__scopeId", "data-v-f45b7211"]]), ir = { class: "vibe-datatable" }, ar = { class: "row mb-3" }, or = {
3892
+ }), [["__scopeId", "data-v-bab16cba"]]), ir = { class: "vibe-datatable" }, ar = { class: "row mb-3" }, or = {
3823
3893
  key: 0,
3824
3894
  class: "col-md-6 mb-2 mb-md-0"
3825
3895
  }, sr = ["placeholder"], cr = {
3826
3896
  key: 1,
3827
3897
  class: "col-md-6"
3828
- }, lr = { class: "d-flex justify-content-md-end align-items-center" }, ur = ["value"], dr = ["onClick"], fr = {
3829
- key: 0,
3830
- class: "ms-1"
3831
- }, pr = ["onClick"], mr = ["data-label"], hr = { key: 0 }, gr = ["colspan"], _r = { class: "row" }, vr = {
3898
+ }, lr = { class: "d-flex justify-content-md-end align-items-center" }, ur = ["value"], dr = ["aria-sort", "onClick"], fr = ["onClick"], pr = ["data-label"], mr = { key: 0 }, hr = ["colspan"], gr = { class: "row" }, _r = {
3832
3899
  key: 0,
3833
3900
  class: "col-md-6 mb-2 mb-md-0"
3834
- }, yr = { class: "datatable-info" }, br = {
3901
+ }, vr = { class: "datatable-info" }, yr = {
3835
3902
  key: 1,
3836
3903
  class: "col-md-6"
3837
- }, xr = { class: "pagination justify-content-md-end mb-0" }, Sr = {
3904
+ }, br = { class: "pagination justify-content-md-end mb-0" }, xr = {
3838
3905
  key: 0,
3839
3906
  class: "page-item"
3840
- }, Cr = {
3907
+ }, Sr = {
3841
3908
  key: 1,
3842
3909
  class: "page-item disabled"
3843
- }, wr = ["onClick"], Tr = {
3910
+ }, Cr = ["onClick"], wr = {
3844
3911
  key: 2,
3845
3912
  class: "page-item disabled"
3846
- }, Er = {
3913
+ }, Tr = {
3847
3914
  key: 3,
3848
3915
  class: "page-item"
3849
- }, Dr = /* @__PURE__ */ W(/* @__PURE__ */ c({
3916
+ }, Er = /*#__PURE__*/ W(/* @__PURE__ */ c({
3850
3917
  __name: "VibeDataTable",
3851
- props: /* @__PURE__ */ d({
3918
+ props: /*@__PURE__*/ d({
3852
3919
  items: {
3853
3920
  type: Array,
3854
3921
  default: () => []
3855
3922
  },
3856
3923
  columns: {
3857
3924
  type: Array,
3858
- required: !0
3925
+ default: () => []
3859
3926
  },
3860
3927
  rowKey: {
3861
3928
  type: String,
@@ -3946,6 +4013,10 @@ var er = { class: "vibe-chart" }, tr = {
3946
4013
  50,
3947
4014
  100
3948
4015
  ]
4016
+ },
4017
+ clickable: {
4018
+ type: Boolean,
4019
+ default: !1
3949
4020
  }
3950
4021
  }, {
3951
4022
  currentPage: { default: 1 },
@@ -3960,33 +4031,30 @@ var er = { class: "vibe-chart" }, tr = {
3960
4031
  },
3961
4032
  sortDescModifiers: {}
3962
4033
  }),
3963
- emits: /* @__PURE__ */ d(["row-clicked", "component-error"], [
4034
+ emits: /*@__PURE__*/ d(["row-clicked", "component-error"], [
3964
4035
  "update:currentPage",
3965
4036
  "update:perPage",
3966
4037
  "update:sortBy",
3967
4038
  "update:sortDesc"
3968
4039
  ]),
3969
4040
  setup(t, { emit: r }) {
3970
- let c = t, u = M(t, "currentPage"), d = M(t, "perPage"), f = M(t, "sortBy"), p = M(t, "sortDesc"), g = r, v = l(), y = n(() => {
3971
- let e = v?.vnode.props;
3972
- return typeof e?.onRowClicked == "function" || typeof e?.["onRow-clicked"] == "function";
3973
- }), b = T(""), S = T(null), C = T(""), w = (e, t) => c.rowKey && e[c.rowKey] !== void 0 ? String(e[c.rowKey]) : `__row_${V.value - 1 + t}`;
3974
- I(b, (e) => {
3975
- S.value !== null && clearTimeout(S.value), S.value = setTimeout(() => {
3976
- C.value = e, u.value = 1, S.value = null;
4041
+ let c = t, l = M(t, "currentPage"), u = M(t, "perPage"), d = M(t, "sortBy"), f = M(t, "sortDesc"), p = r, g = T(""), v = T(null), y = T(""), b = (e, t) => c.rowKey && e[c.rowKey] !== void 0 ? String(e[c.rowKey]) : `__row_${R.value - 1 + t}`, S = !1;
4042
+ I(g, (e) => {
4043
+ v.value !== null && clearTimeout(v.value), v.value = setTimeout(() => {
4044
+ S || (y.value = e, l.value = 1, v.value = null);
3977
4045
  }, c.searchDebounce);
3978
4046
  }), _(() => {
3979
- S.value !== null && (clearTimeout(S.value), S.value = null);
4047
+ S = !0, v.value !== null && (clearTimeout(v.value), v.value = null);
3980
4048
  });
3981
- let O = n(() => {
3982
- if (!c.searchable || !C.value) return c.items || [];
3983
- let e = C.value.toLowerCase();
4049
+ let C = n(() => {
4050
+ if (!c.searchable || !y.value) return c.items || [];
4051
+ let e = y.value.toLowerCase();
3984
4052
  return (c.items || []).filter((t) => (c.columns || []).some((n) => {
3985
4053
  if (n.searchable === !1) return !1;
3986
4054
  let r = t[n.key];
3987
4055
  return r == null ? !1 : String(r).toLowerCase().includes(e);
3988
4056
  }));
3989
- }), k = (e, t, n) => {
4057
+ }), w = (e, t, n) => {
3990
4058
  if (e == null) return 1;
3991
4059
  if (t == null) return -1;
3992
4060
  if (typeof e == "string" && typeof t == "string") {
@@ -4000,139 +4068,175 @@ var er = { class: "vibe-chart" }, tr = {
4000
4068
  return r < i ? n ? 1 : -1 : r > i ? n ? -1 : 1 : 0;
4001
4069
  }
4002
4070
  return 0;
4003
- }, j = n(() => {
4004
- if (!c.sortable || !f.value) return O.value;
4005
- let e = [...O.value], t = f.value;
4006
- return e.sort((e, n) => k(e[t], n[t], p.value)), e;
4007
- }), F = n(() => {
4008
- if (!c.paginated) return j.value;
4009
- let e = (u.value - 1) * d.value, t = e + d.value;
4010
- return j.value.slice(e, t);
4011
- }), L = n(() => c.items.length), R = n(() => O.value.length), B = n(() => Math.ceil(R.value / Math.max(1, d.value))), V = n(() => R.value === 0 ? 0 : (u.value - 1) * d.value + 1), H = n(() => {
4012
- let e = u.value * d.value;
4013
- return Math.min(e, R.value);
4014
- }), ee = n(() => (R.value === L.value ? c.infoText : c.filteredInfoText).replace("{start}", String(V.value)).replace("{end}", String(H.value)).replace("{total}", String(R.value)).replace("{totalRows}", String(L.value))), te = n(() => {
4015
- let e = u.value - 2, t = u.value + 2, n = [];
4016
- for (let r = Math.max(1, e); r <= Math.min(B.value, t); r++) n.push(r);
4071
+ }, O = n(() => {
4072
+ if (!c.sortable || !d.value) return C.value;
4073
+ let e = [...C.value], t = d.value;
4074
+ return e.sort((e, n) => w(e[t], n[t], f.value)), e;
4075
+ }), k = n(() => {
4076
+ if (!c.paginated) return O.value;
4077
+ let e = (l.value - 1) * u.value, t = e + u.value;
4078
+ return O.value.slice(e, t);
4079
+ }), j = n(() => c.items.length), F = n(() => C.value.length), L = n(() => Math.ceil(F.value / Math.max(1, u.value))), R = n(() => F.value === 0 ? 0 : (l.value - 1) * u.value + 1), B = n(() => {
4080
+ let e = l.value * u.value;
4081
+ return Math.min(e, F.value);
4082
+ }), V = n(() => (F.value === j.value ? c.infoText : c.filteredInfoText).replace("{start}", String(R.value)).replace("{end}", String(B.value)).replace("{total}", String(F.value)).replace("{totalRows}", String(j.value))), H = n(() => {
4083
+ let e = l.value - 2, t = l.value + 2, n = [];
4084
+ for (let r = Math.max(1, e); r <= Math.min(L.value, t); r++) n.push(r);
4017
4085
  return n;
4018
- }), ne = n(() => {
4086
+ }), ee = n(() => {
4019
4087
  let e = ["table"];
4020
4088
  return c.striped && e.push("table-striped"), c.bordered && e.push("table-bordered"), c.borderless && e.push("table-borderless"), c.hover && e.push("table-hover"), c.small && e.push("table-sm"), c.stack && e.push("vibe-table-stack"), c.variant && e.push(`table-${c.variant}`), e.join(" ");
4021
- }), re = (e) => {
4022
- !c.sortable || e.sortable === !1 || (f.value === e.key ? p.value = !p.value : (f.value = e.key, p.value = !1));
4089
+ }), te = (e) => {
4090
+ !c.sortable || e.sortable === !1 || (d.value === e.key ? f.value = !f.value : (d.value = e.key, f.value = !1));
4023
4091
  };
4024
- I(B, (e) => {
4025
- e > 0 && u.value > e && (u.value = e);
4092
+ I(L, (e) => {
4093
+ e > 0 && l.value > e && (l.value = e);
4026
4094
  });
4027
4095
  let U = (e) => {
4028
- e < 1 || e > B.value || (u.value = e);
4029
- }, ie = () => {
4030
- u.value = 1;
4031
- }, ae = (e, t) => {
4032
- g("row-clicked", e, V.value - 1 + t);
4033
- }, oe = (e, t) => {
4096
+ e < 1 || e > L.value || (l.value = e);
4097
+ }, W = () => {
4098
+ l.value = 1;
4099
+ }, ne = (e, t) => {
4100
+ p("row-clicked", e, R.value - 1 + t);
4101
+ }, re = (e, t) => {
4034
4102
  let n = e[t.key];
4035
4103
  return t.formatter ? t.formatter(n, e) : n;
4036
- }, se = n(() => {
4104
+ }, ie = n(() => {
4037
4105
  let e = /* @__PURE__ */ new Map();
4038
- for (let t of c.columns) !c.sortable || t.sortable === !1 ? e.set(t, "") : f.value === t.key ? e.set(t, p.value ? "" : "") : e.set(t, "");
4106
+ for (let t of c.columns) !c.sortable || t.sortable === !1 ? e.set(t, "") : d.value === t.key ? e.set(t, f.value ? "sort-desc" : "sort-asc") : e.set(t, "sort-none");
4039
4107
  return e;
4040
- }), ce = n(() => {
4108
+ }), ae = n(() => {
4109
+ let e = /* @__PURE__ */ new Map();
4110
+ for (let t of c.columns) !c.sortable || t.sortable === !1 ? e.set(t, void 0) : d.value === t.key ? e.set(t, f.value ? "descending" : "ascending") : e.set(t, "none");
4111
+ return e;
4112
+ }), oe = n(() => {
4041
4113
  let e = /* @__PURE__ */ new Map();
4042
4114
  for (let t of c.columns) {
4043
4115
  let n = Te(t.thStyle);
4044
4116
  c.sortable && t.sortable !== !1 && (n.cursor = "pointer"), e.set(t, n);
4045
4117
  }
4046
4118
  return e;
4047
- }), le = n(() => {
4119
+ }), se = n(() => {
4048
4120
  let e = /* @__PURE__ */ new Map();
4049
4121
  for (let t of c.columns) e.set(t, Te(t.tdStyle));
4050
4122
  return e;
4051
4123
  });
4052
4124
  return (n, r) => (x(), a("div", ir, [
4053
4125
  o("div", ar, [t.searchable ? (x(), a("div", or, [z(o("input", {
4054
- "onUpdate:modelValue": r[0] ||= (e) => b.value = e,
4126
+ "onUpdate:modelValue": r[0] ||= (e) => g.value = e,
4055
4127
  type: "search",
4056
4128
  class: "form-control",
4057
4129
  placeholder: t.searchPlaceholder
4058
- }, null, 8, sr), [[P, b.value]])])) : i("", !0), t.showPerPage && t.paginated ? (x(), a("div", cr, [o("div", lr, [
4130
+ }, null, 8, sr), [[P, g.value]])])) : i("", !0), t.showPerPage && t.paginated ? (x(), a("div", cr, [o("div", lr, [
4059
4131
  r[6] ||= o("label", { class: "me-2 mb-0" }, "Show", -1),
4060
4132
  z(o("select", {
4061
- "onUpdate:modelValue": r[1] ||= (e) => d.value = e,
4133
+ "onUpdate:modelValue": r[1] ||= (e) => u.value = e,
4062
4134
  class: "form-select form-select-sm",
4063
4135
  style: { width: "auto" },
4064
- onChange: ie
4136
+ onChange: W
4065
4137
  }, [(x(!0), a(e, null, E(t.perPageOptions, (e) => (x(), a("option", {
4066
4138
  key: e,
4067
4139
  value: e
4068
4140
  }, A(e), 9, ur))), 128))], 544), [[
4069
4141
  N,
4070
- d.value,
4142
+ u.value,
4071
4143
  void 0,
4072
4144
  { number: !0 }
4073
4145
  ]]),
4074
4146
  r[7] ||= o("span", { class: "ms-2" }, "entries", -1)
4075
4147
  ])])) : i("", !0)]),
4076
- o("div", { class: m({ "table-responsive": t.responsive }) }, [o("table", { class: m(ne.value) }, [o("thead", null, [o("tr", null, [(x(!0), a(e, null, E(t.columns, (e) => (x(), a("th", {
4148
+ o("div", { class: m({ "table-responsive": t.responsive }) }, [o("table", { class: m(ee.value) }, [o("thead", null, [o("tr", null, [(x(!0), a(e, null, E(t.columns, (e) => (x(), a("th", {
4077
4149
  key: e.key,
4078
4150
  class: m(e.headerClass),
4079
- style: h(ce.value.get(e)),
4080
- onClick: (t) => re(e)
4081
- }, [s(A(e.label) + " ", 1), t.sortable && e.sortable !== !1 ? (x(), a("span", fr, A(se.value.get(e)), 1)) : i("", !0)], 14, dr))), 128))])]), o("tbody", null, [(x(!0), a(e, null, E(F.value, (r, i) => (x(), a("tr", {
4082
- key: w(r, i),
4083
- style: h(y.value ? { cursor: "pointer" } : void 0),
4084
- onClick: (e) => ae(r, i)
4151
+ style: h(oe.value.get(e)),
4152
+ "aria-sort": ae.value.get(e),
4153
+ onClick: (t) => te(e)
4154
+ }, [s(A(e.label) + " ", 1), t.sortable && e.sortable !== !1 ? (x(), a("span", {
4155
+ key: 0,
4156
+ class: m([
4157
+ "ms-1",
4158
+ "vibe-sort-icon",
4159
+ ie.value.get(e)
4160
+ ]),
4161
+ "aria-hidden": "true"
4162
+ }, null, 2)) : i("", !0)], 14, dr))), 128))])]), o("tbody", null, [(x(!0), a(e, null, E(k.value, (r, i) => (x(), a("tr", {
4163
+ key: b(r, i),
4164
+ style: h(t.clickable ? { cursor: "pointer" } : void 0),
4165
+ onClick: (e) => ne(r, i)
4085
4166
  }, [(x(!0), a(e, null, E(t.columns, (e) => (x(), a("td", {
4086
4167
  key: e.key,
4087
4168
  class: m(e.class),
4088
- style: h(le.value.get(e)),
4169
+ style: h(se.value.get(e)),
4089
4170
  "data-label": e.label
4090
4171
  }, [D(n.$slots, `cell(${e.key})`, {
4091
4172
  item: r,
4092
4173
  value: r[e.key],
4093
4174
  index: i
4094
- }, () => [s(A(oe(r, e)), 1)], !0)], 14, mr))), 128))], 12, pr))), 128)), F.value.length === 0 && t.showEmpty ? (x(), a("tr", hr, [o("td", {
4175
+ }, () => [s(A(re(r, e)), 1)], !0)], 14, pr))), 128))], 12, fr))), 128)), k.value.length === 0 && t.showEmpty ? (x(), a("tr", mr, [o("td", {
4095
4176
  colspan: t.columns?.length || 1,
4096
4177
  class: "text-center"
4097
- }, A(t.emptyText), 9, gr)])) : i("", !0)])], 2)], 2),
4098
- o("div", _r, [t.showInfo ? (x(), a("div", vr, [o("div", yr, A(ee.value), 1)])) : i("", !0), t.paginated && B.value > 1 ? (x(), a("div", br, [o("nav", null, [o("ul", xr, [
4099
- o("li", { class: m(["page-item", { disabled: u.value === 1 }]) }, [o("button", {
4178
+ }, A(t.emptyText), 9, hr)])) : i("", !0)])], 2)], 2),
4179
+ o("div", gr, [t.showInfo ? (x(), a("div", _r, [o("div", vr, A(V.value), 1)])) : i("", !0), t.paginated && L.value > 1 ? (x(), a("div", yr, [o("nav", null, [o("ul", br, [
4180
+ o("li", { class: m(["page-item", { disabled: l.value === 1 }]) }, [o("button", {
4100
4181
  type: "button",
4101
4182
  class: "page-link",
4102
- onClick: r[2] ||= (e) => U(u.value - 1)
4183
+ onClick: r[2] ||= (e) => U(l.value - 1)
4103
4184
  }, " Previous ")], 2),
4104
- u.value > 3 ? (x(), a("li", Sr, [o("button", {
4185
+ l.value > 3 ? (x(), a("li", xr, [o("button", {
4105
4186
  type: "button",
4106
4187
  class: "page-link",
4107
4188
  onClick: r[3] ||= (e) => U(1)
4108
4189
  }, "1")])) : i("", !0),
4109
- u.value > 4 ? (x(), a("li", Cr, [...r[8] ||= [o("span", { class: "page-link" }, "...", -1)]])) : i("", !0),
4110
- (x(!0), a(e, null, E(te.value, (e) => (x(), a("li", {
4190
+ l.value > 4 ? (x(), a("li", Sr, [...r[8] ||= [o("span", { class: "page-link" }, "...", -1)]])) : i("", !0),
4191
+ (x(!0), a(e, null, E(H.value, (e) => (x(), a("li", {
4111
4192
  key: e,
4112
- class: m(["page-item", { active: e === u.value }])
4193
+ class: m(["page-item", { active: e === l.value }])
4113
4194
  }, [o("button", {
4114
4195
  type: "button",
4115
4196
  class: "page-link",
4116
4197
  onClick: (t) => U(e)
4117
- }, A(e), 9, wr)], 2))), 128)),
4118
- u.value < B.value - 3 ? (x(), a("li", Tr, [...r[9] ||= [o("span", { class: "page-link" }, "...", -1)]])) : i("", !0),
4119
- u.value < B.value - 2 ? (x(), a("li", Er, [o("button", {
4198
+ }, A(e), 9, Cr)], 2))), 128)),
4199
+ l.value < L.value - 3 ? (x(), a("li", wr, [...r[9] ||= [o("span", { class: "page-link" }, "...", -1)]])) : i("", !0),
4200
+ l.value < L.value - 2 ? (x(), a("li", Tr, [o("button", {
4120
4201
  type: "button",
4121
4202
  class: "page-link",
4122
- onClick: r[4] ||= (e) => U(B.value)
4123
- }, A(B.value), 1)])) : i("", !0),
4124
- o("li", { class: m(["page-item", { disabled: u.value === B.value }]) }, [o("button", {
4203
+ onClick: r[4] ||= (e) => U(L.value)
4204
+ }, A(L.value), 1)])) : i("", !0),
4205
+ o("li", { class: m(["page-item", { disabled: l.value === L.value }]) }, [o("button", {
4125
4206
  type: "button",
4126
4207
  class: "page-link",
4127
- onClick: r[5] ||= (e) => U(u.value + 1)
4208
+ onClick: r[5] ||= (e) => U(l.value + 1)
4128
4209
  }, " Next ")], 2)
4129
4210
  ])])])) : i("", !0)])
4130
4211
  ]));
4131
4212
  }
4132
- }), [["__scopeId", "data-v-7820466d"]]), Or = ["for"], kr = {
4213
+ }), [["__scopeId", "data-v-fd417a3a"]]), Dr = ["for"], Or = {
4133
4214
  key: 0,
4134
- class: "text-danger"
4135
- }, Ar = [
4215
+ class: "text-danger ms-1",
4216
+ "aria-hidden": "true"
4217
+ }, kr = {
4218
+ key: 1,
4219
+ class: "text-muted ms-1 small",
4220
+ "aria-hidden": "true"
4221
+ }, Ar = {
4222
+ key: 2,
4223
+ class: "visually-hidden"
4224
+ }, jr = {
4225
+ key: 1,
4226
+ class: "input-group"
4227
+ }, Mr = [
4228
+ "id",
4229
+ "type",
4230
+ "value",
4231
+ "placeholder",
4232
+ "disabled",
4233
+ "readonly",
4234
+ "required",
4235
+ "autocomplete",
4236
+ "inputmode",
4237
+ "aria-invalid",
4238
+ "aria-describedby"
4239
+ ], Nr = ["aria-label", "aria-pressed"], Pr = [
4136
4240
  "id",
4137
4241
  "type",
4138
4242
  "value",
@@ -4140,9 +4244,18 @@ var er = { class: "vibe-chart" }, tr = {
4140
4244
  "disabled",
4141
4245
  "readonly",
4142
4246
  "required",
4247
+ "autocomplete",
4248
+ "inputmode",
4143
4249
  "aria-invalid",
4144
4250
  "aria-describedby"
4145
- ], jr = ["id"], Mr = ["id"], Nr = ["id"], Pr = [
4251
+ ], Fr = {
4252
+ key: 3,
4253
+ "aria-live": "polite",
4254
+ class: "mt-1"
4255
+ }, Ir = {
4256
+ class: "d-flex gap-1 mb-1",
4257
+ "aria-hidden": "true"
4258
+ }, Lr = { class: "text-muted" }, Rr = ["id"], zr = ["id"], Br = ["id"], Vr = [
4146
4259
  "id",
4147
4260
  "type",
4148
4261
  "value",
@@ -4150,11 +4263,13 @@ var er = { class: "vibe-chart" }, tr = {
4150
4263
  "disabled",
4151
4264
  "readonly",
4152
4265
  "required",
4266
+ "autocomplete",
4267
+ "inputmode",
4153
4268
  "aria-invalid",
4154
4269
  "aria-describedby"
4155
- ], Fr = /* @__PURE__ */ c({
4270
+ ], Hr = /*#__PURE__*/ W(/* @__PURE__ */ c({
4156
4271
  __name: "VibeFormInput",
4157
- props: /* @__PURE__ */ d({
4272
+ props: /*@__PURE__*/ d({
4158
4273
  type: {
4159
4274
  type: String,
4160
4275
  default: "text"
@@ -4218,12 +4333,28 @@ var er = { class: "vibe-chart" }, tr = {
4218
4333
  focusRing: {
4219
4334
  type: Boolean,
4220
4335
  default: !1
4336
+ },
4337
+ showToggle: {
4338
+ type: Boolean,
4339
+ default: !1
4340
+ },
4341
+ showPasswordStrength: {
4342
+ type: Boolean,
4343
+ default: !1
4344
+ },
4345
+ autocomplete: {
4346
+ type: String,
4347
+ default: void 0
4348
+ },
4349
+ inputmode: {
4350
+ type: String,
4351
+ default: void 0
4221
4352
  }
4222
4353
  }, {
4223
4354
  modelValue: { default: "" },
4224
4355
  modelModifiers: {}
4225
4356
  }),
4226
- emits: /* @__PURE__ */ d([
4357
+ emits: /*@__PURE__*/ d([
4227
4358
  "validate",
4228
4359
  "blur",
4229
4360
  "focus",
@@ -4231,82 +4362,154 @@ var er = { class: "vibe-chart" }, tr = {
4231
4362
  "change"
4232
4363
  ], ["update:modelValue"]),
4233
4364
  setup(t, { emit: r }) {
4234
- let c = M(t, "modelValue"), l = t, d = r, f = u(K, null), p = f?.consumeId(), h = q("input"), g = n(() => l.id || p || h), _ = n(() => `${g.value}-help`), v = n(() => `${g.value}-feedback`), y = n(() => !!l.label && !f?.hasLabel.value), b = n(() => !!l.validationState && !f?.hasValidation.value), S = n(() => !!l.helpText && !f?.hasHelp.value), C = n(() => {
4365
+ let c = M(t, "modelValue"), l = t, d = r, f = u(K, null), p = T(!1), g = n(() => l.type === "password" && l.showToggle && p.value ? "text" : l.type);
4366
+ function _(e) {
4367
+ let t = 0;
4368
+ return e.length >= 8 && t++, e.length >= 12 && t++, /[a-z]/.test(e) && t++, /[A-Z]/.test(e) && t++, /\d/.test(e) && t++, /[^a-zA-Z0-9]/.test(e) && t++, t <= 1 ? {
4369
+ level: 1,
4370
+ label: "Weak"
4371
+ } : t <= 2 ? {
4372
+ level: 2,
4373
+ label: "Fair"
4374
+ } : t <= 4 ? {
4375
+ level: 3,
4376
+ label: "Good"
4377
+ } : {
4378
+ level: 4,
4379
+ label: "Strong"
4380
+ };
4381
+ }
4382
+ let v = n(() => _(String(c.value ?? ""))), y = [
4383
+ "",
4384
+ "#dc3545",
4385
+ "#fd7e14",
4386
+ "#0d6efd",
4387
+ "#198754"
4388
+ ], b = {
4389
+ number: "decimal",
4390
+ email: "email",
4391
+ tel: "tel",
4392
+ url: "url",
4393
+ search: "search"
4394
+ }, S = n(() => l.inputmode ?? b[l.type]), C = { email: "email" }, w = n(() => l.autocomplete ?? C[l.type]), D = f?.consumeId(), O = q("input"), k = n(() => l.id || D || O), j = n(() => `${k.value}-help`), N = n(() => `${k.value}-feedback`), P = n(() => {
4395
+ let e = [];
4396
+ return l.helpText && e.push(j.value), l.validationMessage && e.push(N.value), f?.helpId.value && e.push(f.helpId.value), f?.feedbackId.value && e.push(f.feedbackId.value), e.length ? [...new Set(e)].join(" ") : void 0;
4397
+ }), F = n(() => !!l.label && !f?.hasLabel.value), I = n(() => !!l.validationState && !f?.hasValidation.value), L = n(() => !!l.helpText && !f?.hasHelp.value), R = n(() => {
4235
4398
  let e = [];
4236
4399
  return l.plaintext ? e.push("form-control-plaintext") : (e.push("form-control"), l.size && e.push(`form-control-${l.size}`)), l.validationState === "valid" && e.push("is-valid"), l.validationState === "invalid" && e.push("is-invalid"), l.focusRing && e.push("focus-ring"), e.join(" ");
4237
- }), w = (e) => {
4400
+ }), z = (e) => {
4238
4401
  let t = e.target;
4239
4402
  c.value = l.type === "number" ? t.value === "" ? "" : Number(t.value) : t.value, d("input", e), l.validateOn === "input" && d("validate");
4240
- }, T = (e) => {
4403
+ }, B = (e) => {
4241
4404
  d("change", e), l.validateOn === "change" && d("validate");
4242
- }, E = (e) => {
4405
+ }, V = (e) => {
4243
4406
  d("blur", e), l.validateOn === "blur" && d("validate");
4244
- }, D = (e) => {
4407
+ }, H = (e) => {
4245
4408
  d("focus", e);
4246
4409
  };
4247
4410
  return (n, r) => t.noWrapper ? (x(), a("input", {
4248
4411
  key: 1,
4249
- id: g.value,
4412
+ id: k.value,
4250
4413
  type: t.type,
4251
- class: m(C.value),
4414
+ class: m(R.value),
4252
4415
  value: c.value,
4253
4416
  placeholder: t.placeholder,
4254
4417
  disabled: t.disabled,
4255
4418
  readonly: t.readonly || t.plaintext,
4256
4419
  required: t.required,
4420
+ autocomplete: w.value,
4421
+ inputmode: S.value,
4257
4422
  "aria-invalid": t.validationState === "invalid",
4258
- "aria-describedby": j(f) ? t.helpText && t.validationMessage ? `${_.value} ${v.value}` : t.helpText ? _.value : t.validationMessage ? v.value : void 0 : void 0,
4259
- onInput: w,
4260
- onChange: T,
4261
- onBlur: E,
4262
- onFocus: D
4263
- }, null, 42, Pr)) : (x(), a("div", {
4423
+ "aria-describedby": P.value,
4424
+ onInput: z,
4425
+ onChange: B,
4426
+ onBlur: V,
4427
+ onFocus: H
4428
+ }, null, 42, Vr)) : (x(), a("div", {
4264
4429
  key: 0,
4265
- class: m({ "mb-3": y.value || S.value || b.value })
4430
+ class: m({ "mb-3": F.value || L.value || I.value })
4266
4431
  }, [
4267
- y.value ? (x(), a("label", {
4432
+ F.value ? (x(), a("label", {
4268
4433
  key: 0,
4269
- for: g.value,
4434
+ for: k.value,
4270
4435
  class: "form-label"
4271
- }, [s(A(t.label) + " ", 1), t.required ? (x(), a("span", kr, "*")) : i("", !0)], 8, Or)) : i("", !0),
4272
- o("input", {
4273
- id: g.value,
4436
+ }, [
4437
+ s(A(t.label) + " ", 1),
4438
+ t.required ? (x(), a("span", Or, "*")) : (x(), a("span", kr, "(optional)")),
4439
+ t.required ? (x(), a("span", Ar, "required")) : i("", !0)
4440
+ ], 8, Dr)) : i("", !0),
4441
+ t.showToggle && t.type === "password" ? (x(), a("div", jr, [o("input", {
4442
+ id: k.value,
4443
+ type: g.value,
4444
+ class: m(R.value),
4445
+ value: c.value,
4446
+ placeholder: t.placeholder,
4447
+ disabled: t.disabled,
4448
+ readonly: t.readonly || t.plaintext,
4449
+ required: t.required,
4450
+ autocomplete: w.value,
4451
+ inputmode: S.value,
4452
+ "aria-invalid": t.validationState === "invalid",
4453
+ "aria-describedby": P.value,
4454
+ onInput: z,
4455
+ onChange: B,
4456
+ onBlur: V,
4457
+ onFocus: H
4458
+ }, null, 42, Mr), o("button", {
4459
+ type: "button",
4460
+ class: "btn btn-outline-secondary",
4461
+ "aria-label": p.value ? "Hide password" : "Show password",
4462
+ "aria-pressed": p.value,
4463
+ onClick: r[0] ||= (e) => p.value = !p.value
4464
+ }, [o("i", {
4465
+ class: m(p.value ? "bi bi-eye-slash" : "bi bi-eye"),
4466
+ "aria-hidden": "true"
4467
+ }, null, 2)], 8, Nr)])) : (x(), a("input", {
4468
+ key: 2,
4469
+ id: k.value,
4274
4470
  type: t.type,
4275
- class: m(C.value),
4471
+ class: m(R.value),
4276
4472
  value: c.value,
4277
4473
  placeholder: t.placeholder,
4278
4474
  disabled: t.disabled,
4279
4475
  readonly: t.readonly || t.plaintext,
4280
4476
  required: t.required,
4477
+ autocomplete: w.value,
4478
+ inputmode: S.value,
4281
4479
  "aria-invalid": t.validationState === "invalid",
4282
- "aria-describedby": t.helpText && t.validationMessage ? `${_.value} ${v.value}` : t.helpText ? _.value : t.validationMessage ? v.value : void 0,
4283
- onInput: w,
4284
- onChange: T,
4285
- onBlur: E,
4286
- onFocus: D
4287
- }, null, 42, Ar),
4288
- S.value ? (x(), a("div", {
4289
- key: 1,
4290
- id: _.value,
4480
+ "aria-describedby": P.value,
4481
+ onInput: z,
4482
+ onChange: B,
4483
+ onBlur: V,
4484
+ onFocus: H
4485
+ }, null, 42, Pr)),
4486
+ t.showPasswordStrength && t.type === "password" ? (x(), a("div", Fr, [o("div", Ir, [(x(), a(e, null, E(4, (e) => o("div", {
4487
+ key: e,
4488
+ class: "flex-fill rounded",
4489
+ style: h([{ height: "4px" }, { backgroundColor: e <= v.value.level ? y[v.value.level] : "var(--bs-border-color)" }])
4490
+ }, null, 4)), 64))]), o("small", Lr, "Password strength: " + A(v.value.label), 1)])) : i("", !0),
4491
+ L.value ? (x(), a("div", {
4492
+ key: 4,
4493
+ id: j.value,
4291
4494
  class: "form-text"
4292
- }, A(t.helpText), 9, jr)) : i("", !0),
4293
- b.value ? (x(), a(e, { key: 2 }, [t.validationState === "valid" ? (x(), a("div", {
4495
+ }, A(t.helpText), 9, Rr)) : i("", !0),
4496
+ I.value ? (x(), a(e, { key: 5 }, [t.validationState === "valid" ? (x(), a("div", {
4294
4497
  key: 0,
4295
- id: v.value,
4498
+ id: N.value,
4296
4499
  class: "valid-feedback",
4297
4500
  style: { display: "block" }
4298
- }, A(t.validationMessage || "Looks good!"), 9, Mr)) : i("", !0), t.validationState === "invalid" ? (x(), a("div", {
4501
+ }, A(t.validationMessage || "Looks good!"), 9, zr)) : i("", !0), t.validationState === "invalid" ? (x(), a("div", {
4299
4502
  key: 1,
4300
- id: v.value,
4503
+ id: N.value,
4301
4504
  class: "invalid-feedback",
4302
4505
  style: { display: "block" }
4303
- }, A(t.validationMessage || "Please provide a valid value."), 9, Nr)) : i("", !0)], 64)) : i("", !0)
4506
+ }, A(t.validationMessage || "Please provide a valid value."), 9, Br)) : i("", !0)], 64)) : i("", !0)
4304
4507
  ], 2));
4305
4508
  }
4306
- }), Ir = ["for"], Lr = {
4509
+ }), [["__scopeId", "data-v-d9ebcf8c"]]), Ur = ["for"], Wr = {
4307
4510
  key: 0,
4308
4511
  class: "text-danger"
4309
- }, Rr = [
4512
+ }, Gr = [
4310
4513
  "id",
4311
4514
  "value",
4312
4515
  "multiple",
@@ -4315,14 +4518,14 @@ var er = { class: "vibe-chart" }, tr = {
4315
4518
  "required",
4316
4519
  "aria-invalid",
4317
4520
  "aria-describedby"
4318
- ], zr = {
4521
+ ], Kr = {
4319
4522
  key: 0,
4320
4523
  value: "",
4321
4524
  disabled: "",
4322
4525
  selected: ""
4323
- }, Br = ["value", "disabled"], Vr = ["id"], Hr = ["id"], Ur = ["id"], Wr = "", Gr = "vi:", Kr = /* @__PURE__ */ c({
4526
+ }, qr = ["value", "disabled"], Jr = ["id"], Yr = ["id"], Xr = ["id"], Zr = "", Qr = "vi:", $r = /* @__PURE__ */ c({
4324
4527
  __name: "VibeFormSelect",
4325
- props: /* @__PURE__ */ d({
4528
+ props: /*@__PURE__*/ d({
4326
4529
  id: {
4327
4530
  type: String,
4328
4531
  default: void 0
@@ -4396,15 +4599,15 @@ var er = { class: "vibe-chart" }, tr = {
4396
4599
  },
4397
4600
  modelModifiers: {}
4398
4601
  }),
4399
- emits: /* @__PURE__ */ d([
4602
+ emits: /*@__PURE__*/ d([
4400
4603
  "validate",
4401
4604
  "blur",
4402
4605
  "focus",
4403
4606
  "change"
4404
4607
  ], ["update:modelValue"]),
4405
4608
  setup(t, { emit: r }) {
4406
- let c = (e) => `${Gr}${e}`, l = (e) => {
4407
- if (!e.startsWith(Gr)) return -1;
4609
+ let c = (e) => `${Qr}${e}`, l = (e) => {
4610
+ if (!e.startsWith(Qr)) return -1;
4408
4611
  let t = Number(e.slice(3));
4409
4612
  return Number.isInteger(t) && t >= 0 ? t : -1;
4410
4613
  }, d = (e, t) => {
@@ -4422,10 +4625,10 @@ var er = { class: "vibe-chart" }, tr = {
4422
4625
  }, N = n(() => {
4423
4626
  if (Array.isArray(f.value)) return f.value.map((e) => {
4424
4627
  let t = d(p.options, e);
4425
- return t >= 0 ? c(t) : Wr;
4426
- }).filter((e) => e !== Wr);
4628
+ return t >= 0 ? c(t) : Zr;
4629
+ }).filter((e) => e !== Zr);
4427
4630
  let e = d(p.options, f.value);
4428
- return e >= 0 ? c(e) : Wr;
4631
+ return e >= 0 ? c(e) : Zr;
4429
4632
  }), P = (e) => {
4430
4633
  h("change", e), p.validateOn === "change" && h("validate");
4431
4634
  }, F = (e) => {
@@ -4438,7 +4641,7 @@ var er = { class: "vibe-chart" }, tr = {
4438
4641
  key: 0,
4439
4642
  for: y.value,
4440
4643
  class: "form-label"
4441
- }, [s(A(t.label) + " ", 1), t.required ? (x(), a("span", Lr, "*")) : i("", !0)], 8, Ir)) : i("", !0),
4644
+ }, [s(A(t.label) + " ", 1), t.required ? (x(), a("span", Wr, "*")) : i("", !0)], 8, Ur)) : i("", !0),
4442
4645
  o("select", {
4443
4646
  id: y.value,
4444
4647
  class: m(O.value),
@@ -4453,33 +4656,33 @@ var er = { class: "vibe-chart" }, tr = {
4453
4656
  onChange: P,
4454
4657
  onBlur: F,
4455
4658
  onFocus: I
4456
- }, [t.placeholder && !t.multiple ? (x(), a("option", zr, A(t.placeholder), 1)) : i("", !0), D(n.$slots, "default", {}, () => [(x(!0), a(e, null, E(t.options, (e, t) => (x(), a("option", {
4659
+ }, [t.placeholder && !t.multiple ? (x(), a("option", Kr, A(t.placeholder), 1)) : i("", !0), D(n.$slots, "default", {}, () => [(x(!0), a(e, null, E(t.options, (e, t) => (x(), a("option", {
4457
4660
  key: e.value === void 0 ? e.text : String(e.value),
4458
4661
  value: c(t),
4459
4662
  disabled: e.disabled
4460
- }, A(e.text), 9, Br))), 128))])], 42, Rr),
4663
+ }, A(e.text), 9, qr))), 128))])], 42, Gr),
4461
4664
  T.value ? (x(), a("div", {
4462
4665
  key: 1,
4463
4666
  id: `${y.value}-help`,
4464
4667
  class: "form-text"
4465
- }, A(t.helpText), 9, Vr)) : i("", !0),
4668
+ }, A(t.helpText), 9, Jr)) : i("", !0),
4466
4669
  w.value ? (x(), a(e, { key: 2 }, [t.validationState === "valid" ? (x(), a("div", {
4467
4670
  key: 0,
4468
4671
  id: `${y.value}-feedback`,
4469
4672
  class: "valid-feedback",
4470
4673
  style: { display: "block" }
4471
- }, A(t.validationMessage || "Looks good!"), 9, Hr)) : i("", !0), t.validationState === "invalid" ? (x(), a("div", {
4674
+ }, A(t.validationMessage || "Looks good!"), 9, Yr)) : i("", !0), t.validationState === "invalid" ? (x(), a("div", {
4472
4675
  key: 1,
4473
4676
  id: `${y.value}-feedback`,
4474
4677
  class: "invalid-feedback",
4475
4678
  style: { display: "block" }
4476
- }, A(t.validationMessage || "Please select an option."), 9, Ur)) : i("", !0)], 64)) : i("", !0)
4679
+ }, A(t.validationMessage || "Please select an option."), 9, Xr)) : i("", !0)], 64)) : i("", !0)
4477
4680
  ], 2));
4478
4681
  }
4479
- }), qr = ["for"], Jr = {
4682
+ }), ei = ["for"], ti = {
4480
4683
  key: 0,
4481
4684
  class: "text-danger"
4482
- }, Yr = [
4685
+ }, ni = [
4483
4686
  "id",
4484
4687
  "value",
4485
4688
  "placeholder",
@@ -4490,12 +4693,12 @@ var er = { class: "vibe-chart" }, tr = {
4490
4693
  "required",
4491
4694
  "aria-invalid",
4492
4695
  "aria-describedby"
4493
- ], Xr = ["id"], Zr = {
4696
+ ], ri = ["id"], ii = {
4494
4697
  key: 0,
4495
4698
  class: "ms-auto"
4496
- }, Qr = ["id"], $r = ["id"], ei = /* @__PURE__ */ c({
4699
+ }, ai = ["id"], oi = ["id"], si = /* @__PURE__ */ c({
4497
4700
  __name: "VibeFormTextarea",
4498
- props: /* @__PURE__ */ d({
4701
+ props: /*@__PURE__*/ d({
4499
4702
  id: {
4500
4703
  type: String,
4501
4704
  default: void 0
@@ -4564,7 +4767,7 @@ var er = { class: "vibe-chart" }, tr = {
4564
4767
  modelValue: { default: "" },
4565
4768
  modelModifiers: {}
4566
4769
  }),
4567
- emits: /* @__PURE__ */ d([
4770
+ emits: /*@__PURE__*/ d([
4568
4771
  "validate",
4569
4772
  "blur",
4570
4773
  "focus",
@@ -4591,7 +4794,7 @@ var er = { class: "vibe-chart" }, tr = {
4591
4794
  key: 0,
4592
4795
  for: _.value,
4593
4796
  class: "form-label"
4594
- }, [s(A(t.label) + " ", 1), t.required ? (x(), a("span", Jr, "*")) : i("", !0)], 8, qr)) : i("", !0),
4797
+ }, [s(A(t.label) + " ", 1), t.required ? (x(), a("span", ti, "*")) : i("", !0)], 8, ei)) : i("", !0),
4595
4798
  o("textarea", {
4596
4799
  id: _.value,
4597
4800
  class: m(w.value),
@@ -4609,29 +4812,29 @@ var er = { class: "vibe-chart" }, tr = {
4609
4812
  onChange: O,
4610
4813
  onBlur: k,
4611
4814
  onFocus: j
4612
- }, null, 46, Yr),
4815
+ }, null, 46, ni),
4613
4816
  C.value ? (x(), a("div", {
4614
4817
  key: 1,
4615
4818
  id: v.value,
4616
4819
  class: "form-text d-flex justify-content-between"
4617
- }, [o("span", null, A(t.helpText), 1), t.showCharCount ? (x(), a("span", Zr, [t.maxlength ? (x(), a(e, { key: 0 }, [s(A(E.value) + " / " + A(t.maxlength), 1)], 64)) : (x(), a(e, { key: 1 }, [s(A(E.value), 1)], 64))])) : i("", !0)], 8, Xr)) : i("", !0),
4820
+ }, [o("span", null, A(t.helpText), 1), t.showCharCount ? (x(), a("span", ii, [t.maxlength ? (x(), a(e, { key: 0 }, [s(A(E.value) + " / " + A(t.maxlength), 1)], 64)) : (x(), a(e, { key: 1 }, [s(A(E.value), 1)], 64))])) : i("", !0)], 8, ri)) : i("", !0),
4618
4821
  S.value ? (x(), a(e, { key: 2 }, [t.validationState === "valid" ? (x(), a("div", {
4619
4822
  key: 0,
4620
4823
  id: y.value,
4621
4824
  class: "valid-feedback",
4622
4825
  style: { display: "block" }
4623
- }, A(t.validationMessage || "Looks good!"), 9, Qr)) : i("", !0), t.validationState === "invalid" ? (x(), a("div", {
4826
+ }, A(t.validationMessage || "Looks good!"), 9, ai)) : i("", !0), t.validationState === "invalid" ? (x(), a("div", {
4624
4827
  key: 1,
4625
4828
  id: y.value,
4626
4829
  class: "invalid-feedback",
4627
4830
  style: { display: "block" }
4628
- }, A(t.validationMessage || "Please provide a valid value."), 9, $r)) : i("", !0)], 64)) : i("", !0)
4831
+ }, A(t.validationMessage || "Please provide a valid value."), 9, oi)) : i("", !0)], 64)) : i("", !0)
4629
4832
  ], 2));
4630
4833
  }
4631
- }), ti = ["for"], ni = {
4834
+ }), ci = ["for"], li = {
4632
4835
  key: 0,
4633
4836
  class: "text-danger"
4634
- }, ri = ["disabled"], ii = [
4837
+ }, ui = ["disabled"], di = [
4635
4838
  "id",
4636
4839
  "value",
4637
4840
  "disabled",
@@ -4642,9 +4845,9 @@ var er = { class: "vibe-chart" }, tr = {
4642
4845
  "step",
4643
4846
  "aria-invalid",
4644
4847
  "aria-describedby"
4645
- ], ai = ["disabled"], oi = ["id"], si = ["id"], ci = ["id"], li = /* @__PURE__ */ W(/* @__PURE__ */ c({
4848
+ ], fi = ["disabled"], pi = ["id"], mi = ["id"], hi = ["id"], gi = /*#__PURE__*/ W(/* @__PURE__ */ c({
4646
4849
  __name: "VibeFormSpinbutton",
4647
- props: /* @__PURE__ */ d({
4850
+ props: /*@__PURE__*/ d({
4648
4851
  id: {
4649
4852
  type: String,
4650
4853
  default: void 0
@@ -4716,7 +4919,7 @@ var er = { class: "vibe-chart" }, tr = {
4716
4919
  },
4717
4920
  modelModifiers: {}
4718
4921
  }),
4719
- emits: /* @__PURE__ */ d([
4922
+ emits: /*@__PURE__*/ d([
4720
4923
  "validate",
4721
4924
  "blur",
4722
4925
  "focus",
@@ -4767,7 +4970,7 @@ var er = { class: "vibe-chart" }, tr = {
4767
4970
  key: 0,
4768
4971
  for: g.value,
4769
4972
  class: "form-label"
4770
- }, [s(A(t.label) + " ", 1), t.required ? (x(), a("span", ni, "*")) : i("", !0)], 8, ti)) : i("", !0),
4973
+ }, [s(A(t.label) + " ", 1), t.required ? (x(), a("span", li, "*")) : i("", !0)], 8, ci)) : i("", !0),
4771
4974
  o("div", { class: m(S.value) }, [
4772
4975
  o("button", {
4773
4976
  class: "btn btn-outline-secondary",
@@ -4775,7 +4978,7 @@ var er = { class: "vibe-chart" }, tr = {
4775
4978
  disabled: !w.value,
4776
4979
  onClick: z,
4777
4980
  "aria-label": "Decrement"
4778
- }, [...r[0] ||= [o("span", { "aria-hidden": "true" }, "−", -1)]], 8, ri),
4981
+ }, [...r[0] ||= [o("span", { "aria-hidden": "true" }, "−", -1)]], 8, ui),
4779
4982
  o("input", {
4780
4983
  id: g.value,
4781
4984
  type: "number",
@@ -4793,37 +4996,37 @@ var er = { class: "vibe-chart" }, tr = {
4793
4996
  onChange: k,
4794
4997
  onBlur: j,
4795
4998
  onFocus: N
4796
- }, null, 42, ii),
4999
+ }, null, 42, di),
4797
5000
  o("button", {
4798
5001
  class: "btn btn-outline-secondary",
4799
5002
  type: "button",
4800
5003
  disabled: !E.value,
4801
5004
  onClick: R,
4802
5005
  "aria-label": "Increment"
4803
- }, [...r[1] ||= [o("span", { "aria-hidden": "true" }, "+", -1)]], 8, ai)
5006
+ }, [...r[1] ||= [o("span", { "aria-hidden": "true" }, "+", -1)]], 8, fi)
4804
5007
  ], 2),
4805
5008
  y.value ? (x(), a("div", {
4806
5009
  key: 1,
4807
5010
  id: `${g.value}-help`,
4808
5011
  class: "form-text"
4809
- }, A(t.helpText), 9, oi)) : i("", !0),
5012
+ }, A(t.helpText), 9, pi)) : i("", !0),
4810
5013
  v.value ? (x(), a(e, { key: 2 }, [t.validationState === "valid" ? (x(), a("div", {
4811
5014
  key: 0,
4812
5015
  id: `${g.value}-feedback`,
4813
5016
  class: "valid-feedback",
4814
5017
  style: { display: "block" }
4815
- }, A(t.validationMessage || "Looks good!"), 9, si)) : i("", !0), t.validationState === "invalid" ? (x(), a("div", {
5018
+ }, A(t.validationMessage || "Looks good!"), 9, mi)) : i("", !0), t.validationState === "invalid" ? (x(), a("div", {
4816
5019
  key: 1,
4817
5020
  id: `${g.value}-feedback`,
4818
5021
  class: "invalid-feedback",
4819
5022
  style: { display: "block" }
4820
- }, A(t.validationMessage || "Please provide a valid value."), 9, ci)) : i("", !0)], 64)) : i("", !0)
5023
+ }, A(t.validationMessage || "Please provide a valid value."), 9, hi)) : i("", !0)], 64)) : i("", !0)
4821
5024
  ], 2));
4822
5025
  }
4823
- }), [["__scopeId", "data-v-9dd7f0b5"]]), ui = ["for"], di = {
5026
+ }), [["__scopeId", "data-v-9dd7f0b5"]]), _i = ["for"], vi = {
4824
5027
  key: 0,
4825
5028
  class: "text-danger"
4826
- }, fi = [
5029
+ }, yi = [
4827
5030
  "id",
4828
5031
  "type",
4829
5032
  "value",
@@ -4834,9 +5037,9 @@ var er = { class: "vibe-chart" }, tr = {
4834
5037
  "max",
4835
5038
  "aria-invalid",
4836
5039
  "aria-describedby"
4837
- ], pi = ["id"], mi = ["id"], hi = ["id"], gi = /* @__PURE__ */ c({
5040
+ ], bi = ["id"], xi = ["id"], Si = ["id"], Ci = /* @__PURE__ */ c({
4838
5041
  __name: "VibeFormDatepicker",
4839
- props: /* @__PURE__ */ d({
5042
+ props: /*@__PURE__*/ d({
4840
5043
  id: {
4841
5044
  type: String,
4842
5045
  default: void 0
@@ -4900,7 +5103,7 @@ var er = { class: "vibe-chart" }, tr = {
4900
5103
  },
4901
5104
  modelModifiers: {}
4902
5105
  }),
4903
- emits: /* @__PURE__ */ d([
5106
+ emits: /*@__PURE__*/ d([
4904
5107
  "validate",
4905
5108
  "blur",
4906
5109
  "focus",
@@ -4925,7 +5128,7 @@ var er = { class: "vibe-chart" }, tr = {
4925
5128
  key: 0,
4926
5129
  for: g.value,
4927
5130
  class: "form-label"
4928
- }, [s(A(t.label) + " ", 1), t.required ? (x(), a("span", di, "*")) : i("", !0)], 8, ui)) : i("", !0),
5131
+ }, [s(A(t.label) + " ", 1), t.required ? (x(), a("span", vi, "*")) : i("", !0)], 8, _i)) : i("", !0),
4929
5132
  o("input", {
4930
5133
  id: g.value,
4931
5134
  type: t.type,
@@ -4942,34 +5145,34 @@ var er = { class: "vibe-chart" }, tr = {
4942
5145
  onChange: T,
4943
5146
  onBlur: E,
4944
5147
  onFocus: D
4945
- }, null, 42, fi),
5148
+ }, null, 42, yi),
4946
5149
  S.value ? (x(), a("div", {
4947
5150
  key: 1,
4948
5151
  id: _.value,
4949
5152
  class: "form-text"
4950
- }, A(t.helpText), 9, pi)) : i("", !0),
5153
+ }, A(t.helpText), 9, bi)) : i("", !0),
4951
5154
  b.value ? (x(), a(e, { key: 2 }, [t.validationState === "valid" ? (x(), a("div", {
4952
5155
  key: 0,
4953
5156
  id: v.value,
4954
5157
  class: "valid-feedback",
4955
5158
  style: { display: "block" }
4956
- }, A(t.validationMessage || "Looks good!"), 9, mi)) : i("", !0), t.validationState === "invalid" ? (x(), a("div", {
5159
+ }, A(t.validationMessage || "Looks good!"), 9, xi)) : i("", !0), t.validationState === "invalid" ? (x(), a("div", {
4957
5160
  key: 1,
4958
5161
  id: v.value,
4959
5162
  class: "invalid-feedback",
4960
5163
  style: { display: "block" }
4961
- }, A(t.validationMessage || "Please provide a valid date."), 9, hi)) : i("", !0)], 64)) : i("", !0)
5164
+ }, A(t.validationMessage || "Please provide a valid date."), 9, Si)) : i("", !0)], 64)) : i("", !0)
4962
5165
  ], 2));
4963
5166
  }
4964
- }), _i = { class: "vibe-file-input" }, vi = ["for"], yi = { class: "mb-0" }, bi = [
5167
+ }), wi = { class: "vibe-file-input" }, Ti = ["for"], Ei = { class: "mb-0" }, Di = [
4965
5168
  "id",
4966
5169
  "multiple",
4967
5170
  "accept",
4968
5171
  "disabled"
4969
- ], xi = {
5172
+ ], Oi = {
4970
5173
  key: 2,
4971
5174
  class: "form-text"
4972
- }, Si = /* @__PURE__ */ W(/* @__PURE__ */ c({
5175
+ }, ki = /*#__PURE__*/ W(/* @__PURE__ */ c({
4973
5176
  __name: "VibeFileInput",
4974
5177
  props: {
4975
5178
  modelValue: {
@@ -5090,12 +5293,12 @@ var er = { class: "vibe-chart" }, tr = {
5090
5293
  typeof document > "u" || (document.addEventListener("dragend", N), document.addEventListener("drop", N));
5091
5294
  }), _(() => {
5092
5295
  typeof document > "u" || (document.removeEventListener("dragend", N), document.removeEventListener("drop", N));
5093
- }), (t, n) => (x(), a("div", _i, [
5296
+ }), (t, n) => (x(), a("div", wi, [
5094
5297
  e.label ? (x(), a("label", {
5095
5298
  key: 0,
5096
5299
  for: u.value,
5097
5300
  class: "form-label"
5098
- }, A(e.label), 9, vi)) : i("", !0),
5301
+ }, A(e.label), 9, Ti)) : i("", !0),
5099
5302
  e.dragDrop ? (x(), a("div", {
5100
5303
  key: 1,
5101
5304
  class: m(M.value),
@@ -5104,7 +5307,7 @@ var er = { class: "vibe-chart" }, tr = {
5104
5307
  onDragover: O,
5105
5308
  onDragleave: k,
5106
5309
  onClick: j
5107
- }, [D(t.$slots, "dropzone", {}, () => [o("p", yi, A(e.dropzoneText), 1)], !0)], 34)) : i("", !0),
5310
+ }, [D(t.$slots, "dropzone", {}, () => [o("p", Ei, A(e.dropzoneText), 1)], !0)], 34)) : i("", !0),
5108
5311
  o("input", {
5109
5312
  id: u.value,
5110
5313
  ref_key: "inputRef",
@@ -5116,22 +5319,22 @@ var er = { class: "vibe-chart" }, tr = {
5116
5319
  disabled: e.disabled,
5117
5320
  style: h(e.dragDrop ? "display: none" : void 0),
5118
5321
  onChange: S
5119
- }, null, 46, bi),
5120
- e.helpText ? (x(), a("div", xi, A(e.helpText), 1)) : i("", !0)
5322
+ }, null, 46, Di),
5323
+ e.helpText ? (x(), a("div", Oi, A(e.helpText), 1)) : i("", !0)
5121
5324
  ]));
5122
5325
  }
5123
- }), [["__scopeId", "data-v-d6447a0f"]]), Ci = [
5326
+ }), [["__scopeId", "data-v-d6447a0f"]]), Ai = [
5124
5327
  "aria-label",
5125
5328
  "aria-valuemin",
5126
5329
  "aria-valuemax",
5127
5330
  "aria-valuenow",
5128
5331
  "aria-disabled"
5129
- ], wi = [
5332
+ ], ji = [
5130
5333
  "aria-valuemin",
5131
5334
  "aria-valuemax",
5132
5335
  "aria-valuenow",
5133
5336
  "aria-disabled"
5134
- ], Ti = /* @__PURE__ */ W(/* @__PURE__ */ c({
5337
+ ], Mi = /*#__PURE__*/ W(/* @__PURE__ */ c({
5135
5338
  __name: "VibeSlider",
5136
5339
  props: {
5137
5340
  modelValue: {
@@ -5266,7 +5469,7 @@ var er = { class: "vibe-chart" }, tr = {
5266
5469
  style: h(k.value),
5267
5470
  onKeydown: L,
5268
5471
  onPointerdown: z
5269
- }, null, 44, Ci),
5472
+ }, null, 44, Ai),
5270
5473
  e.range ? (x(), a("div", {
5271
5474
  key: 0,
5272
5475
  class: "vibe-slider-handle",
@@ -5280,18 +5483,18 @@ var er = { class: "vibe-chart" }, tr = {
5280
5483
  style: h(A.value),
5281
5484
  onKeydown: R,
5282
5485
  onPointerdown: B
5283
- }, null, 44, wi)) : i("", !0)
5486
+ }, null, 44, ji)) : i("", !0)
5284
5487
  ], 544)], 2));
5285
5488
  }
5286
- }), [["__scopeId", "data-v-58d4508c"]]), Ei = { class: "vibe-stepper-header" }, Di = [
5489
+ }), [["__scopeId", "data-v-58d4508c"]]), Ni = { class: "vibe-stepper-header" }, Pi = [
5287
5490
  "tabindex",
5288
5491
  "aria-disabled",
5289
5492
  "onClick",
5290
5493
  "onKeydown"
5291
- ], Oi = { class: "vibe-stepper-marker" }, ki = { class: "vibe-stepper-label" }, Ai = {
5494
+ ], Fi = { class: "vibe-stepper-marker" }, Ii = { class: "vibe-stepper-label" }, Li = {
5292
5495
  key: 0,
5293
5496
  class: "vibe-stepper-description"
5294
- }, ji = { class: "vibe-stepper-body" }, Mi = { class: "vibe-stepper-actions" }, Ni = ["disabled"], Pi = /* @__PURE__ */ W(/* @__PURE__ */ c({
5497
+ }, Ri = { class: "vibe-stepper-body" }, zi = { class: "vibe-stepper-actions" }, Bi = ["disabled"], Vi = /*#__PURE__*/ W(/* @__PURE__ */ c({
5295
5498
  __name: "VibeStepper",
5296
5499
  props: {
5297
5500
  modelValue: {
@@ -5396,26 +5599,26 @@ var er = { class: "vibe-chart" }, tr = {
5396
5599
  return c.steps[e];
5397
5600
  });
5398
5601
  return (n, r) => (x(), a("div", { class: m(u.value) }, [
5399
- o("ol", Ei, [(x(!0), a(e, null, E(t.steps, (e, r) => (x(), a("li", {
5602
+ o("ol", Ni, [(x(!0), a(e, null, E(t.steps, (e, r) => (x(), a("li", {
5400
5603
  key: e.label ?? r,
5401
5604
  class: m(g(r)),
5402
5605
  tabindex: y(r) || r === t.modelValue ? 0 : -1,
5403
5606
  "aria-disabled": y(r) || r === t.modelValue ? void 0 : "true",
5404
5607
  onClick: (e) => w(r),
5405
5608
  onKeydown: [B(H((e) => w(r), ["prevent"]), ["enter"]), B(H((e) => w(r), ["prevent"]), ["space"])]
5406
- }, [o("span", Oi, [D(n.$slots, "marker", {
5609
+ }, [o("span", Fi, [D(n.$slots, "marker", {
5407
5610
  index: r,
5408
5611
  step: e,
5409
5612
  active: r === t.modelValue
5410
- }, () => [s(A(r + 1), 1)], !0)]), o("span", ki, [D(n.$slots, "label", {
5613
+ }, () => [s(A(r + 1), 1)], !0)]), o("span", Ii, [D(n.$slots, "label", {
5411
5614
  index: r,
5412
5615
  step: e
5413
- }, () => [s(A(e.label), 1)], !0), e.description ? (x(), a("small", Ai, A(e.description), 1)) : i("", !0)])], 42, Di))), 128))]),
5414
- o("div", ji, [D(n.$slots, "step", {
5616
+ }, () => [s(A(e.label), 1)], !0), e.description ? (x(), a("small", Li, A(e.description), 1)) : i("", !0)])], 42, Pi))), 128))]),
5617
+ o("div", Ri, [D(n.$slots, "step", {
5415
5618
  index: t.modelValue,
5416
5619
  step: O.value
5417
5620
  }, void 0, !0)]),
5418
- o("div", Mi, [D(n.$slots, "actions", {
5621
+ o("div", zi, [D(n.$slots, "actions", {
5419
5622
  next: S,
5420
5623
  prev: C,
5421
5624
  isFirst: h.value,
@@ -5426,7 +5629,7 @@ var er = { class: "vibe-chart" }, tr = {
5426
5629
  disabled: h.value,
5427
5630
  "data-stepper-prev": "",
5428
5631
  onClick: C
5429
- }, A(t.prevText), 9, Ni), o("button", {
5632
+ }, A(t.prevText), 9, Bi), o("button", {
5430
5633
  type: "button",
5431
5634
  class: "btn btn-primary",
5432
5635
  "data-stepper-next": "",
@@ -5434,7 +5637,7 @@ var er = { class: "vibe-chart" }, tr = {
5434
5637
  }, A(p.value ? t.finishText : t.nextText), 1)], !0)])
5435
5638
  ], 2));
5436
5639
  }
5437
- }), [["__scopeId", "data-v-d9646674"]]), Fi = ["for"], Ii = [
5640
+ }), [["__scopeId", "data-v-d9646674"]]), Hi = ["for"], Ui = [
5438
5641
  "id",
5439
5642
  "value",
5440
5643
  "placeholder",
@@ -5442,15 +5645,15 @@ var er = { class: "vibe-chart" }, tr = {
5442
5645
  "aria-expanded",
5443
5646
  "aria-controls",
5444
5647
  "aria-activedescendant"
5445
- ], Li = ["id"], Ri = [
5648
+ ], Wi = ["id"], Gi = [
5446
5649
  "id",
5447
5650
  "aria-selected",
5448
5651
  "onMouseenter",
5449
5652
  "onClick"
5450
- ], zi = {
5653
+ ], Ki = {
5451
5654
  key: 2,
5452
5655
  class: "vibe-autocomplete-empty"
5453
- }, Bi = /* @__PURE__ */ W(/* @__PURE__ */ c({
5656
+ }, qi = /*#__PURE__*/ W(/* @__PURE__ */ c({
5454
5657
  __name: "VibeAutocomplete",
5455
5658
  props: {
5456
5659
  modelValue: {
@@ -5500,73 +5703,80 @@ var er = { class: "vibe-chart" }, tr = {
5500
5703
  I(() => c.modelValue, (e) => {
5501
5704
  e !== p.value && (p.value = e);
5502
5705
  });
5503
- let C = (e) => c.itemText ? c.itemText(e) : typeof e == "string" ? e : String(e), w = (e, t) => {
5706
+ let C = !1, w = (e) => c.itemText ? c.itemText(e) : (typeof e != "string" && !C && (C = !0, console.warn("[VibeAutocomplete] Item is an object but no itemText prop was provided — labelOf falls back to String(item) which produces \"[object Object]\". Pass an itemText function: :itemText=\"item => item.name\"")), typeof e == "string" ? e : String(e)), O = (e, t) => {
5504
5707
  let n = t.toLowerCase();
5505
- return e.filter((e) => C(e).toLowerCase().includes(n)).slice(0, c.maxResults);
5506
- }, O = () => {
5708
+ return e.filter((e) => w(e).toLowerCase().includes(n)).slice(0, c.maxResults);
5709
+ }, k = () => {
5507
5710
  if (g.value < 0) return null;
5508
5711
  let e = h.value[g.value];
5509
- return e === void 0 ? null : C(e);
5510
- }, k = (e) => {
5712
+ return e === void 0 ? null : w(e);
5713
+ }, j = (e) => {
5511
5714
  if (e === null) {
5512
5715
  g.value = -1;
5513
5716
  return;
5514
5717
  }
5515
- g.value = h.value.findIndex((t) => C(t) === e);
5516
- }, j = !1, M = async (e) => {
5517
- let t = O();
5718
+ g.value = h.value.findIndex((t) => w(t) === e);
5719
+ }, M = !1, N = async (e) => {
5720
+ let t = k();
5518
5721
  if (typeof c.source == "function") {
5519
5722
  S += 1;
5520
- let t = S, n = await c.source(e);
5521
- if (t !== S || j) return;
5522
- h.value = n.slice(0, c.maxResults);
5523
- } else S += 1, h.value = w(c.source, e);
5524
- j || (k(t), v.value = !0);
5525
- }, N = () => {
5723
+ let t = S;
5724
+ try {
5725
+ let n = await c.source(e);
5726
+ if (t !== S || M) return;
5727
+ h.value = n.slice(0, c.maxResults);
5728
+ } catch {
5729
+ if (t !== S || M) return;
5730
+ h.value = [], v.value = !1;
5731
+ return;
5732
+ }
5733
+ } else S += 1, h.value = O(c.source, e);
5734
+ M || (j(t), v.value = !0);
5735
+ }, P = () => {
5526
5736
  S += 1;
5527
- }, P = (e) => {
5737
+ }, F = (e) => {
5528
5738
  if (y.value !== null && clearTimeout(y.value), c.debounce <= 0) {
5529
- M(e);
5739
+ N(e);
5530
5740
  return;
5531
5741
  }
5532
5742
  y.value = setTimeout(() => {
5533
- M(e), y.value = null;
5743
+ N(e), y.value = null;
5534
5744
  }, c.debounce);
5535
- }, F = (e) => {
5745
+ }, L = (e) => {
5536
5746
  let t = e.target;
5537
5747
  if (p.value = t.value, l("update:modelValue", t.value), t.value.length < c.minChars) {
5538
- N(), h.value = [], v.value = !1;
5748
+ P(), h.value = [], v.value = !1;
5539
5749
  return;
5540
5750
  }
5541
- P(t.value);
5542
- }, L = () => {
5543
- c.disabled || p.value.length >= c.minChars && M(p.value);
5751
+ F(t.value);
5544
5752
  }, R = () => {
5545
- N(), v.value = !1, g.value = -1;
5546
- }, z = (e) => {
5547
- p.value = C(e), l("update:modelValue", p.value), l("select", e), R();
5753
+ c.disabled || p.value.length >= c.minChars && N(p.value);
5754
+ }, z = () => {
5755
+ P(), v.value = !1, g.value = -1;
5548
5756
  }, B = (e) => {
5757
+ p.value = w(e), l("update:modelValue", p.value), l("select", e), z();
5758
+ }, V = (e) => {
5549
5759
  if (!c.disabled) if (e.key === "ArrowDown") {
5550
5760
  if (e.preventDefault(), !v.value) {
5551
- M(p.value);
5761
+ N(p.value);
5552
5762
  return;
5553
5763
  }
5554
5764
  g.value = Math.min(h.value.length - 1, g.value + 1);
5555
5765
  } else if (e.key === "ArrowUp") {
5556
5766
  if (e.preventDefault(), !v.value) return;
5557
- g.value = g.value <= 0 ? h.value.length - 1 : g.value - 1;
5558
- } else e.key === "Enter" ? g.value >= 0 && h.value[g.value] && (e.preventDefault(), z(h.value[g.value])) : e.key === "Escape" && (e.preventDefault(), R());
5559
- }, V = (e) => {
5767
+ g.value = Math.max(0, g.value - 1);
5768
+ } else e.key === "Enter" ? g.value >= 0 && h.value[g.value] && (e.preventDefault(), B(h.value[g.value])) : e.key === "Escape" && (e.preventDefault(), z());
5769
+ }, H = (e) => {
5560
5770
  if (!v.value) return;
5561
5771
  let t = b.value;
5562
- t && e.target instanceof Node && t.contains(e.target) || R();
5772
+ t && e.target instanceof Node && t.contains(e.target) || z();
5563
5773
  };
5564
5774
  I(v, (e) => {
5565
- typeof document > "u" || (e ? document.addEventListener("mousedown", V) : document.removeEventListener("mousedown", V));
5775
+ typeof document > "u" || (e ? document.addEventListener("mousedown", H) : document.removeEventListener("mousedown", H));
5566
5776
  }), _(() => {
5567
- j = !0, N(), y.value !== null && clearTimeout(y.value), typeof document < "u" && document.removeEventListener("mousedown", V);
5777
+ M = !0, P(), y.value !== null && clearTimeout(y.value), typeof document < "u" && document.removeEventListener("mousedown", H);
5568
5778
  });
5569
- let H = n(() => v.value && p.value.length >= c.minChars && h.value.length === 0);
5779
+ let ee = n(() => v.value && p.value.length >= c.minChars && h.value.length === 0);
5570
5780
  return (n, r) => (x(), a("div", {
5571
5781
  class: "vibe-autocomplete",
5572
5782
  ref_key: "rootRef",
@@ -5576,7 +5786,7 @@ var er = { class: "vibe-chart" }, tr = {
5576
5786
  key: 0,
5577
5787
  for: d.value,
5578
5788
  class: "form-label"
5579
- }, A(t.label), 9, Fi)) : i("", !0),
5789
+ }, A(t.label), 9, Hi)) : i("", !0),
5580
5790
  o("input", {
5581
5791
  id: d.value,
5582
5792
  class: "form-control",
@@ -5590,31 +5800,31 @@ var er = { class: "vibe-chart" }, tr = {
5590
5800
  "aria-controls": v.value && h.value.length > 0 ? f.value : void 0,
5591
5801
  "aria-activedescendant": g.value >= 0 ? `${d.value}-option-${g.value}` : void 0,
5592
5802
  role: "combobox",
5593
- onInput: F,
5594
- onFocus: L,
5595
- onKeydown: B
5596
- }, null, 40, Ii),
5803
+ onInput: L,
5804
+ onFocus: R,
5805
+ onKeydown: V
5806
+ }, null, 40, Ui),
5597
5807
  v.value && h.value.length > 0 ? (x(), a("ul", {
5598
5808
  key: 1,
5599
5809
  id: f.value,
5600
5810
  class: "vibe-autocomplete-menu",
5601
5811
  role: "listbox"
5602
5812
  }, [(x(!0), a(e, null, E(h.value, (e, t) => (x(), a("li", {
5603
- key: C(e) + "\0" + t,
5813
+ key: w(e) + "\0" + t,
5604
5814
  id: `${d.value}-option-${t}`,
5605
5815
  class: m(["vibe-autocomplete-item", t === g.value ? "vibe-autocomplete-item-highlighted" : ""]),
5606
5816
  role: "option",
5607
5817
  "aria-selected": t === g.value,
5608
5818
  onMouseenter: (e) => g.value = t,
5609
- onClick: (t) => z(e)
5819
+ onClick: (t) => B(e)
5610
5820
  }, [D(n.$slots, "item", {
5611
5821
  item: e,
5612
5822
  index: t,
5613
- label: C(e)
5614
- }, () => [s(A(C(e)), 1)], !0)], 42, Ri))), 128))], 8, Li)) : H.value ? (x(), a("div", zi, [D(n.$slots, "empty", {}, () => [r[0] ||= s("No results", -1)], !0)])) : i("", !0)
5823
+ label: w(e)
5824
+ }, () => [s(A(w(e)), 1)], !0)], 42, Gi))), 128))], 8, Wi)) : ee.value ? (x(), a("div", Ki, [D(n.$slots, "empty", {}, () => [r[0] ||= s("No results", -1)], !0)])) : i("", !0)
5615
5825
  ], 512));
5616
5826
  }
5617
- }), [["__scopeId", "data-v-5d8fb9ff"]]), Vi = /* @__PURE__ */ W(/* @__PURE__ */ c({
5827
+ }), [["__scopeId", "data-v-34f733e3"]]), Ji = /*#__PURE__*/ W(/* @__PURE__ */ c({
5618
5828
  __name: "VibeSortable",
5619
5829
  props: {
5620
5830
  modelValue: {
@@ -5693,24 +5903,24 @@ var er = { class: "vibe-chart" }, tr = {
5693
5903
  _: 3
5694
5904
  }));
5695
5905
  }
5696
- }), [["__scopeId", "data-v-eda2a0c7"]]), J = {
5906
+ }), [["__scopeId", "data-v-0d48df5a"]]), J = {
5697
5907
  payload: void 0,
5698
5908
  group: "",
5699
5909
  active: !1
5700
- }, Hi = !1, Ui = () => {
5701
- J.payload = void 0, J.group = "", J.active = !1, Gi();
5702
- }, Wi = () => {
5703
- Hi || typeof document > "u" || (Hi = !0, document.addEventListener("dragend", Ui), document.addEventListener("drop", Ui));
5704
- }, Gi = () => {
5705
- !Hi || typeof document > "u" || (Hi = !1, document.removeEventListener("dragend", Ui), document.removeEventListener("drop", Ui));
5706
- }, Ki = (e, t) => {
5707
- typeof window > "u" || (J.payload = e, J.group = t, J.active = !0, Wi());
5708
- }, qi = () => {
5709
- typeof window > "u" || (J.payload = void 0, J.group = "", J.active = !1, Gi());
5710
- }, Ji = () => J.active ? {
5910
+ }, Yi = !1, Xi = () => {
5911
+ J.payload = void 0, J.group = "", J.active = !1, Qi();
5912
+ }, Zi = () => {
5913
+ Yi || typeof document > "u" || (Yi = !0, document.addEventListener("dragend", Xi), document.addEventListener("drop", Xi));
5914
+ }, Qi = () => {
5915
+ !Yi || typeof document > "u" || (Yi = !1, document.removeEventListener("dragend", Xi), document.removeEventListener("drop", Xi));
5916
+ }, $i = (e, t) => {
5917
+ typeof window > "u" || (J.payload = e, J.group = t, J.active = !0, Zi());
5918
+ }, ea = () => {
5919
+ typeof window > "u" || (J.payload = void 0, J.group = "", J.active = !1, Qi());
5920
+ }, ta = () => J.active ? {
5711
5921
  payload: J.payload,
5712
5922
  group: J.group
5713
- } : null, Yi = /* @__PURE__ */ W(/* @__PURE__ */ c({
5923
+ } : null, na = /*#__PURE__*/ W(/* @__PURE__ */ c({
5714
5924
  __name: "VibeDraggable",
5715
5925
  props: {
5716
5926
  payload: {
@@ -5737,13 +5947,13 @@ var er = { class: "vibe-chart" }, tr = {
5737
5947
  e.preventDefault();
5738
5948
  return;
5739
5949
  }
5740
- a.value = !0, Ki(n.payload, n.group), e.dataTransfer && (e.dataTransfer.effectAllowed = "move"), i("dragstart", {
5950
+ a.value = !0, $i(n.payload, n.group), e.dataTransfer && (e.dataTransfer.effectAllowed = "move"), i("dragstart", {
5741
5951
  payload: n.payload,
5742
5952
  group: n.group,
5743
5953
  event: e
5744
5954
  });
5745
5955
  }, s = (e) => {
5746
- a.value = !1, qi(), i("dragend", {
5956
+ a.value = !1, ea(), i("dragend", {
5747
5957
  payload: n.payload,
5748
5958
  group: n.group,
5749
5959
  event: e
@@ -5768,7 +5978,7 @@ var er = { class: "vibe-chart" }, tr = {
5768
5978
  "data-vibe-group"
5769
5979
  ]));
5770
5980
  }
5771
- }), [["__scopeId", "data-v-39b73254"]]), Xi = /* @__PURE__ */ W(/* @__PURE__ */ c({
5981
+ }), [["__scopeId", "data-v-39b73254"]]), ra = /*#__PURE__*/ W(/* @__PURE__ */ c({
5772
5982
  __name: "VibeDroppable",
5773
5983
  props: {
5774
5984
  group: {
@@ -5798,7 +6008,7 @@ var er = { class: "vibe-chart" }, tr = {
5798
6008
  I(() => n.disabled, (e) => {
5799
6009
  e && (o = 0, a.value = !1);
5800
6010
  });
5801
- let s = (e) => n.acceptGroups && n.acceptGroups.length > 0 ? n.acceptGroups.includes(e) : e === n.group, c = () => Ji(), l = (e) => {
6011
+ let s = (e) => n.acceptGroups && n.acceptGroups.length > 0 ? n.acceptGroups.includes(e) : e === n.group, c = () => ta(), l = (e) => {
5802
6012
  if (n.disabled) return;
5803
6013
  let t = c();
5804
6014
  t && s(t.group) && (o += 1, a.value = !0, i("dragenter", e));
@@ -5836,7 +6046,7 @@ var er = { class: "vibe-chart" }, tr = {
5836
6046
  _: 3
5837
6047
  }, 40, ["class", "data-vibe-group"]));
5838
6048
  }
5839
- }), [["__scopeId", "data-v-cb4f90ac"]]), Zi = ["data-handle", "onPointerdown"], Qi = /* @__PURE__ */ W(/* @__PURE__ */ c({
6049
+ }), [["__scopeId", "data-v-cb4f90ac"]]), ia = ["data-handle", "onPointerdown"], aa = /*#__PURE__*/ W(/* @__PURE__ */ c({
5840
6050
  __name: "VibeResizable",
5841
6051
  props: {
5842
6052
  handles: {
@@ -5950,19 +6160,19 @@ var er = { class: "vibe-chart" }, tr = {
5950
6160
  onPointerdown: j(O)[e],
5951
6161
  onPointermove: k,
5952
6162
  onPointerup: A
5953
- }, null, 42, Zi))), 128))], 6));
6163
+ }, null, 42, ia))), 128))], 6));
5954
6164
  }
5955
- }), [["__scopeId", "data-v-6582c06b"]]), $i = ["for"], ea = [
6165
+ }), [["__scopeId", "data-v-6582c06b"]]), oa = ["for"], sa = [
5956
6166
  "id",
5957
6167
  "value",
5958
6168
  "placeholder",
5959
6169
  "disabled",
5960
6170
  "aria-expanded"
5961
- ], ta = ["aria-label"], na = { class: "vibe-datepicker-header" }, ra = { class: "vibe-datepicker-title" }, ia = { class: "vibe-datepicker-weekdays" }, aa = { class: "vibe-datepicker-grid" }, oa = [
6171
+ ], ca = ["aria-label"], la = { class: "vibe-datepicker-header" }, ua = { class: "vibe-datepicker-title" }, da = { class: "vibe-datepicker-weekdays" }, fa = { class: "vibe-datepicker-grid" }, pa = [
5962
6172
  "data-iso",
5963
6173
  "disabled",
5964
6174
  "onClick"
5965
- ], sa = /* @__PURE__ */ W(/* @__PURE__ */ c({
6175
+ ], ma = /*#__PURE__*/ W(/* @__PURE__ */ c({
5966
6176
  __name: "VibeDatePicker",
5967
6177
  props: {
5968
6178
  modelValue: {
@@ -6093,46 +6303,46 @@ var er = { class: "vibe-chart" }, tr = {
6093
6303
  }, te = (e) => {
6094
6304
  let t = ["vibe-datepicker-day"];
6095
6305
  return e.inMonth || t.push("vibe-datepicker-day-outside"), e.disabled && t.push("vibe-datepicker-day-disabled"), e.isToday && t.push("vibe-datepicker-day-today"), e.isSelected && t.push("vibe-datepicker-day-selected"), e.isFocused && t.push("vibe-datepicker-day-focused"), e.isInRange && t.push("vibe-datepicker-day-in-range"), e.isRangeStart && t.push("vibe-datepicker-day-range-start"), e.isRangeEnd && t.push("vibe-datepicker-day-range-end"), t.join(" ");
6096
- }, ne = async (e) => {
6306
+ }, U = async (e) => {
6097
6307
  w.value = e;
6098
6308
  let t = v(e);
6099
6309
  (t.getFullYear() !== S.value || t.getMonth() !== C.value) && (S.value = t.getFullYear(), C.value = t.getMonth()), await p(), (O.value?.querySelector(`[data-iso="${e}"]`))?.focus();
6100
- }, re = async (e) => {
6310
+ }, W = async (e) => {
6101
6311
  let t = v(w.value || k.value || h(b()));
6102
- t.setDate(t.getDate() + e), await ne(h(t));
6103
- }, U = async (e) => {
6312
+ t.setDate(t.getDate() + e), await U(h(t));
6313
+ }, ne = async (e) => {
6104
6314
  let t = v(w.value || k.value || h(b())), n = t.getMonth() + e, r = t.getFullYear() + Math.floor(n / 12), i = (n % 12 + 12) % 12, a = new Date(r, i + 1, 0).getDate();
6105
- t.setFullYear(r, i, Math.min(t.getDate(), a)), await ne(h(t));
6106
- }, ie = async (e) => {
6315
+ t.setFullYear(r, i, Math.min(t.getDate(), a)), await U(h(t));
6316
+ }, re = async (e) => {
6107
6317
  switch (e.key) {
6108
6318
  case "ArrowRight":
6109
- e.preventDefault(), await re(1);
6319
+ e.preventDefault(), await W(1);
6110
6320
  break;
6111
6321
  case "ArrowLeft":
6112
- e.preventDefault(), await re(-1);
6322
+ e.preventDefault(), await W(-1);
6113
6323
  break;
6114
6324
  case "ArrowDown":
6115
- e.preventDefault(), await re(7);
6325
+ e.preventDefault(), await W(7);
6116
6326
  break;
6117
6327
  case "ArrowUp":
6118
- e.preventDefault(), await re(-7);
6328
+ e.preventDefault(), await W(-7);
6119
6329
  break;
6120
6330
  case "PageDown":
6121
- e.preventDefault(), await U(1);
6331
+ e.preventDefault(), await ne(1);
6122
6332
  break;
6123
6333
  case "PageUp":
6124
- e.preventDefault(), await U(-1);
6334
+ e.preventDefault(), await ne(-1);
6125
6335
  break;
6126
6336
  case "Home": {
6127
6337
  e.preventDefault();
6128
6338
  let t = v(w.value || k.value || h(b())), n = (t.getDay() - c.weekStart + 7) % 7;
6129
- t.setDate(t.getDate() - n), await ne(h(t));
6339
+ t.setDate(t.getDate() - n), await U(h(t));
6130
6340
  break;
6131
6341
  }
6132
6342
  case "End": {
6133
6343
  e.preventDefault();
6134
6344
  let t = v(w.value || k.value || h(b())), n = (t.getDay() - c.weekStart + 7) % 7;
6135
- t.setDate(t.getDate() + (6 - n)), await ne(h(t));
6345
+ t.setDate(t.getDate() + (6 - n)), await U(h(t));
6136
6346
  break;
6137
6347
  }
6138
6348
  case "Enter":
@@ -6148,15 +6358,15 @@ var er = { class: "vibe-chart" }, tr = {
6148
6358
  e.preventDefault(), B();
6149
6359
  break;
6150
6360
  }
6151
- }, ae = (e) => {
6361
+ }, ie = (e) => {
6152
6362
  if (!y.value) return;
6153
6363
  let t = D.value;
6154
6364
  t && e.target instanceof Node && t.contains(e.target) || B();
6155
6365
  };
6156
6366
  return I(y, (e) => {
6157
- typeof document > "u" || (e ? (w.value = k.value || h(b()), document.addEventListener("mousedown", ae)) : (w.value = null, document.removeEventListener("mousedown", ae)));
6367
+ typeof document > "u" || (e ? (w.value = k.value || h(b()), document.addEventListener("mousedown", ie)) : (w.value = null, document.removeEventListener("mousedown", ie)));
6158
6368
  }), _(() => {
6159
- typeof document < "u" && document.removeEventListener("mousedown", ae);
6369
+ typeof document < "u" && document.removeEventListener("mousedown", ie);
6160
6370
  }), r({
6161
6371
  open: () => {
6162
6372
  y.value || z();
@@ -6171,7 +6381,7 @@ var er = { class: "vibe-chart" }, tr = {
6171
6381
  key: 0,
6172
6382
  for: d.value,
6173
6383
  class: "form-label"
6174
- }, A(t.label), 9, $i)) : i("", !0),
6384
+ }, A(t.label), 9, oa)) : i("", !0),
6175
6385
  o("input", {
6176
6386
  id: d.value,
6177
6387
  type: "text",
@@ -6183,7 +6393,7 @@ var er = { class: "vibe-chart" }, tr = {
6183
6393
  "aria-haspopup": "dialog",
6184
6394
  "aria-expanded": y.value,
6185
6395
  onClick: z
6186
- }, null, 8, ea),
6396
+ }, null, 8, sa),
6187
6397
  y.value ? (x(), a("div", {
6188
6398
  key: 1,
6189
6399
  ref_key: "popoverRef",
@@ -6191,9 +6401,9 @@ var er = { class: "vibe-chart" }, tr = {
6191
6401
  class: "vibe-datepicker-popover",
6192
6402
  role: "dialog",
6193
6403
  "aria-label": t.label || "Date picker",
6194
- onKeydown: ie
6404
+ onKeydown: re
6195
6405
  }, [
6196
- o("div", na, [
6406
+ o("div", la, [
6197
6407
  o("button", {
6198
6408
  type: "button",
6199
6409
  class: "vibe-datepicker-nav",
@@ -6201,7 +6411,7 @@ var er = { class: "vibe-chart" }, tr = {
6201
6411
  "data-prev-month": "",
6202
6412
  onClick: V
6203
6413
  }, "‹"),
6204
- o("span", ra, A(F.value), 1),
6414
+ o("span", ua, A(F.value), 1),
6205
6415
  o("button", {
6206
6416
  type: "button",
6207
6417
  class: "vibe-datepicker-nav",
@@ -6210,34 +6420,34 @@ var er = { class: "vibe-chart" }, tr = {
6210
6420
  onClick: H
6211
6421
  }, "›")
6212
6422
  ]),
6213
- o("div", ia, [(x(!0), a(e, null, E(L.value, (e) => (x(), a("span", {
6423
+ o("div", da, [(x(!0), a(e, null, E(L.value, (e) => (x(), a("span", {
6214
6424
  key: e,
6215
6425
  class: "vibe-datepicker-weekday"
6216
6426
  }, A(e), 1))), 128))]),
6217
- o("div", aa, [(x(!0), a(e, null, E(P.value, (e) => (x(), a("button", {
6427
+ o("div", fa, [(x(!0), a(e, null, E(P.value, (e) => (x(), a("button", {
6218
6428
  key: e.iso,
6219
6429
  type: "button",
6220
6430
  class: m(te(e)),
6221
6431
  "data-iso": e.iso,
6222
6432
  disabled: e.disabled,
6223
6433
  onClick: (t) => ee(e)
6224
- }, A(e.day), 11, oa))), 128))])
6225
- ], 40, ta)) : i("", !0)
6434
+ }, A(e.day), 11, pa))), 128))])
6435
+ ], 40, ca)) : i("", !0)
6226
6436
  ], 512));
6227
6437
  }
6228
- }), [["__scopeId", "data-v-0a5b8fa4"]]), ca = [
6438
+ }), [["__scopeId", "data-v-0a5b8fa4"]]), ha = [
6229
6439
  "id",
6230
6440
  "checked",
6231
6441
  "disabled",
6232
6442
  "required",
6233
6443
  "aria-invalid",
6234
6444
  "aria-describedby"
6235
- ], la = ["for"], ua = {
6445
+ ], ga = ["for"], _a = {
6236
6446
  key: 0,
6237
6447
  class: "text-danger"
6238
- }, da = ["id"], fa = ["id"], pa = ["id"], ma = /* @__PURE__ */ c({
6448
+ }, va = ["id"], ya = ["id"], ba = ["id"], xa = /* @__PURE__ */ c({
6239
6449
  __name: "VibeFormCheckbox",
6240
- props: /* @__PURE__ */ d({
6450
+ props: /*@__PURE__*/ d({
6241
6451
  value: {
6242
6452
  type: [
6243
6453
  String,
@@ -6314,7 +6524,7 @@ var er = { class: "vibe-chart" }, tr = {
6314
6524
  },
6315
6525
  modelModifiers: {}
6316
6526
  }),
6317
- emits: /* @__PURE__ */ d([
6527
+ emits: /*@__PURE__*/ d([
6318
6528
  "validate",
6319
6529
  "blur",
6320
6530
  "focus",
@@ -6329,13 +6539,7 @@ var er = { class: "vibe-chart" }, tr = {
6329
6539
  return l.validationState === "valid" && e.push("is-valid"), l.validationState === "invalid" && e.push("is-invalid"), e.join(" ");
6330
6540
  }), D = n(() => l.indeterminate ? !1 : Array.isArray(c.value) ? c.value.includes(l.value) : c.value === l.value), O = (e) => {
6331
6541
  let t = e.target, n;
6332
- if (Array.isArray(c.value)) if (n = [...c.value], t.checked) n.push(l.value);
6333
- else {
6334
- let e = n.indexOf(l.value);
6335
- e > -1 && n.splice(e, 1);
6336
- }
6337
- else n = t.checked ? l.value : l.uncheckedValue;
6338
- c.value = n, d("change", e), l.validateOn === "change" && d("validate");
6542
+ Array.isArray(c.value) ? (n = [...c.value], t.checked ? n.push(l.value) : n = n.filter((e) => e !== l.value)) : n = t.checked ? l.value : l.uncheckedValue, c.value = n, d("change", e), l.validateOn === "change" && d("validate");
6339
6543
  }, k = (e) => {
6340
6544
  d("blur", e), l.validateOn === "blur" && d("validate");
6341
6545
  }, j = (e) => {
@@ -6360,31 +6564,31 @@ var er = { class: "vibe-chart" }, tr = {
6360
6564
  onChange: O,
6361
6565
  onBlur: k,
6362
6566
  onFocus: j
6363
- }, null, 42, ca),
6567
+ }, null, 42, ha),
6364
6568
  b.value ? (x(), a("label", {
6365
6569
  key: 0,
6366
6570
  for: g.value,
6367
6571
  class: "form-check-label"
6368
- }, [s(A(t.label) + " ", 1), t.required ? (x(), a("span", ua, "*")) : i("", !0)], 8, la)) : i("", !0),
6572
+ }, [s(A(t.label) + " ", 1), t.required ? (x(), a("span", _a, "*")) : i("", !0)], 8, ga)) : i("", !0),
6369
6573
  C.value ? (x(), a("div", {
6370
6574
  key: 1,
6371
6575
  id: `${g.value}-help`,
6372
6576
  class: "form-text"
6373
- }, A(t.helpText), 9, da)) : i("", !0),
6577
+ }, A(t.helpText), 9, va)) : i("", !0),
6374
6578
  S.value ? (x(), a(e, { key: 2 }, [t.validationState === "valid" ? (x(), a("div", {
6375
6579
  key: 0,
6376
6580
  id: `${g.value}-feedback`,
6377
6581
  class: "valid-feedback",
6378
6582
  style: { display: "block" }
6379
- }, A(t.validationMessage || "Looks good!"), 9, fa)) : i("", !0), t.validationState === "invalid" ? (x(), a("div", {
6583
+ }, A(t.validationMessage || "Looks good!"), 9, ya)) : i("", !0), t.validationState === "invalid" ? (x(), a("div", {
6380
6584
  key: 1,
6381
6585
  id: `${g.value}-feedback`,
6382
6586
  class: "invalid-feedback",
6383
6587
  style: { display: "block" }
6384
- }, A(t.validationMessage || "Please check this box."), 9, pa)) : i("", !0)], 64)) : i("", !0)
6588
+ }, A(t.validationMessage || "Please check this box."), 9, ba)) : i("", !0)], 64)) : i("", !0)
6385
6589
  ], 2));
6386
6590
  }
6387
- }), ha = [
6591
+ }), Sa = [
6388
6592
  "id",
6389
6593
  "name",
6390
6594
  "value",
@@ -6393,12 +6597,12 @@ var er = { class: "vibe-chart" }, tr = {
6393
6597
  "required",
6394
6598
  "aria-invalid",
6395
6599
  "aria-describedby"
6396
- ], ga = ["for"], _a = {
6600
+ ], Ca = ["for"], wa = {
6397
6601
  key: 0,
6398
6602
  class: "text-danger"
6399
- }, va = ["id"], ya = ["id"], ba = ["id"], xa = /* @__PURE__ */ c({
6603
+ }, Ta = ["id"], Ea = ["id"], Da = ["id"], Oa = /* @__PURE__ */ c({
6400
6604
  __name: "VibeFormRadio",
6401
- props: /* @__PURE__ */ d({
6605
+ props: /*@__PURE__*/ d({
6402
6606
  value: {
6403
6607
  type: [
6404
6608
  String,
@@ -6466,7 +6670,7 @@ var er = { class: "vibe-chart" }, tr = {
6466
6670
  },
6467
6671
  modelModifiers: {}
6468
6672
  }),
6469
- emits: /* @__PURE__ */ d([
6673
+ emits: /*@__PURE__*/ d([
6470
6674
  "validate",
6471
6675
  "blur",
6472
6676
  "focus",
@@ -6503,43 +6707,43 @@ var er = { class: "vibe-chart" }, tr = {
6503
6707
  onChange: w,
6504
6708
  onBlur: T,
6505
6709
  onFocus: E
6506
- }, null, 42, ha),
6710
+ }, null, 42, Sa),
6507
6711
  _.value ? (x(), a("label", {
6508
6712
  key: 0,
6509
6713
  for: g.value,
6510
6714
  class: "form-check-label"
6511
- }, [s(A(t.label) + " ", 1), t.required ? (x(), a("span", _a, "*")) : i("", !0)], 8, ga)) : i("", !0),
6715
+ }, [s(A(t.label) + " ", 1), t.required ? (x(), a("span", wa, "*")) : i("", !0)], 8, Ca)) : i("", !0),
6512
6716
  y.value ? (x(), a("div", {
6513
6717
  key: 1,
6514
6718
  id: `${g.value}-help`,
6515
6719
  class: "form-text"
6516
- }, A(t.helpText), 9, va)) : i("", !0),
6720
+ }, A(t.helpText), 9, Ta)) : i("", !0),
6517
6721
  v.value ? (x(), a(e, { key: 2 }, [t.validationState === "valid" ? (x(), a("div", {
6518
6722
  key: 0,
6519
6723
  id: `${g.value}-feedback`,
6520
6724
  class: "valid-feedback",
6521
6725
  style: { display: "block" }
6522
- }, A(t.validationMessage || "Looks good!"), 9, ya)) : i("", !0), t.validationState === "invalid" ? (x(), a("div", {
6726
+ }, A(t.validationMessage || "Looks good!"), 9, Ea)) : i("", !0), t.validationState === "invalid" ? (x(), a("div", {
6523
6727
  key: 1,
6524
6728
  id: `${g.value}-feedback`,
6525
6729
  class: "invalid-feedback",
6526
6730
  style: { display: "block" }
6527
- }, A(t.validationMessage || "Please select an option."), 9, ba)) : i("", !0)], 64)) : i("", !0)
6731
+ }, A(t.validationMessage || "Please select an option."), 9, Da)) : i("", !0)], 64)) : i("", !0)
6528
6732
  ], 2));
6529
6733
  }
6530
- }), Sa = [
6734
+ }), ka = [
6531
6735
  "id",
6532
6736
  "checked",
6533
6737
  "disabled",
6534
6738
  "required",
6535
6739
  "aria-invalid",
6536
6740
  "aria-describedby"
6537
- ], Ca = ["for"], wa = {
6741
+ ], Aa = ["for"], ja = {
6538
6742
  key: 0,
6539
6743
  class: "text-danger"
6540
- }, Ta = ["id"], Ea = ["id"], Da = ["id"], Oa = /* @__PURE__ */ c({
6744
+ }, Ma = ["id"], Na = ["id"], Pa = ["id"], Fa = /* @__PURE__ */ c({
6541
6745
  __name: "VibeFormSwitch",
6542
- props: /* @__PURE__ */ d({
6746
+ props: /*@__PURE__*/ d({
6543
6747
  id: {
6544
6748
  type: String,
6545
6749
  default: void 0
@@ -6587,7 +6791,7 @@ var er = { class: "vibe-chart" }, tr = {
6587
6791
  },
6588
6792
  modelModifiers: {}
6589
6793
  }),
6590
- emits: /* @__PURE__ */ d([
6794
+ emits: /*@__PURE__*/ d([
6591
6795
  "validate",
6592
6796
  "blur",
6593
6797
  "focus",
@@ -6621,37 +6825,53 @@ var er = { class: "vibe-chart" }, tr = {
6621
6825
  onChange: C,
6622
6826
  onBlur: w,
6623
6827
  onFocus: T
6624
- }, null, 42, Sa),
6828
+ }, null, 42, ka),
6625
6829
  _.value ? (x(), a("label", {
6626
6830
  key: 0,
6627
6831
  for: g.value,
6628
6832
  class: "form-check-label"
6629
- }, [s(A(t.label) + " ", 1), t.required ? (x(), a("span", wa, "*")) : i("", !0)], 8, Ca)) : i("", !0),
6833
+ }, [s(A(t.label) + " ", 1), t.required ? (x(), a("span", ja, "*")) : i("", !0)], 8, Aa)) : i("", !0),
6630
6834
  y.value ? (x(), a("div", {
6631
6835
  key: 1,
6632
6836
  id: `${g.value}-help`,
6633
6837
  class: "form-text"
6634
- }, A(t.helpText), 9, Ta)) : i("", !0),
6838
+ }, A(t.helpText), 9, Ma)) : i("", !0),
6635
6839
  v.value ? (x(), a(e, { key: 2 }, [t.validationState === "valid" ? (x(), a("div", {
6636
6840
  key: 0,
6637
6841
  id: `${g.value}-feedback`,
6638
6842
  class: "valid-feedback",
6639
6843
  style: { display: "block" }
6640
- }, A(t.validationMessage || "Looks good!"), 9, Ea)) : i("", !0), t.validationState === "invalid" ? (x(), a("div", {
6844
+ }, A(t.validationMessage || "Looks good!"), 9, Na)) : i("", !0), t.validationState === "invalid" ? (x(), a("div", {
6641
6845
  key: 1,
6642
6846
  id: `${g.value}-feedback`,
6643
6847
  class: "invalid-feedback",
6644
6848
  style: { display: "block" }
6645
- }, A(t.validationMessage || "Please toggle this switch."), 9, Da)) : i("", !0)], 64)) : i("", !0)
6849
+ }, A(t.validationMessage || "Please toggle this switch."), 9, Pa)) : i("", !0)], 64)) : i("", !0)
6646
6850
  ], 2));
6647
6851
  }
6648
- }), ka = ["for"], Aa = {
6852
+ }), Ia = ["for"], La = {
6649
6853
  key: 0,
6650
- class: "text-danger"
6651
- }, ja = ["id"], Ma = ["id"], Na = ["id"], Pa = ["for"], Fa = {
6854
+ class: "text-danger ms-1",
6855
+ "aria-hidden": "true"
6856
+ }, Ra = {
6857
+ key: 1,
6858
+ class: "text-muted ms-1 small",
6859
+ "aria-hidden": "true"
6860
+ }, za = {
6861
+ key: 2,
6862
+ class: "visually-hidden"
6863
+ }, Ba = ["id"], Va = ["id"], Ha = ["id"], Ua = ["for"], Wa = {
6652
6864
  key: 0,
6653
- class: "text-danger"
6654
- }, Ia = ["id"], La = ["id"], Ra = ["id"], za = /* @__PURE__ */ c({
6865
+ class: "text-danger ms-1",
6866
+ "aria-hidden": "true"
6867
+ }, Ga = {
6868
+ key: 1,
6869
+ class: "text-muted ms-1 small",
6870
+ "aria-hidden": "true"
6871
+ }, Ka = {
6872
+ key: 2,
6873
+ class: "visually-hidden"
6874
+ }, qa = ["id"], Ja = ["id"], Ya = ["id"], Xa = /* @__PURE__ */ c({
6655
6875
  __name: "VibeFormGroup",
6656
6876
  props: {
6657
6877
  label: {
@@ -6702,7 +6922,9 @@ var er = { class: "vibe-chart" }, tr = {
6702
6922
  consumeId: () => l.value ? null : (l.value = !0, c.value),
6703
6923
  hasLabel: n(() => !!r.label),
6704
6924
  hasValidation: n(() => !!r.validationState),
6705
- hasHelp: n(() => !!r.helpText)
6925
+ hasHelp: n(() => !!r.helpText),
6926
+ helpId: n(() => r.helpText ? h.value : null),
6927
+ feedbackId: n(() => r.validationState ? p.value : null)
6706
6928
  });
6707
6929
  let u = n(() => {
6708
6930
  let e = [];
@@ -6715,7 +6937,11 @@ var er = { class: "vibe-chart" }, tr = {
6715
6937
  key: 0,
6716
6938
  for: c.value,
6717
6939
  class: m(d.value)
6718
- }, [s(A(t.label) + " ", 1), t.required ? (x(), a("span", Aa, "*")) : i("", !0)], 10, ka)) : i("", !0), t.row && t.labelCols ? (x(), a("div", {
6940
+ }, [
6941
+ s(A(t.label) + " ", 1),
6942
+ t.required ? (x(), a("span", La, "*")) : (x(), a("span", Ra, "(optional)")),
6943
+ t.required ? (x(), a("span", za, "required")) : i("", !0)
6944
+ ], 10, Ia)) : i("", !0), t.row && t.labelCols ? (x(), a("div", {
6719
6945
  key: 1,
6720
6946
  class: m(f.value)
6721
6947
  }, [
@@ -6724,60 +6950,85 @@ var er = { class: "vibe-chart" }, tr = {
6724
6950
  key: 0,
6725
6951
  id: h.value,
6726
6952
  class: "form-text"
6727
- }, A(t.helpText), 9, ja)) : i("", !0),
6953
+ }, A(t.helpText), 9, Ba)) : i("", !0),
6728
6954
  t.validationState === "valid" ? (x(), a("div", {
6729
6955
  key: 1,
6730
6956
  id: p.value,
6731
6957
  class: "valid-feedback",
6732
6958
  style: { display: "block" }
6733
- }, A(t.validationMessage || "Looks good!"), 9, Ma)) : i("", !0),
6959
+ }, A(t.validationMessage || "Looks good!"), 9, Va)) : i("", !0),
6734
6960
  t.validationState === "invalid" ? (x(), a("div", {
6735
6961
  key: 2,
6736
6962
  id: p.value,
6737
6963
  class: "invalid-feedback",
6964
+ role: "alert",
6738
6965
  style: { display: "block" }
6739
- }, A(t.validationMessage || "Please provide a valid value."), 9, Na)) : i("", !0)
6966
+ }, A(t.validationMessage || "Please provide a valid value."), 9, Ha)) : i("", !0)
6740
6967
  ], 2)) : (x(), a(e, { key: 2 }, [
6741
6968
  D(n.$slots, "default"),
6742
6969
  t.label && t.floating ? (x(), a("label", {
6743
6970
  key: 0,
6744
6971
  for: c.value,
6745
6972
  class: m(d.value)
6746
- }, [s(A(t.label) + " ", 1), t.required ? (x(), a("span", Fa, "*")) : i("", !0)], 10, Pa)) : i("", !0),
6973
+ }, [
6974
+ s(A(t.label) + " ", 1),
6975
+ t.required ? (x(), a("span", Wa, "*")) : (x(), a("span", Ga, "(optional)")),
6976
+ t.required ? (x(), a("span", Ka, "required")) : i("", !0)
6977
+ ], 10, Ua)) : i("", !0),
6747
6978
  t.helpText ? (x(), a("div", {
6748
6979
  key: 1,
6749
6980
  id: h.value,
6750
6981
  class: "form-text"
6751
- }, A(t.helpText), 9, Ia)) : i("", !0),
6982
+ }, A(t.helpText), 9, qa)) : i("", !0),
6752
6983
  t.validationState === "valid" ? (x(), a("div", {
6753
6984
  key: 2,
6754
6985
  id: p.value,
6755
6986
  class: "valid-feedback",
6756
6987
  style: { display: "block" }
6757
- }, A(t.validationMessage || "Looks good!"), 9, La)) : i("", !0),
6988
+ }, A(t.validationMessage || "Looks good!"), 9, Ja)) : i("", !0),
6758
6989
  t.validationState === "invalid" ? (x(), a("div", {
6759
6990
  key: 3,
6760
6991
  id: p.value,
6761
6992
  class: "invalid-feedback",
6993
+ role: "alert",
6762
6994
  style: { display: "block" }
6763
- }, A(t.validationMessage || "Please provide a valid value."), 9, Ra)) : i("", !0)
6995
+ }, A(t.validationMessage || "Please provide a valid value."), 9, Ya)) : i("", !0)
6764
6996
  ], 64))], 2));
6765
6997
  }
6766
- }), Ba = {
6998
+ }), Za = {
6999
+ key: 0,
7000
+ role: "alert",
7001
+ "aria-live": "polite",
7002
+ class: "alert alert-danger"
7003
+ }, Qa = { class: "mb-0" }, $a = ["href", "onClick"], eo = /* @__PURE__ */ c({
7004
+ __name: "VibeFormErrorSummary",
7005
+ props: { errors: {
7006
+ type: Object,
7007
+ required: !0
7008
+ } },
7009
+ emits: ["focus"],
7010
+ setup(t, { emit: r }) {
7011
+ let s = t, c = r, l = n(() => Object.entries(s.errors).filter(([, e]) => e));
7012
+ return (t, n) => l.value.length ? (x(), a("div", Za, [n[0] ||= o("strong", null, "Please fix the following:", -1), o("ul", Qa, [(x(!0), a(e, null, E(l.value, ([e, t]) => (x(), a("li", { key: e }, [o("a", {
7013
+ href: `#field-${e}`,
7014
+ onClick: H((t) => c("focus", e), ["prevent"])
7015
+ }, A(t), 9, $a)]))), 128))])])) : i("", !0);
7016
+ }
7017
+ }), to = {
6767
7018
  sm: 576,
6768
7019
  md: 768,
6769
7020
  lg: 992,
6770
7021
  xl: 1200,
6771
7022
  xxl: 1400
6772
7023
  };
6773
- function Va() {
7024
+ function no() {
6774
7025
  let e = T(!1), t = T(!1), r = T(!1), i = T(!1), a = T(!1), o = [], s = null;
6775
7026
  typeof window < "u" && (s = {
6776
- sm: window.matchMedia(`(min-width: ${Ba.sm}px)`),
6777
- md: window.matchMedia(`(min-width: ${Ba.md}px)`),
6778
- lg: window.matchMedia(`(min-width: ${Ba.lg}px)`),
6779
- xl: window.matchMedia(`(min-width: ${Ba.xl}px)`),
6780
- xxl: window.matchMedia(`(min-width: ${Ba.xxl}px)`)
7027
+ sm: window.matchMedia(`(min-width: ${to.sm}px)`),
7028
+ md: window.matchMedia(`(min-width: ${to.md}px)`),
7029
+ lg: window.matchMedia(`(min-width: ${to.lg}px)`),
7030
+ xl: window.matchMedia(`(min-width: ${to.xl}px)`),
7031
+ xxl: window.matchMedia(`(min-width: ${to.xxl}px)`)
6781
7032
  });
6782
7033
  let c = () => {
6783
7034
  s && (e.value = s.sm.matches, t.value = s.md.matches, r.value = s.lg.matches, i.value = s.xl.matches, a.value = s.xxl.matches);
@@ -6804,7 +7055,7 @@ function Va() {
6804
7055
  }
6805
7056
  //#endregion
6806
7057
  //#region src/utils/sanitizeHtml.ts
6807
- var Ha = {
7058
+ var ro = {
6808
7059
  ALLOWED_TAGS: [
6809
7060
  "p",
6810
7061
  "br",
@@ -6828,29 +7079,29 @@ var Ha = {
6828
7079
  "target",
6829
7080
  "rel"
6830
7081
  ]
6831
- }, Ua = null, Wa = !1;
6832
- async function Ga() {
6833
- if (!Wa) {
6834
- Wa = !0;
7082
+ }, io = null, ao = !1;
7083
+ async function oo() {
7084
+ if (!ao) {
7085
+ ao = !0;
6835
7086
  try {
6836
- let e = await import("./purify.es-1D-VntFD.mjs"), t = e.default ?? e;
6837
- Ua = (e) => t.sanitize(e, Ha);
7087
+ let e = await import("./purify.es-eYghtX9j.mjs"), t = e.default ?? e;
7088
+ io = (e) => t.sanitize(e, ro);
6838
7089
  } catch {}
6839
7090
  }
6840
7091
  }
6841
- function Ka(e) {
6842
- return Ua ? Ua(e) : e;
7092
+ function so(e) {
7093
+ return io ? io(e) : e;
6843
7094
  }
6844
7095
  //#endregion
6845
7096
  //#region src/components/VibeFormWysiwyg.vue?vue&type=script&setup=true&lang.ts
6846
- var qa = ["for"], Ja = {
7097
+ var co = ["for"], lo = {
6847
7098
  key: 0,
6848
7099
  class: "text-danger"
6849
- }, Ya = {
7100
+ }, uo = {
6850
7101
  key: 1,
6851
7102
  class: "alert alert-warning",
6852
7103
  role: "alert"
6853
- }, Xa = ["id"], Za = ["id"], Qa = ["id"], $a = /* @__PURE__ */ W(/* @__PURE__ */ c({
7104
+ }, fo = ["id"], po = ["id"], mo = ["id"], ho = /*#__PURE__*/ W(/* @__PURE__ */ c({
6854
7105
  __name: "VibeFormWysiwyg",
6855
7106
  props: {
6856
7107
  modelValue: {
@@ -6936,10 +7187,10 @@ var qa = ["for"], Ja = {
6936
7187
  "component-error"
6937
7188
  ],
6938
7189
  setup(t, { emit: r }) {
6939
- let c = q("wysiwyg"), l = t, d = r, f = u(K, null), g = f?.consumeId(), v = n(() => l.id || g || c), b = n(() => Ce(l.height) ?? "200px"), { isMobile: S } = Va(), C = n(() => !!l.label && !f?.hasLabel.value), w = n(() => !!l.validationState && !f?.hasValidation.value), E = n(() => !!l.helpText && !f?.hasHelp.value), D = T(null), O = k(null), j = T(!1), M = T(null), N = T(!1), P = !1, F = !1, L = null, R = null, z = null, B = null, V = null, H = n(() => {
7190
+ let c = q("wysiwyg"), l = t, d = r, f = u(K, null), g = f?.consumeId(), v = n(() => l.id || g || c), b = n(() => Ce(l.height) ?? "200px"), { isMobile: S } = no(), C = n(() => !!l.label && !f?.hasLabel.value), w = n(() => !!l.validationState && !f?.hasValidation.value), E = n(() => !!l.helpText && !f?.hasHelp.value), D = T(null), O = k(null), j = T(!1), M = T(null), N = T(!1), P = !1, F = !1, L = null, R = null, z = null, B = null, V = n(() => {
6940
7191
  let e = ["vibe-wysiwyg-container"];
6941
7192
  return l.validationState === "valid" && e.push("is-valid"), l.validationState === "invalid" && e.push("is-invalid"), l.disabled && e.push("disabled"), e.join(" ");
6942
- }), ee = [
7193
+ }), H = [
6943
7194
  [{ header: [
6944
7195
  1,
6945
7196
  2,
@@ -6956,7 +7207,7 @@ var qa = ["for"], Ja = {
6956
7207
  [{ color: [] }, { background: [] }],
6957
7208
  ["link", "image"],
6958
7209
  ["clean"]
6959
- ], te = [
7210
+ ], ee = [
6960
7211
  [
6961
7212
  "bold",
6962
7213
  "italic",
@@ -6964,7 +7215,7 @@ var qa = ["for"], Ja = {
6964
7215
  ],
6965
7216
  [{ list: "ordered" }, { list: "bullet" }],
6966
7217
  ["link", "clean"]
6967
- ], ne = {
7218
+ ], te = {
6968
7219
  minimal: [[
6969
7220
  "bold",
6970
7221
  "italic",
@@ -7017,21 +7268,21 @@ var qa = ["for"], Ja = {
7017
7268
  ],
7018
7269
  ["clean"]
7019
7270
  ]
7020
- }, re = (e, t) => e === !1 ? !1 : e === !0 || e === void 0 ? t : typeof e == "string" ? ne[e] ?? t : e, U = () => l.toolbar === !1 ? !1 : S.value ? l.mobileToolbar === !1 ? !1 : l.mobileToolbar === void 0 ? te : re(l.mobileToolbar, te) : re(l.toolbar, ee), ie = (e) => {
7271
+ }, U = (e, t) => e === !1 ? !1 : e === !0 || e === void 0 ? t : typeof e == "string" ? te[e] ?? t : e, W = () => l.toolbar === !1 ? !1 : S.value ? l.mobileToolbar === !1 ? !1 : l.mobileToolbar === void 0 ? ee : U(l.mobileToolbar, ee) : U(l.toolbar, H), ne = (e) => {
7021
7272
  if (!O.value) return;
7022
7273
  N.value = !0;
7023
- let t = Ka(e || ""), n = O.value.clipboard.convert({ html: t });
7274
+ let t = so(e || ""), n = O.value.clipboard.convert({ html: t });
7024
7275
  O.value.setContents(n, "silent"), N.value = !1;
7025
- }, ae = () => !O.value || O.value.getText().trim().length === 0 ? "" : Ka(O.value.getSemanticHTML()), oe = () => {
7276
+ }, re = () => !O.value || O.value.getText().trim().length === 0 ? "" : so(O.value.getSemanticHTML()), ie = () => {
7026
7277
  let e = O.value?.root;
7027
7278
  if (!e) return;
7028
7279
  e.setAttribute("aria-invalid", String(l.validationState === "invalid"));
7029
7280
  let t = [l.helpText ? `${v.value}-help` : null, l.validationMessage ? `${v.value}-feedback` : null].filter(Boolean).join(" ");
7030
7281
  t ? e.setAttribute("aria-describedby", t) : e.removeAttribute("aria-describedby");
7031
- }, se = async () => {
7282
+ }, ae = async () => {
7032
7283
  if (P) return;
7033
- P = !0;
7034
- let e = Ga();
7284
+ P = !0, M.value = null;
7285
+ let e = oo();
7035
7286
  try {
7036
7287
  let t = await import("quill"), n = t.default || t;
7037
7288
  if (await Promise.all([import("quill/dist/quill.snow.css"), e]), !D.value || F) return;
@@ -7040,17 +7291,17 @@ var qa = ["for"], Ja = {
7040
7291
  theme: l.theme,
7041
7292
  placeholder: l.placeholder,
7042
7293
  readOnly: l.readonly || l.disabled,
7043
- modules: { toolbar: U() }
7294
+ modules: { toolbar: W() }
7044
7295
  };
7045
7296
  O.value = new n(D.value, e);
7046
7297
  let t = O.value.root;
7047
- t.id = v.value || "", D.value.removeAttribute("id"), t.setAttribute("role", "textbox"), t.setAttribute("aria-multiline", "true"), oe(), l.modelValue && ie(l.modelValue), B = () => {
7048
- N.value || (d("update:modelValue", ae()), d("change"), l.validateOn === "change" && d("validate"));
7298
+ t.id = v.value || "", D.value.removeAttribute("id"), t.setAttribute("role", "textbox"), t.setAttribute("aria-multiline", "true"), ie(), l.modelValue && ne(l.modelValue), B = () => {
7299
+ N.value || (d("update:modelValue", re()), d("change"), l.validateOn === "change" && d("validate"));
7049
7300
  }, O.value.on("text-change", B), R = () => {
7050
7301
  d("blur"), l.validateOn === "blur" && d("validate");
7051
7302
  }, O.value.root.addEventListener("blur", R), z = () => {
7052
7303
  d("focus");
7053
- }, O.value.root.addEventListener("focus", z), V = () => {}, O.value.on("selection-change", V), j.value = !0, d("ready", O.value);
7304
+ }, O.value.root.addEventListener("focus", z), j.value = !0, d("ready", O.value);
7054
7305
  }
7055
7306
  } catch (e) {
7056
7307
  console.error("Failed to load Quill editor:", e), M.value = "Failed to load WYSIWYG editor. Please install quill: npm install quill", j.value = !1, d("component-error", {
@@ -7062,16 +7313,16 @@ var qa = ["for"], Ja = {
7062
7313
  P = !1;
7063
7314
  }
7064
7315
  };
7065
- return y(se), _(() => {
7316
+ return y(ae), _(() => {
7066
7317
  if (F = !0, L !== null && (clearTimeout(L), L = null), O.value) {
7067
- if (O.value.scroll?.observer?.disconnect(), O.value.enable(!1), B &&= (O.value.off("text-change", B), null), V &&= (O.value.off("selection-change", V), null), R &&= (O.value.root.removeEventListener("blur", R), null), z &&= (O.value.root.removeEventListener("focus", z), null), O.value.selection = null, typeof O.value.destroy == "function" && O.value.destroy(), D.value) {
7318
+ if (O.value.scroll?.observer?.disconnect(), O.value.enable(!1), B &&= (O.value.off("text-change", B), null), R &&= (O.value.root.removeEventListener("blur", R), null), z &&= (O.value.root.removeEventListener("focus", z), null), O.value.selection = null, typeof O.value.destroy == "function" && O.value.destroy(), D.value) {
7068
7319
  let e = D.value.parentElement?.querySelector(".ql-toolbar");
7069
7320
  e && e.remove();
7070
7321
  }
7071
7322
  O.value = null;
7072
7323
  }
7073
7324
  }), I(() => l.modelValue, (e) => {
7074
- O.value && ae() !== (e || "") && ie(e || "");
7325
+ O.value && re() !== (e || "") && ne(e || "");
7075
7326
  }), I(() => l.disabled, (e) => {
7076
7327
  O.value && O.value.enable(!e);
7077
7328
  }), I(() => l.readonly, (e) => {
@@ -7080,23 +7331,30 @@ var qa = ["for"], Ja = {
7080
7331
  () => l.validationState,
7081
7332
  () => l.helpText,
7082
7333
  () => l.validationMessage
7083
- ], oe), I(S, () => {
7334
+ ], ie), I(S, () => {
7084
7335
  O.value && (L !== null && clearTimeout(L), L = setTimeout(async () => {
7085
- if (L = null, F || !O.value) return;
7086
- let e = ae();
7087
- O.value.scroll?.observer?.disconnect(), O.value.enable(!1), B &&= (O.value.off("text-change", B), null), V &&= (O.value.off("selection-change", V), null), R &&= (O.value.root.removeEventListener("blur", R), null), z &&= (O.value.root.removeEventListener("focus", z), null), O.value.selection = null, O.value && typeof O.value.destroy == "function" && O.value.destroy(), O.value = null, j.value = !1;
7088
- let t = D.value?.parentElement?.querySelector(".ql-toolbar");
7089
- t && t.remove(), D.value && (D.value.innerHTML = ""), await p(), await se(), e && ie(e);
7336
+ if (L = null, !(F || !O.value)) try {
7337
+ let e = re();
7338
+ O.value.scroll?.observer?.disconnect(), O.value.enable(!1), B &&= (O.value.off("text-change", B), null), R &&= (O.value.root.removeEventListener("blur", R), null), z &&= (O.value.root.removeEventListener("focus", z), null), O.value.selection = null, O.value && typeof O.value.destroy == "function" && O.value.destroy(), O.value = null, j.value = !1;
7339
+ let t = D.value?.parentElement?.querySelector(".ql-toolbar");
7340
+ t && t.remove(), D.value && (D.value.innerHTML = ""), await p(), await ae(), e && ne(e);
7341
+ } catch (e) {
7342
+ O.value = null, j.value = !1, d("component-error", {
7343
+ message: "Editor failed to reinitialise on mobile breakpoint change.",
7344
+ componentName: "VibeFormWysiwyg",
7345
+ originalError: e
7346
+ });
7347
+ }
7090
7348
  }, 250));
7091
7349
  }), (n, r) => (x(), a("div", { class: m({ "mb-3": C.value || E.value || w.value }) }, [
7092
7350
  C.value ? (x(), a("label", {
7093
7351
  key: 0,
7094
7352
  for: v.value,
7095
7353
  class: "form-label"
7096
- }, [s(A(t.label) + " ", 1), t.required ? (x(), a("span", Ja, "*")) : i("", !0)], 8, qa)) : i("", !0),
7097
- M.value ? (x(), a("div", Ya, A(M.value), 1)) : (x(), a("div", {
7354
+ }, [s(A(t.label) + " ", 1), t.required ? (x(), a("span", lo, "*")) : i("", !0)], 8, co)) : i("", !0),
7355
+ M.value ? (x(), a("div", uo, A(M.value), 1)) : (x(), a("div", {
7098
7356
  key: 2,
7099
- class: m(H.value),
7357
+ class: m(V.value),
7100
7358
  style: h({ minHeight: b.value })
7101
7359
  }, [o("div", {
7102
7360
  ref_key: "editorContainer",
@@ -7106,27 +7364,27 @@ var qa = ["for"], Ja = {
7106
7364
  key: 3,
7107
7365
  id: `${v.value}-help`,
7108
7366
  class: "form-text"
7109
- }, A(t.helpText), 9, Xa)) : i("", !0),
7367
+ }, A(t.helpText), 9, fo)) : i("", !0),
7110
7368
  w.value ? (x(), a(e, { key: 4 }, [t.validationState === "valid" ? (x(), a("div", {
7111
7369
  key: 0,
7112
7370
  id: `${v.value}-feedback`,
7113
7371
  class: "valid-feedback",
7114
7372
  style: { display: "block" }
7115
- }, A(t.validationMessage || "Looks good!"), 9, Za)) : i("", !0), t.validationState === "invalid" ? (x(), a("div", {
7373
+ }, A(t.validationMessage || "Looks good!"), 9, po)) : i("", !0), t.validationState === "invalid" ? (x(), a("div", {
7116
7374
  key: 1,
7117
7375
  id: `${v.value}-feedback`,
7118
7376
  class: "invalid-feedback",
7119
7377
  style: { display: "block" }
7120
- }, A(t.validationMessage || "Please provide valid content."), 9, Qa)) : i("", !0)], 64)) : i("", !0)
7378
+ }, A(t.validationMessage || "Please provide valid content."), 9, mo)) : i("", !0)], 64)) : i("", !0)
7121
7379
  ], 2));
7122
7380
  }
7123
- }), [["__scopeId", "data-v-be2008b3"]]), eo = {
7381
+ }), [["__scopeId", "data-v-82e0c636"]]), go = {
7124
7382
  key: 0,
7125
7383
  class: "input-group-text"
7126
- }, to = {
7384
+ }, _o = {
7127
7385
  key: 0,
7128
7386
  class: "input-group-text"
7129
- }, no = /* @__PURE__ */ c({
7387
+ }, vo = /* @__PURE__ */ c({
7130
7388
  __name: "VibeInputGroup",
7131
7389
  props: {
7132
7390
  size: {
@@ -7153,14 +7411,14 @@ var qa = ["for"], Ja = {
7153
7411
  });
7154
7412
  return (t, n) => (x(), r(O(e.tag), { class: m(o.value) }, {
7155
7413
  default: R(() => [
7156
- D(t.$slots, "prepend", {}, () => [e.prepend ? (x(), a("span", eo, A(e.prepend), 1)) : i("", !0)]),
7414
+ D(t.$slots, "prepend", {}, () => [e.prepend ? (x(), a("span", go, A(e.prepend), 1)) : i("", !0)]),
7157
7415
  D(t.$slots, "default"),
7158
- D(t.$slots, "append", {}, () => [e.append ? (x(), a("span", to, A(e.append), 1)) : i("", !0)])
7416
+ D(t.$slots, "append", {}, () => [e.append ? (x(), a("span", _o, A(e.append), 1)) : i("", !0)])
7159
7417
  ]),
7160
7418
  _: 3
7161
7419
  }, 8, ["class"]));
7162
7420
  }
7163
- }), ro = /* @__PURE__ */ c({
7421
+ }), yo = /* @__PURE__ */ c({
7164
7422
  __name: "VibeLink",
7165
7423
  props: {
7166
7424
  tag: {
@@ -7222,57 +7480,57 @@ var qa = ["for"], Ja = {
7222
7480
  "href"
7223
7481
  ]));
7224
7482
  }
7225
- }), io = Symbol("vibeTooltipInstance"), ao = Symbol("vibeTooltipPending"), oo = Symbol("vibeTooltipOpts"), so = () => typeof window < "u" && ("ontouchstart" in window || typeof navigator < "u" && navigator.maxTouchPoints > 0), co = (e) => typeof e == "string" ? { title: e } : e ? {
7483
+ }), bo = Symbol("vibeTooltipInstance"), xo = Symbol("vibeTooltipPending"), So = Symbol("vibeTooltipOpts"), Co = () => typeof window < "u" && ("ontouchstart" in window || typeof navigator < "u" && navigator.maxTouchPoints > 0), wo = (e) => typeof e == "string" ? { title: e } : e ? {
7226
7484
  ...e,
7227
7485
  title: e.title ?? e.text ?? e.content
7228
- } : {}, lo = (e) => {
7486
+ } : {}, To = (e) => {
7229
7487
  let t = e || "hover focus";
7230
- return so() && t === "hover focus" ? "click" : t;
7231
- }, uo = (e, t) => (e.placement || "top") !== (t.placement || "top") || lo(e.trigger) !== lo(t.trigger), fo = async (e, t) => {
7232
- if (e[ao] || e[io]) return;
7233
- e[ao] = !0;
7488
+ return Co() && t === "hover focus" ? "click" : t;
7489
+ }, Eo = (e, t) => (e.placement || "top") !== (t.placement || "top") || To(e.trigger) !== To(t.trigger), Do = async (e, t) => {
7490
+ if (e[xo] || e[bo]) return;
7491
+ e[xo] = !0;
7234
7492
  let n = t;
7235
- e[oo] = t;
7493
+ e[So] = t;
7236
7494
  try {
7237
- e[io] = new (await (import("bootstrap"))).Tooltip(e, {
7495
+ e[bo] = new (await (import("bootstrap"))).Tooltip(e, {
7238
7496
  title: t.title || "",
7239
7497
  placement: t.placement || "top",
7240
- trigger: lo(t.trigger),
7498
+ trigger: To(t.trigger),
7241
7499
  html: !1
7242
- }), e[oo] !== n && e[io] && e[io].setContent({ ".tooltip-inner": e[oo]?.title ?? "" });
7500
+ }), e[So] !== n && e[bo] && e[bo].setContent({ ".tooltip-inner": e[So]?.title ?? "" });
7243
7501
  } catch {}
7244
- e[ao] = !1;
7245
- }, po = (e) => {
7246
- let t = e[io];
7247
- t && (t.dispose(), e[io] = null);
7248
- }, mo = (e, t) => {
7249
- e.setAttribute("data-bs-toggle", "tooltip"), t.title ? e.setAttribute("data-bs-title", t.title) : e.removeAttribute("data-bs-title"), e.setAttribute("data-bs-placement", t.placement || "top"), e.setAttribute("data-bs-trigger", lo(t.trigger)), e.removeAttribute("data-bs-html");
7250
- }, ho = {
7502
+ e[xo] = !1;
7503
+ }, Oo = (e) => {
7504
+ let t = e[bo];
7505
+ t && (t.dispose(), e[bo] = null);
7506
+ }, ko = (e, t) => {
7507
+ e.setAttribute("data-bs-toggle", "tooltip"), t.title ? e.setAttribute("data-bs-title", t.title) : e.removeAttribute("data-bs-title"), e.setAttribute("data-bs-placement", t.placement || "top"), e.setAttribute("data-bs-trigger", To(t.trigger)), e.removeAttribute("data-bs-html");
7508
+ }, Ao = {
7251
7509
  mounted(e, t) {
7252
- let n = co(t.value);
7253
- mo(e, n), fo(e, n);
7510
+ let n = wo(t.value);
7511
+ ko(e, n), Do(e, n);
7254
7512
  },
7255
7513
  updated(e, t) {
7256
- let n = co(t.value);
7257
- mo(e, n);
7258
- let r = e[oo] || {}, i = e[io];
7259
- if (e[oo] = n, !e[ao]) {
7260
- if (i && uo(r, n)) {
7261
- po(e), fo(e, n);
7514
+ let n = wo(t.value);
7515
+ ko(e, n);
7516
+ let r = e[So] || {}, i = e[bo];
7517
+ if (e[So] = n, !e[xo]) {
7518
+ if (i && Eo(r, n)) {
7519
+ Oo(e), Do(e, n);
7262
7520
  return;
7263
7521
  }
7264
7522
  i && i.setContent({ ".tooltip-inner": n.title || "" });
7265
7523
  }
7266
7524
  },
7267
7525
  beforeUnmount(e) {
7268
- po(e);
7526
+ Oo(e);
7269
7527
  }
7270
- }, go = { install(e) {
7271
- e.component("VibeAlert", ee), e.component("VibeBadge", te), e.component("VibeButton", ne), e.component("VibeButtonGroup", U), e.component("VibeCloseButton", ae), e.component("VibeSpinner", se), e.component("VibePlaceholder", ce), e.component("VibeSkeleton", ue), e.component("VibeContainer", de), e.component("VibeRow", fe), e.component("VibeCol", pe), e.component("VibeCard", ve), e.component("VibeHero", Ee), e.component("VibeBreadcrumb", Ae), e.component("VibeNav", Pe), e.component("VibeNavbar", Le), e.component("VibeNavbarBrand", Re), e.component("VibeNavbarToggle", Be), e.component("VibeNavbarNav", Ke), e.component("VibePagination", Qe), e.component("VibeTabContent", et), e.component("VibeTabs", nt), e.component("VibeTab", rt), e.component("VibeListGroup", it), e.component("VibeProgress", ot), e.component("VibeAccordion", mt), e.component("VibeCollapse", ht), e.component("VibeDropdown", Ct), e.component("VibeModal", Nt), e.component("VibeOffcanvas", Rt), e.component("VibeToast", qt), e.component("VibeToastHost", an), e.component("VibeCarousel", _n), e.component("VibeTooltip", yn), e.component("VibePopover", xn), e.component("VibeScrollspy", Sn), e.component("VibeIcon", wn), e.component("VibeChartLine", Vn), e.component("VibeChartBar", Zn), e.component("VibeChartPie", rr), e.component("VibeDataTable", Dr), e.component("VibeFormInput", Fr), e.component("VibeFormSelect", Kr), e.component("VibeFormTextarea", ei), e.component("VibeFormSpinbutton", li), e.component("VibeFormDatepicker", gi), e.component("VibeFileInput", Si), e.component("VibeSlider", Ti), e.component("VibeStepper", Pi), e.component("VibeAutocomplete", Bi), e.component("VibeSortable", Vi), e.component("VibeDraggable", Yi), e.component("VibeDroppable", Xi), e.component("VibeResizable", Qi), e.component("VibeDatePicker", sa), e.component("VibeFormCheckbox", ma), e.component("VibeFormRadio", xa), e.component("VibeFormSwitch", Oa), e.component("VibeFormGroup", za), e.component("VibeFormWysiwyg", $a), e.component("VibeInputGroup", no), e.component("VibeLink", ro), e.directive("vibe-tooltip", ho);
7528
+ }, jo = { install(e) {
7529
+ e.component("VibeAlert", ee), e.component("VibeBadge", te), e.component("VibeButton", ne), e.component("VibeButtonGroup", ie), e.component("VibeCloseButton", oe), e.component("VibeSpinner", ce), e.component("VibePlaceholder", le), e.component("VibeSkeleton", ue), e.component("VibeContainer", de), e.component("VibeRow", fe), e.component("VibeCol", pe), e.component("VibeCard", ve), e.component("VibeHero", Ee), e.component("VibeBreadcrumb", Ae), e.component("VibeNav", Fe), e.component("VibeNavbar", Re), e.component("VibeNavbarBrand", ze), e.component("VibeNavbarToggle", Ve), e.component("VibeNavbarNav", qe), e.component("VibePagination", $e), e.component("VibeTabContent", tt), e.component("VibeTabs", rt), e.component("VibeTab", it), e.component("VibeListGroup", at), e.component("VibeProgress", st), e.component("VibeAccordion", ht), e.component("VibeCollapse", gt), e.component("VibeDropdown", wt), e.component("VibeModal", Ft), e.component("VibeOffcanvas", Bt), e.component("VibeToast", qt), e.component("VibeToastHost", an), e.component("VibeCarousel", _n), e.component("VibeTooltip", yn), e.component("VibePopover", xn), e.component("VibeScrollspy", Sn), e.component("VibeIcon", wn), e.component("VibeChartLine", Vn), e.component("VibeChartBar", Zn), e.component("VibeChartPie", rr), e.component("VibeDataTable", Er), e.component("VibeFormInput", Hr), e.component("VibeFormSelect", $r), e.component("VibeFormTextarea", si), e.component("VibeFormSpinbutton", gi), e.component("VibeFormDatepicker", Ci), e.component("VibeFileInput", ki), e.component("VibeSlider", Mi), e.component("VibeStepper", Vi), e.component("VibeAutocomplete", qi), e.component("VibeSortable", Ji), e.component("VibeDraggable", na), e.component("VibeDroppable", ra), e.component("VibeResizable", aa), e.component("VibeDatePicker", ma), e.component("VibeFormCheckbox", xa), e.component("VibeFormRadio", Oa), e.component("VibeFormSwitch", Fa), e.component("VibeFormGroup", Xa), e.component("VibeFormErrorSummary", eo), e.component("VibeFormWysiwyg", ho), e.component("VibeInputGroup", vo), e.component("VibeLink", yo), e.directive("vibe-tooltip", Ao);
7272
7530
  } };
7273
7531
  //#endregion
7274
7532
  //#region src/composables/useFormValidation.ts
7275
- function _o(e = "") {
7533
+ function Mo(e = "") {
7276
7534
  let t = T(e), r = T(null), i = T(""), a = T(!1), o = T(!1), s = T(!1), c = 0;
7277
7535
  return I(t, () => {
7278
7536
  r.value === "invalid" && (r.value = null, i.value = "");
@@ -7318,7 +7576,7 @@ function _o(e = "") {
7318
7576
  }
7319
7577
  };
7320
7578
  }
7321
- var vo = {
7579
+ var No = {
7322
7580
  required: (e = "This field is required") => ({
7323
7581
  validator: (t) => Array.isArray(t) ? t.length > 0 || e : typeof t == "string" ? t.trim().length > 0 || e : t != null && t !== "" || e,
7324
7582
  message: e
@@ -7373,7 +7631,7 @@ var vo = {
7373
7631
  message: e
7374
7632
  }),
7375
7633
  async: (e) => ({ validator: e })
7376
- }, yo = (e) => JSON.parse(JSON.stringify(e)), bo = async (e, t) => {
7634
+ }, Po = (e) => JSON.parse(JSON.stringify(e)), Fo = async (e, t) => {
7377
7635
  let n = Array.isArray(t) ? t : [{ validator: t }];
7378
7636
  for (let t of n) {
7379
7637
  let n = await t.validator(e);
@@ -7382,8 +7640,8 @@ var vo = {
7382
7640
  }
7383
7641
  return "";
7384
7642
  };
7385
- function xo(e) {
7386
- let t = yo(e), r = C(yo(e)), i = {}, a = {};
7643
+ function Io(e) {
7644
+ let t = Po(e), r = C(Po(e)), i = {}, a = {};
7387
7645
  for (let t of Object.keys(e)) i[t] = "", a[t] = !1;
7388
7646
  let o = C(i), s = C(a), c = T(!1), l = T(!1), u = n(() => c.value), d = Object.keys(t), f = {};
7389
7647
  for (let e of d) f[e] = JSON.stringify(t[e]);
@@ -7408,7 +7666,7 @@ function xo(e) {
7408
7666
  for (let i of Object.keys(e)) {
7409
7667
  let a = e[i];
7410
7668
  if (!a) continue;
7411
- let s = await bo(r[i], a);
7669
+ let s = await Fo(r[i], a);
7412
7670
  o[i] = s, s && (t[i] = s, n = !1);
7413
7671
  }
7414
7672
  return l.value = !0, {
@@ -7417,11 +7675,11 @@ function xo(e) {
7417
7675
  };
7418
7676
  },
7419
7677
  validateField: async (e, t) => {
7420
- let n = await bo(r[e], t);
7678
+ let n = await Fo(r[e], t);
7421
7679
  return o[e] = n, l.value = !0, n;
7422
7680
  },
7423
7681
  reset: () => {
7424
- for (let e of Object.keys(t)) r[e] = yo(t[e]), o[e] = "", s[e] = !1;
7682
+ for (let e of Object.keys(t)) r[e] = Po(t[e]), o[e] = "", s[e] = !1;
7425
7683
  c.value = !1, l.value = !1;
7426
7684
  },
7427
7685
  markTouched: (e) => {
@@ -7437,75 +7695,75 @@ function xo(e) {
7437
7695
  }
7438
7696
  //#endregion
7439
7697
  //#region node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs
7440
- var So = Math.min, Co = Math.max, wo = Math.round, To = Math.floor, Y = (e) => ({
7698
+ var Lo = Math.min, Ro = Math.max, zo = Math.round, Bo = Math.floor, Y = (e) => ({
7441
7699
  x: e,
7442
7700
  y: e
7443
- }), Eo = {
7701
+ }), Vo = {
7444
7702
  left: "right",
7445
7703
  right: "left",
7446
7704
  bottom: "top",
7447
7705
  top: "bottom"
7448
7706
  };
7449
- function Do(e, t, n) {
7450
- return Co(e, So(t, n));
7707
+ function Ho(e, t, n) {
7708
+ return Ro(e, Lo(t, n));
7451
7709
  }
7452
- function Oo(e, t) {
7710
+ function Uo(e, t) {
7453
7711
  return typeof e == "function" ? e(t) : e;
7454
7712
  }
7455
- function ko(e) {
7713
+ function Wo(e) {
7456
7714
  return e.split("-")[0];
7457
7715
  }
7458
- function Ao(e) {
7716
+ function Go(e) {
7459
7717
  return e.split("-")[1];
7460
7718
  }
7461
- function jo(e) {
7719
+ function Ko(e) {
7462
7720
  return e === "x" ? "y" : "x";
7463
7721
  }
7464
- function Mo(e) {
7722
+ function qo(e) {
7465
7723
  return e === "y" ? "height" : "width";
7466
7724
  }
7467
- function No(e) {
7725
+ function Jo(e) {
7468
7726
  let t = e[0];
7469
7727
  return t === "t" || t === "b" ? "y" : "x";
7470
7728
  }
7471
- function Po(e) {
7472
- return jo(No(e));
7729
+ function Yo(e) {
7730
+ return Ko(Jo(e));
7473
7731
  }
7474
- function Fo(e, t, n) {
7732
+ function Xo(e, t, n) {
7475
7733
  n === void 0 && (n = !1);
7476
- let r = Ao(e), i = Po(e), a = Mo(i), o = i === "x" ? r === (n ? "end" : "start") ? "right" : "left" : r === "start" ? "bottom" : "top";
7477
- return t.reference[a] > t.floating[a] && (o = Wo(o)), [o, Wo(o)];
7734
+ let r = Go(e), i = Yo(e), a = qo(i), o = i === "x" ? r === (n ? "end" : "start") ? "right" : "left" : r === "start" ? "bottom" : "top";
7735
+ return t.reference[a] > t.floating[a] && (o = as(o)), [o, as(o)];
7478
7736
  }
7479
- function Io(e) {
7480
- let t = Wo(e);
7737
+ function Zo(e) {
7738
+ let t = as(e);
7481
7739
  return [
7482
- Lo(e),
7740
+ Qo(e),
7483
7741
  t,
7484
- Lo(t)
7742
+ Qo(t)
7485
7743
  ];
7486
7744
  }
7487
- function Lo(e) {
7745
+ function Qo(e) {
7488
7746
  return e.includes("start") ? e.replace("start", "end") : e.replace("end", "start");
7489
7747
  }
7490
- var Ro = ["left", "right"], zo = ["right", "left"], Bo = ["top", "bottom"], Vo = ["bottom", "top"];
7491
- function Ho(e, t, n) {
7748
+ var $o = ["left", "right"], es = ["right", "left"], ts = ["top", "bottom"], ns = ["bottom", "top"];
7749
+ function rs(e, t, n) {
7492
7750
  switch (e) {
7493
7751
  case "top":
7494
- case "bottom": return n ? t ? zo : Ro : t ? Ro : zo;
7752
+ case "bottom": return n ? t ? es : $o : t ? $o : es;
7495
7753
  case "left":
7496
- case "right": return t ? Bo : Vo;
7754
+ case "right": return t ? ts : ns;
7497
7755
  default: return [];
7498
7756
  }
7499
7757
  }
7500
- function Uo(e, t, n, r) {
7501
- let i = Ao(e), a = Ho(ko(e), n === "start", r);
7502
- return i && (a = a.map((e) => e + "-" + i), t && (a = a.concat(a.map(Lo)))), a;
7758
+ function is(e, t, n, r) {
7759
+ let i = Go(e), a = rs(Wo(e), n === "start", r);
7760
+ return i && (a = a.map((e) => e + "-" + i), t && (a = a.concat(a.map(Qo)))), a;
7503
7761
  }
7504
- function Wo(e) {
7505
- let t = ko(e);
7506
- return Eo[t] + e.slice(t.length);
7762
+ function as(e) {
7763
+ let t = Wo(e);
7764
+ return Vo[t] + e.slice(t.length);
7507
7765
  }
7508
- function Go(e) {
7766
+ function os(e) {
7509
7767
  return {
7510
7768
  top: 0,
7511
7769
  right: 0,
@@ -7514,15 +7772,15 @@ function Go(e) {
7514
7772
  ...e
7515
7773
  };
7516
7774
  }
7517
- function Ko(e) {
7775
+ function ss(e) {
7518
7776
  return typeof e == "number" ? {
7519
7777
  top: e,
7520
7778
  right: e,
7521
7779
  bottom: e,
7522
7780
  left: e
7523
- } : Go(e);
7781
+ } : os(e);
7524
7782
  }
7525
- function qo(e) {
7783
+ function cs(e) {
7526
7784
  let { x: t, y: n, width: r, height: i } = e;
7527
7785
  return {
7528
7786
  width: r,
@@ -7537,8 +7795,8 @@ function qo(e) {
7537
7795
  }
7538
7796
  //#endregion
7539
7797
  //#region node_modules/@floating-ui/core/dist/floating-ui.core.mjs
7540
- function Jo(e, t, n) {
7541
- let { reference: r, floating: i } = e, a = No(t), o = Po(t), s = Mo(o), c = ko(t), l = a === "y", u = r.x + r.width / 2 - i.width / 2, d = r.y + r.height / 2 - i.height / 2, f = r[s] / 2 - i[s] / 2, p;
7798
+ function ls(e, t, n) {
7799
+ let { reference: r, floating: i } = e, a = Jo(t), o = Yo(t), s = qo(o), c = Wo(t), l = a === "y", u = r.x + r.width / 2 - i.width / 2, d = r.y + r.height / 2 - i.height / 2, f = r[s] / 2 - i[s] / 2, p;
7542
7800
  switch (c) {
7543
7801
  case "top":
7544
7802
  p = {
@@ -7569,7 +7827,7 @@ function Jo(e, t, n) {
7569
7827
  y: r.y
7570
7828
  };
7571
7829
  }
7572
- switch (Ao(t)) {
7830
+ switch (Go(t)) {
7573
7831
  case "start":
7574
7832
  p[o] -= f * (n && l ? -1 : 1);
7575
7833
  break;
@@ -7579,9 +7837,9 @@ function Jo(e, t, n) {
7579
7837
  }
7580
7838
  return p;
7581
7839
  }
7582
- async function Yo(e, t) {
7840
+ async function us(e, t) {
7583
7841
  t === void 0 && (t = {});
7584
- let { x: n, y: r, platform: i, rects: a, elements: o, strategy: s } = e, { boundary: c = "clippingAncestors", rootBoundary: l = "viewport", elementContext: u = "floating", altBoundary: d = !1, padding: f = 0 } = Oo(t, e), p = Ko(f), m = o[d ? u === "floating" ? "reference" : "floating" : u], h = qo(await i.getClippingRect({
7842
+ let { x: n, y: r, platform: i, rects: a, elements: o, strategy: s } = e, { boundary: c = "clippingAncestors", rootBoundary: l = "viewport", elementContext: u = "floating", altBoundary: d = !1, padding: f = 0 } = Uo(t, e), p = ss(f), m = o[d ? u === "floating" ? "reference" : "floating" : u], h = cs(await i.getClippingRect({
7585
7843
  element: await (i.isElement == null ? void 0 : i.isElement(m)) ?? !0 ? m : m.contextElement || await (i.getDocumentElement == null ? void 0 : i.getDocumentElement(o.floating)),
7586
7844
  boundary: c,
7587
7845
  rootBoundary: l,
@@ -7594,7 +7852,7 @@ async function Yo(e, t) {
7594
7852
  } : a.reference, _ = await (i.getOffsetParent == null ? void 0 : i.getOffsetParent(o.floating)), v = await (i.isElement == null ? void 0 : i.isElement(_)) && await (i.getScale == null ? void 0 : i.getScale(_)) || {
7595
7853
  x: 1,
7596
7854
  y: 1
7597
- }, y = qo(i.convertOffsetParentRelativeRectToViewportRelativeRect ? await i.convertOffsetParentRelativeRectToViewportRelativeRect({
7855
+ }, y = cs(i.convertOffsetParentRelativeRectToViewportRelativeRect ? await i.convertOffsetParentRelativeRectToViewportRelativeRect({
7598
7856
  elements: o,
7599
7857
  rect: g,
7600
7858
  offsetParent: _,
@@ -7607,15 +7865,15 @@ async function Yo(e, t) {
7607
7865
  right: (y.right - h.right + p.right) / v.x
7608
7866
  };
7609
7867
  }
7610
- var Xo = 50, Zo = async (e, t, n) => {
7868
+ var ds = 50, fs = async (e, t, n) => {
7611
7869
  let { placement: r = "bottom", strategy: i = "absolute", middleware: a = [], platform: o } = n, s = o.detectOverflow ? o : {
7612
7870
  ...o,
7613
- detectOverflow: Yo
7871
+ detectOverflow: us
7614
7872
  }, c = await (o.isRTL == null ? void 0 : o.isRTL(t)), l = await o.getElementRects({
7615
7873
  reference: e,
7616
7874
  floating: t,
7617
7875
  strategy: i
7618
- }), { x: u, y: d } = Jo(l, r, c), f = r, p = 0, m = {};
7876
+ }), { x: u, y: d } = ls(l, r, c), f = r, p = 0, m = {};
7619
7877
  for (let n = 0; n < a.length; n++) {
7620
7878
  let h = a[n];
7621
7879
  if (!h) continue;
@@ -7636,11 +7894,11 @@ var Xo = 50, Zo = async (e, t, n) => {
7636
7894
  u = v ?? u, d = y ?? d, m[g] = {
7637
7895
  ...m[g],
7638
7896
  ...b
7639
- }, x && p < Xo && (p++, typeof x == "object" && (x.placement && (f = x.placement), x.rects && (l = x.rects === !0 ? await o.getElementRects({
7897
+ }, x && p < ds && (p++, typeof x == "object" && (x.placement && (f = x.placement), x.rects && (l = x.rects === !0 ? await o.getElementRects({
7640
7898
  reference: e,
7641
7899
  floating: t,
7642
7900
  strategy: i
7643
- }) : x.rects), {x: u, y: d} = Jo(l, f, c)), n = -1);
7901
+ }) : x.rects), {x: u, y: d} = ls(l, f, c)), n = -1);
7644
7902
  }
7645
7903
  return {
7646
7904
  x: u,
@@ -7649,19 +7907,19 @@ var Xo = 50, Zo = async (e, t, n) => {
7649
7907
  strategy: i,
7650
7908
  middlewareData: m
7651
7909
  };
7652
- }, Qo = function(e) {
7910
+ }, ps = function(e) {
7653
7911
  return e === void 0 && (e = {}), {
7654
7912
  name: "flip",
7655
7913
  options: e,
7656
7914
  async fn(t) {
7657
7915
  var n;
7658
- let { placement: r, middlewareData: i, rects: a, initialPlacement: o, platform: s, elements: c } = t, { mainAxis: l = !0, crossAxis: u = !0, fallbackPlacements: d, fallbackStrategy: f = "bestFit", fallbackAxisSideDirection: p = "none", flipAlignment: m = !0, ...h } = Oo(e, t);
7916
+ let { placement: r, middlewareData: i, rects: a, initialPlacement: o, platform: s, elements: c } = t, { mainAxis: l = !0, crossAxis: u = !0, fallbackPlacements: d, fallbackStrategy: f = "bestFit", fallbackAxisSideDirection: p = "none", flipAlignment: m = !0, ...h } = Uo(e, t);
7659
7917
  if ((n = i.arrow) != null && n.alignmentOffset) return {};
7660
- let g = ko(r), _ = No(o), v = ko(o) === o, y = await (s.isRTL == null ? void 0 : s.isRTL(c.floating)), b = d || (v || !m ? [Wo(o)] : Io(o)), x = p !== "none";
7661
- !d && x && b.push(...Uo(o, m, p, y));
7918
+ let g = Wo(r), _ = Jo(o), v = Wo(o) === o, y = await (s.isRTL == null ? void 0 : s.isRTL(c.floating)), b = d || (v || !m ? [as(o)] : Zo(o)), x = p !== "none";
7919
+ !d && x && b.push(...is(o, m, p, y));
7662
7920
  let S = [o, ...b], C = await s.detectOverflow(t, h), w = [], T = i.flip?.overflows || [];
7663
7921
  if (l && w.push(C[g]), u) {
7664
- let e = Fo(r, a, y);
7922
+ let e = Xo(r, a, y);
7665
7923
  w.push(C[e[0]], C[e[1]]);
7666
7924
  }
7667
7925
  if (T = [...T, {
@@ -7669,7 +7927,7 @@ var Xo = 50, Zo = async (e, t, n) => {
7669
7927
  overflows: w
7670
7928
  }], !w.every((e) => e <= 0)) {
7671
7929
  let e = (i.flip?.index || 0) + 1, t = S[e];
7672
- if (t && (!(u === "alignment" && _ !== No(t)) || T.every((e) => No(e.placement) === _ ? e.overflows[0] > 0 : !0))) return {
7930
+ if (t && (!(u === "alignment" && _ !== Jo(t)) || T.every((e) => Jo(e.placement) === _ ? e.overflows[0] > 0 : !0))) return {
7673
7931
  data: {
7674
7932
  index: e,
7675
7933
  overflows: T
@@ -7681,7 +7939,7 @@ var Xo = 50, Zo = async (e, t, n) => {
7681
7939
  case "bestFit": {
7682
7940
  let e = T.filter((e) => {
7683
7941
  if (x) {
7684
- let t = No(e.placement);
7942
+ let t = Jo(e.placement);
7685
7943
  return t === _ || t === "y";
7686
7944
  }
7687
7945
  return !0;
@@ -7698,9 +7956,9 @@ var Xo = 50, Zo = async (e, t, n) => {
7698
7956
  return {};
7699
7957
  }
7700
7958
  };
7701
- }, $o = /* @__PURE__ */ new Set(["left", "top"]);
7702
- async function es(e, t) {
7703
- let { placement: n, platform: r, elements: i } = e, a = await (r.isRTL == null ? void 0 : r.isRTL(i.floating)), o = ko(n), s = Ao(n), c = No(n) === "y", l = $o.has(o) ? -1 : 1, u = a && c ? -1 : 1, d = Oo(t, e), { mainAxis: f, crossAxis: p, alignmentAxis: m } = typeof d == "number" ? {
7959
+ }, ms = /*#__PURE__*/ new Set(["left", "top"]);
7960
+ async function hs(e, t) {
7961
+ let { placement: n, platform: r, elements: i } = e, a = await (r.isRTL == null ? void 0 : r.isRTL(i.floating)), o = Wo(n), s = Go(n), c = Jo(n) === "y", l = ms.has(o) ? -1 : 1, u = a && c ? -1 : 1, d = Uo(t, e), { mainAxis: f, crossAxis: p, alignmentAxis: m } = typeof d == "number" ? {
7704
7962
  mainAxis: d,
7705
7963
  crossAxis: 0,
7706
7964
  alignmentAxis: null
@@ -7717,13 +7975,13 @@ async function es(e, t) {
7717
7975
  y: p * u
7718
7976
  };
7719
7977
  }
7720
- var ts = function(e) {
7978
+ var gs = function(e) {
7721
7979
  return e === void 0 && (e = 0), {
7722
7980
  name: "offset",
7723
7981
  options: e,
7724
7982
  async fn(t) {
7725
7983
  var n;
7726
- let { x: r, y: i, placement: a, middlewareData: o } = t, s = await es(t, e);
7984
+ let { x: r, y: i, placement: a, middlewareData: o } = t, s = await hs(t, e);
7727
7985
  return a === o.offset?.placement && (n = o.arrow) != null && n.alignmentOffset ? {} : {
7728
7986
  x: r + s.x,
7729
7987
  y: i + s.y,
@@ -7734,7 +7992,7 @@ var ts = function(e) {
7734
7992
  };
7735
7993
  }
7736
7994
  };
7737
- }, ns = function(e) {
7995
+ }, _s = function(e) {
7738
7996
  return e === void 0 && (e = {}), {
7739
7997
  name: "shift",
7740
7998
  options: e,
@@ -7745,17 +8003,17 @@ var ts = function(e) {
7745
8003
  x: t,
7746
8004
  y: n
7747
8005
  };
7748
- } }, ...l } = Oo(e, t), u = {
8006
+ } }, ...l } = Uo(e, t), u = {
7749
8007
  x: n,
7750
8008
  y: r
7751
- }, d = await a.detectOverflow(t, l), f = No(ko(i)), p = jo(f), m = u[p], h = u[f];
8009
+ }, d = await a.detectOverflow(t, l), f = Jo(Wo(i)), p = Ko(f), m = u[p], h = u[f];
7752
8010
  if (o) {
7753
8011
  let e = p === "y" ? "top" : "left", t = p === "y" ? "bottom" : "right", n = m + d[e], r = m - d[t];
7754
- m = Do(n, m, r);
8012
+ m = Ho(n, m, r);
7755
8013
  }
7756
8014
  if (s) {
7757
8015
  let e = f === "y" ? "top" : "left", t = f === "y" ? "bottom" : "right", n = h + d[e], r = h - d[t];
7758
- h = Do(n, h, r);
8016
+ h = Ho(n, h, r);
7759
8017
  }
7760
8018
  let g = c.fn({
7761
8019
  ...t,
@@ -7778,39 +8036,39 @@ var ts = function(e) {
7778
8036
  };
7779
8037
  //#endregion
7780
8038
  //#region node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs
7781
- function rs() {
8039
+ function vs() {
7782
8040
  return typeof window < "u";
7783
8041
  }
7784
- function is(e) {
7785
- return as(e) ? (e.nodeName || "").toLowerCase() : "#document";
8042
+ function ys(e) {
8043
+ return bs(e) ? (e.nodeName || "").toLowerCase() : "#document";
7786
8044
  }
7787
8045
  function X(e) {
7788
8046
  var t;
7789
8047
  return (e == null || (t = e.ownerDocument) == null ? void 0 : t.defaultView) || window;
7790
8048
  }
7791
8049
  function Z(e) {
7792
- return ((as(e) ? e.ownerDocument : e.document) || window.document)?.documentElement;
8050
+ return ((bs(e) ? e.ownerDocument : e.document) || window.document)?.documentElement;
7793
8051
  }
7794
- function as(e) {
7795
- return rs() ? e instanceof Node || e instanceof X(e).Node : !1;
8052
+ function bs(e) {
8053
+ return vs() ? e instanceof Node || e instanceof X(e).Node : !1;
7796
8054
  }
7797
8055
  function Q(e) {
7798
- return rs() ? e instanceof Element || e instanceof X(e).Element : !1;
8056
+ return vs() ? e instanceof Element || e instanceof X(e).Element : !1;
7799
8057
  }
7800
- function os(e) {
7801
- return rs() ? e instanceof HTMLElement || e instanceof X(e).HTMLElement : !1;
8058
+ function xs(e) {
8059
+ return vs() ? e instanceof HTMLElement || e instanceof X(e).HTMLElement : !1;
7802
8060
  }
7803
- function ss(e) {
7804
- return !rs() || typeof ShadowRoot > "u" ? !1 : e instanceof ShadowRoot || e instanceof X(e).ShadowRoot;
8061
+ function Ss(e) {
8062
+ return !vs() || typeof ShadowRoot > "u" ? !1 : e instanceof ShadowRoot || e instanceof X(e).ShadowRoot;
7805
8063
  }
7806
- function cs(e) {
8064
+ function Cs(e) {
7807
8065
  let { overflow: t, overflowX: n, overflowY: r, display: i } = $(e);
7808
8066
  return /auto|scroll|overlay|hidden|clip/.test(t + r + n) && i !== "inline" && i !== "contents";
7809
8067
  }
7810
- function ls(e) {
7811
- return /^(table|td|th)$/.test(is(e));
8068
+ function ws(e) {
8069
+ return /^(table|td|th)$/.test(ys(e));
7812
8070
  }
7813
- function us(e) {
8071
+ function Ts(e) {
7814
8072
  try {
7815
8073
  if (e.matches(":popover-open")) return !0;
7816
8074
  } catch {}
@@ -7820,30 +8078,30 @@ function us(e) {
7820
8078
  return !1;
7821
8079
  }
7822
8080
  }
7823
- var ds = /transform|translate|scale|rotate|perspective|filter/, fs = /paint|layout|strict|content/, ps = (e) => !!e && e !== "none", ms;
7824
- function hs(e) {
8081
+ var Es = /transform|translate|scale|rotate|perspective|filter/, Ds = /paint|layout|strict|content/, Os = (e) => !!e && e !== "none", ks;
8082
+ function As(e) {
7825
8083
  let t = Q(e) ? $(e) : e;
7826
- return ps(t.transform) || ps(t.translate) || ps(t.scale) || ps(t.rotate) || ps(t.perspective) || !_s() && (ps(t.backdropFilter) || ps(t.filter)) || ds.test(t.willChange || "") || fs.test(t.contain || "");
8084
+ return Os(t.transform) || Os(t.translate) || Os(t.scale) || Os(t.rotate) || Os(t.perspective) || !Ms() && (Os(t.backdropFilter) || Os(t.filter)) || Es.test(t.willChange || "") || Ds.test(t.contain || "");
7827
8085
  }
7828
- function gs(e) {
7829
- let t = bs(e);
7830
- for (; os(t) && !vs(t);) {
7831
- if (hs(t)) return t;
7832
- if (us(t)) return null;
7833
- t = bs(t);
8086
+ function js(e) {
8087
+ let t = Fs(e);
8088
+ for (; xs(t) && !Ns(t);) {
8089
+ if (As(t)) return t;
8090
+ if (Ts(t)) return null;
8091
+ t = Fs(t);
7834
8092
  }
7835
8093
  return null;
7836
8094
  }
7837
- function _s() {
7838
- return ms ??= typeof CSS < "u" && CSS.supports && CSS.supports("-webkit-backdrop-filter", "none"), ms;
8095
+ function Ms() {
8096
+ return ks ??= typeof CSS < "u" && CSS.supports && CSS.supports("-webkit-backdrop-filter", "none"), ks;
7839
8097
  }
7840
- function vs(e) {
7841
- return /^(html|body|#document)$/.test(is(e));
8098
+ function Ns(e) {
8099
+ return /^(html|body|#document)$/.test(ys(e));
7842
8100
  }
7843
8101
  function $(e) {
7844
8102
  return X(e).getComputedStyle(e);
7845
8103
  }
7846
- function ys(e) {
8104
+ function Ps(e) {
7847
8105
  return Q(e) ? {
7848
8106
  scrollLeft: e.scrollLeft,
7849
8107
  scrollTop: e.scrollTop
@@ -7852,101 +8110,101 @@ function ys(e) {
7852
8110
  scrollTop: e.scrollY
7853
8111
  };
7854
8112
  }
7855
- function bs(e) {
7856
- if (is(e) === "html") return e;
7857
- let t = e.assignedSlot || e.parentNode || ss(e) && e.host || Z(e);
7858
- return ss(t) ? t.host : t;
8113
+ function Fs(e) {
8114
+ if (ys(e) === "html") return e;
8115
+ let t = e.assignedSlot || e.parentNode || Ss(e) && e.host || Z(e);
8116
+ return Ss(t) ? t.host : t;
7859
8117
  }
7860
- function xs(e) {
7861
- let t = bs(e);
7862
- return vs(t) ? e.ownerDocument ? e.ownerDocument.body : e.body : os(t) && cs(t) ? t : xs(t);
8118
+ function Is(e) {
8119
+ let t = Fs(e);
8120
+ return Ns(t) ? e.ownerDocument ? e.ownerDocument.body : e.body : xs(t) && Cs(t) ? t : Is(t);
7863
8121
  }
7864
- function Ss(e, t, n) {
8122
+ function Ls(e, t, n) {
7865
8123
  t === void 0 && (t = []), n === void 0 && (n = !0);
7866
- let r = xs(e), i = r === e.ownerDocument?.body, a = X(r);
8124
+ let r = Is(e), i = r === e.ownerDocument?.body, a = X(r);
7867
8125
  if (i) {
7868
- let e = Cs(a);
7869
- return t.concat(a, a.visualViewport || [], cs(r) ? r : [], e && n ? Ss(e) : []);
7870
- } else return t.concat(r, Ss(r, [], n));
8126
+ let e = Rs(a);
8127
+ return t.concat(a, a.visualViewport || [], Cs(r) ? r : [], e && n ? Ls(e) : []);
8128
+ } else return t.concat(r, Ls(r, [], n));
7871
8129
  }
7872
- function Cs(e) {
8130
+ function Rs(e) {
7873
8131
  return e.parent && Object.getPrototypeOf(e.parent) ? e.frameElement : null;
7874
8132
  }
7875
8133
  //#endregion
7876
8134
  //#region node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs
7877
- function ws(e) {
7878
- let t = $(e), n = parseFloat(t.width) || 0, r = parseFloat(t.height) || 0, i = os(e), a = i ? e.offsetWidth : n, o = i ? e.offsetHeight : r, s = wo(n) !== a || wo(r) !== o;
8135
+ function zs(e) {
8136
+ let t = $(e), n = parseFloat(t.width) || 0, r = parseFloat(t.height) || 0, i = xs(e), a = i ? e.offsetWidth : n, o = i ? e.offsetHeight : r, s = zo(n) !== a || zo(r) !== o;
7879
8137
  return s && (n = a, r = o), {
7880
8138
  width: n,
7881
8139
  height: r,
7882
8140
  $: s
7883
8141
  };
7884
8142
  }
7885
- function Ts(e) {
8143
+ function Bs(e) {
7886
8144
  return Q(e) ? e : e.contextElement;
7887
8145
  }
7888
- function Es(e) {
7889
- let t = Ts(e);
7890
- if (!os(t)) return Y(1);
7891
- let n = t.getBoundingClientRect(), { width: r, height: i, $: a } = ws(t), o = (a ? wo(n.width) : n.width) / r, s = (a ? wo(n.height) : n.height) / i;
8146
+ function Vs(e) {
8147
+ let t = Bs(e);
8148
+ if (!xs(t)) return Y(1);
8149
+ let n = t.getBoundingClientRect(), { width: r, height: i, $: a } = zs(t), o = (a ? zo(n.width) : n.width) / r, s = (a ? zo(n.height) : n.height) / i;
7892
8150
  return (!o || !Number.isFinite(o)) && (o = 1), (!s || !Number.isFinite(s)) && (s = 1), {
7893
8151
  x: o,
7894
8152
  y: s
7895
8153
  };
7896
8154
  }
7897
- var Ds = /* @__PURE__ */ Y(0);
7898
- function Os(e) {
8155
+ var Hs = /*#__PURE__*/ Y(0);
8156
+ function Us(e) {
7899
8157
  let t = X(e);
7900
- return !_s() || !t.visualViewport ? Ds : {
8158
+ return !Ms() || !t.visualViewport ? Hs : {
7901
8159
  x: t.visualViewport.offsetLeft,
7902
8160
  y: t.visualViewport.offsetTop
7903
8161
  };
7904
8162
  }
7905
- function ks(e, t, n) {
8163
+ function Ws(e, t, n) {
7906
8164
  return t === void 0 && (t = !1), !n || t && n !== X(e) ? !1 : t;
7907
8165
  }
7908
- function As(e, t, n, r) {
8166
+ function Gs(e, t, n, r) {
7909
8167
  t === void 0 && (t = !1), n === void 0 && (n = !1);
7910
- let i = e.getBoundingClientRect(), a = Ts(e), o = Y(1);
7911
- t && (r ? Q(r) && (o = Es(r)) : o = Es(e));
7912
- let s = ks(a, n, r) ? Os(a) : Y(0), c = (i.left + s.x) / o.x, l = (i.top + s.y) / o.y, u = i.width / o.x, d = i.height / o.y;
8168
+ let i = e.getBoundingClientRect(), a = Bs(e), o = Y(1);
8169
+ t && (r ? Q(r) && (o = Vs(r)) : o = Vs(e));
8170
+ let s = Ws(a, n, r) ? Us(a) : Y(0), c = (i.left + s.x) / o.x, l = (i.top + s.y) / o.y, u = i.width / o.x, d = i.height / o.y;
7913
8171
  if (a) {
7914
- let e = X(a), t = r && Q(r) ? X(r) : r, n = e, i = Cs(n);
8172
+ let e = X(a), t = r && Q(r) ? X(r) : r, n = e, i = Rs(n);
7915
8173
  for (; i && r && t !== n;) {
7916
- let e = Es(i), t = i.getBoundingClientRect(), r = $(i), a = t.left + (i.clientLeft + parseFloat(r.paddingLeft)) * e.x, o = t.top + (i.clientTop + parseFloat(r.paddingTop)) * e.y;
7917
- c *= e.x, l *= e.y, u *= e.x, d *= e.y, c += a, l += o, n = X(i), i = Cs(n);
8174
+ let e = Vs(i), t = i.getBoundingClientRect(), r = $(i), a = t.left + (i.clientLeft + parseFloat(r.paddingLeft)) * e.x, o = t.top + (i.clientTop + parseFloat(r.paddingTop)) * e.y;
8175
+ c *= e.x, l *= e.y, u *= e.x, d *= e.y, c += a, l += o, n = X(i), i = Rs(n);
7918
8176
  }
7919
8177
  }
7920
- return qo({
8178
+ return cs({
7921
8179
  width: u,
7922
8180
  height: d,
7923
8181
  x: c,
7924
8182
  y: l
7925
8183
  });
7926
8184
  }
7927
- function js(e, t) {
7928
- let n = ys(e).scrollLeft;
7929
- return t ? t.left + n : As(Z(e)).left + n;
8185
+ function Ks(e, t) {
8186
+ let n = Ps(e).scrollLeft;
8187
+ return t ? t.left + n : Gs(Z(e)).left + n;
7930
8188
  }
7931
- function Ms(e, t) {
8189
+ function qs(e, t) {
7932
8190
  let n = e.getBoundingClientRect();
7933
8191
  return {
7934
- x: n.left + t.scrollLeft - js(e, n),
8192
+ x: n.left + t.scrollLeft - Ks(e, n),
7935
8193
  y: n.top + t.scrollTop
7936
8194
  };
7937
8195
  }
7938
- function Ns(e) {
7939
- let { elements: t, rect: n, offsetParent: r, strategy: i } = e, a = i === "fixed", o = Z(r), s = t ? us(t.floating) : !1;
8196
+ function Js(e) {
8197
+ let { elements: t, rect: n, offsetParent: r, strategy: i } = e, a = i === "fixed", o = Z(r), s = t ? Ts(t.floating) : !1;
7940
8198
  if (r === o || s && a) return n;
7941
8199
  let c = {
7942
8200
  scrollLeft: 0,
7943
8201
  scrollTop: 0
7944
- }, l = Y(1), u = Y(0), d = os(r);
7945
- if ((d || !d && !a) && ((is(r) !== "body" || cs(o)) && (c = ys(r)), d)) {
7946
- let e = As(r);
7947
- l = Es(r), u.x = e.x + r.clientLeft, u.y = e.y + r.clientTop;
8202
+ }, l = Y(1), u = Y(0), d = xs(r);
8203
+ if ((d || !d && !a) && ((ys(r) !== "body" || Cs(o)) && (c = Ps(r)), d)) {
8204
+ let e = Gs(r);
8205
+ l = Vs(r), u.x = e.x + r.clientLeft, u.y = e.y + r.clientTop;
7948
8206
  }
7949
- let f = o && !d && !a ? Ms(o, c) : Y(0);
8207
+ let f = o && !d && !a ? qs(o, c) : Y(0);
7950
8208
  return {
7951
8209
  width: n.width * l.x,
7952
8210
  height: n.height * l.y,
@@ -7954,31 +8212,31 @@ function Ns(e) {
7954
8212
  y: n.y * l.y - c.scrollTop * l.y + u.y + f.y
7955
8213
  };
7956
8214
  }
7957
- function Ps(e) {
8215
+ function Ys(e) {
7958
8216
  return Array.from(e.getClientRects());
7959
8217
  }
7960
- function Fs(e) {
7961
- let t = Z(e), n = ys(e), r = e.ownerDocument.body, i = Co(t.scrollWidth, t.clientWidth, r.scrollWidth, r.clientWidth), a = Co(t.scrollHeight, t.clientHeight, r.scrollHeight, r.clientHeight), o = -n.scrollLeft + js(e), s = -n.scrollTop;
7962
- return $(r).direction === "rtl" && (o += Co(t.clientWidth, r.clientWidth) - i), {
8218
+ function Xs(e) {
8219
+ let t = Z(e), n = Ps(e), r = e.ownerDocument.body, i = Ro(t.scrollWidth, t.clientWidth, r.scrollWidth, r.clientWidth), a = Ro(t.scrollHeight, t.clientHeight, r.scrollHeight, r.clientHeight), o = -n.scrollLeft + Ks(e), s = -n.scrollTop;
8220
+ return $(r).direction === "rtl" && (o += Ro(t.clientWidth, r.clientWidth) - i), {
7963
8221
  width: i,
7964
8222
  height: a,
7965
8223
  x: o,
7966
8224
  y: s
7967
8225
  };
7968
8226
  }
7969
- var Is = 25;
7970
- function Ls(e, t) {
8227
+ var Zs = 25;
8228
+ function Qs(e, t) {
7971
8229
  let n = X(e), r = Z(e), i = n.visualViewport, a = r.clientWidth, o = r.clientHeight, s = 0, c = 0;
7972
8230
  if (i) {
7973
8231
  a = i.width, o = i.height;
7974
- let e = _s();
8232
+ let e = Ms();
7975
8233
  (!e || e && t === "fixed") && (s = i.offsetLeft, c = i.offsetTop);
7976
8234
  }
7977
- let l = js(r);
8235
+ let l = Ks(r);
7978
8236
  if (l <= 0) {
7979
8237
  let e = r.ownerDocument, t = e.body, n = getComputedStyle(t), i = e.compatMode === "CSS1Compat" && parseFloat(n.marginLeft) + parseFloat(n.marginRight) || 0, o = Math.abs(r.clientWidth - t.clientWidth - i);
7980
- o <= Is && (a -= o);
7981
- } else l <= Is && (a += l);
8238
+ o <= Zs && (a -= o);
8239
+ } else l <= Zs && (a += l);
7982
8240
  return {
7983
8241
  width: a,
7984
8242
  height: o,
@@ -7986,8 +8244,8 @@ function Ls(e, t) {
7986
8244
  y: c
7987
8245
  };
7988
8246
  }
7989
- function Rs(e, t) {
7990
- let n = As(e, !0, t === "fixed"), r = n.top + e.clientTop, i = n.left + e.clientLeft, a = os(e) ? Es(e) : Y(1);
8247
+ function $s(e, t) {
8248
+ let n = Gs(e, !0, t === "fixed"), r = n.top + e.clientTop, i = n.left + e.clientLeft, a = xs(e) ? Vs(e) : Y(1);
7991
8249
  return {
7992
8250
  width: e.clientWidth * a.x,
7993
8251
  height: e.clientHeight * a.y,
@@ -7995,13 +8253,13 @@ function Rs(e, t) {
7995
8253
  y: r * a.y
7996
8254
  };
7997
8255
  }
7998
- function zs(e, t, n) {
8256
+ function ec(e, t, n) {
7999
8257
  let r;
8000
- if (t === "viewport") r = Ls(e, n);
8001
- else if (t === "document") r = Fs(Z(e));
8002
- else if (Q(t)) r = Rs(t, n);
8258
+ if (t === "viewport") r = Qs(e, n);
8259
+ else if (t === "document") r = Xs(Z(e));
8260
+ else if (Q(t)) r = $s(t, n);
8003
8261
  else {
8004
- let n = Os(e);
8262
+ let n = Us(e);
8005
8263
  r = {
8006
8264
  x: t.x - n.x,
8007
8265
  y: t.y - n.y,
@@ -8009,27 +8267,27 @@ function zs(e, t, n) {
8009
8267
  height: t.height
8010
8268
  };
8011
8269
  }
8012
- return qo(r);
8270
+ return cs(r);
8013
8271
  }
8014
- function Bs(e, t) {
8015
- let n = bs(e);
8016
- return n === t || !Q(n) || vs(n) ? !1 : $(n).position === "fixed" || Bs(n, t);
8272
+ function tc(e, t) {
8273
+ let n = Fs(e);
8274
+ return n === t || !Q(n) || Ns(n) ? !1 : $(n).position === "fixed" || tc(n, t);
8017
8275
  }
8018
- function Vs(e, t) {
8276
+ function nc(e, t) {
8019
8277
  let n = t.get(e);
8020
8278
  if (n) return n;
8021
- let r = Ss(e, [], !1).filter((e) => Q(e) && is(e) !== "body"), i = null, a = $(e).position === "fixed", o = a ? bs(e) : e;
8022
- for (; Q(o) && !vs(o);) {
8023
- let t = $(o), n = hs(o);
8024
- !n && t.position === "fixed" && (i = null), (a ? !n && !i : !n && t.position === "static" && i && (i.position === "absolute" || i.position === "fixed") || cs(o) && !n && Bs(e, o)) ? r = r.filter((e) => e !== o) : i = t, o = bs(o);
8279
+ let r = Ls(e, [], !1).filter((e) => Q(e) && ys(e) !== "body"), i = null, a = $(e).position === "fixed", o = a ? Fs(e) : e;
8280
+ for (; Q(o) && !Ns(o);) {
8281
+ let t = $(o), n = As(o);
8282
+ !n && t.position === "fixed" && (i = null), (a ? !n && !i : !n && t.position === "static" && i && (i.position === "absolute" || i.position === "fixed") || Cs(o) && !n && tc(e, o)) ? r = r.filter((e) => e !== o) : i = t, o = Fs(o);
8025
8283
  }
8026
8284
  return t.set(e, r), r;
8027
8285
  }
8028
- function Hs(e) {
8029
- let { element: t, boundary: n, rootBoundary: r, strategy: i } = e, a = [...n === "clippingAncestors" ? us(t) ? [] : Vs(t, this._c) : [].concat(n), r], o = zs(t, a[0], i), s = o.top, c = o.right, l = o.bottom, u = o.left;
8286
+ function rc(e) {
8287
+ let { element: t, boundary: n, rootBoundary: r, strategy: i } = e, a = [...n === "clippingAncestors" ? Ts(t) ? [] : nc(t, this._c) : [].concat(n), r], o = ec(t, a[0], i), s = o.top, c = o.right, l = o.bottom, u = o.left;
8030
8288
  for (let e = 1; e < a.length; e++) {
8031
- let n = zs(t, a[e], i);
8032
- s = Co(n.top, s), c = So(n.right, c), l = So(n.bottom, l), u = Co(n.left, u);
8289
+ let n = ec(t, a[e], i);
8290
+ s = Ro(n.top, s), c = Lo(n.right, c), l = Lo(n.bottom, l), u = Ro(n.left, u);
8033
8291
  }
8034
8292
  return {
8035
8293
  width: c - u,
@@ -8038,27 +8296,27 @@ function Hs(e) {
8038
8296
  y: s
8039
8297
  };
8040
8298
  }
8041
- function Us(e) {
8042
- let { width: t, height: n } = ws(e);
8299
+ function ic(e) {
8300
+ let { width: t, height: n } = zs(e);
8043
8301
  return {
8044
8302
  width: t,
8045
8303
  height: n
8046
8304
  };
8047
8305
  }
8048
- function Ws(e, t, n) {
8049
- let r = os(t), i = Z(t), a = n === "fixed", o = As(e, !0, a, t), s = {
8306
+ function ac(e, t, n) {
8307
+ let r = xs(t), i = Z(t), a = n === "fixed", o = Gs(e, !0, a, t), s = {
8050
8308
  scrollLeft: 0,
8051
8309
  scrollTop: 0
8052
8310
  }, c = Y(0);
8053
8311
  function l() {
8054
- c.x = js(i);
8312
+ c.x = Ks(i);
8055
8313
  }
8056
- if (r || !r && !a) if ((is(t) !== "body" || cs(i)) && (s = ys(t)), r) {
8057
- let e = As(t, !0, a, t);
8314
+ if (r || !r && !a) if ((ys(t) !== "body" || Cs(i)) && (s = Ps(t)), r) {
8315
+ let e = Gs(t, !0, a, t);
8058
8316
  c.x = e.x + t.clientLeft, c.y = e.y + t.clientTop;
8059
8317
  } else i && l();
8060
8318
  a && !r && i && l();
8061
- let u = i && !r && !a ? Ms(i, s) : Y(0);
8319
+ let u = i && !r && !a ? qs(i, s) : Y(0);
8062
8320
  return {
8063
8321
  x: o.left + s.scrollLeft - c.x - u.x,
8064
8322
  y: o.top + s.scrollTop - c.y - u.y,
@@ -8066,34 +8324,34 @@ function Ws(e, t, n) {
8066
8324
  height: o.height
8067
8325
  };
8068
8326
  }
8069
- function Gs(e) {
8327
+ function oc(e) {
8070
8328
  return $(e).position === "static";
8071
8329
  }
8072
- function Ks(e, t) {
8073
- if (!os(e) || $(e).position === "fixed") return null;
8330
+ function sc(e, t) {
8331
+ if (!xs(e) || $(e).position === "fixed") return null;
8074
8332
  if (t) return t(e);
8075
8333
  let n = e.offsetParent;
8076
8334
  return Z(e) === n && (n = n.ownerDocument.body), n;
8077
8335
  }
8078
- function qs(e, t) {
8336
+ function cc(e, t) {
8079
8337
  let n = X(e);
8080
- if (us(e)) return n;
8081
- if (!os(e)) {
8082
- let t = bs(e);
8083
- for (; t && !vs(t);) {
8084
- if (Q(t) && !Gs(t)) return t;
8085
- t = bs(t);
8338
+ if (Ts(e)) return n;
8339
+ if (!xs(e)) {
8340
+ let t = Fs(e);
8341
+ for (; t && !Ns(t);) {
8342
+ if (Q(t) && !oc(t)) return t;
8343
+ t = Fs(t);
8086
8344
  }
8087
8345
  return n;
8088
8346
  }
8089
- let r = Ks(e, t);
8090
- for (; r && ls(r) && Gs(r);) r = Ks(r, t);
8091
- return r && vs(r) && Gs(r) && !hs(r) ? n : r || gs(e) || n;
8347
+ let r = sc(e, t);
8348
+ for (; r && ws(r) && oc(r);) r = sc(r, t);
8349
+ return r && Ns(r) && oc(r) && !As(r) ? n : r || js(e) || n;
8092
8350
  }
8093
- var Js = async function(e) {
8094
- let t = this.getOffsetParent || qs, n = this.getDimensions, r = await n(e.floating);
8351
+ var lc = async function(e) {
8352
+ let t = this.getOffsetParent || cc, n = this.getDimensions, r = await n(e.floating);
8095
8353
  return {
8096
- reference: Ws(e.reference, await t(e.floating), e.strategy),
8354
+ reference: ac(e.reference, await t(e.floating), e.strategy),
8097
8355
  floating: {
8098
8356
  x: 0,
8099
8357
  y: 0,
@@ -8102,25 +8360,25 @@ var Js = async function(e) {
8102
8360
  }
8103
8361
  };
8104
8362
  };
8105
- function Ys(e) {
8363
+ function uc(e) {
8106
8364
  return $(e).direction === "rtl";
8107
8365
  }
8108
- var Xs = {
8109
- convertOffsetParentRelativeRectToViewportRelativeRect: Ns,
8366
+ var dc = {
8367
+ convertOffsetParentRelativeRectToViewportRelativeRect: Js,
8110
8368
  getDocumentElement: Z,
8111
- getClippingRect: Hs,
8112
- getOffsetParent: qs,
8113
- getElementRects: Js,
8114
- getClientRects: Ps,
8115
- getDimensions: Us,
8116
- getScale: Es,
8369
+ getClippingRect: rc,
8370
+ getOffsetParent: cc,
8371
+ getElementRects: lc,
8372
+ getClientRects: Ys,
8373
+ getDimensions: ic,
8374
+ getScale: Vs,
8117
8375
  isElement: Q,
8118
- isRTL: Ys
8376
+ isRTL: uc
8119
8377
  };
8120
- function Zs(e, t) {
8378
+ function fc(e, t) {
8121
8379
  return e.x === t.x && e.y === t.y && e.width === t.width && e.height === t.height;
8122
8380
  }
8123
- function Qs(e, t) {
8381
+ function pc(e, t) {
8124
8382
  let n = null, r, i = Z(e);
8125
8383
  function a() {
8126
8384
  var e;
@@ -8130,9 +8388,9 @@ function Qs(e, t) {
8130
8388
  s === void 0 && (s = !1), c === void 0 && (c = 1), a();
8131
8389
  let l = e.getBoundingClientRect(), { left: u, top: d, width: f, height: p } = l;
8132
8390
  if (s || t(), !f || !p) return;
8133
- let m = To(d), h = To(i.clientWidth - (u + f)), g = To(i.clientHeight - (d + p)), _ = To(u), v = {
8391
+ let m = Bo(d), h = Bo(i.clientWidth - (u + f)), g = Bo(i.clientHeight - (d + p)), _ = Bo(u), v = {
8134
8392
  rootMargin: -m + "px " + -h + "px " + -g + "px " + -_ + "px",
8135
- threshold: Co(0, So(1, c)) || 1
8393
+ threshold: Ro(0, Lo(1, c)) || 1
8136
8394
  }, y = !0;
8137
8395
  function b(t) {
8138
8396
  let n = t[0].intersectionRatio;
@@ -8142,7 +8400,7 @@ function Qs(e, t) {
8142
8400
  o(!1, 1e-7);
8143
8401
  }, 1e3);
8144
8402
  }
8145
- n === 1 && !Zs(l, e.getBoundingClientRect()) && o(), y = !1;
8403
+ n === 1 && !fc(l, e.getBoundingClientRect()) && o(), y = !1;
8146
8404
  }
8147
8405
  try {
8148
8406
  n = new IntersectionObserver(b, {
@@ -8156,13 +8414,13 @@ function Qs(e, t) {
8156
8414
  }
8157
8415
  return o(!0), a;
8158
8416
  }
8159
- function $s(e, t, n, r) {
8417
+ function mc(e, t, n, r) {
8160
8418
  r === void 0 && (r = {});
8161
- let { ancestorScroll: i = !0, ancestorResize: a = !0, elementResize: o = typeof ResizeObserver == "function", layoutShift: s = typeof IntersectionObserver == "function", animationFrame: c = !1 } = r, l = Ts(e), u = i || a ? [...l ? Ss(l) : [], ...t ? Ss(t) : []] : [];
8419
+ let { ancestorScroll: i = !0, ancestorResize: a = !0, elementResize: o = typeof ResizeObserver == "function", layoutShift: s = typeof IntersectionObserver == "function", animationFrame: c = !1 } = r, l = Bs(e), u = i || a ? [...l ? Ls(l) : [], ...t ? Ls(t) : []] : [];
8162
8420
  u.forEach((e) => {
8163
8421
  i && e.addEventListener("scroll", n, { passive: !0 }), a && e.addEventListener("resize", n);
8164
8422
  });
8165
- let d = l && s ? Qs(l, n) : null, f = -1, p = null;
8423
+ let d = l && s ? pc(l, n) : null, f = -1, p = null;
8166
8424
  o && (p = new ResizeObserver((e) => {
8167
8425
  let [r] = e;
8168
8426
  r && r.target === l && p && t && (p.unobserve(t), cancelAnimationFrame(f), f = requestAnimationFrame(() => {
@@ -8170,11 +8428,11 @@ function $s(e, t, n, r) {
8170
8428
  (e = p) == null || e.observe(t);
8171
8429
  })), n();
8172
8430
  }), l && !c && p.observe(l), t && p.observe(t));
8173
- let m, h = c ? As(e) : null;
8431
+ let m, h = c ? Gs(e) : null;
8174
8432
  c && g();
8175
8433
  function g() {
8176
- let t = As(e);
8177
- h && !Zs(h, t) && n(), h = t, m = requestAnimationFrame(g);
8434
+ let t = Gs(e);
8435
+ h && !fc(h, t) && n(), h = t, m = requestAnimationFrame(g);
8178
8436
  }
8179
8437
  return n(), () => {
8180
8438
  var e;
@@ -8183,19 +8441,19 @@ function $s(e, t, n, r) {
8183
8441
  }), d?.(), (e = p) == null || e.disconnect(), p = null, c && cancelAnimationFrame(m);
8184
8442
  };
8185
8443
  }
8186
- var ec = ts, tc = ns, nc = Qo, rc = (e, t, n) => {
8444
+ var hc = gs, gc = _s, _c = ps, vc = (e, t, n) => {
8187
8445
  let r = /* @__PURE__ */ new Map(), i = {
8188
- platform: Xs,
8446
+ platform: dc,
8189
8447
  ...n
8190
8448
  }, a = {
8191
8449
  ...i.platform,
8192
8450
  _c: r
8193
8451
  };
8194
- return Zo(e, t, {
8452
+ return fs(e, t, {
8195
8453
  ...i,
8196
8454
  platform: a
8197
8455
  });
8198
- }, ic = {
8456
+ }, yc = {
8199
8457
  "top start at bottom start": "bottom-start",
8200
8458
  "top center at bottom center": "bottom",
8201
8459
  "top end at bottom end": "bottom-end",
@@ -8208,24 +8466,24 @@ var ec = ts, tc = ns, nc = Qo, rc = (e, t, n) => {
8208
8466
  "bottom start at bottom end": "right-end",
8209
8467
  "top end at top start": "left-start",
8210
8468
  "bottom end at bottom start": "left-end"
8211
- }, ac = (e, t) => {
8469
+ }, bc = (e, t) => {
8212
8470
  let n = `${e} at ${t}`;
8213
- if (ic[n]) return ic[n];
8471
+ if (yc[n]) return yc[n];
8214
8472
  let [r, i] = t.split(" ");
8215
8473
  return r === "bottom" ? i === "start" ? "bottom-start" : i === "end" ? "bottom-end" : "bottom" : r === "top" ? i === "start" ? "top-start" : i === "end" ? "top-end" : "top" : i === "start" ? r === "top" ? "left-start" : r === "bottom" ? "left-end" : "left" : i === "end" ? r === "top" ? "right-start" : r === "bottom" ? "right-end" : "right" : "bottom";
8216
8474
  };
8217
- function oc(e, t, n = {}) {
8218
- let r = () => typeof n == "function" ? n() : n, i = r(), a = T(ac(i.my ?? "top center", i.at ?? "bottom center")), o = T(0), s = T(0), c = null, l = null, u = null, d = (e) => {
8475
+ function xc(e, t, n = {}) {
8476
+ let r = () => typeof n == "function" ? n() : n, i = r(), a = T(bc(i.my ?? "top center", i.at ?? "bottom center")), o = T(0), s = T(0), c = null, l = null, u = null, d = (e) => {
8219
8477
  let t = [];
8220
8478
  if (e.offset) {
8221
8479
  let [n, r] = e.offset;
8222
- t.push(ec({
8480
+ t.push(hc({
8223
8481
  mainAxis: r,
8224
8482
  crossAxis: n
8225
8483
  }));
8226
8484
  }
8227
8485
  let n = e.collision ?? "flip+shift";
8228
- return (n === "flip" || n === "flip+shift") && t.push(nc()), (n === "shift" || n === "flip+shift") && t.push(tc()), t;
8486
+ return (n === "flip" || n === "flip+shift") && t.push(_c()), (n === "shift" || n === "flip+shift") && t.push(gc()), t;
8229
8487
  }, f = (e) => {
8230
8488
  u !== e && (u = e, l = {
8231
8489
  position: e.style.position,
@@ -8240,8 +8498,8 @@ function oc(e, t, n = {}) {
8240
8498
  if (!n || !i) return;
8241
8499
  let c = r(), l = c.my ?? "top center", u = c.at ?? "bottom center";
8242
8500
  f(n);
8243
- let p = await rc(i, n, {
8244
- placement: ac(l, u),
8501
+ let p = await vc(i, n, {
8502
+ placement: bc(l, u),
8245
8503
  strategy: c.strategy ?? "absolute",
8246
8504
  middleware: d(c)
8247
8505
  });
@@ -8258,7 +8516,7 @@ function oc(e, t, n = {}) {
8258
8516
  if (!i || !a) return;
8259
8517
  u !== null && u !== i && p(u);
8260
8518
  let s = null;
8261
- o.autoUpdate === !1 ? m() : s = $s(a, i, () => {
8519
+ o.autoUpdate === !1 ? m() : s = mc(a, i, () => {
8262
8520
  m();
8263
8521
  }), n(() => {
8264
8522
  s?.(), s = null, c = null;
@@ -8275,74 +8533,74 @@ function oc(e, t, n = {}) {
8275
8533
  }
8276
8534
  //#endregion
8277
8535
  //#region src/composables/useColorMode.ts
8278
- var sc = "vibe-color-mode", cc = {
8536
+ var Sc = "vibe-color-mode", Cc = {
8279
8537
  light: "dark",
8280
8538
  dark: "auto",
8281
8539
  auto: "light"
8282
- }, lc = T("auto"), uc = !1, dc = [];
8283
- function fc() {
8540
+ }, wc = T("auto"), Tc = !1, Ec = [];
8541
+ function Dc() {
8284
8542
  return typeof window > "u" ? "light" : window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
8285
8543
  }
8286
- function pc(e) {
8544
+ function Oc(e) {
8287
8545
  if (typeof document > "u") return;
8288
- let t = e === "auto" ? fc() : e;
8546
+ let t = e === "auto" ? Dc() : e;
8289
8547
  document.documentElement.setAttribute("data-bs-theme", t);
8290
8548
  }
8291
- function mc(e) {
8292
- lc.value = e, pc(e), dc.forEach((t) => t(e));
8549
+ function kc(e) {
8550
+ wc.value = e, Oc(e), Ec.forEach((t) => t(e));
8293
8551
  }
8294
- var hc = "auto";
8552
+ var Ac = "auto";
8295
8553
  try {
8296
- let e = typeof localStorage < "u" ? localStorage.getItem(sc) : null;
8297
- e !== null && e in cc && (hc = e);
8554
+ let e = typeof localStorage < "u" ? localStorage.getItem(Sc) : null;
8555
+ e !== null && e in Cc && (Ac = e);
8298
8556
  } catch {}
8299
- var gc = () => {
8300
- lc.value === "auto" && (pc("auto"), dc.forEach((e) => e("auto")));
8301
- }, _c = null;
8302
- function vc() {
8303
- typeof window > "u" || (_c = window.matchMedia("(prefers-color-scheme: dark)"), _c.addEventListener("change", gc));
8557
+ var jc = () => {
8558
+ wc.value === "auto" && (Oc("auto"), Ec.forEach((e) => e("auto")));
8559
+ }, Mc = null;
8560
+ function Nc() {
8561
+ typeof window > "u" || (Mc = window.matchMedia("(prefers-color-scheme: dark)"), Mc.addEventListener("change", jc));
8304
8562
  }
8305
- function yc() {
8306
- _c?.removeEventListener("change", gc), _c = null;
8563
+ function Pc() {
8564
+ Mc?.removeEventListener("change", jc), Mc = null;
8307
8565
  }
8308
- typeof window < "u" && (mc(hc), vc(), uc = !0);
8309
- function bc() {
8566
+ typeof window < "u" && (kc(Ac), Nc(), Tc = !0);
8567
+ function Fc() {
8310
8568
  function e(e) {
8311
- if (e in cc) {
8569
+ if (e in Cc) {
8312
8570
  try {
8313
- localStorage.setItem(sc, e);
8571
+ localStorage.setItem(Sc, e);
8314
8572
  } catch {}
8315
- mc(e);
8573
+ kc(e);
8316
8574
  }
8317
8575
  }
8318
8576
  function t() {
8319
- if (uc) return;
8320
- yc();
8577
+ if (Tc) return;
8578
+ Pc();
8321
8579
  let e = "auto";
8322
8580
  try {
8323
- let t = typeof localStorage < "u" ? localStorage.getItem(sc) : null;
8324
- t !== null && t in cc && (e = t);
8581
+ let t = typeof localStorage < "u" ? localStorage.getItem(Sc) : null;
8582
+ t !== null && t in Cc && (e = t);
8325
8583
  } catch {}
8326
- mc(e), vc(), uc = !0;
8584
+ kc(e), Nc(), Tc = !0;
8327
8585
  }
8328
8586
  function n() {
8329
- yc();
8587
+ Pc();
8330
8588
  try {
8331
- localStorage.removeItem(sc);
8589
+ localStorage.removeItem(Sc);
8332
8590
  } catch {}
8333
- mc("auto"), vc(), uc = !1;
8591
+ kc("auto"), Nc(), Tc = !1;
8334
8592
  }
8335
8593
  function r() {
8336
- e(cc[lc.value] ?? "auto");
8594
+ e(Cc[wc.value] ?? "auto");
8337
8595
  }
8338
8596
  function i(e) {
8339
- return dc.push(e), () => {
8340
- let t = dc.indexOf(e);
8341
- t !== -1 && dc.splice(t, 1);
8597
+ return Ec.push(e), () => {
8598
+ let t = Ec.indexOf(e);
8599
+ t !== -1 && Ec.splice(t, 1);
8342
8600
  };
8343
8601
  }
8344
8602
  return {
8345
- colorMode: lc,
8603
+ colorMode: wc,
8346
8604
  setColorMode: e,
8347
8605
  toggleColorMode: r,
8348
8606
  initColorMode: t,
@@ -8352,6 +8610,6 @@ function bc() {
8352
8610
  }
8353
8611
  //#endregion
8354
8612
  //#region src/index.ts
8355
- var xc = go;
8613
+ var Ic = jo;
8356
8614
  //#endregion
8357
- export { mt as VibeAccordion, ee as VibeAlert, Bi as VibeAutocomplete, te as VibeBadge, Ae as VibeBreadcrumb, ne as VibeButton, U as VibeButtonGroup, ve as VibeCard, _n as VibeCarousel, Zn as VibeChartBar, Vn as VibeChartLine, rr as VibeChartPie, ae as VibeCloseButton, pe as VibeCol, ht as VibeCollapse, de as VibeContainer, Dr as VibeDataTable, sa as VibeDatePicker, Yi as VibeDraggable, Ct as VibeDropdown, Xi as VibeDroppable, Si as VibeFileInput, ma as VibeFormCheckbox, gi as VibeFormDatepicker, za as VibeFormGroup, Fr as VibeFormInput, xa as VibeFormRadio, Kr as VibeFormSelect, li as VibeFormSpinbutton, Oa as VibeFormSwitch, ei as VibeFormTextarea, $a as VibeFormWysiwyg, Ee as VibeHero, wn as VibeIcon, no as VibeInputGroup, ro as VibeLink, it as VibeListGroup, Nt as VibeModal, Pe as VibeNav, Le as VibeNavbar, Re as VibeNavbarBrand, Ke as VibeNavbarNav, Be as VibeNavbarToggle, Rt as VibeOffcanvas, Qe as VibePagination, ce as VibePlaceholder, xn as VibePopover, ot as VibeProgress, Qi as VibeResizable, fe as VibeRow, Sn as VibeScrollspy, ue as VibeSkeleton, Ti as VibeSlider, Vi as VibeSortable, se as VibeSpinner, Pi as VibeStepper, rt as VibeTab, et as VibeTabContent, nt as VibeTabs, qt as VibeToast, an as VibeToastHost, yn as VibeTooltip, xc as default, nn as resetToastStoreForSSR, Et as useBackButton, Va as useBreakpoints, bc as useColorMode, xo as useForm, _o as useFormValidation, q as useId, oc as usePosition, tn as useToast, ho as vTooltip, vo as validators };
8615
+ export { ht as VibeAccordion, ee as VibeAlert, qi as VibeAutocomplete, te as VibeBadge, Ae as VibeBreadcrumb, ne as VibeButton, ie as VibeButtonGroup, ve as VibeCard, _n as VibeCarousel, Zn as VibeChartBar, Vn as VibeChartLine, rr as VibeChartPie, oe as VibeCloseButton, pe as VibeCol, gt as VibeCollapse, de as VibeContainer, Er as VibeDataTable, ma as VibeDatePicker, na as VibeDraggable, wt as VibeDropdown, ra as VibeDroppable, ki as VibeFileInput, xa as VibeFormCheckbox, Ci as VibeFormDatepicker, eo as VibeFormErrorSummary, Xa as VibeFormGroup, Hr as VibeFormInput, Oa as VibeFormRadio, $r as VibeFormSelect, gi as VibeFormSpinbutton, Fa as VibeFormSwitch, si as VibeFormTextarea, ho as VibeFormWysiwyg, Ee as VibeHero, wn as VibeIcon, vo as VibeInputGroup, yo as VibeLink, at as VibeListGroup, Ft as VibeModal, Fe as VibeNav, Re as VibeNavbar, ze as VibeNavbarBrand, qe as VibeNavbarNav, Ve as VibeNavbarToggle, Bt as VibeOffcanvas, $e as VibePagination, le as VibePlaceholder, xn as VibePopover, st as VibeProgress, aa as VibeResizable, fe as VibeRow, Sn as VibeScrollspy, ue as VibeSkeleton, Mi as VibeSlider, Ji as VibeSortable, ce as VibeSpinner, Vi as VibeStepper, it as VibeTab, tt as VibeTabContent, rt as VibeTabs, qt as VibeToast, an as VibeToastHost, yn as VibeTooltip, Ic as default, nn as resetToastStoreForSSR, Dt as useBackButton, no as useBreakpoints, Fc as useColorMode, Io as useForm, Mo as useFormValidation, q as useId, xc as usePosition, tn as useToast, Ao as vTooltip, No as validators };