@bagelink/vue 1.0.30 → 1.0.38

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 (33) hide show
  1. package/dist/components/DataPreview.vue.d.ts.map +1 -1
  2. package/dist/components/DataTable/DataTable.vue.d.ts +8 -3
  3. package/dist/components/DataTable/DataTable.vue.d.ts.map +1 -1
  4. package/dist/components/DataTable/useTableData.d.ts +7 -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.map +1 -1
  10. package/dist/components/form/FieldArray.vue.d.ts.map +1 -1
  11. package/dist/components/form/inputs/RadioPillsInput.vue.d.ts.map +1 -1
  12. package/dist/components/form/inputs/SelectInput.vue.d.ts.map +1 -1
  13. package/dist/index.cjs +194 -107
  14. package/dist/index.mjs +194 -107
  15. package/dist/style.css +487 -68
  16. package/dist/types/BagelForm.d.ts +1 -1
  17. package/dist/types/BagelForm.d.ts.map +1 -1
  18. package/dist/types/index.d.ts +1 -1
  19. package/dist/types/index.d.ts.map +1 -1
  20. package/package.json +1 -1
  21. package/src/components/DataPreview.vue +30 -4
  22. package/src/components/DataTable/DataTable.vue +13 -18
  23. package/src/components/DataTable/useTableData.ts +76 -10
  24. package/src/components/DataTable/useTableSelection.ts +17 -3
  25. package/src/components/DataTable/useTableVirtualization.ts +11 -2
  26. package/src/components/form/FieldArray.vue +44 -5
  27. package/src/components/form/inputs/RadioPillsInput.vue +2 -0
  28. package/src/components/form/inputs/SelectInput.vue +2 -0
  29. package/src/components/layout/BottomMenu.vue +1 -1
  30. package/src/styles/layout.css +240 -0
  31. package/src/styles/mobilLayout.css +240 -0
  32. package/src/types/BagelForm.ts +1 -0
  33. package/src/types/index.ts +1 -0
package/dist/index.cjs CHANGED
@@ -20,7 +20,7 @@ const _sfc_main$1n = /* @__PURE__ */ vue.defineComponent({
20
20
  }
21
21
  });
22
22
  const _hoisted_1$1a = ["aria-expanded", "aria-controls"];
23
- const _hoisted_2$S = { class: "accordion-label" };
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,
@@ -277,7 +277,7 @@ const _sfc_main$1k = /* @__PURE__ */ vue.defineComponent({
277
277
  });
278
278
  const Btn = /* @__PURE__ */ _export_sfc(_sfc_main$1k, [["__scopeId", "data-v-bfc435b3"]]);
279
279
  const _hoisted_1$17 = ["dismissable"];
280
- const _hoisted_2$R = { class: "m-0" };
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: "",
@@ -378,7 +378,7 @@ const _sfc_main$1h = /* @__PURE__ */ vue.defineComponent({
378
378
  });
379
379
  const Badge = /* @__PURE__ */ _export_sfc(_sfc_main$1h, [["__scopeId", "data-v-689f051f"]]);
380
380
  const _hoisted_1$15 = ["src"];
381
- const _hoisted_2$Q = ["autoplay", "muted", "loop", "controls", "playsinline"];
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",
@@ -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
  }
@@ -609,7 +609,7 @@ function translate(key, locale2 = "en-US") {
609
609
  return language[locale2] || key;
610
610
  }
611
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" };
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: {
@@ -689,7 +689,7 @@ const _sfc_main$1f = /* @__PURE__ */ vue.defineComponent({
689
689
  }
690
690
  return (_ctx, _cache) => {
691
691
  return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$14, [
692
- vue.createElementVNode("div", _hoisted_2$P, [
692
+ vue.createElementVNode("div", _hoisted_2$Q, [
693
693
  vue.createVNode(vue.unref(Btn), {
694
694
  flat: "",
695
695
  icon: "chevron_left",
@@ -740,12 +740,12 @@ const EVENT_COLORS = {
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
742
  const _hoisted_1$13 = ["id"];
743
- const _hoisted_2$O = { class: "flex txt14 flex column align-items-start gap-025 opacity-6" };
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
  };
@@ -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
@@ -860,9 +860,9 @@ const _sfc_main$1e = /* @__PURE__ */ vue.defineComponent({
860
860
  });
861
861
  const AgendaEventTile = /* @__PURE__ */ _export_sfc(_sfc_main$1e, [["__scopeId", "data-v-5740437b"]]);
862
862
  const _hoisted_1$12 = { class: "agenda__wrapper grid align-items-start gap-1 h-100p" };
863
- const _hoisted_2$N = { class: "m_sticky" };
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" };
865
+ const _hoisted_4$t = { class: "agenda__header-date flex justify-content-center rounded p-025 txt24 line-height-04" };
866
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
867
  const _hoisted_6$k = {
868
868
  key: 0,
@@ -893,9 +893,9 @@ const _sfc_main$1d = /* @__PURE__ */ vue.defineComponent({
893
893
  const emit2 = __emit;
894
894
  return (_ctx, _cache) => {
895
895
  return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$12, [
896
- vue.createElementVNode("header", _hoisted_2$N, [
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
900
  vue.createElementVNode("div", _hoisted_5$o, [
901
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, [
@@ -1598,12 +1598,12 @@ const _hoisted_1$11 = {
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" };
1606
+ const _hoisted_4$s = { class: "event-flyout__menu-close" };
1607
1607
  const _hoisted_5$n = {
1608
1608
  key: 0,
1609
1609
  class: "event-flyout__info-wrapper"
@@ -1807,7 +1807,7 @@ const _sfc_main$1c = /* @__PURE__ */ vue.defineComponent({
1807
1807
  style: vue.normalizeStyle(eventFlyoutInlineStyles.value)
1808
1808
  }, [
1809
1809
  !__props.config.eventDialog || !__props.config.eventDialog.isCustom ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$11, [
1810
- vue.createElementVNode("div", _hoisted_2$M, [
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,
@@ -1877,9 +1877,9 @@ const _hoisted_1$10 = {
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
  };
@@ -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,7 +1986,7 @@ 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),
1989
+ eventTimeStart.value && !__props.calendarEvent.originalEvent ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$r, vue.toDisplayString(eventTimeStart.value), 1)) : vue.createCommentVNode("", true),
1990
1990
  vue.createElementVNode("span", _hoisted_5$m, vue.toDisplayString(__props.calendarEvent.title), 1)
1991
1991
  ], 42, _hoisted_3$D))
1992
1992
  ], 64));
@@ -1995,9 +1995,9 @@ const _sfc_main$1b = /* @__PURE__ */ vue.defineComponent({
1995
1995
  });
1996
1996
  const Event = /* @__PURE__ */ _export_sfc(_sfc_main$1b, [["__scopeId", "data-v-3c4101df"]]);
1997
1997
  const _hoisted_1$$ = ["id"];
1998
- const _hoisted_2$K = { class: "w-100p flex justify-content-end txt14 p-025 m_h-100p" };
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,7 +2131,7 @@ 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$$)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$q));
2135
2135
  };
2136
2136
  }
2137
2137
  });
@@ -2149,9 +2149,9 @@ const _sfc_main$19 = /* @__PURE__ */ vue.defineComponent({
2149
2149
  }
2150
2150
  });
2151
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" };
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
  };
@@ -2258,7 +2258,7 @@ const _sfc_main$18 = /* @__PURE__ */ vue.defineComponent({
2258
2258
  return (_ctx, _cache) => {
2259
2259
  var _a;
2260
2260
  return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$Z, [
2261
- vue.createElementVNode("div", _hoisted_2$J, [
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,
@@ -2535,9 +2535,9 @@ class EventChange {
2535
2535
  }
2536
2536
  }
2537
2537
  const _hoisted_1$Y = ["data-ref"];
2538
- const _hoisted_2$I = { class: "calendar-week__event-row is-title" };
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
  };
@@ -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,7 +2904,7 @@ 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"
@@ -3106,7 +3106,7 @@ const _sfc_main$16 = /* @__PURE__ */ vue.defineComponent({
3106
3106
  });
3107
3107
  const Day = /* @__PURE__ */ _export_sfc(_sfc_main$16, [["__scopeId", "data-v-87669cec"]]);
3108
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" };
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: {
@@ -3139,7 +3139,7 @@ const _sfc_main$15 = /* @__PURE__ */ vue.defineComponent({
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
  ]);
@@ -3148,7 +3148,7 @@ const _sfc_main$15 = /* @__PURE__ */ vue.defineComponent({
3148
3148
  });
3149
3149
  const DayTimeline = /* @__PURE__ */ _export_sfc(_sfc_main$15, [["__scopeId", "data-v-0b3de5c5"]]);
3150
3150
  const _hoisted_1$V = ["id"];
3151
- const _hoisted_2$G = {
3151
+ const _hoisted_2$H = {
3152
3152
  key: 1,
3153
3153
  class: "week-timeline__event"
3154
3154
  };
@@ -3219,7 +3219,7 @@ 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$V)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$H));
3223
3223
  };
3224
3224
  }
3225
3225
  });
@@ -3228,9 +3228,9 @@ const _hoisted_1$U = {
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: "" };
3233
+ const _hoisted_4$n = { class: "" };
3234
3234
  const _hoisted_5$k = { class: "week-timeline__date txt14 round inline-flex justify-content-center" };
3235
3235
  const _hoisted_6$h = { class: "week-timeline__events" };
3236
3236
  const _sfc_main$13 = /* @__PURE__ */ vue.defineComponent({
@@ -3264,7 +3264,7 @@ 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),
3267
+ vue.createElementVNode("div", _hoisted_4$n, vue.toDisplayString(day.dayName.charAt(0).toUpperCase() + day.dayName.slice(1, 3).toLowerCase()), 1),
3268
3268
  vue.createElementVNode("div", _hoisted_5$k, vue.toDisplayString(getDaysDate(day)), 1)
3269
3269
  ]),
3270
3270
  vue.createElementVNode("div", _hoisted_6$h, [
@@ -3280,7 +3280,7 @@ 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
  };
@@ -3288,7 +3288,7 @@ const _sfc_main$13 = /* @__PURE__ */ vue.defineComponent({
3288
3288
  });
3289
3289
  const WeekTimeline = /* @__PURE__ */ _export_sfc(_sfc_main$13, [["__scopeId", "data-v-18ecf6c3"]]);
3290
3290
  const _hoisted_1$T = { class: "calendar-week__wrapper relative ps-3-5" };
3291
- const _hoisted_2$E = { class: "calendar-week" };
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",
@@ -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",
@@ -3638,7 +3638,7 @@ __publicField(_Errors, "MISSING_TIME_END_WARNING", `${_Errors.PREFIX} required e
3638
3638
  ${_Errors.SUFFIX}`);
3639
3639
  let Errors = _Errors;
3640
3640
  const _hoisted_1$S = { class: "calendar-root-wrapper txt16" };
3641
- const _hoisted_2$D = ["data-lang"];
3641
+ const _hoisted_2$E = ["data-lang"];
3642
3642
  const _hoisted_3$x = {
3643
3643
  key: 0,
3644
3644
  class: "top-bar-loader"
@@ -3916,7 +3916,7 @@ 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
  }
@@ -3965,12 +3965,12 @@ const _sfc_main$10 = /* @__PURE__ */ vue.defineComponent({
3965
3965
  }
3966
3966
  });
3967
3967
  const _hoisted_1$Q = ["dir"];
3968
- const _hoisted_2$C = {
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),
@@ -10261,7 +10261,7 @@ 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"];
10264
+ const _hoisted_4$l = ["transform", "onMouseover"];
10265
10265
  const _hoisted_5$j = ["width", "height"];
10266
10266
  const _hoisted_6$g = {
10267
10267
  x: 0 + 10,
@@ -10313,7 +10313,7 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
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 */
@@ -10374,7 +10374,7 @@ const _hoisted_1$P = {
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
10379
  return _ctx.mouse.hover ? (vue.openBlock(), vue.createElementBlock("g", _hoisted_1$P, [
10380
10380
  vue.createElementVNode("rect", vue.mergeProps({ class: "hover-bar" }, _ctx.barStyle, {
@@ -10382,7 +10382,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
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
10814
  const _hoisted_1$O = { 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,7 +10845,12 @@ 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,
@@ -10802,16 +10858,16 @@ const _sfc_main$Z = /* @__PURE__ */ vue.defineComponent({
10802
10858
  });
10803
10859
  return (_ctx, _cache) => {
10804
10860
  return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$O, [
10805
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(computedSchema), (field) => {
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
  });
@@ -11446,7 +11514,7 @@ const _hoisted_1$N = {
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 };
11517
+ const _hoisted_4$k = { key: 0 };
11450
11518
  const _hoisted_5$i = ["onClick"];
11451
11519
  const _hoisted_6$f = { class: "flex" };
11452
11520
  const _hoisted_7$c = ["onClick"];
@@ -11467,28 +11535,20 @@ const _sfc_main$Y = /* @__PURE__ */ vue.defineComponent({
11467
11535
  "loadingModifiers": {},
11468
11536
  "itemHeight": { default: 50 },
11469
11537
  "itemHeightModifiers": {},
11470
- "selectedItems": {
11471
- default: []
11472
- },
11538
+ "selectedItems": { default: [] },
11473
11539
  "selectedItemsModifiers": {}
11474
11540
  }),
11475
- emits: /* @__PURE__ */ vue.mergeModels(["update:selectedItems", "orderBy", "select", "lastItemVisible"], ["update:loading", "update:itemHeight", "update:selectedItems"]),
11541
+ emits: /* @__PURE__ */ vue.mergeModels(["orderBy", "select", "lastItemVisible"], ["update:loading", "update:itemHeight", "update:selectedItems"]),
11476
11542
  setup(__props, { emit: __emit }) {
11477
11543
  vue.useCssVars((_ctx) => ({
11478
- "53d3340a": vue.unref(computedItemHeight)
11544
+ "31aad8d2": vue.unref(computedItemHeight)
11479
11545
  }));
11480
11546
  const props2 = __props;
11481
11547
  const emit2 = __emit;
11482
11548
  const slots = vue.useSlots();
11483
11549
  const loading = vue.useModel(__props, "loading");
11484
11550
  const itemHeight = vue.useModel(__props, "itemHeight");
11485
- const selectedItems = vue.useModel(
11486
- __props,
11487
- "selectedItems",
11488
- {
11489
- set: (value) => value
11490
- }
11491
- );
11551
+ const selectedItems = vue.useModel(__props, "selectedItems");
11492
11552
  const data2 = vue.computed(() => props2.data);
11493
11553
  const schema = vue.computed(() => props2.schema);
11494
11554
  const columns = vue.computed(() => props2.columns);
@@ -11498,7 +11558,8 @@ const _sfc_main$Y = /* @__PURE__ */ vue.defineComponent({
11498
11558
  computedData,
11499
11559
  sortField,
11500
11560
  sortDirection,
11501
- toggleSort
11561
+ toggleSort,
11562
+ cleanTransformedData
11502
11563
  } = useTableData({ data: data2, schema, columns, useServerSort, onSort: (field, direction) => {
11503
11564
  emit2("orderBy", `${field} ${direction}`.trim());
11504
11565
  } });
@@ -11512,6 +11573,7 @@ const _sfc_main$Y = /* @__PURE__ */ vue.defineComponent({
11512
11573
  } = useTableSelection({
11513
11574
  selectable: props2.selectable,
11514
11575
  selectedItems,
11576
+ cleanData: cleanTransformedData,
11515
11577
  onSelect: (item) => {
11516
11578
  emit2("select", item);
11517
11579
  }
@@ -11575,7 +11637,7 @@ const _sfc_main$Y = /* @__PURE__ */ vue.defineComponent({
11575
11637
  ]))) : (vue.openBlock(), vue.createElementBlock("div", vue.normalizeProps(vue.mergeProps({ key: 1 }, vue.unref(wrapperProps))), [
11576
11638
  vue.createElementVNode("table", _hoisted_2$A, [
11577
11639
  vue.createElementVNode("thead", _hoisted_3$u, [
11578
- vue.unref(isSelectable) ? (vue.openBlock(), vue.createElementBlock("th", _hoisted_4$j, [
11640
+ vue.unref(isSelectable) ? (vue.openBlock(), vue.createElementBlock("th", _hoisted_4$k, [
11579
11641
  vue.createElementVNode("input", {
11580
11642
  ref_key: "allSelectorEl",
11581
11643
  ref: allSelectorEl,
@@ -11593,9 +11655,9 @@ const _sfc_main$Y = /* @__PURE__ */ vue.defineComponent({
11593
11655
  onClick: ($event) => vue.unref(toggleSort)((field == null ? void 0 : field.id) || "")
11594
11656
  }, [
11595
11657
  vue.createElementVNode("div", _hoisted_6$f, [
11596
- vue.createTextVNode(vue.toDisplayString(field.label || vue.unref(keyToLabel)(field.id)) + " ", 1),
11658
+ vue.createTextVNode(vue.toDisplayString(field.label || vue.unref(keyToLabel)(field == null ? void 0 : field.id)) + " ", 1),
11597
11659
  vue.createElementVNode("div", {
11598
- 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) }])
11599
11661
  }, [
11600
11662
  vue.createVNode(vue.unref(_sfc_main$s), {
11601
11663
  class: vue.normalizeClass({ desc: vue.unref(sortDirection) === "DESC" }),
@@ -11609,8 +11671,8 @@ const _sfc_main$Y = /* @__PURE__ */ vue.defineComponent({
11609
11671
  vue.createElementVNode("tbody", null, [
11610
11672
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(list), ({ data: row }) => {
11611
11673
  return vue.openBlock(), vue.createElementBlock("tr", {
11612
- key: row.id,
11613
- 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) }]),
11614
11676
  onClick: ($event) => vue.unref(toggleSelectItem)(row)
11615
11677
  }, [
11616
11678
  vue.unref(isSelectable) ? (vue.openBlock(), vue.createElementBlock("td", _hoisted_8$7, [
@@ -11621,7 +11683,7 @@ const _sfc_main$Y = /* @__PURE__ */ vue.defineComponent({
11621
11683
  vue.withDirectives(vue.createElementVNode("input", {
11622
11684
  "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => selectedItems.value = $event),
11623
11685
  type: "checkbox",
11624
- value: row.id
11686
+ value: (row == null ? void 0 : row.id) || ""
11625
11687
  }, null, 8, _hoisted_9$6), [
11626
11688
  [vue.vModelCheckbox, selectedItems.value]
11627
11689
  ])
@@ -11629,7 +11691,7 @@ const _sfc_main$Y = /* @__PURE__ */ vue.defineComponent({
11629
11691
  ])) : vue.createCommentVNode("", true),
11630
11692
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(computedSchema), (field) => {
11631
11693
  return vue.openBlock(), vue.createElementBlock("td", {
11632
- key: `${field.id}-${row.id}`,
11694
+ key: `${field.id}-${(row == null ? void 0 : row.id) || Math.random()}`,
11633
11695
  class: "col"
11634
11696
  }, [
11635
11697
  field.id && vue.unref(slots)[field.id] ? vue.renderSlot(_ctx.$slots, field.id, {
@@ -11656,7 +11718,7 @@ const _sfc_main$Y = /* @__PURE__ */ vue.defineComponent({
11656
11718
  };
11657
11719
  }
11658
11720
  });
11659
- const DataTable = /* @__PURE__ */ _export_sfc(_sfc_main$Y, [["__scopeId", "data-v-c730b48b"]]);
11721
+ const DataTable = /* @__PURE__ */ _export_sfc(_sfc_main$Y, [["__scopeId", "data-v-43f28baa"]]);
11660
11722
  function useDraggable(options = {}) {
11661
11723
  const isDragging = vue.ref(false);
11662
11724
  const dragElement = vue.ref(null);
@@ -15436,7 +15498,11 @@ const _hoisted_2$y = {
15436
15498
  key: 0,
15437
15499
  class: "ps-025 border-start mb-05"
15438
15500
  };
15439
- const _hoisted_3$t = { class: "bg-gray-80 -my-05 px-025 pt-065 txt-center" };
15501
+ const _hoisted_3$t = {
15502
+ key: 0,
15503
+ class: "minimizedText txt14 p-025 opacity-7"
15504
+ };
15505
+ const _hoisted_4$j = { class: "bg-gray-80 -my-05 px-025 pt-065 pb-05 txt-center space-between flex column" };
15440
15506
  const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
15441
15507
  __name: "FieldArray",
15442
15508
  props: {
@@ -15462,6 +15528,7 @@ const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
15462
15528
  setup(__props, { emit: __emit }) {
15463
15529
  const props2 = __props;
15464
15530
  const emit2 = __emit;
15531
+ const minimizedItems = vue.ref([]);
15465
15532
  const data2 = vue.ref(props2.modelValue || []);
15466
15533
  function emitValue() {
15467
15534
  emit2("update:modelValue", data2.value);
@@ -15474,6 +15541,9 @@ const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
15474
15541
  data2.value.push({});
15475
15542
  emitValue();
15476
15543
  }
15544
+ function toggleMinimized(index2) {
15545
+ minimizedItems.value[index2] = !minimizedItems.value[index2];
15546
+ }
15477
15547
  const computedField = vue.computed(
15478
15548
  () => ({
15479
15549
  label: props2.label,
@@ -15490,6 +15560,10 @@ const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
15490
15560
  $el: props2.el
15491
15561
  })
15492
15562
  );
15563
+ const resolvedSchema = vue.computed(() => {
15564
+ if (!props2.schema) return [];
15565
+ return typeof props2.schema === "function" ? props2.schema() : props2.schema;
15566
+ });
15493
15567
  const { renderField } = useSchemaField({
15494
15568
  mode: "form",
15495
15569
  getRowData: () => data2.value,
@@ -15506,22 +15580,31 @@ const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
15506
15580
  class: vue.normalizeClass(props2.class)
15507
15581
  }, [
15508
15582
  vue.createElementVNode("p", _hoisted_1$L, vue.toDisplayString(_ctx.label), 1),
15509
- _ctx.schema ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$y, [
15583
+ resolvedSchema.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$y, [
15510
15584
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(data2.value, (_2, i2) => {
15511
15585
  return vue.openBlock(), vue.createElementBlock("div", {
15512
15586
  key: i2,
15513
15587
  outline: "",
15514
15588
  thin: "",
15515
- class: "mb-05 itemBox transition ps-05 pb-025 pt-025 radius-05 gap-05 overflow-hidden"
15589
+ class: vue.normalizeClass(["mb-05 itemBox transition ps-05 pb-025 pt-025 radius-05 gap-05 overflow-hidden", { minimized: minimizedItems.value[i2] }])
15516
15590
  }, [
15517
- vue.createVNode(vue.unref(_sfc_main$T), {
15591
+ minimizedItems.value[i2] ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_3$t, vue.toDisplayString(_ctx.label) + " " + vue.toDisplayString(i2 + 1), 1)) : (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$T), {
15592
+ key: 1,
15518
15593
  modelValue: data2.value[i2],
15519
15594
  "onUpdate:modelValue": [($event) => data2.value[i2] = $event, emitValue],
15520
- schema: _ctx.schema
15521
- }, null, 8, ["modelValue", "onUpdate:modelValue", "schema"]),
15522
- vue.createElementVNode("div", _hoisted_3$t, [
15523
- props2.delete ? (vue.openBlock(), vue.createBlock(vue.unref(Btn), {
15595
+ schema: resolvedSchema.value
15596
+ }, null, 8, ["modelValue", "onUpdate:modelValue", "schema"])),
15597
+ vue.createElementVNode("div", _hoisted_4$j, [
15598
+ resolvedSchema.value.length > 4 ? (vue.openBlock(), vue.createBlock(vue.unref(Btn), {
15524
15599
  key: 0,
15600
+ class: "block rotate-180 txt10 opacity-7 p-025",
15601
+ flat: "",
15602
+ thin: "",
15603
+ icon: "keyboard_arrow_down",
15604
+ onClick: ($event) => toggleMinimized(i2)
15605
+ }, null, 8, ["onClick"])) : vue.createCommentVNode("", true),
15606
+ props2.delete ? (vue.openBlock(), vue.createBlock(vue.unref(Btn), {
15607
+ key: 1,
15525
15608
  icon: "delete",
15526
15609
  class: "txt10 opacity-7",
15527
15610
  thin: "",
@@ -15529,7 +15612,7 @@ const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
15529
15612
  onClick: ($event) => deleteItem(i2)
15530
15613
  }, null, 8, ["onClick"])) : vue.createCommentVNode("", true)
15531
15614
  ])
15532
- ]);
15615
+ ], 2);
15533
15616
  }), 128)),
15534
15617
  _ctx.add ? (vue.openBlock(), vue.createBlock(vue.unref(Btn), {
15535
15618
  key: 0,
@@ -17810,11 +17893,13 @@ const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
17810
17893
  function getLabel(option2) {
17811
17894
  if (typeof option2 === "string") return option2;
17812
17895
  if (typeof option2 === "number") return `${option2}`;
17896
+ if (typeof option2 === "boolean") return option2 ? "Yes" : "No";
17813
17897
  return option2.label;
17814
17898
  }
17815
17899
  function getValue(option2) {
17816
17900
  if (typeof option2 === "string") return option2;
17817
17901
  if (typeof option2 === "number") return option2;
17902
+ if (typeof option2 === "boolean") return option2 ? "Yes" : "No";
17818
17903
  return option2.value;
17819
17904
  }
17820
17905
  let selectedValue = vue.ref(props2.modelValue);
@@ -17862,7 +17947,7 @@ const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
17862
17947
  };
17863
17948
  }
17864
17949
  });
17865
- const RadioPillsInput = /* @__PURE__ */ _export_sfc(_sfc_main$E, [["__scopeId", "data-v-cf892d71"]]);
17950
+ const RadioPillsInput = /* @__PURE__ */ _export_sfc(_sfc_main$E, [["__scopeId", "data-v-68b4cdd0"]]);
17866
17951
  const _hoisted_1$w = ["dir"];
17867
17952
  const _hoisted_2$l = {
17868
17953
  key: 0,
@@ -19710,7 +19795,7 @@ const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
19710
19795
  options: {},
19711
19796
  placeholder: { default: "Select" },
19712
19797
  disabled: { type: Boolean },
19713
- modelValue: {},
19798
+ modelValue: { type: [String, Number, Boolean, Object] },
19714
19799
  searchable: { type: Boolean },
19715
19800
  required: { type: Boolean },
19716
19801
  label: {},
@@ -19718,7 +19803,7 @@ const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
19718
19803
  multiselect: { type: Boolean },
19719
19804
  icon: {},
19720
19805
  hideLabel: { type: Boolean },
19721
- defaultValue: {},
19806
+ defaultValue: { type: [String, Number, Boolean, Object] },
19722
19807
  clearable: { type: Boolean },
19723
19808
  placement: { default: "bottom-start" },
19724
19809
  searchPlaceholder: {},
@@ -19791,12 +19876,14 @@ const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
19791
19876
  if (!option2) return "";
19792
19877
  if (typeof option2 === "string") return option2;
19793
19878
  if (typeof option2 === "number") return `${option2}`;
19879
+ if (typeof option2 === "boolean") return option2 ? "Yes" : "No";
19794
19880
  return option2.label;
19795
19881
  }
19796
19882
  function getValue(option2) {
19797
19883
  if (!option2) return;
19798
19884
  if (typeof option2 === "string") return option2;
19799
19885
  if (typeof option2 === "number") return option2;
19886
+ if (typeof option2 === "boolean") return option2 ? "Yes" : "No";
19800
19887
  return option2.value;
19801
19888
  }
19802
19889
  function focusInput() {
@@ -20011,7 +20098,7 @@ const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
20011
20098
  };
20012
20099
  }
20013
20100
  });
20014
- const SelectInput = /* @__PURE__ */ _export_sfc(_sfc_main$z, [["__scopeId", "data-v-44384e8f"]]);
20101
+ const SelectInput = /* @__PURE__ */ _export_sfc(_sfc_main$z, [["__scopeId", "data-v-da5bc268"]]);
20015
20102
  /*!
20016
20103
  * Signature Pad v5.0.4 | https://github.com/szimek/signature_pad
20017
20104
  * (c) 2024 Szymon Nowak | Released under the MIT license
@@ -33541,7 +33628,7 @@ const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
33541
33628
  }
33542
33629
  });
33543
33630
  const Image$1 = /* @__PURE__ */ _export_sfc(_sfc_main$q, [["__scopeId", "data-v-2f5e271c"]]);
33544
- const _hoisted_1$j = { class: "m-0 pb-025 txt14 line-height-1 w60 menu-text" };
33631
+ const _hoisted_1$j = { class: "m-0 pb-025 txt10 line-height-1 w60 menu-text" };
33545
33632
  const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
33546
33633
  __name: "BottomMenu",
33547
33634
  props: {
@@ -33577,7 +33664,7 @@ const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
33577
33664
  };
33578
33665
  }
33579
33666
  });
33580
- const BottomMenu = /* @__PURE__ */ _export_sfc(_sfc_main$p, [["__scopeId", "data-v-fe3a895e"]]);
33667
+ const BottomMenu = /* @__PURE__ */ _export_sfc(_sfc_main$p, [["__scopeId", "data-v-2227f9cc"]]);
33581
33668
  const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
33582
33669
  __name: "Layout",
33583
33670
  props: {