@bagelink/vue 1.0.33 → 1.0.41

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 (32) hide show
  1. package/dist/components/DataPreview.vue.d.ts.map +1 -1
  2. package/dist/components/DataTable/DataTable.vue.d.ts +2 -2
  3. package/dist/components/DataTable/DataTable.vue.d.ts.map +1 -1
  4. package/dist/components/DataTable/useTableData.d.ts +2 -1
  5. package/dist/components/DataTable/useTableData.d.ts.map +1 -1
  6. package/dist/components/DataTable/useTableSelection.d.ts +4 -1
  7. package/dist/components/DataTable/useTableSelection.d.ts.map +1 -1
  8. package/dist/components/DataTable/useTableVirtualization.d.ts.map +1 -1
  9. package/dist/components/form/BagelForm.vue.d.ts +17 -11
  10. package/dist/components/form/BagelForm.vue.d.ts.map +1 -1
  11. package/dist/components/form/FieldArray.vue.d.ts.map +1 -1
  12. package/dist/composables/index.d.ts +1 -1
  13. package/dist/composables/index.d.ts.map +1 -1
  14. package/dist/index.cjs +441 -307
  15. package/dist/index.mjs +442 -308
  16. package/dist/style.css +502 -83
  17. package/dist/types/BagelForm.d.ts +1 -1
  18. package/dist/types/BagelForm.d.ts.map +1 -1
  19. package/package.json +1 -1
  20. package/src/components/DataPreview.vue +30 -4
  21. package/src/components/DataTable/DataTable.vue +9 -7
  22. package/src/components/DataTable/useTableData.ts +75 -9
  23. package/src/components/DataTable/useTableSelection.ts +17 -3
  24. package/src/components/DataTable/useTableVirtualization.ts +11 -2
  25. package/src/components/Loading.vue +2 -2
  26. package/src/components/form/BagelForm.vue +138 -78
  27. package/src/components/form/FieldArray.vue +129 -54
  28. package/src/components/layout/BottomMenu.vue +1 -1
  29. package/src/composables/index.ts +14 -4
  30. package/src/styles/layout.css +240 -0
  31. package/src/styles/mobilLayout.css +240 -0
  32. package/src/types/BagelForm.ts +1 -1
package/dist/index.cjs CHANGED
@@ -19,8 +19,8 @@ const _sfc_main$1n = /* @__PURE__ */ vue.defineComponent({
19
19
  };
20
20
  }
21
21
  });
22
- const _hoisted_1$1a = ["aria-expanded", "aria-controls"];
23
- const _hoisted_2$S = { class: "accordion-label" };
22
+ const _hoisted_1$1b = ["aria-expanded", "aria-controls"];
23
+ const _hoisted_2$T = { class: "accordion-label" };
24
24
  const _hoisted_3$I = ["id", "aria-hidden"];
25
25
  const _sfc_main$1m = /* @__PURE__ */ vue.defineComponent({
26
26
  __name: "AccordionItem",
@@ -88,7 +88,7 @@ const _sfc_main$1m = /* @__PURE__ */ vue.defineComponent({
88
88
  vue.createVNode(vue.unref(_sfc_main$s), { icon: computedIcon.value }, null, 8, ["icon"])
89
89
  ], 2)) : vue.createCommentVNode("", true),
90
90
  vue.renderSlot(_ctx.$slots, "head", {}, () => [
91
- vue.createElementVNode("span", _hoisted_2$S, vue.toDisplayString(_ctx.label), 1)
91
+ vue.createElementVNode("span", _hoisted_2$T, vue.toDisplayString(_ctx.label), 1)
92
92
  ], true),
93
93
  iconPosition.value === "end" ? (vue.openBlock(), vue.createElementBlock("span", {
94
94
  key: 1,
@@ -96,7 +96,7 @@ const _sfc_main$1m = /* @__PURE__ */ vue.defineComponent({
96
96
  }, [
97
97
  vue.createVNode(vue.unref(_sfc_main$s), { icon: computedIcon.value }, null, 8, ["icon"])
98
98
  ], 2)) : vue.createCommentVNode("", true)
99
- ], 8, _hoisted_1$1a),
99
+ ], 8, _hoisted_1$1b),
100
100
  vue.createVNode(vue.Transition, { name: "expand" }, {
101
101
  default: vue.withCtx(() => [
102
102
  vue.unref(isOpen) ? (vue.openBlock(), vue.createElementBlock("div", {
@@ -122,7 +122,7 @@ const _export_sfc = (sfc, props2) => {
122
122
  return target;
123
123
  };
124
124
  const AccordionItem = /* @__PURE__ */ _export_sfc(_sfc_main$1m, [["__scopeId", "data-v-3334f637"]]);
125
- const _hoisted_1$19 = { class: "relative" };
125
+ const _hoisted_1$1a = { class: "relative" };
126
126
  const _sfc_main$1l = /* @__PURE__ */ vue.defineComponent({
127
127
  __name: "AddressSearch",
128
128
  emits: ["addressSelected"],
@@ -145,7 +145,7 @@ const _sfc_main$1l = /* @__PURE__ */ vue.defineComponent({
145
145
  (_a = suggestion.value) == null ? void 0 : _a.show();
146
146
  }
147
147
  return (_ctx, _cache) => {
148
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$19, [
148
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1a, [
149
149
  vue.createVNode(vue.unref(_sfc_main$W), {
150
150
  ref_key: "suggestion",
151
151
  ref: suggestion,
@@ -181,7 +181,7 @@ const _sfc_main$1l = /* @__PURE__ */ vue.defineComponent({
181
181
  };
182
182
  }
183
183
  });
184
- const _hoisted_1$18 = {
184
+ const _hoisted_1$19 = {
185
185
  key: 1,
186
186
  class: "bgl_btn-flex"
187
187
  };
@@ -251,7 +251,7 @@ const _sfc_main$1k = /* @__PURE__ */ vue.defineComponent({
251
251
  key: 0,
252
252
  class: "h-100p",
253
253
  size: "15"
254
- })) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$18, [
254
+ })) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$19, [
255
255
  _ctx.icon ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$s), {
256
256
  key: 0,
257
257
  icon: _ctx.icon,
@@ -276,8 +276,8 @@ const _sfc_main$1k = /* @__PURE__ */ vue.defineComponent({
276
276
  }
277
277
  });
278
278
  const Btn = /* @__PURE__ */ _export_sfc(_sfc_main$1k, [["__scopeId", "data-v-bfc435b3"]]);
279
- const _hoisted_1$17 = ["dismissable"];
280
- const _hoisted_2$R = { class: "m-0" };
279
+ const _hoisted_1$18 = ["dismissable"];
280
+ const _hoisted_2$S = { class: "m-0" };
281
281
  const _sfc_main$1j = /* @__PURE__ */ vue.defineComponent({
282
282
  __name: "Alert",
283
283
  props: {
@@ -306,7 +306,7 @@ const _sfc_main$1j = /* @__PURE__ */ vue.defineComponent({
306
306
  size: 2,
307
307
  color: color2[_ctx.type]
308
308
  }, null, 8, ["icon", "color"])) : vue.createCommentVNode("", true),
309
- vue.createElementVNode("p", _hoisted_2$R, vue.toDisplayString(_ctx.message), 1),
309
+ vue.createElementVNode("p", _hoisted_2$S, vue.toDisplayString(_ctx.message), 1),
310
310
  vue.createVNode(Btn, {
311
311
  flat: "",
312
312
  thin: "",
@@ -314,12 +314,12 @@ const _sfc_main$1j = /* @__PURE__ */ vue.defineComponent({
314
314
  icon: "close",
315
315
  onClick: _cache[0] || (_cache[0] = ($event) => isDismissed.value = true)
316
316
  })
317
- ], 10, _hoisted_1$17)) : vue.createCommentVNode("", true);
317
+ ], 10, _hoisted_1$18)) : vue.createCommentVNode("", true);
318
318
  };
319
319
  }
320
320
  });
321
321
  const Alert = /* @__PURE__ */ _export_sfc(_sfc_main$1j, [["__scopeId", "data-v-064bdd20"]]);
322
- const _hoisted_1$16 = ["src", "alt"];
322
+ const _hoisted_1$17 = ["src", "alt"];
323
323
  const _sfc_main$1i = /* @__PURE__ */ vue.defineComponent({
324
324
  __name: "Avatar",
325
325
  props: {
@@ -338,7 +338,7 @@ const _sfc_main$1i = /* @__PURE__ */ vue.defineComponent({
338
338
  key: 0,
339
339
  src: _ctx.src,
340
340
  alt: _ctx.name
341
- }, null, 8, _hoisted_1$16)) : (vue.openBlock(), vue.createElementBlock("p", {
341
+ }, null, 8, _hoisted_1$17)) : (vue.openBlock(), vue.createElementBlock("p", {
342
342
  key: 1,
343
343
  style: vue.normalizeStyle({ "line-height": `${_ctx.size}px`, "font-size": `calc(1.5rem * ${_ctx.size} / 50)` })
344
344
  }, vue.toDisplayString((_ctx.fallback || vue.unref(initials)(_ctx.name || "")).toUpperCase()), 5))
@@ -377,8 +377,8 @@ const _sfc_main$1h = /* @__PURE__ */ vue.defineComponent({
377
377
  }
378
378
  });
379
379
  const Badge = /* @__PURE__ */ _export_sfc(_sfc_main$1h, [["__scopeId", "data-v-689f051f"]]);
380
- const _hoisted_1$15 = ["src"];
381
- const _hoisted_2$Q = ["autoplay", "muted", "loop", "controls", "playsinline"];
380
+ const _hoisted_1$16 = ["src"];
381
+ const _hoisted_2$R = ["autoplay", "muted", "loop", "controls", "playsinline"];
382
382
  const _hoisted_3$H = ["src", "type"];
383
383
  const _sfc_main$1g = /* @__PURE__ */ vue.defineComponent({
384
384
  __name: "BglVideo",
@@ -457,7 +457,7 @@ const _sfc_main$1g = /* @__PURE__ */ vue.defineComponent({
457
457
  allowfullscreen: "",
458
458
  title: "Video",
459
459
  allow: "autoplay"
460
- }, null, 12, _hoisted_1$15)) : _ctx.src ? (vue.openBlock(), vue.createElementBlock("video", {
460
+ }, null, 12, _hoisted_1$16)) : _ctx.src ? (vue.openBlock(), vue.createElementBlock("video", {
461
461
  key: 1,
462
462
  ref_key: "video",
463
463
  ref: video,
@@ -472,7 +472,7 @@ const _sfc_main$1g = /* @__PURE__ */ vue.defineComponent({
472
472
  src: _ctx.src,
473
473
  type: `video/${videoFormat.value}`
474
474
  }, null, 8, _hoisted_3$H)
475
- ], 12, _hoisted_2$Q)) : vue.createCommentVNode("", true)
475
+ ], 12, _hoisted_2$R)) : vue.createCommentVNode("", true)
476
476
  ], 2);
477
477
  };
478
478
  }
@@ -608,8 +608,8 @@ function translate(key, locale2 = "en-US") {
608
608
  const language = languageKeys[key] || {};
609
609
  return language[locale2] || key;
610
610
  }
611
- const _hoisted_1$14 = { class: "flex gap-05 space-between pb-1 datePick" };
612
- const _hoisted_2$P = { class: "flex gap-1 m_gap-025" };
611
+ const _hoisted_1$15 = { class: "flex gap-05 space-between pb-1 datePick" };
612
+ const _hoisted_2$Q = { class: "flex gap-1 m_gap-025" };
613
613
  const _sfc_main$1f = /* @__PURE__ */ vue.defineComponent({
614
614
  __name: "Header",
615
615
  props: {
@@ -688,8 +688,8 @@ const _sfc_main$1f = /* @__PURE__ */ vue.defineComponent({
688
688
  emit2("updatedPeriod", currentPeriod.value);
689
689
  }
690
690
  return (_ctx, _cache) => {
691
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$14, [
692
- vue.createElementVNode("div", _hoisted_2$P, [
691
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$15, [
692
+ vue.createElementVNode("div", _hoisted_2$Q, [
693
693
  vue.createVNode(vue.unref(Btn), {
694
694
  flat: "",
695
695
  icon: "chevron_left",
@@ -739,18 +739,18 @@ const EVENT_COLORS = {
739
739
  };
740
740
  const DATE_TIME_STRING_PATTERN = /^\d{4}-\d{2}-\d{2} \d{2}:\d{2}$/;
741
741
  const DATE_TIME_STRING_FULL_DAY_PATTERN = /^\d{4}-\d{2}-\d{2}$/;
742
- const _hoisted_1$13 = ["id"];
743
- const _hoisted_2$O = { class: "flex txt14 flex column align-items-start gap-025 opacity-6" };
742
+ const _hoisted_1$14 = ["id"];
743
+ const _hoisted_2$P = { class: "flex txt14 flex column align-items-start gap-025 opacity-6" };
744
744
  const _hoisted_3$G = {
745
745
  key: 0,
746
746
  class: "agenda__event-time flex gap-025"
747
747
  };
748
- const _hoisted_4$t = {
748
+ const _hoisted_4$u = {
749
749
  key: 1,
750
750
  class: "agenda__event-location flex gap-025"
751
751
  };
752
- const _hoisted_5$p = { class: "agenda__event-title" };
753
- const _hoisted_6$l = {
752
+ const _hoisted_5$q = { class: "agenda__event-title" };
753
+ const _hoisted_6$m = {
754
754
  key: 0,
755
755
  class: "agenda__event-with txt14 opacity-6"
756
756
  };
@@ -829,7 +829,7 @@ const _sfc_main$1e = /* @__PURE__ */ vue.defineComponent({
829
829
  class: "agenda__event is-event rounded mb-05 pointer user-select-none p-1 grid gap-1",
830
830
  onClick: vue.withModifiers(handleClickOnEvent, ["prevent"])
831
831
  }, [
832
- vue.createElementVNode("div", _hoisted_2$O, [
832
+ vue.createElementVNode("div", _hoisted_2$P, [
833
833
  eventTime.value && !__props.calendarEvent.originalEvent ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$G, [
834
834
  vue.createVNode(vue.unref(_sfc_main$s), {
835
835
  icon: icons.clock,
@@ -837,7 +837,7 @@ const _sfc_main$1e = /* @__PURE__ */ vue.defineComponent({
837
837
  }, null, 8, ["icon"]),
838
838
  vue.createTextVNode(" " + vue.toDisplayString(eventTime.value), 1)
839
839
  ])) : vue.createCommentVNode("", true),
840
- __props.calendarEvent.location ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$t, [
840
+ __props.calendarEvent.location ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$u, [
841
841
  vue.createVNode(vue.unref(_sfc_main$s), {
842
842
  icon: icons.location,
843
843
  size: 1
@@ -846,25 +846,25 @@ const _sfc_main$1e = /* @__PURE__ */ vue.defineComponent({
846
846
  ])) : vue.createCommentVNode("", true)
847
847
  ]),
848
848
  vue.createElementVNode("div", null, [
849
- vue.createElementVNode("div", _hoisted_5$p, vue.toDisplayString(__props.calendarEvent.title), 1),
850
- __props.calendarEvent.with ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$l, [
849
+ vue.createElementVNode("div", _hoisted_5$q, vue.toDisplayString(__props.calendarEvent.title), 1),
850
+ __props.calendarEvent.with ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$m, [
851
851
  vue.createVNode(vue.unref(_sfc_main$s), {
852
852
  icon: icons.user
853
853
  }, null, 8, ["icon"]),
854
854
  vue.createTextVNode(" " + vue.toDisplayString(__props.calendarEvent.with), 1)
855
855
  ])) : vue.createCommentVNode("", true)
856
856
  ])
857
- ], 8, _hoisted_1$13);
857
+ ], 8, _hoisted_1$14);
858
858
  };
859
859
  }
860
860
  });
861
861
  const AgendaEventTile = /* @__PURE__ */ _export_sfc(_sfc_main$1e, [["__scopeId", "data-v-5740437b"]]);
862
- const _hoisted_1$12 = { class: "agenda__wrapper grid align-items-start gap-1 h-100p" };
863
- const _hoisted_2$N = { class: "m_sticky" };
862
+ const _hoisted_1$13 = { class: "agenda__wrapper grid align-items-start gap-1 h-100p" };
863
+ const _hoisted_2$O = { class: "m_sticky" };
864
864
  const _hoisted_3$F = { class: "agenda__header-day-name txt-center" };
865
- const _hoisted_4$s = { class: "agenda__header-date flex justify-content-center rounded p-025 txt24 line-height-04" };
866
- const _hoisted_5$o = { class: "agenda__content flex column w-100p h-100p min-h-100px pt-05 border-start ps-1 m_pt-0 min-h-50px" };
867
- const _hoisted_6$k = {
865
+ const _hoisted_4$t = { class: "agenda__header-date flex justify-content-center rounded p-025 txt24 line-height-04" };
866
+ const _hoisted_5$p = { class: "agenda__content flex column w-100p h-100p min-h-100px pt-05 border-start ps-1 m_pt-0 min-h-50px" };
867
+ const _hoisted_6$l = {
868
868
  key: 0,
869
869
  class: "align-items-center flex justify-content-center h-100p opacity-6"
870
870
  };
@@ -892,13 +892,13 @@ const _sfc_main$1d = /* @__PURE__ */ vue.defineComponent({
892
892
  setup(__props, { emit: __emit }) {
893
893
  const emit2 = __emit;
894
894
  return (_ctx, _cache) => {
895
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$12, [
896
- vue.createElementVNode("header", _hoisted_2$N, [
895
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$13, [
896
+ vue.createElementVNode("header", _hoisted_2$O, [
897
897
  vue.createElementVNode("div", _hoisted_3$F, vue.toDisplayString(__props.day.dayName.slice(0, 3)), 1),
898
- vue.createElementVNode("div", _hoisted_4$s, vue.toDisplayString(__props.day.dateTimeString.substring(8, 10)), 1)
898
+ vue.createElementVNode("div", _hoisted_4$t, vue.toDisplayString(__props.day.dateTimeString.substring(8, 10)), 1)
899
899
  ]),
900
- vue.createElementVNode("div", _hoisted_5$o, [
901
- __props.day.events.length === 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$k, vue.toDisplayString(vue.unref(getLanguage)(vue.unref(languageKeys).noEvent, __props.time.CALENDAR_LOCALE)), 1)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_7$g, [
900
+ vue.createElementVNode("div", _hoisted_5$p, [
901
+ __props.day.events.length === 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$l, vue.toDisplayString(vue.unref(getLanguage)(vue.unref(languageKeys).noEvent, __props.time.CALENDAR_LOCALE)), 1)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_7$g, [
902
902
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(__props.day.events, (dayEvent) => {
903
903
  return vue.openBlock(), vue.createBlock(AgendaEventTile, {
904
904
  key: `agenda_event_${dayEvent.id}`,
@@ -1594,21 +1594,21 @@ class EventFlyoutPosition {
1594
1594
  return { top: eventElementDOMRect.top, left: null };
1595
1595
  }
1596
1596
  }
1597
- const _hoisted_1$11 = {
1597
+ const _hoisted_1$12 = {
1598
1598
  key: 0,
1599
1599
  class: "event-flyout__relative-wrapper"
1600
1600
  };
1601
- const _hoisted_2$M = { class: "event-flyout__menu" };
1601
+ const _hoisted_2$N = { class: "event-flyout__menu" };
1602
1602
  const _hoisted_3$E = {
1603
1603
  key: 0,
1604
1604
  class: "event-flyout__menu-editable"
1605
1605
  };
1606
- const _hoisted_4$r = { class: "event-flyout__menu-close" };
1607
- const _hoisted_5$n = {
1606
+ const _hoisted_4$s = { class: "event-flyout__menu-close" };
1607
+ const _hoisted_5$o = {
1608
1608
  key: 0,
1609
1609
  class: "event-flyout__info-wrapper"
1610
1610
  };
1611
- const _hoisted_6$j = {
1611
+ const _hoisted_6$k = {
1612
1612
  key: 0,
1613
1613
  class: "event-flyout__row is-title"
1614
1614
  };
@@ -1806,8 +1806,8 @@ const _sfc_main$1c = /* @__PURE__ */ vue.defineComponent({
1806
1806
  class: vue.normalizeClass(["event-flyout p-05 bg-white", { "is-visible": isVisible.value, "is-not-editable": !isEditable.value }]),
1807
1807
  style: vue.normalizeStyle(eventFlyoutInlineStyles.value)
1808
1808
  }, [
1809
- !__props.config.eventDialog || !__props.config.eventDialog.isCustom ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$11, [
1810
- vue.createElementVNode("div", _hoisted_2$M, [
1809
+ !__props.config.eventDialog || !__props.config.eventDialog.isCustom ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$12, [
1810
+ vue.createElementVNode("div", _hoisted_2$N, [
1811
1811
  isEditable.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$E, [
1812
1812
  vue.createVNode(vue.unref(_sfc_main$s), {
1813
1813
  class: "event-flyout__menu-item is-edit-icon",
@@ -1820,7 +1820,7 @@ const _sfc_main$1c = /* @__PURE__ */ vue.defineComponent({
1820
1820
  onClick: deleteEvent
1821
1821
  }, null, 8, ["icon"])
1822
1822
  ])) : vue.createCommentVNode("", true),
1823
- vue.createElementVNode("span", _hoisted_4$r, [
1823
+ vue.createElementVNode("span", _hoisted_4$s, [
1824
1824
  vue.createVNode(vue.unref(_sfc_main$s), {
1825
1825
  class: "event-flyout__menu-item is-times-icon",
1826
1826
  icon: icons.times,
@@ -1828,8 +1828,8 @@ const _sfc_main$1c = /* @__PURE__ */ vue.defineComponent({
1828
1828
  }, null, 8, ["icon"])
1829
1829
  ])
1830
1830
  ]),
1831
- calendarEvent.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$n, [
1832
- calendarEvent.value.title ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$j, [
1831
+ calendarEvent.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$o, [
1832
+ calendarEvent.value.title ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$k, [
1833
1833
  vue.createElementVNode("div", {
1834
1834
  class: "event-flyout__color-icon",
1835
1835
  style: vue.normalizeStyle({ backgroundColor: eventBackgroundColor.value })
@@ -1873,17 +1873,17 @@ const _sfc_main$1c = /* @__PURE__ */ vue.defineComponent({
1873
1873
  };
1874
1874
  }
1875
1875
  });
1876
- const _hoisted_1$10 = {
1876
+ const _hoisted_1$11 = {
1877
1877
  key: 0,
1878
1878
  class: "calendar-month__event"
1879
1879
  };
1880
- const _hoisted_2$L = ["id", "draggable"];
1880
+ const _hoisted_2$M = ["id", "draggable"];
1881
1881
  const _hoisted_3$D = ["id", "draggable"];
1882
- const _hoisted_4$q = {
1882
+ const _hoisted_4$r = {
1883
1883
  key: 0,
1884
1884
  class: "calendar-month__event-time opacity-6 flex-shrink-0"
1885
1885
  };
1886
- const _hoisted_5$m = { class: "calendar-month__event-title1 white-space ellipsis" };
1886
+ const _hoisted_5$n = { class: "calendar-month__event-title1 white-space ellipsis" };
1887
1887
  const eventIdPrefix = "calendar-month__event-";
1888
1888
  const _sfc_main$1b = /* @__PURE__ */ vue.defineComponent({
1889
1889
  __name: "Event",
@@ -1965,7 +1965,7 @@ const _sfc_main$1b = /* @__PURE__ */ vue.defineComponent({
1965
1965
  setColors();
1966
1966
  });
1967
1967
  return (_ctx, _cache) => {
1968
- return __props.config.isSmall ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$10)) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
1968
+ return __props.config.isSmall ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$11)) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
1969
1969
  isCustomEvent.value ? (vue.openBlock(), vue.createElementBlock("div", {
1970
1970
  key: 0,
1971
1971
  id: elementId.value,
@@ -1976,7 +1976,7 @@ const _sfc_main$1b = /* @__PURE__ */ vue.defineComponent({
1976
1976
  onClick: handleClickOnEvent
1977
1977
  }, [
1978
1978
  vue.renderSlot(_ctx.$slots, "monthEvent", { eventData: __props.calendarEvent }, void 0, true)
1979
- ], 42, _hoisted_2$L)) : (vue.openBlock(), vue.createElementBlock("div", {
1979
+ ], 42, _hoisted_2$M)) : (vue.openBlock(), vue.createElementBlock("div", {
1980
1980
  key: 1,
1981
1981
  id: elementId.value,
1982
1982
  "data-ref": "default-event",
@@ -1986,18 +1986,18 @@ const _sfc_main$1b = /* @__PURE__ */ vue.defineComponent({
1986
1986
  onClick: handleClickOnEvent
1987
1987
  }, [
1988
1988
  _cache[0] || (_cache[0] = vue.createElementVNode("span", { class: "calendar-month__event-color round flex-shrink-0" }, null, -1)),
1989
- eventTimeStart.value && !__props.calendarEvent.originalEvent ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$q, vue.toDisplayString(eventTimeStart.value), 1)) : vue.createCommentVNode("", true),
1990
- vue.createElementVNode("span", _hoisted_5$m, vue.toDisplayString(__props.calendarEvent.title), 1)
1989
+ eventTimeStart.value && !__props.calendarEvent.originalEvent ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$r, vue.toDisplayString(eventTimeStart.value), 1)) : vue.createCommentVNode("", true),
1990
+ vue.createElementVNode("span", _hoisted_5$n, vue.toDisplayString(__props.calendarEvent.title), 1)
1991
1991
  ], 42, _hoisted_3$D))
1992
1992
  ], 64));
1993
1993
  };
1994
1994
  }
1995
1995
  });
1996
1996
  const Event = /* @__PURE__ */ _export_sfc(_sfc_main$1b, [["__scopeId", "data-v-3c4101df"]]);
1997
- const _hoisted_1$$ = ["id"];
1998
- const _hoisted_2$K = { class: "w-100p flex justify-content-end txt14 p-025 m_h-100p" };
1997
+ const _hoisted_1$10 = ["id"];
1998
+ const _hoisted_2$L = { class: "w-100p flex justify-content-end txt14 p-025 m_h-100p" };
1999
1999
  const _hoisted_3$C = { class: "calendar-month_events" };
2000
- const _hoisted_4$p = {
2000
+ const _hoisted_4$q = {
2001
2001
  key: 1,
2002
2002
  class: "space-reserver"
2003
2003
  };
@@ -2098,7 +2098,7 @@ const _sfc_main$1a = /* @__PURE__ */ vue.defineComponent({
2098
2098
  onDragend: handleDragEnd
2099
2099
  }, [
2100
2100
  vue.renderSlot(_ctx.$slots, "dayCell", { dayData: __props.day }, () => [
2101
- vue.createElementVNode("div", _hoisted_2$K, [
2101
+ vue.createElementVNode("div", _hoisted_2$L, [
2102
2102
  vue.createElementVNode("p", {
2103
2103
  class: "calendar-month__day-date ms-auto flex aspect-ratio-1 w-30px h-30px justify-content-center m_mx-auto",
2104
2104
  onClick: emitDayWasClicked
@@ -2131,12 +2131,12 @@ const _sfc_main$1a = /* @__PURE__ */ vue.defineComponent({
2131
2131
  }, vue.toDisplayString(vue.unref(getLanguage)(vue.unref(languageKeys).moreEvents, __props.time.CALENDAR_LOCALE)), 1)) : vue.createCommentVNode("", true)
2132
2132
  ])
2133
2133
  ], true)
2134
- ], 42, _hoisted_1$$)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$p));
2134
+ ], 42, _hoisted_1$10)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$q));
2135
2135
  };
2136
2136
  }
2137
2137
  });
2138
2138
  const Day$1 = /* @__PURE__ */ _export_sfc(_sfc_main$1a, [["__scopeId", "data-v-c1dfa100"]]);
2139
- const _hoisted_1$_ = { class: "txt12 normal block color-black pb-025" };
2139
+ const _hoisted_1$$ = { class: "txt12 normal block color-black pb-025" };
2140
2140
  const _sfc_main$19 = /* @__PURE__ */ vue.defineComponent({
2141
2141
  __name: "WeekDay",
2142
2142
  props: {
@@ -2144,14 +2144,14 @@ const _sfc_main$19 = /* @__PURE__ */ vue.defineComponent({
2144
2144
  },
2145
2145
  setup(__props) {
2146
2146
  return (_ctx, _cache) => {
2147
- return vue.openBlock(), vue.createElementBlock("span", _hoisted_1$_, vue.toDisplayString(_ctx.day.dayName), 1);
2147
+ return vue.openBlock(), vue.createElementBlock("span", _hoisted_1$$, vue.toDisplayString(_ctx.day.dayName), 1);
2148
2148
  };
2149
2149
  }
2150
2150
  });
2151
- const _hoisted_1$Z = { class: "calendar-month relative column w-100p h-100p overflow-y flex flex-stretch" };
2152
- const _hoisted_2$J = { class: "flex space-between" };
2151
+ const _hoisted_1$_ = { class: "calendar-month relative column w-100p h-100p overflow-y flex flex-stretch" };
2152
+ const _hoisted_2$K = { class: "flex space-between" };
2153
2153
  const _hoisted_3$B = { class: "calendar-month__weeks h-100p flex-grow flex flex-stretch column space-between" };
2154
- const _hoisted_4$o = {
2154
+ const _hoisted_4$p = {
2155
2155
  key: 0,
2156
2156
  class: "calendar-month__day_events w-100p pt-1 m_pb-1"
2157
2157
  };
@@ -2257,8 +2257,8 @@ const _sfc_main$18 = /* @__PURE__ */ vue.defineComponent({
2257
2257
  });
2258
2258
  return (_ctx, _cache) => {
2259
2259
  var _a;
2260
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$Z, [
2261
- vue.createElementVNode("div", _hoisted_2$J, [
2260
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$_, [
2261
+ vue.createElementVNode("div", _hoisted_2$K, [
2262
2262
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(month.value[0], (day, dayIndex) => {
2263
2263
  return vue.openBlock(), vue.createBlock(_sfc_main$19, {
2264
2264
  key: dayIndex,
@@ -2300,7 +2300,7 @@ const _sfc_main$18 = /* @__PURE__ */ vue.defineComponent({
2300
2300
  ]);
2301
2301
  }), 128))
2302
2302
  ]),
2303
- !(((_a = __props.config.month) == null ? void 0 : _a.showEventsOnMobileView) === false) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$o, [
2303
+ !(((_a = __props.config.month) == null ? void 0 : _a.showEventsOnMobileView) === false) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$p, [
2304
2304
  selectedDay.value ? (vue.openBlock(), vue.createBlock(AgendaEvents, {
2305
2305
  key: 0,
2306
2306
  config: __props.config,
@@ -2534,18 +2534,18 @@ class EventChange {
2534
2534
  this.dayEnd = `${endHourString}:00`;
2535
2535
  }
2536
2536
  }
2537
- const _hoisted_1$Y = ["data-ref"];
2538
- const _hoisted_2$I = { class: "calendar-week__event-row is-title" };
2537
+ const _hoisted_1$Z = ["data-ref"];
2538
+ const _hoisted_2$J = { class: "calendar-week__event-row is-title" };
2539
2539
  const _hoisted_3$A = { class: "calendar-week__event-row is-time flex" };
2540
- const _hoisted_4$n = {
2540
+ const _hoisted_4$o = {
2541
2541
  key: 0,
2542
2542
  class: "calendar-week__event-row is-location"
2543
2543
  };
2544
- const _hoisted_5$l = {
2544
+ const _hoisted_5$m = {
2545
2545
  key: 1,
2546
2546
  class: "calendar-week__event-row is-with"
2547
2547
  };
2548
- const _hoisted_6$i = {
2548
+ const _hoisted_6$j = {
2549
2549
  key: 2,
2550
2550
  class: "calendar-week__event-row is-topic"
2551
2551
  };
@@ -2896,7 +2896,7 @@ const _sfc_main$17 = /* @__PURE__ */ vue.defineComponent({
2896
2896
  backgroundColor: eventBackgroundColor.value
2897
2897
  })
2898
2898
  }, [
2899
- vue.createElementVNode("div", _hoisted_2$I, vue.toDisplayString(event.value.title), 1),
2899
+ vue.createElementVNode("div", _hoisted_2$J, vue.toDisplayString(event.value.title), 1),
2900
2900
  vue.createElementVNode("div", _hoisted_3$A, [
2901
2901
  vue.createVNode(vue.unref(_sfc_main$s), {
2902
2902
  icon: icons.value.clock,
@@ -2904,21 +2904,21 @@ const _sfc_main$17 = /* @__PURE__ */ vue.defineComponent({
2904
2904
  }, null, 8, ["icon"]),
2905
2905
  vue.createElementVNode("span", null, vue.toDisplayString(getEventTime.value), 1)
2906
2906
  ]),
2907
- event.value.location ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$n, [
2907
+ event.value.location ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$o, [
2908
2908
  vue.createVNode(vue.unref(_sfc_main$s), {
2909
2909
  icon: icons.value.location,
2910
2910
  class: "calendar-week__event-icon"
2911
2911
  }, null, 8, ["icon"]),
2912
2912
  vue.createElementVNode("span", null, vue.toDisplayString(event.value.location), 1)
2913
2913
  ])) : vue.createCommentVNode("", true),
2914
- event.value.with ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$l, [
2914
+ event.value.with ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$m, [
2915
2915
  vue.createVNode(vue.unref(_sfc_main$s), {
2916
2916
  icon: icons.value.user,
2917
2917
  class: "calendar-week__event-icon"
2918
2918
  }, null, 8, ["icon"]),
2919
2919
  vue.createElementVNode("span", null, vue.toDisplayString(event.value.with), 1)
2920
2920
  ])) : vue.createCommentVNode("", true),
2921
- event.value.topic ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$i, [
2921
+ event.value.topic ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$j, [
2922
2922
  vue.createVNode(vue.unref(_sfc_main$s), {
2923
2923
  icon: icons.value.topic,
2924
2924
  class: "calendar-week__event-icon"
@@ -2955,12 +2955,12 @@ const _sfc_main$17 = /* @__PURE__ */ vue.defineComponent({
2955
2955
  class: "calendar-week__event-resize calendar-week__event-resize-down",
2956
2956
  onMousedown: _cache[1] || (_cache[1] = ($event) => resizeEvent("down"))
2957
2957
  }, null, 32)) : vue.createCommentVNode("", true)
2958
- ], 46, _hoisted_1$Y);
2958
+ ], 46, _hoisted_1$Z);
2959
2959
  };
2960
2960
  }
2961
2961
  });
2962
2962
  const DayEvent = /* @__PURE__ */ _export_sfc(_sfc_main$17, [["__scopeId", "data-v-c512b81d"]]);
2963
- const _hoisted_1$X = ["id", "onClick"];
2963
+ const _hoisted_1$Y = ["id", "onClick"];
2964
2964
  const _sfc_main$16 = /* @__PURE__ */ vue.defineComponent({
2965
2965
  __name: "Day",
2966
2966
  props: {
@@ -3098,15 +3098,15 @@ const _sfc_main$16 = /* @__PURE__ */ vue.defineComponent({
3098
3098
  class: vue.normalizeClass(["calendar-week__day-interval", { "has-border": interval.hasBorder }]),
3099
3099
  style: vue.normalizeStyle(intervalStyles.value),
3100
3100
  onClick: ($event) => handleClickOnInterval(interval)
3101
- }, vue.toDisplayString(__props.time.getLocalizedTime(interval.intervalStart)), 15, _hoisted_1$X);
3101
+ }, vue.toDisplayString(__props.time.getLocalizedTime(interval.intervalStart)), 15, _hoisted_1$Y);
3102
3102
  }), 128)) : vue.createCommentVNode("", true)
3103
3103
  ]);
3104
3104
  };
3105
3105
  }
3106
3106
  });
3107
3107
  const Day = /* @__PURE__ */ _export_sfc(_sfc_main$16, [["__scopeId", "data-v-87669cec"]]);
3108
- const _hoisted_1$W = { class: "day-timeline absolute top-0 start-0 space-evenly column display-flex" };
3109
- const _hoisted_2$H = { class: "day-timeline__hour-text line-height-0" };
3108
+ const _hoisted_1$X = { class: "day-timeline absolute top-0 start-0 space-evenly column display-flex" };
3109
+ const _hoisted_2$I = { class: "day-timeline__hour-text line-height-0" };
3110
3110
  const _sfc_main$15 = /* @__PURE__ */ vue.defineComponent({
3111
3111
  __name: "DayTimeline",
3112
3112
  props: {
@@ -3133,13 +3133,13 @@ const _sfc_main$15 = /* @__PURE__ */ vue.defineComponent({
3133
3133
  return props2.time.getLocalizedHour(new Date(2100, 1, 1, hour));
3134
3134
  }
3135
3135
  return (_ctx, _cache) => {
3136
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$W, [
3136
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$X, [
3137
3137
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(timelineHours.value, (hour) => {
3138
3138
  return vue.openBlock(), vue.createElementBlock("div", {
3139
3139
  key: hour,
3140
3140
  class: "day-timeline__hour display-flex column ustify-content-start h-100p ps-05"
3141
3141
  }, [
3142
- vue.createElementVNode("span", _hoisted_2$H, vue.toDisplayString(getLocaleTimeString(hour)), 1)
3142
+ vue.createElementVNode("span", _hoisted_2$I, vue.toDisplayString(getLocaleTimeString(hour)), 1)
3143
3143
  ]);
3144
3144
  }), 128))
3145
3145
  ]);
@@ -3147,8 +3147,8 @@ const _sfc_main$15 = /* @__PURE__ */ vue.defineComponent({
3147
3147
  }
3148
3148
  });
3149
3149
  const DayTimeline = /* @__PURE__ */ _export_sfc(_sfc_main$15, [["__scopeId", "data-v-0b3de5c5"]]);
3150
- const _hoisted_1$V = ["id"];
3151
- const _hoisted_2$G = {
3150
+ const _hoisted_1$W = ["id"];
3151
+ const _hoisted_2$H = {
3152
3152
  key: 1,
3153
3153
  class: "week-timeline__event"
3154
3154
  };
@@ -3219,20 +3219,20 @@ const _sfc_main$14 = /* @__PURE__ */ vue.defineComponent({
3219
3219
  zIndex: 1
3220
3220
  }),
3221
3221
  onClick: handleClickOnEvent
3222
- }, vue.toDisplayString(__props.scheduleEvent.title), 13, _hoisted_1$V)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$G));
3222
+ }, vue.toDisplayString(__props.scheduleEvent.title), 13, _hoisted_1$W)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$H));
3223
3223
  };
3224
3224
  }
3225
3225
  });
3226
3226
  const FullDayEvent = /* @__PURE__ */ _export_sfc(_sfc_main$14, [["__scopeId", "data-v-8bd51337"]]);
3227
- const _hoisted_1$U = {
3227
+ const _hoisted_1$V = {
3228
3228
  class: "week-timeline flex space-between border-bottom ms-3-5",
3229
3229
  style: { "margin-inline-end": "0.5em" }
3230
3230
  };
3231
- const _hoisted_2$F = ["onClick"];
3231
+ const _hoisted_2$G = ["onClick"];
3232
3232
  const _hoisted_3$z = { class: "flex justify-content-center gap-025 txt12 pb-025" };
3233
- const _hoisted_4$m = { class: "" };
3234
- const _hoisted_5$k = { class: "week-timeline__date txt14 round inline-flex justify-content-center" };
3235
- const _hoisted_6$h = { class: "week-timeline__events" };
3233
+ const _hoisted_4$n = { class: "" };
3234
+ const _hoisted_5$l = { class: "week-timeline__date txt14 round inline-flex justify-content-center" };
3235
+ const _hoisted_6$i = { class: "week-timeline__events" };
3236
3236
  const _sfc_main$13 = /* @__PURE__ */ vue.defineComponent({
3237
3237
  __name: "WeekTimeline",
3238
3238
  props: {
@@ -3254,7 +3254,7 @@ const _sfc_main$13 = /* @__PURE__ */ vue.defineComponent({
3254
3254
  return date2;
3255
3255
  }
3256
3256
  return (_ctx, _cache) => {
3257
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$U, [
3257
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$V, [
3258
3258
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.days, (day, dayIndex) => {
3259
3259
  return vue.openBlock(), vue.createElementBlock("div", {
3260
3260
  key: dayIndex,
@@ -3264,10 +3264,10 @@ const _sfc_main$13 = /* @__PURE__ */ vue.defineComponent({
3264
3264
  onClick: ($event) => emit2("dayWasClicked", _ctx.time.dateStringFrom(day.dateTimeString))
3265
3265
  }, [
3266
3266
  vue.createElementVNode("div", _hoisted_3$z, [
3267
- vue.createElementVNode("div", _hoisted_4$m, vue.toDisplayString(day.dayName.charAt(0).toUpperCase() + day.dayName.slice(1, 3).toLowerCase()), 1),
3268
- vue.createElementVNode("div", _hoisted_5$k, vue.toDisplayString(getDaysDate(day)), 1)
3267
+ vue.createElementVNode("div", _hoisted_4$n, vue.toDisplayString(day.dayName.charAt(0).toUpperCase() + day.dayName.slice(1, 3).toLowerCase()), 1),
3268
+ vue.createElementVNode("div", _hoisted_5$l, vue.toDisplayString(getDaysDate(day)), 1)
3269
3269
  ]),
3270
- vue.createElementVNode("div", _hoisted_6$h, [
3270
+ vue.createElementVNode("div", _hoisted_6$i, [
3271
3271
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(day.fullDayEvents, (event, key) => {
3272
3272
  return vue.openBlock(), vue.createElementBlock(vue.Fragment, { key }, [
3273
3273
  key !== "date" ? (vue.openBlock(), vue.createBlock(FullDayEvent, {
@@ -3280,15 +3280,15 @@ const _sfc_main$13 = /* @__PURE__ */ vue.defineComponent({
3280
3280
  ], 64);
3281
3281
  }), 128))
3282
3282
  ])
3283
- ], 10, _hoisted_2$F);
3283
+ ], 10, _hoisted_2$G);
3284
3284
  }), 128))
3285
3285
  ]);
3286
3286
  };
3287
3287
  }
3288
3288
  });
3289
3289
  const WeekTimeline = /* @__PURE__ */ _export_sfc(_sfc_main$13, [["__scopeId", "data-v-18ecf6c3"]]);
3290
- const _hoisted_1$T = { class: "calendar-week__wrapper relative ps-3-5" };
3291
- const _hoisted_2$E = { class: "calendar-week" };
3290
+ const _hoisted_1$U = { class: "calendar-week__wrapper relative ps-3-5" };
3291
+ const _hoisted_2$F = { class: "calendar-week" };
3292
3292
  const _hoisted_3$y = { class: "calendar-week__events" };
3293
3293
  const _sfc_main$12 = /* @__PURE__ */ vue.defineComponent({
3294
3294
  __name: "Week",
@@ -3516,7 +3516,7 @@ const _sfc_main$12 = /* @__PURE__ */ vue.defineComponent({
3516
3516
  onEventWasClicked: handleClickOnEvent,
3517
3517
  onDayWasClicked: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("dayWasClicked", $event))
3518
3518
  }, null, 8, ["days", "time", "full-day-events", "config", "mode"]),
3519
- vue.createElementVNode("div", _hoisted_1$T, [
3519
+ vue.createElementVNode("div", _hoisted_1$U, [
3520
3520
  !__props.config.eventDialog || !__props.config.eventDialog.isDisabled ? (vue.openBlock(), vue.createBlock(_sfc_main$1c, {
3521
3521
  key: 0,
3522
3522
  "calendar-event-prop": selectedEvent.value,
@@ -3535,7 +3535,7 @@ const _sfc_main$12 = /* @__PURE__ */ vue.defineComponent({
3535
3535
  ]),
3536
3536
  _: 3
3537
3537
  }, 8, ["calendar-event-prop", "event-element", "time", "config"])) : vue.createCommentVNode("", true),
3538
- vue.createElementVNode("section", _hoisted_2$E, [
3538
+ vue.createElementVNode("section", _hoisted_2$F, [
3539
3539
  hasCustomCurrentTimeSlot.value && showCurrentTime.value ? (vue.openBlock(), vue.createElementBlock("div", {
3540
3540
  key: 0,
3541
3541
  class: "custom-current-time",
@@ -3637,8 +3637,8 @@ ${_Errors.SUFFIX}`);
3637
3637
  __publicField(_Errors, "MISSING_TIME_END_WARNING", `${_Errors.PREFIX} required event property 'time.end' is missing
3638
3638
  ${_Errors.SUFFIX}`);
3639
3639
  let Errors = _Errors;
3640
- const _hoisted_1$S = { class: "calendar-root-wrapper txt16" };
3641
- const _hoisted_2$D = ["data-lang"];
3640
+ const _hoisted_1$T = { class: "calendar-root-wrapper txt16" };
3641
+ const _hoisted_2$E = ["data-lang"];
3642
3642
  const _hoisted_3$x = {
3643
3643
  key: 0,
3644
3644
  class: "top-bar-loader"
@@ -3817,7 +3817,7 @@ const _sfc_main$11 = /* @__PURE__ */ vue.defineComponent({
3817
3817
  }
3818
3818
  return (_ctx, _cache) => {
3819
3819
  var _a2, _b2;
3820
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$S, [
3820
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$T, [
3821
3821
  vue.createElementVNode("div", {
3822
3822
  ref_key: "calendarRoot",
3823
3823
  ref: calendarRoot,
@@ -3916,12 +3916,12 @@ const _sfc_main$11 = /* @__PURE__ */ vue.defineComponent({
3916
3916
  ]),
3917
3917
  _: 3
3918
3918
  }, 8, ["events-prop", "time", "config", "period"])) : vue.createCommentVNode("", true)
3919
- ], 10, _hoisted_2$D)
3919
+ ], 10, _hoisted_2$E)
3920
3920
  ]);
3921
3921
  };
3922
3922
  }
3923
3923
  });
3924
- const _hoisted_1$R = {
3924
+ const _hoisted_1$S = {
3925
3925
  key: 0,
3926
3926
  class: "card_label"
3927
3927
  };
@@ -3954,7 +3954,7 @@ const _sfc_main$10 = /* @__PURE__ */ vue.defineComponent({
3954
3954
  }])
3955
3955
  }, {
3956
3956
  default: vue.withCtx(() => [
3957
- _ctx.label ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_1$R, vue.toDisplayString(_ctx.label), 1)) : vue.createCommentVNode("", true),
3957
+ _ctx.label ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_1$S, vue.toDisplayString(_ctx.label), 1)) : vue.createCommentVNode("", true),
3958
3958
  vue.renderSlot(_ctx.$slots, "default")
3959
3959
  ]),
3960
3960
  _: 3
@@ -3964,13 +3964,13 @@ const _sfc_main$10 = /* @__PURE__ */ vue.defineComponent({
3964
3964
  };
3965
3965
  }
3966
3966
  });
3967
- const _hoisted_1$Q = ["dir"];
3968
- const _hoisted_2$C = {
3967
+ const _hoisted_1$R = ["dir"];
3968
+ const _hoisted_2$D = {
3969
3969
  key: 0,
3970
3970
  class: "dots"
3971
3971
  };
3972
3972
  const _hoisted_3$w = ["onClick"];
3973
- const _hoisted_4$l = { class: "Handlers" };
3973
+ const _hoisted_4$m = { class: "Handlers" };
3974
3974
  const GAP_PERCENT = 1;
3975
3975
  const VELOCITY_SAMPLE_DURATION = 100;
3976
3976
  const _sfc_main$$ = /* @__PURE__ */ vue.defineComponent({
@@ -4399,7 +4399,7 @@ const _sfc_main$$ = /* @__PURE__ */ vue.defineComponent({
4399
4399
  }, [
4400
4400
  vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
4401
4401
  ], 38),
4402
- props2.dots && vue.unref(slideCount) > 1 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$C, [
4402
+ props2.dots && vue.unref(slideCount) > 1 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$D, [
4403
4403
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(slideCount), (i2) => {
4404
4404
  return vue.openBlock(), vue.createElementBlock("span", {
4405
4405
  key: i2,
@@ -4408,7 +4408,7 @@ const _sfc_main$$ = /* @__PURE__ */ vue.defineComponent({
4408
4408
  }, null, 10, _hoisted_3$w);
4409
4409
  }), 128))
4410
4410
  ])) : vue.createCommentVNode("", true),
4411
- vue.createElementVNode("div", _hoisted_4$l, [
4411
+ vue.createElementVNode("div", _hoisted_4$m, [
4412
4412
  vue.createElementVNode("span", { onClick: prev }, [
4413
4413
  vue.renderSlot(_ctx.$slots, "prev", {
4414
4414
  index: vue.unref(activeSlideIndex),
@@ -4422,7 +4422,7 @@ const _sfc_main$$ = /* @__PURE__ */ vue.defineComponent({
4422
4422
  }, void 0, true)
4423
4423
  ])
4424
4424
  ])
4425
- ], 14, _hoisted_1$Q);
4425
+ ], 14, _hoisted_1$R);
4426
4426
  };
4427
4427
  }
4428
4428
  });
@@ -10261,9 +10261,9 @@ const _hoisted_1$1$1 = {
10261
10261
  };
10262
10262
  const _hoisted_2$1$1 = ["width", "height", "viewBox"];
10263
10263
  const _hoisted_3$v = { class: "layer-rectangles" };
10264
- const _hoisted_4$k = ["transform", "onMouseover"];
10265
- const _hoisted_5$j = ["width", "height"];
10266
- const _hoisted_6$g = {
10264
+ const _hoisted_4$l = ["transform", "onMouseover"];
10265
+ const _hoisted_5$k = ["width", "height"];
10266
+ const _hoisted_6$h = {
10267
10267
  x: 0 + 10,
10268
10268
  y: 0 + 20,
10269
10269
  "font-size": `15px`,
@@ -10299,21 +10299,21 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
10299
10299
  y: 0,
10300
10300
  width: r2.width,
10301
10301
  height: r2.height
10302
- }), null, 16, _hoisted_5$j),
10302
+ }), null, 16, _hoisted_5$k),
10303
10303
  vue.renderSlot(_ctx.$slots, "text", {
10304
10304
  r: r2,
10305
10305
  selected: _ctx.selected === i2
10306
10306
  }, () => [
10307
10307
  vue.createElementVNode(
10308
10308
  "text",
10309
- _hoisted_6$g,
10309
+ _hoisted_6$h,
10310
10310
  vue.toDisplayString(r2.data.name),
10311
10311
  1
10312
10312
  /* TEXT */
10313
10313
  )
10314
10314
  ])
10315
10315
  ])
10316
- ], 42, _hoisted_4$k);
10316
+ ], 42, _hoisted_4$l);
10317
10317
  }),
10318
10318
  128
10319
10319
  /* KEYED_FRAGMENT */
@@ -10370,19 +10370,19 @@ var script = vue.defineComponent({
10370
10370
  return { bar, canvas, direction, mouse };
10371
10371
  }
10372
10372
  });
10373
- const _hoisted_1$P = {
10373
+ const _hoisted_1$Q = {
10374
10374
  key: 0,
10375
10375
  class: "layer-hover-bar"
10376
10376
  };
10377
- const _hoisted_2$B = ["x", "y", "width", "height"];
10377
+ const _hoisted_2$C = ["x", "y", "width", "height"];
10378
10378
  function render(_ctx, _cache, $props, $setup, $data, $options) {
10379
- return _ctx.mouse.hover ? (vue.openBlock(), vue.createElementBlock("g", _hoisted_1$P, [
10379
+ return _ctx.mouse.hover ? (vue.openBlock(), vue.createElementBlock("g", _hoisted_1$Q, [
10380
10380
  vue.createElementVNode("rect", vue.mergeProps({ class: "hover-bar" }, _ctx.barStyle, {
10381
10381
  x: _ctx.bar.x,
10382
10382
  y: _ctx.bar.y,
10383
10383
  width: _ctx.bar.width > 0 ? _ctx.bar.width : 0,
10384
10384
  height: _ctx.bar.height > 0 ? _ctx.bar.height : 0
10385
- }), null, 16, _hoisted_2$B)
10385
+ }), null, 16, _hoisted_2$C)
10386
10386
  ])) : vue.createCommentVNode("v-if", true);
10387
10387
  }
10388
10388
  script.render = render;
@@ -10689,14 +10689,43 @@ function useTableData(options) {
10689
10689
  const sortField = vue.ref("");
10690
10690
  const sortDirection = vue.ref("ASC");
10691
10691
  function getValue(value) {
10692
- return value.value !== void 0 ? value.value : value;
10692
+ if (value === void 0 || value === null) {
10693
+ return void 0;
10694
+ }
10695
+ try {
10696
+ if (value && typeof value === "object" && "value" in value) {
10697
+ return value.value;
10698
+ }
10699
+ return value;
10700
+ } catch (error) {
10701
+ console.error("Error in getValue:", error);
10702
+ return void 0;
10703
+ }
10693
10704
  }
10694
10705
  const computedSchema = vue.computed(() => {
10695
- return useBglSchema({
10706
+ const dataValue = options.data.value || [];
10707
+ const schema = useBglSchema({
10696
10708
  schema: getValue(options.schema),
10697
10709
  columns: getValue(options.columns),
10698
- data: options.data.value
10699
- });
10710
+ data: dataValue
10711
+ });
10712
+ if (Array.isArray(schema) && schema.length > 0) {
10713
+ return schema.filter((field) => field && field.id);
10714
+ }
10715
+ if (Array.isArray(dataValue) && dataValue.length > 0) {
10716
+ const firstItem = dataValue[0];
10717
+ return Object.keys(firstItem || {}).filter((key) => key !== "id" && !key.startsWith("_")).map((key) => ({
10718
+ id: key,
10719
+ label: keyToLabel(key),
10720
+ $el: "div",
10721
+ transform: (val) => {
10722
+ const dateFields = ["created_at", "updated_at"];
10723
+ if (dateFields.includes(key)) return val ? new Date(val).toLocaleString() : val;
10724
+ return val;
10725
+ }
10726
+ }));
10727
+ }
10728
+ return [];
10700
10729
  });
10701
10730
  function transform(rowData) {
10702
10731
  const transformed = { ...rowData };
@@ -10722,9 +10751,21 @@ function useTableData(options) {
10722
10751
  }
10723
10752
  return transformed;
10724
10753
  }
10754
+ function cleanTransformedData(data2) {
10755
+ const cleanData = { ...data2 };
10756
+ Object.keys(cleanData).forEach((key) => {
10757
+ if (key.startsWith("_")) {
10758
+ delete cleanData[key];
10759
+ }
10760
+ });
10761
+ return cleanData;
10762
+ }
10725
10763
  const computedSortField = vue.computed(() => sortField.value ? `_transformed_${sortField.value}` : "");
10726
10764
  const computedData = vue.computed(() => {
10727
- const currentData = options.data.value;
10765
+ const currentData = options.data.value || [];
10766
+ if (!Array.isArray(currentData) || currentData.length === 0) {
10767
+ return [];
10768
+ }
10728
10769
  const useServerSortValue = getValue(options.useServerSort);
10729
10770
  if (!sortField.value || useServerSortValue === true) {
10730
10771
  return currentData.map(transform);
@@ -10766,10 +10807,15 @@ function useTableData(options) {
10766
10807
  transform,
10767
10808
  sortField: vue.computed(() => sortField.value),
10768
10809
  sortDirection: vue.computed(() => sortDirection.value),
10769
- toggleSort
10810
+ toggleSort,
10811
+ cleanTransformedData
10770
10812
  };
10771
10813
  }
10772
- const _hoisted_1$O = { class: "data-preview" };
10814
+ const _hoisted_1$P = { class: "data-preview" };
10815
+ const _hoisted_2$B = {
10816
+ key: 1,
10817
+ class: "empty-preview"
10818
+ };
10773
10819
  const _sfc_main$Z = /* @__PURE__ */ vue.defineComponent({
10774
10820
  __name: "DataPreview",
10775
10821
  props: {
@@ -10784,7 +10830,12 @@ const _sfc_main$Z = /* @__PURE__ */ vue.defineComponent({
10784
10830
  setup(__props) {
10785
10831
  const props2 = __props;
10786
10832
  const slots = vue.useSlots();
10787
- const data2 = vue.computed(() => Array.isArray(props2.modelValue) ? props2.modelValue : [props2.modelValue]);
10833
+ const data2 = vue.computed(() => {
10834
+ if (!props2.modelValue) {
10835
+ return [];
10836
+ }
10837
+ return Array.isArray(props2.modelValue) ? props2.modelValue : [props2.modelValue];
10838
+ });
10788
10839
  const {
10789
10840
  computedSchema,
10790
10841
  computedData
@@ -10794,24 +10845,29 @@ const _sfc_main$Z = /* @__PURE__ */ vue.defineComponent({
10794
10845
  columns: props2.columns,
10795
10846
  useServerSort: false
10796
10847
  });
10797
- const firstItem = vue.computed(() => computedData.value[0] || {});
10848
+ const firstItem = vue.computed(() => {
10849
+ if (!computedData.value || computedData.value.length === 0) {
10850
+ return {};
10851
+ }
10852
+ return computedData.value[0] || {};
10853
+ });
10798
10854
  const { renderField } = useSchemaField({
10799
10855
  mode: "preview",
10800
10856
  getRowData: () => firstItem.value,
10801
10857
  includeUnset: props2.includeUnset
10802
10858
  });
10803
10859
  return (_ctx, _cache) => {
10804
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$O, [
10805
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(computedSchema), (field) => {
10860
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$P, [
10861
+ vue.unref(computedSchema) && vue.unref(computedSchema).length > 0 ? (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 0 }, vue.renderList(vue.unref(computedSchema), (field) => {
10806
10862
  return vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(vue.unref(renderField)(field, vue.unref(slots))), {
10807
10863
  key: field.id
10808
10864
  });
10809
- }), 128))
10865
+ }), 128)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$B, " No data to display "))
10810
10866
  ]);
10811
10867
  };
10812
10868
  }
10813
10869
  });
10814
- const DataPreview = /* @__PURE__ */ _export_sfc(_sfc_main$Z, [["__scopeId", "data-v-88ed9d8d"]]);
10870
+ const DataPreview = /* @__PURE__ */ _export_sfc(_sfc_main$Z, [["__scopeId", "data-v-4cd3d931"]]);
10815
10871
  function useTableSelection(options) {
10816
10872
  const allSelectorEl = vue.ref();
10817
10873
  const computedSelectedItems = vue.computed(() => options.selectedItems.value);
@@ -10824,8 +10880,14 @@ function useTableSelection(options) {
10824
10880
  }
10825
10881
  function toggleSelectItem(item) {
10826
10882
  if (computedSelectedItems.value.length === 0) {
10827
- const cleanItem = { ...item };
10828
- Object.keys(cleanItem).forEach((key) => key.startsWith("_transformed_") && delete cleanItem[key]);
10883
+ const cleanItem = options.cleanData ? options.cleanData(item) : { ...item };
10884
+ if (!options.cleanData) {
10885
+ Object.keys(cleanItem).forEach((key) => {
10886
+ if (key.startsWith("_")) {
10887
+ delete cleanItem[key];
10888
+ }
10889
+ });
10890
+ }
10829
10891
  options.onSelect(cleanItem);
10830
10892
  return;
10831
10893
  }
@@ -11426,7 +11488,13 @@ function useTableVirtualization(options) {
11426
11488
  await until(() => lastItemEl.value).toBeTruthy();
11427
11489
  useIntersectionObserver(lastItemEl, ([entry]) => {
11428
11490
  var _a;
11429
- if (entry.isIntersecting && options.data.value.length) {
11491
+ let dataLength = 0;
11492
+ if (vue.isRef(options.data) && options.data.value) {
11493
+ dataLength = Array.isArray(options.data.value) ? options.data.value.length : 0;
11494
+ } else if (Array.isArray(options.data)) {
11495
+ dataLength = options.data.length;
11496
+ }
11497
+ if (entry.isIntersecting && dataLength > 0) {
11430
11498
  (_a = options.onLastItemVisible) == null ? void 0 : _a.call(options);
11431
11499
  }
11432
11500
  });
@@ -11440,15 +11508,15 @@ function useTableVirtualization(options) {
11440
11508
  registerLastItemObserver
11441
11509
  };
11442
11510
  }
11443
- const _hoisted_1$N = {
11511
+ const _hoisted_1$O = {
11444
11512
  key: 0,
11445
11513
  class: "loading-table-wrapper z-99 h-100 w-100 absolute inset"
11446
11514
  };
11447
11515
  const _hoisted_2$A = { class: "infinite-wrapper" };
11448
11516
  const _hoisted_3$u = { class: "row first-row" };
11449
- const _hoisted_4$j = { key: 0 };
11450
- const _hoisted_5$i = ["onClick"];
11451
- const _hoisted_6$f = { class: "flex" };
11517
+ const _hoisted_4$k = { key: 0 };
11518
+ const _hoisted_5$j = ["onClick"];
11519
+ const _hoisted_6$g = { class: "flex" };
11452
11520
  const _hoisted_7$c = ["onClick"];
11453
11521
  const _hoisted_8$7 = { key: 0 };
11454
11522
  const _hoisted_9$6 = ["value"];
@@ -11473,7 +11541,7 @@ const _sfc_main$Y = /* @__PURE__ */ vue.defineComponent({
11473
11541
  emits: /* @__PURE__ */ vue.mergeModels(["orderBy", "select", "lastItemVisible"], ["update:loading", "update:itemHeight", "update:selectedItems"]),
11474
11542
  setup(__props, { emit: __emit }) {
11475
11543
  vue.useCssVars((_ctx) => ({
11476
- "97de67d4": vue.unref(computedItemHeight)
11544
+ "31aad8d2": vue.unref(computedItemHeight)
11477
11545
  }));
11478
11546
  const props2 = __props;
11479
11547
  const emit2 = __emit;
@@ -11490,7 +11558,8 @@ const _sfc_main$Y = /* @__PURE__ */ vue.defineComponent({
11490
11558
  computedData,
11491
11559
  sortField,
11492
11560
  sortDirection,
11493
- toggleSort
11561
+ toggleSort,
11562
+ cleanTransformedData
11494
11563
  } = useTableData({ data: data2, schema, columns, useServerSort, onSort: (field, direction) => {
11495
11564
  emit2("orderBy", `${field} ${direction}`.trim());
11496
11565
  } });
@@ -11504,6 +11573,7 @@ const _sfc_main$Y = /* @__PURE__ */ vue.defineComponent({
11504
11573
  } = useTableSelection({
11505
11574
  selectable: props2.selectable,
11506
11575
  selectedItems,
11576
+ cleanData: cleanTransformedData,
11507
11577
  onSelect: (item) => {
11508
11578
  emit2("select", item);
11509
11579
  }
@@ -11562,12 +11632,12 @@ const _sfc_main$Y = /* @__PURE__ */ vue.defineComponent({
11562
11632
  return vue.openBlock(), vue.createElementBlock("div", vue.mergeProps({ class: "table-list-wrap h-100" }, vue.unref(containerProps), {
11563
11633
  class: { "loading-table": loading.value }
11564
11634
  }), [
11565
- loading.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$N, _cache[4] || (_cache[4] = [
11635
+ loading.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$O, _cache[4] || (_cache[4] = [
11566
11636
  vue.createElementVNode("div", { class: "loading-table-animation absolute oval" }, null, -1)
11567
11637
  ]))) : (vue.openBlock(), vue.createElementBlock("div", vue.normalizeProps(vue.mergeProps({ key: 1 }, vue.unref(wrapperProps))), [
11568
11638
  vue.createElementVNode("table", _hoisted_2$A, [
11569
11639
  vue.createElementVNode("thead", _hoisted_3$u, [
11570
- vue.unref(isSelectable) ? (vue.openBlock(), vue.createElementBlock("th", _hoisted_4$j, [
11640
+ vue.unref(isSelectable) ? (vue.openBlock(), vue.createElementBlock("th", _hoisted_4$k, [
11571
11641
  vue.createElementVNode("input", {
11572
11642
  ref_key: "allSelectorEl",
11573
11643
  ref: allSelectorEl,
@@ -11584,10 +11654,10 @@ const _sfc_main$Y = /* @__PURE__ */ vue.defineComponent({
11584
11654
  class: "col",
11585
11655
  onClick: ($event) => vue.unref(toggleSort)((field == null ? void 0 : field.id) || "")
11586
11656
  }, [
11587
- vue.createElementVNode("div", _hoisted_6$f, [
11588
- vue.createTextVNode(vue.toDisplayString(field.label || vue.unref(keyToLabel)(field.id)) + " ", 1),
11657
+ vue.createElementVNode("div", _hoisted_6$g, [
11658
+ vue.createTextVNode(vue.toDisplayString(field.label || vue.unref(keyToLabel)(field == null ? void 0 : field.id)) + " ", 1),
11589
11659
  vue.createElementVNode("div", {
11590
- class: vue.normalizeClass(["list-arrows", { sorted: vue.unref(sortField) === field.id }])
11660
+ class: vue.normalizeClass(["list-arrows", { sorted: vue.unref(sortField) === (field == null ? void 0 : field.id) }])
11591
11661
  }, [
11592
11662
  vue.createVNode(vue.unref(_sfc_main$s), {
11593
11663
  class: vue.normalizeClass({ desc: vue.unref(sortDirection) === "DESC" }),
@@ -11595,14 +11665,14 @@ const _sfc_main$Y = /* @__PURE__ */ vue.defineComponent({
11595
11665
  }, null, 8, ["class"])
11596
11666
  ], 2)
11597
11667
  ])
11598
- ], 8, _hoisted_5$i);
11668
+ ], 8, _hoisted_5$j);
11599
11669
  }), 128))
11600
11670
  ]),
11601
11671
  vue.createElementVNode("tbody", null, [
11602
11672
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(list), ({ data: row }) => {
11603
11673
  return vue.openBlock(), vue.createElementBlock("tr", {
11604
- key: row.id,
11605
- class: vue.normalizeClass(["row row-item position-relative", { selected: vue.unref(computedSelectedItems).includes(row.id ?? "") }]),
11674
+ key: (row == null ? void 0 : row.id) || `row-${Math.random()}`,
11675
+ class: vue.normalizeClass(["row row-item position-relative", { selected: (row == null ? void 0 : row.id) && vue.unref(computedSelectedItems).includes(row.id) }]),
11606
11676
  onClick: ($event) => vue.unref(toggleSelectItem)(row)
11607
11677
  }, [
11608
11678
  vue.unref(isSelectable) ? (vue.openBlock(), vue.createElementBlock("td", _hoisted_8$7, [
@@ -11613,7 +11683,7 @@ const _sfc_main$Y = /* @__PURE__ */ vue.defineComponent({
11613
11683
  vue.withDirectives(vue.createElementVNode("input", {
11614
11684
  "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => selectedItems.value = $event),
11615
11685
  type: "checkbox",
11616
- value: row.id
11686
+ value: (row == null ? void 0 : row.id) || ""
11617
11687
  }, null, 8, _hoisted_9$6), [
11618
11688
  [vue.vModelCheckbox, selectedItems.value]
11619
11689
  ])
@@ -11621,7 +11691,7 @@ const _sfc_main$Y = /* @__PURE__ */ vue.defineComponent({
11621
11691
  ])) : vue.createCommentVNode("", true),
11622
11692
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(computedSchema), (field) => {
11623
11693
  return vue.openBlock(), vue.createElementBlock("td", {
11624
- key: `${field.id}-${row.id}`,
11694
+ key: `${field.id}-${(row == null ? void 0 : row.id) || Math.random()}`,
11625
11695
  class: "col"
11626
11696
  }, [
11627
11697
  field.id && vue.unref(slots)[field.id] ? vue.renderSlot(_ctx.$slots, field.id, {
@@ -11648,7 +11718,7 @@ const _sfc_main$Y = /* @__PURE__ */ vue.defineComponent({
11648
11718
  };
11649
11719
  }
11650
11720
  });
11651
- const DataTable = /* @__PURE__ */ _export_sfc(_sfc_main$Y, [["__scopeId", "data-v-5e7cca10"]]);
11721
+ const DataTable = /* @__PURE__ */ _export_sfc(_sfc_main$Y, [["__scopeId", "data-v-43f28baa"]]);
11652
11722
  function useDraggable(options = {}) {
11653
11723
  const isDragging = vue.ref(false);
11654
11724
  const dragElement = vue.ref(null);
@@ -14828,7 +14898,7 @@ const _sfc_main$W = /* @__PURE__ */ vue.defineComponent({
14828
14898
  };
14829
14899
  }
14830
14900
  });
14831
- const _hoisted_1$M = { class: "px-1 pt-025 pb-1" };
14901
+ const _hoisted_1$N = { class: "px-1 pt-025 pb-1" };
14832
14902
  const _hoisted_2$z = { class: "ms-1" };
14833
14903
  const _sfc_main$V = /* @__PURE__ */ vue.defineComponent({
14834
14904
  __name: "FieldSetVue",
@@ -14838,7 +14908,7 @@ const _sfc_main$V = /* @__PURE__ */ vue.defineComponent({
14838
14908
  },
14839
14909
  setup(__props) {
14840
14910
  return (_ctx, _cache) => {
14841
- return vue.openBlock(), vue.createElementBlock("fieldset", _hoisted_1$M, [
14911
+ return vue.openBlock(), vue.createElementBlock("fieldset", _hoisted_1$N, [
14842
14912
  vue.createElementVNode("legend", _hoisted_2$z, vue.toDisplayString(_ctx.legend || _ctx.label), 1),
14843
14913
  vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
14844
14914
  ]);
@@ -15286,6 +15356,7 @@ function getNestedValue(obj, path, defaultValue = void 0) {
15286
15356
  }
15287
15357
  return current ?? defaultValue;
15288
15358
  }
15359
+ const _hoisted_1$M = { class: "flex-center h-300px" };
15289
15360
  const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
15290
15361
  __name: "BagelForm",
15291
15362
  props: {
@@ -15299,52 +15370,65 @@ const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
15299
15370
  setup(__props, { expose: __expose, emit: __emit }) {
15300
15371
  const props2 = __props;
15301
15372
  const emit2 = __emit;
15302
- function safeClone2(obj) {
15303
- if (!obj) return obj;
15304
- try {
15305
- return JSON.parse(JSON.stringify(obj));
15306
- } catch (e) {
15307
- console.warn("Failed to clone object:", e);
15308
- return obj;
15309
- }
15310
- }
15373
+ const clone2 = (obj) => !obj ? obj : JSON.parse(JSON.stringify(obj));
15311
15374
  const form = vue.ref();
15312
- const formData = vue.ref(safeClone2(props2.modelValue ?? {}));
15313
- const initialFormData = vue.ref(safeClone2(props2.modelValue ?? {}));
15314
- vue.onMounted(() => {
15315
- if (props2.modelValue) {
15316
- initialFormData.value = safeClone2(props2.modelValue);
15317
- }
15318
- });
15375
+ const formData = vue.ref(clone2(props2.modelValue ?? {}));
15376
+ const initialFormData = vue.ref(clone2(props2.modelValue ?? {}));
15319
15377
  const formState = vue.ref("idle");
15320
- vue.watch(() => props2.modelValue, (newValue) => {
15321
- if (newValue !== void 0) {
15322
- formData.value = safeClone2(newValue);
15323
- }
15324
- }, { immediate: true, deep: true });
15325
- const resolvedSchema = vue.computed(() => {
15326
- if (!props2.schema) return void 0;
15327
- return typeof props2.schema === "function" ? props2.schema() : props2.schema;
15328
- });
15378
+ const schemaState = vue.ref("loaded");
15379
+ const resolvedSchemaData = vue.ref();
15380
+ const schemaRef = vue.toRef(props2, "schema");
15381
+ const resolvedSchema = vue.computed(() => resolvedSchemaData.value);
15329
15382
  const isDirty = vue.computed(() => {
15330
15383
  try {
15331
- const current = JSON.stringify(formData.value);
15332
- const initial = JSON.stringify(initialFormData.value);
15333
- return current !== initial;
15334
- } catch (e) {
15335
- console.warn("Failed to compare form data:", e);
15384
+ return JSON.stringify(formData.value) !== JSON.stringify(initialFormData.value);
15385
+ } catch {
15336
15386
  return false;
15337
15387
  }
15338
15388
  });
15389
+ vue.onMounted(() => {
15390
+ if (props2.modelValue) initialFormData.value = clone2(props2.modelValue);
15391
+ refreshSchema();
15392
+ });
15393
+ vue.watch(() => props2.modelValue, (val) => {
15394
+ if (val !== void 0) formData.value = clone2(val);
15395
+ }, { immediate: true, deep: true });
15396
+ async function resolveSchema(schema) {
15397
+ if (!schema) {
15398
+ resolvedSchemaData.value = void 0;
15399
+ schemaState.value = "loaded";
15400
+ return;
15401
+ }
15402
+ try {
15403
+ schemaState.value = "loading";
15404
+ const isPromise = (obj) => obj && typeof obj.then === "function";
15405
+ let result2;
15406
+ if (typeof schema === "function") {
15407
+ result2 = schema();
15408
+ result2 = isPromise(result2) ? await result2 : result2;
15409
+ } else {
15410
+ result2 = isPromise(schema) ? await schema : schema;
15411
+ }
15412
+ resolvedSchemaData.value = result2;
15413
+ schemaState.value = "loaded";
15414
+ } catch (error) {
15415
+ console.error("Schema error:", error);
15416
+ schemaState.value = "error";
15417
+ resolvedSchemaData.value = void 0;
15418
+ }
15419
+ }
15420
+ async function refreshSchema() {
15421
+ await resolveSchema(props2.schema);
15422
+ return resolvedSchemaData.value;
15423
+ }
15424
+ vue.watch(schemaRef, resolveSchema, { immediate: true, deep: true });
15339
15425
  function updateFormData(fieldId, value) {
15340
15426
  const keys4 = fieldId.split(".");
15341
- const newData = safeClone2(formData.value);
15427
+ const newData = clone2(formData.value);
15342
15428
  let current = newData;
15343
15429
  for (let i2 = 0; i2 < keys4.length - 1; i2++) {
15344
15430
  const key = keys4[i2];
15345
- if (!current[key] || typeof current[key] !== "object") {
15346
- current[key] = {};
15347
- }
15431
+ if (!current[key] || typeof current[key] !== "object") current[key] = {};
15348
15432
  current = current[key];
15349
15433
  }
15350
15434
  current[keys4[keys4.length - 1]] = value;
@@ -15357,38 +15441,34 @@ const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
15357
15441
  if (formState.value === "submitting") return;
15358
15442
  formState.value = "submitting";
15359
15443
  await ((_a = props2.onSubmit) == null ? void 0 : _a.call(props2, formData.value));
15360
- initialFormData.value = safeClone2(formData.value);
15444
+ initialFormData.value = clone2(formData.value);
15361
15445
  formState.value = "success";
15362
15446
  window.parent.postMessage({ type: "BAGEL_FORM_SUCCESS", data: JSON.stringify(formData.value) }, "*");
15363
15447
  } catch (error) {
15364
- console.error("Form submission error:", error);
15448
+ console.error("Submit error:", error);
15365
15449
  formState.value = "error";
15366
15450
  }
15367
15451
  }
15368
- function validateForm() {
15369
- if (!form.value) return false;
15370
- return form.value.reportValidity();
15371
- }
15452
+ const validateForm = () => {
15453
+ var _a;
15454
+ return ((_a = form.value) == null ? void 0 : _a.reportValidity()) ?? false;
15455
+ };
15372
15456
  const { renderField } = useSchemaField({
15373
15457
  mode: "form",
15374
- getRowData: () => {
15375
- return {
15376
- ...formData.value,
15377
- // Add a special getter to handle nested paths
15378
- get: (path) => getNestedValue(formData.value, path, "")
15379
- };
15380
- },
15458
+ getRowData: () => ({
15459
+ ...formData.value,
15460
+ get: (path) => getNestedValue(formData.value, path, "")
15461
+ }),
15381
15462
  onUpdate: (field, value) => {
15382
15463
  var _a;
15383
- if (!field.id) return;
15384
- updateFormData(field.id, value);
15385
- (_a = field.onUpdate) == null ? void 0 : _a.call(field, value, formData.value);
15464
+ if (field.id) {
15465
+ updateFormData(field.id, value);
15466
+ (_a = field.onUpdate) == null ? void 0 : _a.call(field, value, formData.value);
15467
+ }
15386
15468
  }
15387
15469
  });
15388
- function renderSchemaField(field) {
15389
- return renderField(field);
15390
- }
15391
- __expose({ form, isDirty: isDirty.value, validateForm });
15470
+ const renderSchemaField = (field) => renderField(field);
15471
+ __expose({ form, isDirty, validateForm, resolveSchema, refreshSchema });
15392
15472
  return (_ctx, _cache) => {
15393
15473
  return vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
15394
15474
  formState.value !== "success" || !_ctx.$slots.success ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
@@ -15399,23 +15479,36 @@ const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
15399
15479
  class: vue.normalizeClass(props2.class),
15400
15480
  onSubmit: vue.withModifiers(handleSubmit, ["prevent"])
15401
15481
  }, [
15402
- resolvedSchema.value ? (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 0 }, vue.renderList(resolvedSchema.value, (field) => {
15482
+ schemaState.value === "loading" ? vue.renderSlot(_ctx.$slots, "loading", { key: 0 }, () => [
15483
+ vue.createElementVNode("div", _hoisted_1$M, [
15484
+ vue.createVNode(vue.unref(Loading))
15485
+ ])
15486
+ ]) : schemaState.value === "error" ? vue.renderSlot(_ctx.$slots, "schema-error", { key: 1 }, () => [
15487
+ _cache[0] || (_cache[0] = vue.createElementVNode("div", { class: "flex-center h-300px txt-red" }, " Error loading form ", -1))
15488
+ ]) : resolvedSchema.value ? (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 2 }, vue.renderList(resolvedSchema.value, (field) => {
15403
15489
  return vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(renderSchemaField(field)), {
15404
15490
  key: field.id
15405
15491
  });
15406
- }), 128)) : vue.renderSlot(_ctx.$slots, "default", { key: 1 }),
15492
+ }), 128)) : vue.renderSlot(_ctx.$slots, "default", { key: 3 }),
15407
15493
  vue.renderSlot(_ctx.$slots, "submit", {
15408
15494
  submit: handleSubmit,
15409
15495
  isDirty: isDirty.value,
15410
15496
  validateForm,
15411
- formState: formState.value
15497
+ formState: formState.value,
15498
+ schemaState: schemaState.value
15412
15499
  })
15413
- ], 34)) : (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 1 }, vue.renderList(resolvedSchema.value, (field) => {
15414
- return vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(renderSchemaField(field)), {
15415
- key: field.id,
15416
- class: vue.normalizeClass(props2.class)
15417
- }, null, 8, ["class"]);
15418
- }), 128))
15500
+ ], 34)) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
15501
+ schemaState.value === "loading" ? vue.renderSlot(_ctx.$slots, "loading", { key: 0 }, () => [
15502
+ vue.createVNode(vue.unref(Loading))
15503
+ ]) : schemaState.value === "error" ? vue.renderSlot(_ctx.$slots, "schema-error", { key: 1 }, () => [
15504
+ _cache[1] || (_cache[1] = vue.createElementVNode("div", { class: "flex-center h-300px txt-red" }, " Error loading form ", -1))
15505
+ ]) : resolvedSchema.value ? (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 2 }, vue.renderList(resolvedSchema.value, (field) => {
15506
+ return vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(renderSchemaField(field)), {
15507
+ key: field.id,
15508
+ class: vue.normalizeClass(props2.class)
15509
+ }, null, 8, ["class"]);
15510
+ }), 128)) : vue.createCommentVNode("", true)
15511
+ ], 64))
15419
15512
  ], 64)) : vue.createCommentVNode("", true),
15420
15513
  formState.value === "success" ? vue.renderSlot(_ctx.$slots, "success", { key: 1 }) : vue.createCommentVNode("", true),
15421
15514
  formState.value === "error" ? vue.renderSlot(_ctx.$slots, "error", { key: 2 }) : vue.createCommentVNode("", true)
@@ -15428,7 +15521,19 @@ const _hoisted_2$y = {
15428
15521
  key: 0,
15429
15522
  class: "ps-025 border-start mb-05"
15430
15523
  };
15431
- const _hoisted_3$t = { class: "bg-gray-80 -my-05 px-025 pt-065 txt-center" };
15524
+ const _hoisted_3$t = {
15525
+ key: 0,
15526
+ class: "flex-center h-300px"
15527
+ };
15528
+ const _hoisted_4$j = {
15529
+ key: 1,
15530
+ class: "flex-center h-300px txt-red"
15531
+ };
15532
+ const _hoisted_5$i = {
15533
+ key: 0,
15534
+ class: "minimizedText txt14 p-025 opacity-7"
15535
+ };
15536
+ const _hoisted_6$f = { class: "bg-gray-80 -my-05 px-025 pt-065 pb-05 txt-center space-between flex column" };
15432
15537
  const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
15433
15538
  __name: "FieldArray",
15434
15539
  props: {
@@ -15454,93 +15559,115 @@ const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
15454
15559
  setup(__props, { emit: __emit }) {
15455
15560
  const props2 = __props;
15456
15561
  const emit2 = __emit;
15457
- const data2 = vue.ref(props2.modelValue || []);
15562
+ const minimizedItems = vue.ref([]);
15563
+ const internalData = vue.ref(props2.modelValue || []);
15564
+ const schemaState = vue.ref("loaded");
15565
+ const resolvedSchemaData = vue.ref([]);
15566
+ async function resolveSchema() {
15567
+ if (!props2.schema) {
15568
+ resolvedSchemaData.value = [];
15569
+ schemaState.value = "loaded";
15570
+ return;
15571
+ }
15572
+ try {
15573
+ schemaState.value = "loading";
15574
+ const isPromise = (obj) => obj && typeof obj.then === "function";
15575
+ let result2;
15576
+ if (typeof props2.schema === "function") {
15577
+ result2 = props2.schema();
15578
+ result2 = isPromise(result2) ? await result2 : result2;
15579
+ } else {
15580
+ result2 = isPromise(props2.schema) ? await props2.schema : props2.schema;
15581
+ }
15582
+ resolvedSchemaData.value = result2;
15583
+ schemaState.value = "loaded";
15584
+ } catch (error) {
15585
+ console.error("Schema error:", error);
15586
+ schemaState.value = "error";
15587
+ resolvedSchemaData.value = [];
15588
+ }
15589
+ }
15590
+ vue.onMounted(() => {
15591
+ resolveSchema();
15592
+ });
15458
15593
  function emitValue() {
15459
- emit2("update:modelValue", data2.value);
15594
+ emit2("update:modelValue", internalData.value);
15460
15595
  }
15461
15596
  function deleteItem(i2) {
15462
- data2.value.splice(i2, 1);
15597
+ internalData.value.splice(i2, 1);
15463
15598
  emitValue();
15464
15599
  }
15465
15600
  function addItem() {
15466
- data2.value.push({});
15601
+ internalData.value.push({});
15602
+ emitValue();
15603
+ }
15604
+ function toggleMinimized(index2) {
15605
+ minimizedItems.value[index2] = !minimizedItems.value[index2];
15606
+ }
15607
+ function updateItem(index2, value) {
15608
+ internalData.value[index2] = value;
15467
15609
  emitValue();
15468
15610
  }
15469
- const computedField = vue.computed(
15470
- () => ({
15471
- label: props2.label,
15472
- placeholder: props2.placeholder,
15473
- children: props2.children,
15474
- // class: props.class,
15475
- attrs: props2.attrs,
15476
- required: props2.required,
15477
- disabled: props2.disabled,
15478
- helptext: props2.helptext,
15479
- options: props2.options,
15480
- defaultValue: props2.defaultValue,
15481
- transform: props2.transform,
15482
- $el: props2.el
15483
- })
15484
- );
15485
- const { renderField } = useSchemaField({
15486
- mode: "form",
15487
- getRowData: () => data2.value,
15488
- onUpdate: (field, value) => {
15489
- if (!field.id) return;
15490
- const index2 = Number.parseInt(field.id);
15491
- if (Number.isNaN(index2)) return;
15492
- data2.value[index2] = value;
15493
- emitValue();
15494
- }
15495
- });
15496
15611
  return (_ctx, _cache) => {
15497
15612
  return vue.openBlock(), vue.createElementBlock("div", {
15498
15613
  class: vue.normalizeClass(props2.class)
15499
15614
  }, [
15500
15615
  vue.createElementVNode("p", _hoisted_1$L, vue.toDisplayString(_ctx.label), 1),
15501
- _ctx.schema ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$y, [
15502
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(data2.value, (_2, i2) => {
15503
- return vue.openBlock(), vue.createElementBlock("div", {
15504
- key: i2,
15505
- outline: "",
15616
+ resolvedSchemaData.value.length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$y, [
15617
+ schemaState.value === "loading" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$t, [
15618
+ vue.createVNode(vue.unref(Loading))
15619
+ ])) : schemaState.value === "error" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$j, " Error ")) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 2 }, [
15620
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(internalData.value, (item, i2) => {
15621
+ return vue.openBlock(), vue.createElementBlock("div", {
15622
+ key: i2,
15623
+ outline: "",
15624
+ thin: "",
15625
+ class: vue.normalizeClass(["mb-05 itemBox transition ps-05 pb-025 pt-025 radius-05 gap-05 overflow-hidden", { minimized: minimizedItems.value[i2] }])
15626
+ }, [
15627
+ minimizedItems.value[i2] ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_5$i, vue.toDisplayString(_ctx.label) + " " + vue.toDisplayString(i2 + 1), 1)) : (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$T), {
15628
+ key: 1,
15629
+ "model-value": item,
15630
+ schema: resolvedSchemaData.value,
15631
+ "onUpdate:modelValue": (val) => updateItem(i2, val)
15632
+ }, null, 8, ["model-value", "schema", "onUpdate:modelValue"])),
15633
+ vue.createElementVNode("div", _hoisted_6$f, [
15634
+ resolvedSchemaData.value.length > 4 ? (vue.openBlock(), vue.createBlock(vue.unref(Btn), {
15635
+ key: 0,
15636
+ class: "block rotate-180 txt10 opacity-7 p-025",
15637
+ flat: "",
15638
+ thin: "",
15639
+ icon: "keyboard_arrow_down",
15640
+ onClick: ($event) => toggleMinimized(i2)
15641
+ }, null, 8, ["onClick"])) : vue.createCommentVNode("", true),
15642
+ props2.delete ? (vue.openBlock(), vue.createBlock(vue.unref(Btn), {
15643
+ key: 1,
15644
+ icon: "delete",
15645
+ class: "txt10 opacity-7",
15646
+ thin: "",
15647
+ flat: "",
15648
+ onClick: ($event) => deleteItem(i2)
15649
+ }, null, 8, ["onClick"])) : vue.createCommentVNode("", true)
15650
+ ])
15651
+ ], 2);
15652
+ }), 128)),
15653
+ _ctx.add ? (vue.openBlock(), vue.createBlock(vue.unref(Btn), {
15654
+ key: 0,
15506
15655
  thin: "",
15507
- class: "mb-05 itemBox transition ps-05 pb-025 pt-025 radius-05 gap-05 overflow-hidden"
15508
- }, [
15509
- vue.createVNode(vue.unref(_sfc_main$T), {
15510
- modelValue: data2.value[i2],
15511
- "onUpdate:modelValue": [($event) => data2.value[i2] = $event, emitValue],
15512
- schema: _ctx.schema
15513
- }, null, 8, ["modelValue", "onUpdate:modelValue", "schema"]),
15514
- vue.createElementVNode("div", _hoisted_3$t, [
15515
- props2.delete ? (vue.openBlock(), vue.createBlock(vue.unref(Btn), {
15516
- key: 0,
15517
- icon: "delete",
15518
- class: "txt10 opacity-7",
15519
- thin: "",
15520
- flat: "",
15521
- onClick: ($event) => deleteItem(i2)
15522
- }, null, 8, ["onClick"])) : vue.createCommentVNode("", true)
15523
- ])
15524
- ]);
15525
- }), 128)),
15526
- _ctx.add ? (vue.openBlock(), vue.createBlock(vue.unref(Btn), {
15527
- key: 0,
15528
- thin: "",
15529
- icon: "add",
15530
- color: "gray",
15531
- class: "txt12",
15532
- onClick: addItem
15533
- }, {
15534
- default: vue.withCtx(() => [
15535
- vue.createElementVNode("p", null, vue.toDisplayString(_ctx.label), 1)
15536
- ]),
15537
- _: 1
15538
- })) : vue.createCommentVNode("", true)
15539
- ])) : (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 1 }, vue.renderList(data2.value, (_2, i2) => {
15540
- return vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(vue.unref(renderField)({ ...computedField.value, id: String(i2) })), {
15541
- key: i2,
15542
- "onUpdate:modelValue": emitValue
15543
- });
15656
+ icon: "add",
15657
+ color: "gray",
15658
+ class: "txt12",
15659
+ onClick: addItem
15660
+ }, {
15661
+ default: vue.withCtx(() => [
15662
+ vue.createElementVNode("p", null, vue.toDisplayString(_ctx.label), 1)
15663
+ ]),
15664
+ _: 1
15665
+ })) : vue.createCommentVNode("", true)
15666
+ ], 64))
15667
+ ])) : (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 1 }, vue.renderList(internalData.value, (_2, i2) => {
15668
+ return vue.openBlock(), vue.createElementBlock("div", { key: i2 }, _cache[0] || (_cache[0] = [
15669
+ vue.createElementVNode("p", null, "No schema available", -1)
15670
+ ]));
15544
15671
  }), 128))
15545
15672
  ], 2);
15546
15673
  };
@@ -33537,7 +33664,7 @@ const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
33537
33664
  }
33538
33665
  });
33539
33666
  const Image$1 = /* @__PURE__ */ _export_sfc(_sfc_main$q, [["__scopeId", "data-v-2f5e271c"]]);
33540
- const _hoisted_1$j = { class: "m-0 pb-025 txt14 line-height-1 w60 menu-text" };
33667
+ const _hoisted_1$j = { class: "m-0 pb-025 txt10 line-height-1 w60 menu-text" };
33541
33668
  const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
33542
33669
  __name: "BottomMenu",
33543
33670
  props: {
@@ -33573,7 +33700,7 @@ const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
33573
33700
  };
33574
33701
  }
33575
33702
  });
33576
- const BottomMenu = /* @__PURE__ */ _export_sfc(_sfc_main$p, [["__scopeId", "data-v-fe3a895e"]]);
33703
+ const BottomMenu = /* @__PURE__ */ _export_sfc(_sfc_main$p, [["__scopeId", "data-v-2227f9cc"]]);
33577
33704
  const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
33578
33705
  __name: "Layout",
33579
33706
  props: {
@@ -34035,7 +34162,7 @@ const _hoisted_1$c = { class: "flex-center" };
34035
34162
  const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
34036
34163
  __name: "Loading",
34037
34164
  props: {
34038
- size: { default: 64 },
34165
+ size: { default: 50 },
34039
34166
  thickness: {},
34040
34167
  duration: { default: 1.2 },
34041
34168
  type: { default: "ring" },
@@ -34050,7 +34177,7 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
34050
34177
  const computedSize = vue.computed(() => standardSize(__props.size));
34051
34178
  const animationDuration = vue.computed(() => `${__props.duration}s`);
34052
34179
  const computedBorder = vue.computed(() => {
34053
- const borderValue = __props.thickness ?? Number.parseInt(computedSize.value) / 7;
34180
+ const borderValue = __props.thickness ?? Math.max(Number.parseInt(computedSize.value) / 9, 2);
34054
34181
  return standardSize(borderValue);
34055
34182
  });
34056
34183
  return (_ctx, _cache) => {
@@ -34096,7 +34223,7 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
34096
34223
  };
34097
34224
  }
34098
34225
  });
34099
- const Loading = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["__scopeId", "data-v-2e27b3c1"]]);
34226
+ const Loading = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["__scopeId", "data-v-221a3053"]]);
34100
34227
  const _hoisted_1$b = ["id"];
34101
34228
  const defaultMarkerSVG = '<svg width="28" height="38" viewBox="0 0 28 38" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M14.2263 37.7955C17.0897 37.7955 19.4109 37.0138 19.4109 36.0496C19.4109 35.0854 17.0897 34.3037 14.2263 34.3037C11.363 34.3037 9.04175 35.0854 9.04175 36.0496C9.04175 37.0138 11.363 37.7955 14.2263 37.7955Z" fill="black" fill-opacity="0.1"/><path d="M14.2265 0.549591C21.2842 0.549591 27.0131 6.23786 27.0787 13.28V13.4024C27.0787 19.3328 24.4759 24.4306 21.5627 28.2764C18.6511 32.12 15.4577 34.6754 14.3457 35.5097C14.2748 35.5629 14.1778 35.5629 14.1068 35.5097C12.9947 34.675 9.80135 32.1197 6.88984 28.2762C3.97665 24.4304 1.37378 19.3328 1.37378 13.4024C1.37378 6.30387 7.12806 0.549591 14.2265 0.549591Z" fill="#ED1b3E" stroke="#ED6C6F"/><path d="M14.2263 21.6185C18.7639 21.6185 22.4424 17.94 22.4424 13.4024C22.4424 8.86477 18.7639 5.18631 14.2263 5.18631C9.68872 5.18631 6.01025 8.86477 6.01025 13.4024C6.01025 17.94 9.68872 21.6185 14.2263 21.6185Z" fill="white"/></svg>';
34102
34229
  const leafletScriptUrl = "https://unpkg.com/leaflet@1.9.4/dist/leaflet.js";
@@ -36129,10 +36256,17 @@ function useBagelFormState() {
36129
36256
  if (!state2) throw new Error("BagelFormState must be provided");
36130
36257
  return state2;
36131
36258
  }
36132
- function useBglSchema({ schema, columns, data: data2 } = {}) {
36259
+ async function useBglSchema({ schema, columns, data: data2 } = {}) {
36133
36260
  let _schema = schema;
36134
36261
  if (typeof _schema === "function") {
36135
- _schema = _schema();
36262
+ const result2 = _schema();
36263
+ if (result2 instanceof Promise) {
36264
+ _schema = await result2;
36265
+ } else {
36266
+ _schema = result2;
36267
+ }
36268
+ } else if (_schema instanceof Promise) {
36269
+ _schema = await _schema;
36136
36270
  }
36137
36271
  if (_schema) {
36138
36272
  return columns && columns.length > 0 ? _schema.filter((f2) => columns.includes(f2.id)) : _schema;