@bagelink/vue 1.2.124 → 1.2.128

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/DragOver.vue.d.ts +1 -0
  2. package/dist/components/DragOver.vue.d.ts.map +1 -1
  3. package/dist/components/ImportData.vue.d.ts.map +1 -1
  4. package/dist/components/Loading.vue.d.ts +1 -0
  5. package/dist/components/Loading.vue.d.ts.map +1 -1
  6. package/dist/components/Modal.vue.d.ts +10 -5
  7. package/dist/components/Modal.vue.d.ts.map +1 -1
  8. package/dist/components/dataTable/DataTable.vue.d.ts.map +1 -1
  9. package/dist/components/dataTable/useTableData.d.ts +10 -10
  10. package/dist/components/dataTable/useTableData.d.ts.map +1 -1
  11. package/dist/components/form/inputs/DatePicker.vue.d.ts +2 -1
  12. package/dist/components/form/inputs/DatePicker.vue.d.ts.map +1 -1
  13. package/dist/components/form/inputs/SelectInput.vue.d.ts.map +1 -1
  14. package/dist/index.cjs +324 -262
  15. package/dist/index.mjs +324 -262
  16. package/dist/style.css +136 -137
  17. package/dist/types/BagelForm.d.ts.map +1 -1
  18. package/dist/types/TableSchema.d.ts +1 -1
  19. package/dist/types/TableSchema.d.ts.map +1 -1
  20. package/dist/utils/BagelFormUtils.d.ts +2 -2
  21. package/dist/utils/BagelFormUtils.d.ts.map +1 -1
  22. package/package.json +1 -1
  23. package/src/components/DragOver.vue +21 -0
  24. package/src/components/ImportData.vue +34 -33
  25. package/src/components/Loading.vue +58 -50
  26. package/src/components/Modal.vue +10 -4
  27. package/src/components/dataTable/DataTable.vue +5 -11
  28. package/src/components/dataTable/useTableData.ts +11 -10
  29. package/src/components/form/inputs/DatePicker.vue +9 -6
  30. package/src/components/form/inputs/SelectInput.vue +1 -1
  31. package/src/types/BagelForm.ts +2 -0
  32. package/src/types/TableSchema.ts +1 -1
  33. package/src/utils/BagelFormUtils.ts +2 -2
package/dist/index.cjs CHANGED
@@ -20,8 +20,8 @@ const _sfc_main$1j = /* @__PURE__ */ vue.defineComponent({
20
20
  }
21
21
  });
22
22
  const _hoisted_1$15 = ["aria-expanded", "aria-controls"];
23
- const _hoisted_2$P = { class: "accordion-label" };
24
- const _hoisted_3$H = ["id", "aria-hidden"];
23
+ const _hoisted_2$Q = { class: "accordion-label" };
24
+ const _hoisted_3$I = ["id", "aria-hidden"];
25
25
  const _sfc_main$1i = /* @__PURE__ */ vue.defineComponent({
26
26
  __name: "AccordionItem",
27
27
  props: {
@@ -88,7 +88,7 @@ const _sfc_main$1i = /* @__PURE__ */ vue.defineComponent({
88
88
  vue.createVNode(vue.unref(_sfc_main$v), { 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$P, vue.toDisplayString(_ctx.label), 1)
91
+ vue.createElementVNode("span", _hoisted_2$Q, vue.toDisplayString(_ctx.label), 1)
92
92
  ], true),
93
93
  iconPosition.value === "end" ? (vue.openBlock(), vue.createElementBlock("span", {
94
94
  key: 1,
@@ -106,7 +106,7 @@ const _sfc_main$1i = /* @__PURE__ */ vue.defineComponent({
106
106
  "aria-hidden": vue.unref(isOpen) ? "false" : "true"
107
107
  }, [
108
108
  vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
109
- ], 8, _hoisted_3$H)) : vue.createCommentVNode("", true)
109
+ ], 8, _hoisted_3$I)) : vue.createCommentVNode("", true)
110
110
  ]),
111
111
  _: 3
112
112
  })
@@ -280,7 +280,7 @@ const _sfc_main$1g = /* @__PURE__ */ vue.defineComponent({
280
280
  });
281
281
  const Btn = /* @__PURE__ */ _export_sfc(_sfc_main$1g, [["__scopeId", "data-v-99c4aa53"]]);
282
282
  const _hoisted_1$12 = ["dismissable"];
283
- const _hoisted_2$O = { class: "m-0" };
283
+ const _hoisted_2$P = { class: "m-0" };
284
284
  const _sfc_main$1f = /* @__PURE__ */ vue.defineComponent({
285
285
  __name: "Alert",
286
286
  props: {
@@ -311,7 +311,7 @@ const _sfc_main$1f = /* @__PURE__ */ vue.defineComponent({
311
311
  size: 1.7,
312
312
  color: color2[_ctx.type]
313
313
  }, null, 8, ["icon", "color"])) : vue.createCommentVNode("", true),
314
- vue.createElementVNode("p", _hoisted_2$O, vue.toDisplayString(_ctx.message), 1),
314
+ vue.createElementVNode("p", _hoisted_2$P, vue.toDisplayString(_ctx.message), 1),
315
315
  vue.createVNode(Btn, {
316
316
  flat: "",
317
317
  thin: "",
@@ -383,8 +383,8 @@ const _sfc_main$1d = /* @__PURE__ */ vue.defineComponent({
383
383
  });
384
384
  const Badge = /* @__PURE__ */ _export_sfc(_sfc_main$1d, [["__scopeId", "data-v-689f051f"]]);
385
385
  const _hoisted_1$10 = ["src"];
386
- const _hoisted_2$N = ["autoplay", "muted", "loop", "controls", "playsinline"];
387
- const _hoisted_3$G = ["src", "type"];
386
+ const _hoisted_2$O = ["autoplay", "muted", "loop", "controls", "playsinline"];
387
+ const _hoisted_3$H = ["src", "type"];
388
388
  const _sfc_main$1c = /* @__PURE__ */ vue.defineComponent({
389
389
  __name: "BglVideo",
390
390
  props: {
@@ -476,8 +476,8 @@ const _sfc_main$1c = /* @__PURE__ */ vue.defineComponent({
476
476
  vue.createElementVNode("source", {
477
477
  src: _ctx.src,
478
478
  type: `video/${videoFormat.value}`
479
- }, null, 8, _hoisted_3$G)
480
- ], 12, _hoisted_2$N)) : vue.createCommentVNode("", true)
479
+ }, null, 8, _hoisted_3$H)
480
+ ], 12, _hoisted_2$O)) : vue.createCommentVNode("", true)
481
481
  ], 2);
482
482
  };
483
483
  }
@@ -550,8 +550,8 @@ const _sfc_main$1b = /* @__PURE__ */ vue.defineComponent({
550
550
  });
551
551
  const CalendarPopover = /* @__PURE__ */ _export_sfc(_sfc_main$1b, [["__scopeId", "data-v-6f51f6b3"]]);
552
552
  const _hoisted_1$$ = { class: "agenda-view" };
553
- const _hoisted_2$M = ["data-date", "onClick"];
554
- const _hoisted_3$F = { class: "event-content" };
553
+ const _hoisted_2$N = ["data-date", "onClick"];
554
+ const _hoisted_3$G = { class: "event-content" };
555
555
  const _hoisted_4$s = { class: "event-time" };
556
556
  const _hoisted_5$r = { class: "event-details" };
557
557
  const _hoisted_6$n = { class: "event-title" };
@@ -674,7 +674,7 @@ const _sfc_main$1a = /* @__PURE__ */ vue.defineComponent({
674
674
  "data-date": event.start_time,
675
675
  onClick: vue.withModifiers(($event) => handleEventSelection(event, $event), ["stop"])
676
676
  }, [
677
- vue.createElementVNode("div", _hoisted_3$F, [
677
+ vue.createElementVNode("div", _hoisted_3$G, [
678
678
  vue.createElementVNode("div", _hoisted_4$s, vue.toDisplayString(vue.unref(formatDate)(event.start_time, { fmt: "HH:mm" })), 1),
679
679
  vue.createElementVNode("div", _hoisted_5$r, [
680
680
  vue.createElementVNode("div", _hoisted_6$n, vue.toDisplayString(event.title), 1),
@@ -683,7 +683,7 @@ const _sfc_main$1a = /* @__PURE__ */ vue.defineComponent({
683
683
  }, vue.toDisplayString(event.dayLabel), 3)
684
684
  ])
685
685
  ])
686
- ], 12, _hoisted_2$M);
686
+ ], 12, _hoisted_2$N);
687
687
  }), 128))
688
688
  ], 512)
689
689
  ]);
@@ -692,8 +692,8 @@ const _sfc_main$1a = /* @__PURE__ */ vue.defineComponent({
692
692
  });
693
693
  const AgendaView = /* @__PURE__ */ _export_sfc(_sfc_main$1a, [["__scopeId", "data-v-1e2b483b"]]);
694
694
  const _hoisted_1$_ = { class: "w-100p overflow-hidden m_overflow h-100p grid" };
695
- const _hoisted_2$L = { class: "border-bottom me-1 txt-center p-05 dayGrid" };
696
- const _hoisted_3$E = { class: "overflow h-100p pe-05" };
695
+ const _hoisted_2$M = { class: "border-bottom me-1 txt-center p-05 dayGrid" };
696
+ const _hoisted_3$F = { class: "overflow h-100p pe-05" };
697
697
  const _hoisted_4$r = { class: "time-column" };
698
698
  const _hoisted_5$q = { class: "events-column" };
699
699
  const _hoisted_6$m = ["onClick"];
@@ -838,11 +838,11 @@ const _sfc_main$19 = /* @__PURE__ */ vue.defineComponent({
838
838
  });
839
839
  return (_ctx, _cache) => {
840
840
  return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$_, [
841
- vue.createElementVNode("div", _hoisted_2$L, [
841
+ vue.createElementVNode("div", _hoisted_2$M, [
842
842
  _cache[0] || (_cache[0] = vue.createElementVNode("div", null, null, -1)),
843
843
  vue.createElementVNode("div", null, vue.toDisplayString(vue.unref(formatDate)(_ctx.startDate)), 1)
844
844
  ]),
845
- vue.createElementVNode("div", _hoisted_3$E, [
845
+ vue.createElementVNode("div", _hoisted_3$F, [
846
846
  vue.createElementVNode("div", {
847
847
  class: "time-slots dayGrid border-end relative",
848
848
  onMousedown: handleMouseDown
@@ -904,8 +904,8 @@ const _sfc_main$19 = /* @__PURE__ */ vue.defineComponent({
904
904
  });
905
905
  const DayView = /* @__PURE__ */ _export_sfc(_sfc_main$19, [["__scopeId", "data-v-8b1a770f"]]);
906
906
  const _hoisted_1$Z = { class: "month-view" };
907
- const _hoisted_2$K = { class: "month-header" };
908
- const _hoisted_3$D = { class: "month-grid" };
907
+ const _hoisted_2$L = { class: "month-header" };
908
+ const _hoisted_3$E = { class: "month-grid" };
909
909
  const _hoisted_4$q = { class: "day-number" };
910
910
  const _hoisted_5$p = { class: "day-events" };
911
911
  const _hoisted_6$l = {
@@ -990,7 +990,7 @@ const _sfc_main$18 = /* @__PURE__ */ vue.defineComponent({
990
990
  }
991
991
  return (_ctx, _cache) => {
992
992
  return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$Z, [
993
- vue.createElementVNode("div", _hoisted_2$K, [
993
+ vue.createElementVNode("div", _hoisted_2$L, [
994
994
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(weekDays.value, (day) => {
995
995
  return vue.openBlock(), vue.createElementBlock("div", {
996
996
  key: day,
@@ -998,7 +998,7 @@ const _sfc_main$18 = /* @__PURE__ */ vue.defineComponent({
998
998
  }, vue.toDisplayString(day), 1);
999
999
  }), 128))
1000
1000
  ]),
1001
- vue.createElementVNode("div", _hoisted_3$D, [
1001
+ vue.createElementVNode("div", _hoisted_3$E, [
1002
1002
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(currentMonth.value, (day) => {
1003
1003
  return vue.openBlock(), vue.createElementBlock("div", {
1004
1004
  key: day.date.toISOString(),
@@ -1033,8 +1033,8 @@ const _sfc_main$18 = /* @__PURE__ */ vue.defineComponent({
1033
1033
  });
1034
1034
  const MonthView = /* @__PURE__ */ _export_sfc(_sfc_main$18, [["__scopeId", "data-v-0b1117c4"]]);
1035
1035
  const _hoisted_1$Y = { class: "w-100p overflow-hidden m_overflow h-100p grid" };
1036
- const _hoisted_2$J = { class: "overflow h-100p pe-05" };
1037
- const _hoisted_3$C = ["onMousedown"];
1036
+ const _hoisted_2$K = { class: "overflow h-100p pe-05" };
1037
+ const _hoisted_3$D = ["onMousedown"];
1038
1038
  const _hoisted_4$p = ["onClick"];
1039
1039
  const _hoisted_5$o = { class: "overflow-hidden color-white p-025 txt12 h-100p" };
1040
1040
  const _hoisted_6$k = { class: "white-space ellipsis-1" };
@@ -1318,7 +1318,7 @@ const _sfc_main$17 = /* @__PURE__ */ vue.defineComponent({
1318
1318
  ]);
1319
1319
  }), 128))
1320
1320
  ], 512),
1321
- vue.createElementVNode("div", _hoisted_2$J, [
1321
+ vue.createElementVNode("div", _hoisted_2$K, [
1322
1322
  vue.createElementVNode("div", {
1323
1323
  ref_key: "dayColumnsContainer",
1324
1324
  ref: dayColumnsContainer,
@@ -1373,7 +1373,7 @@ const _sfc_main$17 = /* @__PURE__ */ vue.defineComponent({
1373
1373
  ])
1374
1374
  ], 44, _hoisted_4$p);
1375
1375
  }), 128))
1376
- ], 40, _hoisted_3$C);
1376
+ ], 40, _hoisted_3$D);
1377
1377
  }), 128)),
1378
1378
  dragState.value.isDragging && dragState.value.start && dragState.value.end ? (vue.openBlock(), vue.createElementBlock("div", {
1379
1379
  key: 1,
@@ -1396,8 +1396,8 @@ const _sfc_main$17 = /* @__PURE__ */ vue.defineComponent({
1396
1396
  });
1397
1397
  const WeekView = /* @__PURE__ */ _export_sfc(_sfc_main$17, [["__scopeId", "data-v-2d5bca17"]]);
1398
1398
  const _hoisted_1$X = { class: "calendar" };
1399
- const _hoisted_2$I = { class: "flex m_block m_pb-1" };
1400
- const _hoisted_3$B = { class: "txt-light my-0" };
1399
+ const _hoisted_2$J = { class: "flex m_block m_pb-1" };
1400
+ const _hoisted_3$C = { class: "txt-light my-0" };
1401
1401
  const _hoisted_4$o = { class: "ms-auto flex gap-025" };
1402
1402
  const _sfc_main$16 = /* @__PURE__ */ vue.defineComponent({
1403
1403
  __name: "Index",
@@ -1492,8 +1492,8 @@ const _sfc_main$16 = /* @__PURE__ */ vue.defineComponent({
1492
1492
  });
1493
1493
  return (_ctx, _cache) => {
1494
1494
  return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$X, [
1495
- vue.createElementVNode("div", _hoisted_2$I, [
1496
- vue.createElementVNode("h3", _hoisted_3$B, [
1495
+ vue.createElementVNode("div", _hoisted_2$J, [
1496
+ vue.createElementVNode("h3", _hoisted_3$C, [
1497
1497
  vue.createElementVNode("b", null, vue.toDisplayString(vue.unref(fmtDate)(currentDate.value, { fmt: "MMMM" })), 1),
1498
1498
  vue.createTextVNode(" " + vue.toDisplayString(vue.unref(fmtDate)(currentDate.value, { fmt: "YYYY" })), 1)
1499
1499
  ]),
@@ -1614,11 +1614,11 @@ const _sfc_main$15 = /* @__PURE__ */ vue.defineComponent({
1614
1614
  }
1615
1615
  });
1616
1616
  const _hoisted_1$V = ["dir"];
1617
- const _hoisted_2$H = {
1617
+ const _hoisted_2$I = {
1618
1618
  key: 0,
1619
1619
  class: "dots"
1620
1620
  };
1621
- const _hoisted_3$A = ["onClick"];
1621
+ const _hoisted_3$B = ["onClick"];
1622
1622
  const GAP_PERCENT = 1;
1623
1623
  const VELOCITY_SAMPLE_DURATION = 100;
1624
1624
  const _sfc_main$14 = /* @__PURE__ */ vue.defineComponent({
@@ -2055,13 +2055,13 @@ const _sfc_main$14 = /* @__PURE__ */ vue.defineComponent({
2055
2055
  }, [
2056
2056
  vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
2057
2057
  ], 38),
2058
- props2.dots && vue.unref(slideCount) > 1 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$H, [
2058
+ props2.dots && vue.unref(slideCount) > 1 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$I, [
2059
2059
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(slideCount), (i2) => {
2060
2060
  return vue.openBlock(), vue.createElementBlock("span", {
2061
2061
  key: i2,
2062
2062
  class: vue.normalizeClass(["dot", { current: vue.unref(activeSlideIndex) === i2 - 1 }]),
2063
2063
  onClick: ($event) => goToSlide(i2 - 1)
2064
- }, null, 10, _hoisted_3$A);
2064
+ }, null, 10, _hoisted_3$B);
2065
2065
  }), 128))
2066
2066
  ])) : vue.createCommentVNode("", true),
2067
2067
  vue.createElementVNode("div", {
@@ -7924,7 +7924,7 @@ const _hoisted_1$1$1 = {
7924
7924
  style: { display: "flex", position: "relative" }
7925
7925
  };
7926
7926
  const _hoisted_2$1$1 = ["width", "height", "viewBox"];
7927
- const _hoisted_3$z = { class: "layer-rectangles" };
7927
+ const _hoisted_3$A = { class: "layer-rectangles" };
7928
7928
  const _hoisted_4$n = ["transform", "onMouseover"];
7929
7929
  const _hoisted_5$n = ["width", "height"];
7930
7930
  const _hoisted_6$j = {
@@ -7942,7 +7942,7 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
7942
7942
  viewBox: `0 0 ${_ctx.size.width} ${_ctx.size.height}`,
7943
7943
  ref: "el"
7944
7944
  }, [
7945
- vue.createElementVNode("g", _hoisted_3$z, [
7945
+ vue.createElementVNode("g", _hoisted_3$A, [
7946
7946
  (vue.openBlock(true), vue.createElementBlock(
7947
7947
  vue.Fragment,
7948
7948
  null,
@@ -8038,7 +8038,7 @@ const _hoisted_1$U = {
8038
8038
  key: 0,
8039
8039
  class: "layer-hover-bar"
8040
8040
  };
8041
- const _hoisted_2$G = ["x", "y", "width", "height"];
8041
+ const _hoisted_2$H = ["x", "y", "width", "height"];
8042
8042
  function render(_ctx, _cache, $props, $setup, $data, $options) {
8043
8043
  return _ctx.mouse.hover ? (vue.openBlock(), vue.createElementBlock("g", _hoisted_1$U, [
8044
8044
  vue.createElementVNode("rect", vue.mergeProps({ class: "hover-bar" }, _ctx.barStyle, {
@@ -8046,7 +8046,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
8046
8046
  y: _ctx.bar.y,
8047
8047
  width: _ctx.bar.width > 0 ? _ctx.bar.width : 0,
8048
8048
  height: _ctx.bar.height > 0 ? _ctx.bar.height : 0
8049
- }), null, 16, _hoisted_2$G)
8049
+ }), null, 16, _hoisted_2$H)
8050
8050
  ])) : vue.createCommentVNode("v-if", true);
8051
8051
  }
8052
8052
  script.render = render;
@@ -8390,7 +8390,7 @@ function useTableData(options) {
8390
8390
  function resolveSchema() {
8391
8391
  try {
8392
8392
  schemaState.value = "loading";
8393
- const dataValue = options.data.value || [];
8393
+ const dataValue = vue.toValue(options.data) || [];
8394
8394
  const schema = useBglSchema({
8395
8395
  schema: vue.toValue(options.schema),
8396
8396
  columns: vue.toValue(options.columns),
@@ -8464,12 +8464,11 @@ function useTableData(options) {
8464
8464
  }
8465
8465
  const computedSortField = vue.computed(() => sortField.value ? `_transformed_${sortField.value}` : "");
8466
8466
  const computedData = vue.computed(() => {
8467
- const currentData = options.data.value || [];
8467
+ const currentData = vue.toValue(options.data) || [];
8468
8468
  if (!Array.isArray(currentData) || currentData.length === 0) {
8469
8469
  return [];
8470
8470
  }
8471
- const useServerSortValue = vue.computed(() => vue.toValue(options.useServerSort));
8472
- if (!sortField.value || useServerSortValue.value === true) {
8471
+ if (!sortField.value || vue.toValue(options.useServerSort) === true) {
8473
8472
  return currentData.map(transform);
8474
8473
  }
8475
8474
  return currentData.map(transform).sort((a2, z2) => {
@@ -8515,7 +8514,7 @@ function useTableData(options) {
8515
8514
  };
8516
8515
  }
8517
8516
  const _hoisted_1$T = { class: "data-preview" };
8518
- const _hoisted_2$F = {
8517
+ const _hoisted_2$G = {
8519
8518
  key: 1,
8520
8519
  class: "empty-preview"
8521
8520
  };
@@ -8526,7 +8525,7 @@ const _sfc_main$12 = /* @__PURE__ */ vue.defineComponent({
8526
8525
  includeUnset: { type: Boolean },
8527
8526
  schema: {},
8528
8527
  columns: {},
8529
- useServerSort: {},
8528
+ useServerSort: { type: Boolean },
8530
8529
  selectable: { type: Boolean },
8531
8530
  onLastItemVisible: { type: Function }
8532
8531
  },
@@ -8566,7 +8565,7 @@ const _sfc_main$12 = /* @__PURE__ */ vue.defineComponent({
8566
8565
  return vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(vue.unref(renderField)(field, vue.unref(slots))), {
8567
8566
  key: field.id
8568
8567
  });
8569
- }), 128)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$F, " No data to display "))
8568
+ }), 128)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$G, " No data to display "))
8570
8569
  ]);
8571
8570
  };
8572
8571
  }
@@ -9507,8 +9506,8 @@ const _hoisted_1$S = {
9507
9506
  key: 0,
9508
9507
  class: "loading-table-wrapper z-99 h-100 w-100 absolute inset"
9509
9508
  };
9510
- const _hoisted_2$E = { class: "infinite-wrapper" };
9511
- const _hoisted_3$y = { class: "row first-row" };
9509
+ const _hoisted_2$F = { class: "infinite-wrapper" };
9510
+ const _hoisted_3$z = { class: "row first-row" };
9512
9511
  const _hoisted_4$m = { key: 0 };
9513
9512
  const _hoisted_5$m = ["onClick"];
9514
9513
  const _hoisted_6$i = { class: "flex" };
@@ -9522,7 +9521,7 @@ const _sfc_main$11 = /* @__PURE__ */ vue.defineComponent({
9522
9521
  data: {},
9523
9522
  schema: {},
9524
9523
  columns: {},
9525
- useServerSort: {},
9524
+ useServerSort: { type: Boolean },
9526
9525
  selectable: { type: Boolean },
9527
9526
  onLastItemVisible: { type: Function }
9528
9527
  }, {
@@ -9536,7 +9535,7 @@ const _sfc_main$11 = /* @__PURE__ */ vue.defineComponent({
9536
9535
  emits: /* @__PURE__ */ vue.mergeModels(["orderBy", "select", "lastItemVisible"], ["update:loading", "update:itemHeight", "update:selectedItems"]),
9537
9536
  setup(__props, { emit: __emit }) {
9538
9537
  vue.useCssVars((_ctx) => ({
9539
- "4c16a687": vue.unref(computedItemHeight)
9538
+ "25c2d418": vue.unref(computedItemHeight)
9540
9539
  }));
9541
9540
  const props2 = __props;
9542
9541
  const emit2 = __emit;
@@ -9544,10 +9543,6 @@ const _sfc_main$11 = /* @__PURE__ */ vue.defineComponent({
9544
9543
  const loading = vue.useModel(__props, "loading");
9545
9544
  const itemHeight = vue.useModel(__props, "itemHeight");
9546
9545
  const selectedItems = vue.useModel(__props, "selectedItems");
9547
- const data2 = vue.computed(() => props2.data);
9548
- const schema = vue.computed(() => props2.schema);
9549
- const columns = vue.computed(() => props2.columns);
9550
- const useServerSort = vue.computed(() => props2.useServerSort);
9551
9546
  const {
9552
9547
  computedSchema,
9553
9548
  computedData,
@@ -9556,10 +9551,10 @@ const _sfc_main$11 = /* @__PURE__ */ vue.defineComponent({
9556
9551
  toggleSort,
9557
9552
  cleanTransformedData
9558
9553
  } = useTableData({
9559
- data: data2,
9560
- schema,
9561
- columns,
9562
- useServerSort,
9554
+ data: vue.computed(() => props2.data),
9555
+ schema: vue.computed(() => vue.toValue(props2.schema)),
9556
+ columns: vue.computed(() => vue.toValue(props2.columns)),
9557
+ useServerSort: vue.computed(() => vue.toValue(props2.useServerSort)),
9563
9558
  onSort: (field, direction) => {
9564
9559
  emit2("orderBy", `${field.trim()} ${direction.trim()}`);
9565
9560
  }
@@ -9642,8 +9637,8 @@ const _sfc_main$11 = /* @__PURE__ */ vue.defineComponent({
9642
9637
  vue.createElementVNode("div", vue.mergeProps(vue.unref(wrapperProps), {
9643
9638
  class: { "pointer-events-none": showLoading.value }
9644
9639
  }), [
9645
- vue.createElementVNode("table", _hoisted_2$E, [
9646
- vue.createElementVNode("thead", _hoisted_3$y, [
9640
+ vue.createElementVNode("table", _hoisted_2$F, [
9641
+ vue.createElementVNode("thead", _hoisted_3$z, [
9647
9642
  vue.unref(isSelectable) ? (vue.openBlock(), vue.createElementBlock("th", _hoisted_4$m, [
9648
9643
  vue.createElementVNode("input", {
9649
9644
  ref_key: "allSelectorEl",
@@ -9725,7 +9720,7 @@ const _sfc_main$11 = /* @__PURE__ */ vue.defineComponent({
9725
9720
  };
9726
9721
  }
9727
9722
  });
9728
- const DataTable = /* @__PURE__ */ _export_sfc(_sfc_main$11, [["__scopeId", "data-v-979bbdcd"]]);
9723
+ const DataTable = /* @__PURE__ */ _export_sfc(_sfc_main$11, [["__scopeId", "data-v-f795f660"]]);
9729
9724
  function useDraggable(options = {}) {
9730
9725
  const isDragging = vue.ref(false);
9731
9726
  const dragElement = vue.ref(null);
@@ -10283,7 +10278,8 @@ const _sfc_main$$ = /* @__PURE__ */ vue.defineComponent({
10283
10278
  props: {
10284
10279
  multiple: { type: Boolean },
10285
10280
  accept: {},
10286
- disabled: { type: Boolean }
10281
+ disabled: { type: Boolean },
10282
+ browse: { type: Boolean }
10287
10283
  },
10288
10284
  emits: ["addFiles"],
10289
10285
  setup(__props, { emit: __emit }) {
@@ -10312,6 +10308,24 @@ const _sfc_main$$ = /* @__PURE__ */ vue.defineComponent({
10312
10308
  isDragging.value = false;
10313
10309
  }
10314
10310
  }
10311
+ function handleClick(e) {
10312
+ if (!props2.browse || props2.disabled) {
10313
+ return;
10314
+ }
10315
+ e.preventDefault();
10316
+ e.stopPropagation();
10317
+ const input = document.createElement("input");
10318
+ input.type = "file";
10319
+ input.multiple = !!props2.multiple;
10320
+ input.accept = props2.accept || "*";
10321
+ input.onchange = (e22) => {
10322
+ const { files: files2 } = e22.target;
10323
+ if (files2) {
10324
+ emit2("addFiles", files2);
10325
+ }
10326
+ };
10327
+ input.click();
10328
+ }
10315
10329
  function handleDrop(e) {
10316
10330
  if (props2.disabled) return;
10317
10331
  e.preventDefault();
@@ -10330,7 +10344,8 @@ const _sfc_main$$ = /* @__PURE__ */ vue.defineComponent({
10330
10344
  onDragenter: handleDragEnter,
10331
10345
  onDragover: handleDragOver,
10332
10346
  onDragleave: handleDragLeave,
10333
- onDrop: handleDrop
10347
+ onDrop: handleDrop,
10348
+ onClick: handleClick
10334
10349
  }, [
10335
10350
  vue.renderSlot(_ctx.$slots, "default", {}, void 0, true),
10336
10351
  isDragging.value && !_ctx.disabled ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$R, _cache[0] || (_cache[0] = [
@@ -10340,7 +10355,7 @@ const _sfc_main$$ = /* @__PURE__ */ vue.defineComponent({
10340
10355
  };
10341
10356
  }
10342
10357
  });
10343
- const DragOver = /* @__PURE__ */ _export_sfc(_sfc_main$$, [["__scopeId", "data-v-efa2a825"]]);
10358
+ const DragOver = /* @__PURE__ */ _export_sfc(_sfc_main$$, [["__scopeId", "data-v-9cf27687"]]);
10344
10359
  const sides = ["top", "right", "bottom", "left"];
10345
10360
  const alignments = ["start", "end"];
10346
10361
  const placements = /* @__PURE__ */ sides.reduce((acc, side) => acc.concat(side, side + "-" + alignments[0], side + "-" + alignments[1]), []);
@@ -12982,7 +12997,7 @@ const _sfc_main$_ = /* @__PURE__ */ vue.defineComponent({
12982
12997
  }
12983
12998
  });
12984
12999
  const _hoisted_1$Q = { class: "px-1 pt-025 pb-1" };
12985
- const _hoisted_2$D = { class: "ms-1" };
13000
+ const _hoisted_2$E = { class: "ms-1" };
12986
13001
  const _sfc_main$Z = /* @__PURE__ */ vue.defineComponent({
12987
13002
  __name: "FieldSetVue",
12988
13003
  props: {
@@ -12992,7 +13007,7 @@ const _sfc_main$Z = /* @__PURE__ */ vue.defineComponent({
12992
13007
  setup(__props) {
12993
13008
  return (_ctx, _cache) => {
12994
13009
  return vue.openBlock(), vue.createElementBlock("fieldset", _hoisted_1$Q, [
12995
- vue.createElementVNode("legend", _hoisted_2$D, vue.toDisplayString(_ctx.legend || _ctx.label), 1),
13010
+ vue.createElementVNode("legend", _hoisted_2$E, vue.toDisplayString(_ctx.legend || _ctx.label), 1),
12996
13011
  vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
12997
13012
  ]);
12998
13013
  };
@@ -13670,11 +13685,11 @@ const _sfc_main$X = /* @__PURE__ */ vue.defineComponent({
13670
13685
  }
13671
13686
  });
13672
13687
  const _hoisted_1$P = { class: "bgl-multi-step-form" };
13673
- const _hoisted_2$C = {
13688
+ const _hoisted_2$D = {
13674
13689
  key: 0,
13675
13690
  class: "bgl-step-progress"
13676
13691
  };
13677
- const _hoisted_3$x = { class: "bgl-steps-indicator" };
13692
+ const _hoisted_3$y = { class: "bgl-steps-indicator" };
13678
13693
  const _hoisted_4$l = ["onClick"];
13679
13694
  const _hoisted_5$l = {
13680
13695
  key: 0,
@@ -13848,7 +13863,7 @@ const _sfc_main$W = /* @__PURE__ */ vue.defineComponent({
13848
13863
  });
13849
13864
  return (_ctx, _cache) => {
13850
13865
  return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$P, [
13851
- _ctx.showProgress ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$C, [
13866
+ _ctx.showProgress ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$D, [
13852
13867
  vue.renderSlot(_ctx.$slots, "progress", vue.normalizeProps(vue.guardReactiveProps({
13853
13868
  currentStep: currentStep.value,
13854
13869
  totalSteps: numberOfSteps.value,
@@ -13857,7 +13872,7 @@ const _sfc_main$W = /* @__PURE__ */ vue.defineComponent({
13857
13872
  allowStepNavigation: props2.allowStepNavigation,
13858
13873
  isStepValidated: isStepValidated.value
13859
13874
  })), () => [
13860
- vue.createElementVNode("div", _hoisted_3$x, [
13875
+ vue.createElementVNode("div", _hoisted_3$y, [
13861
13876
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(numberOfSteps.value, (_2, index2) => {
13862
13877
  return vue.openBlock(), vue.createElementBlock("div", {
13863
13878
  key: index2,
@@ -13951,8 +13966,8 @@ const _hoisted_1$O = {
13951
13966
  key: 0,
13952
13967
  class: "label mb-05"
13953
13968
  };
13954
- const _hoisted_2$B = { class: "ps-025 border-start mb-05" };
13955
- const _hoisted_3$w = {
13969
+ const _hoisted_2$C = { class: "ps-025 border-start mb-05" };
13970
+ const _hoisted_3$x = {
13956
13971
  key: 0,
13957
13972
  class: "flex-center h-300px"
13958
13973
  };
@@ -14053,8 +14068,8 @@ const _sfc_main$V = /* @__PURE__ */ vue.defineComponent({
14053
14068
  class: vue.normalizeClass(props2.class)
14054
14069
  }, [
14055
14070
  _ctx.label ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_1$O, vue.toDisplayString(_ctx.label), 1)) : vue.createCommentVNode("", true),
14056
- vue.createElementVNode("div", _hoisted_2$B, [
14057
- schemaState.value !== "loaded" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$w, [
14071
+ vue.createElementVNode("div", _hoisted_2$C, [
14072
+ schemaState.value !== "loaded" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$x, [
14058
14073
  schemaState.value === "loading" ? (vue.openBlock(), vue.createBlock(vue.unref(Loading), { key: 0 })) : schemaState.value === "error" ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$v), {
14059
14074
  key: 1,
14060
14075
  icon: "error",
@@ -14140,8 +14155,8 @@ const _sfc_main$U = /* @__PURE__ */ vue.defineComponent({
14140
14155
  });
14141
14156
  const Checkbox = /* @__PURE__ */ _export_sfc(_sfc_main$U, [["__scopeId", "data-v-73f1d9ad"]]);
14142
14157
  const _hoisted_1$M = ["title"];
14143
- const _hoisted_2$A = ["id", "value", "required"];
14144
- const _hoisted_3$v = ["for"];
14158
+ const _hoisted_2$B = ["id", "value", "required"];
14159
+ const _hoisted_3$w = ["for"];
14145
14160
  const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
14146
14161
  __name: "CheckInput",
14147
14162
  props: /* @__PURE__ */ vue.mergeModels({
@@ -14175,7 +14190,7 @@ const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
14175
14190
  required: _ctx.required,
14176
14191
  type: "checkbox",
14177
14192
  class: "me-05"
14178
- }, null, 8, _hoisted_2$A), [
14193
+ }, null, 8, _hoisted_2$B), [
14179
14194
  [vue.vModelCheckbox, checked.value]
14180
14195
  ]),
14181
14196
  vue.createElementVNode("label", {
@@ -14184,7 +14199,7 @@ const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
14184
14199
  vue.renderSlot(_ctx.$slots, "label", {}, () => [
14185
14200
  vue.createTextVNode(vue.toDisplayString(_ctx.label), 1)
14186
14201
  ], true)
14187
- ], 8, _hoisted_3$v)
14202
+ ], 8, _hoisted_3$w)
14188
14203
  ], 10, _hoisted_1$M);
14189
14204
  };
14190
14205
  }
@@ -14247,8 +14262,8 @@ const _hoisted_1$L = {
14247
14262
  key: 0,
14248
14263
  class: "label"
14249
14264
  };
14250
- const _hoisted_2$z = { class: "editor-content-papa relative" };
14251
- const _hoisted_3$u = {
14265
+ const _hoisted_2$A = { class: "editor-content-papa relative" };
14266
+ const _hoisted_3$v = {
14252
14267
  class: "code-display",
14253
14268
  wrap: ""
14254
14269
  };
@@ -14322,8 +14337,8 @@ const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
14322
14337
  ref: editorRef,
14323
14338
  class: "code-editor-grandpa"
14324
14339
  }, [
14325
- vue.createElementVNode("div", _hoisted_2$z, [
14326
- vue.createElementVNode("pre", _hoisted_3$u, [
14340
+ vue.createElementVNode("div", _hoisted_2$A, [
14341
+ vue.createElementVNode("pre", _hoisted_3$v, [
14327
14342
  vue.createElementVNode("code", { innerHTML: formattedCode.value }, null, 8, _hoisted_4$j)
14328
14343
  ]),
14329
14344
  !_ctx.readonly ? (vue.openBlock(), vue.createElementBlock("textarea", {
@@ -14345,8 +14360,8 @@ const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
14345
14360
  });
14346
14361
  const CodeEditor = /* @__PURE__ */ _export_sfc(_sfc_main$S, [["__scopeId", "data-v-de01e351"]]);
14347
14362
  const _hoisted_1$K = ["title"];
14348
- const _hoisted_2$y = { class: "flex bg-input rounded px-025 colorInputPickWrap" };
14349
- const _hoisted_3$t = ["id", "placeholder", "required"];
14363
+ const _hoisted_2$z = { class: "flex bg-input rounded px-025 colorInputPickWrap" };
14364
+ const _hoisted_3$u = ["id", "placeholder", "required"];
14350
14365
  const _sfc_main$R = /* @__PURE__ */ vue.defineComponent({
14351
14366
  __name: "ColorInput",
14352
14367
  props: {
@@ -14377,7 +14392,7 @@ const _sfc_main$R = /* @__PURE__ */ vue.defineComponent({
14377
14392
  }, [
14378
14393
  vue.createElementVNode("label", null, [
14379
14394
  vue.createTextVNode(vue.toDisplayString(_ctx.label) + " ", 1),
14380
- vue.createElementVNode("div", _hoisted_2$y, [
14395
+ vue.createElementVNode("div", _hoisted_2$z, [
14381
14396
  vue.withDirectives(vue.createElementVNode("input", vue.mergeProps({
14382
14397
  id: _ctx.id,
14383
14398
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => inputVal.value = $event),
@@ -14385,7 +14400,7 @@ const _sfc_main$R = /* @__PURE__ */ vue.defineComponent({
14385
14400
  type: "color",
14386
14401
  placeholder: _ctx.placeholder || _ctx.label,
14387
14402
  required: _ctx.required
14388
- }, _ctx.nativeInputAttrs), null, 16, _hoisted_3$t), [
14403
+ }, _ctx.nativeInputAttrs), null, 16, _hoisted_3$u), [
14389
14404
  [vue.vModelText, inputVal.value]
14390
14405
  ]),
14391
14406
  vue.withDirectives(vue.createElementVNode("input", {
@@ -14929,8 +14944,8 @@ class Time {
14929
14944
  }
14930
14945
  }
14931
14946
  const _hoisted_1$J = { class: "ltr flex gap-075 m_flex-wrap calendar-container justify-content-center h-100p" };
14932
- const _hoisted_2$x = { class: "calendar-section m_border-none pe-05 m_p-0" };
14933
- const _hoisted_3$s = { class: "flex space-between pb-1" };
14947
+ const _hoisted_2$y = { class: "calendar-section m_border-none pe-05 m_p-0" };
14948
+ const _hoisted_3$t = { class: "flex space-between pb-1" };
14934
14949
  const _hoisted_4$i = { class: "flex gap-05" };
14935
14950
  const _hoisted_5$i = { class: "month-year" };
14936
14951
  const _hoisted_6$f = {
@@ -14967,6 +14982,7 @@ const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
14967
14982
  setup(__props, { emit: __emit }) {
14968
14983
  const props2 = __props;
14969
14984
  const emit2 = __emit;
14985
+ const computedHighlightedDates = vue.computed(() => vue.toValue(props2.highlightedDates));
14970
14986
  const currentMonth = vue.ref(/* @__PURE__ */ new Date());
14971
14987
  const currentView = vue.ref("days");
14972
14988
  const time = new Time(props2.firstDayOfWeek, props2.locale);
@@ -15063,16 +15079,16 @@ const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
15063
15079
  const isNotInMonth2 = (date2) => {
15064
15080
  return time.isTrailingOrLeadingDate(date2, currentMonth.value.getMonth());
15065
15081
  };
15066
- const isHighlighted2 = (date2) => {
15067
- if (!date2 || !Array.isArray(props2.highlightedDates) || !props2.highlightedDates.length) {
15082
+ const isHighlighted2 = vue.computed(() => (date2) => {
15083
+ if (!date2 || !Array.isArray(computedHighlightedDates.value) || !computedHighlightedDates.value.length) {
15068
15084
  return false;
15069
15085
  }
15070
- return props2.highlightedDates.some((highlightedDate) => {
15086
+ return computedHighlightedDates.value.some((highlightedDate) => {
15071
15087
  const parsedDate = parseDate(highlightedDate);
15072
15088
  if (!parsedDate) return false;
15073
15089
  return date2.getFullYear() === parsedDate.getFullYear() && date2.getMonth() === parsedDate.getMonth() && date2.getDate() === parsedDate.getDate();
15074
15090
  });
15075
- };
15091
+ });
15076
15092
  return {
15077
15093
  currentMonthDays: currentMonthDays2,
15078
15094
  currentMonthValue: currentMonthValue2,
@@ -15184,8 +15200,8 @@ const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
15184
15200
  }
15185
15201
  return (_ctx, _cache) => {
15186
15202
  return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$J, [
15187
- vue.createElementVNode("div", _hoisted_2$x, [
15188
- vue.createElementVNode("div", _hoisted_3$s, [
15203
+ vue.createElementVNode("div", _hoisted_2$y, [
15204
+ vue.createElementVNode("div", _hoisted_3$t, [
15189
15205
  currentView.value === "days" ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
15190
15206
  vue.createVNode(vue.unref(Btn), {
15191
15207
  flat: "",
@@ -15314,10 +15330,10 @@ const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
15314
15330
  };
15315
15331
  }
15316
15332
  });
15317
- const DatePicker = /* @__PURE__ */ _export_sfc(_sfc_main$Q, [["__scopeId", "data-v-2cc2cfc1"]]);
15333
+ const DatePicker = /* @__PURE__ */ _export_sfc(_sfc_main$Q, [["__scopeId", "data-v-16646325"]]);
15318
15334
  const _hoisted_1$I = ["title"];
15319
- const _hoisted_2$w = { key: 0 };
15320
- const _hoisted_3$r = {
15335
+ const _hoisted_2$x = { key: 0 };
15336
+ const _hoisted_3$s = {
15321
15337
  key: 0,
15322
15338
  class: "required"
15323
15339
  };
@@ -15437,9 +15453,9 @@ const _sfc_main$P = /* @__PURE__ */ vue.defineComponent({
15437
15453
  onFocusin: _cache[4] || (_cache[4] = //@ts-ignore
15438
15454
  (...args) => vue.unref(handleFocus) && vue.unref(handleFocus)(...args))
15439
15455
  }, [
15440
- _ctx.label ? (vue.openBlock(), vue.createElementBlock("label", _hoisted_2$w, [
15456
+ _ctx.label ? (vue.openBlock(), vue.createElementBlock("label", _hoisted_2$x, [
15441
15457
  vue.createTextVNode(vue.toDisplayString(_ctx.label) + " ", 1),
15442
- _ctx.required ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$r, "*")) : vue.createCommentVNode("", true)
15458
+ _ctx.required ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$s, "*")) : vue.createCommentVNode("", true)
15443
15459
  ])) : vue.createCommentVNode("", true),
15444
15460
  vue.createVNode(vue.unref(_sfc_main$_), {
15445
15461
  shown: isOpen.value,
@@ -15506,8 +15522,8 @@ const VIDEO_FORMATS = ["mp4", "webm", "ogg", "mov", "avi", "flv", "wmv", "mkv",
15506
15522
  const VIDEO_FORMATS_REGEXP = new RegExp(`(${VIDEO_FORMATS.join("|")})$`, "i");
15507
15523
  const EMAIL_REGEX = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\])|(([a-z\-0-9]+\.)+[a-z]{2,}))$/i;
15508
15524
  const _hoisted_1$H = ["title"];
15509
- const _hoisted_2$v = ["for"];
15510
- const _hoisted_3$q = { class: "flex" };
15525
+ const _hoisted_2$w = ["for"];
15526
+ const _hoisted_3$r = { class: "flex" };
15511
15527
  const _hoisted_4$h = { key: 0 };
15512
15528
  const _hoisted_5$h = {
15513
15529
  key: 1,
@@ -15782,7 +15798,7 @@ const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
15782
15798
  title: _ctx.title
15783
15799
  }, [
15784
15800
  vue.createElementVNode("label", { for: _ctx.id }, [
15785
- vue.createElementVNode("div", _hoisted_3$q, [
15801
+ vue.createElementVNode("div", _hoisted_3$r, [
15786
15802
  vue.createTextVNode(vue.toDisplayString(_ctx.label) + " ", 1),
15787
15803
  _ctx.required ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$h, "*")) : vue.createCommentVNode("", true),
15788
15804
  _ctx.helptext ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_5$h, vue.toDisplayString(_ctx.helptext), 1)) : vue.createCommentVNode("", true),
@@ -15824,21 +15840,21 @@ const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
15824
15840
  key: 1,
15825
15841
  icon: _ctx.icon
15826
15842
  }, null, 8, ["icon"])) : vue.createCommentVNode("", true)
15827
- ], 8, _hoisted_2$v)
15843
+ ], 8, _hoisted_2$w)
15828
15844
  ], 10, _hoisted_1$H);
15829
15845
  };
15830
15846
  }
15831
15847
  });
15832
15848
  const EmailInput = /* @__PURE__ */ _export_sfc(_sfc_main$O, [["__scopeId", "data-v-e3d13caa"]]);
15833
15849
  const _hoisted_1$G = { class: "bagel-input" };
15834
- const _hoisted_2$u = {
15850
+ const _hoisted_2$v = {
15835
15851
  key: 0,
15836
15852
  placeholder: "required",
15837
15853
  type: "text",
15838
15854
  required: "",
15839
15855
  class: "pixel"
15840
15856
  };
15841
- const _hoisted_3$p = { class: "m-05 flex opacity-7 z-99" };
15857
+ const _hoisted_3$q = { class: "m-05 flex opacity-7 z-99" };
15842
15858
  const _hoisted_4$g = { class: "ellipsis-1 word-break-all h-20 m-0 color-black" };
15843
15859
  const _hoisted_5$g = { class: "flex gap-025 rounded pe-1 ps-05 py-025 bg-gray-80 -my-1" };
15844
15860
  const _hoisted_6$d = { class: "ellipsis-1 word-break-all h-20 m-0 color-black txt16" };
@@ -16048,7 +16064,7 @@ const _sfc_main$N = /* @__PURE__ */ vue.defineComponent({
16048
16064
  const _directive_lightbox = vue.resolveDirective("lightbox");
16049
16065
  return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$G, [
16050
16066
  vue.createElementVNode("label", null, vue.toDisplayString(_ctx.label), 1),
16051
- _ctx.required && !storageFiles.value.length ? (vue.openBlock(), vue.createElementBlock("input", _hoisted_2$u)) : vue.createCommentVNode("", true),
16067
+ _ctx.required && !storageFiles.value.length ? (vue.openBlock(), vue.createElementBlock("input", _hoisted_2$v)) : vue.createCommentVNode("", true),
16052
16068
  _ctx.theme === "basic" ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$15), {
16053
16069
  key: 1,
16054
16070
  outline: "",
@@ -16070,7 +16086,7 @@ const _sfc_main$N = /* @__PURE__ */ vue.defineComponent({
16070
16086
  key: file.id,
16071
16087
  class: "txt-gray txt-12 flex"
16072
16088
  }, [
16073
- vue.createElementVNode("div", _hoisted_3$p, [
16089
+ vue.createElementVNode("div", _hoisted_3$q, [
16074
16090
  vue.withDirectives(vue.createVNode(vue.unref(Btn), {
16075
16091
  color: "gray",
16076
16092
  thin: "",
@@ -16305,8 +16321,8 @@ const _sfc_main$N = /* @__PURE__ */ vue.defineComponent({
16305
16321
  });
16306
16322
  const FileUpload = /* @__PURE__ */ _export_sfc(_sfc_main$N, [["__scopeId", "data-v-50fd0597"]]);
16307
16323
  const _hoisted_1$F = ["title"];
16308
- const _hoisted_2$t = { key: 0 };
16309
- const _hoisted_3$o = ["value", "placeholder"];
16324
+ const _hoisted_2$u = { key: 0 };
16325
+ const _hoisted_3$p = ["value", "placeholder"];
16310
16326
  const _sfc_main$M = /* @__PURE__ */ vue.defineComponent({
16311
16327
  __name: "JSONInput",
16312
16328
  props: {
@@ -16330,7 +16346,7 @@ const _sfc_main$M = /* @__PURE__ */ vue.defineComponent({
16330
16346
  class: vue.normalizeClass(["bagel-input", { small: _ctx.small }]),
16331
16347
  title: _ctx.description
16332
16348
  }, [
16333
- _ctx.label ? (vue.openBlock(), vue.createElementBlock("label", _hoisted_2$t, [
16349
+ _ctx.label ? (vue.openBlock(), vue.createElementBlock("label", _hoisted_2$u, [
16334
16350
  vue.createVNode(_component_LangText, { input: _ctx.label }, null, 8, ["input"])
16335
16351
  ])) : vue.createCommentVNode("", true),
16336
16352
  vue.createElementVNode("textarea", {
@@ -16338,18 +16354,18 @@ const _sfc_main$M = /* @__PURE__ */ vue.defineComponent({
16338
16354
  class: vue.normalizeClass({ "no-edit": !_ctx.editMode }),
16339
16355
  placeholder: _ctx.placeholder,
16340
16356
  onInput: handleInput
16341
- }, null, 42, _hoisted_3$o)
16357
+ }, null, 42, _hoisted_3$p)
16342
16358
  ], 10, _hoisted_1$F);
16343
16359
  };
16344
16360
  }
16345
16361
  });
16346
16362
  const JSONInput = /* @__PURE__ */ _export_sfc(_sfc_main$M, [["__scopeId", "data-v-1cbaeab2"]]);
16347
16363
  const _hoisted_1$E = ["for"];
16348
- const _hoisted_2$s = {
16364
+ const _hoisted_2$t = {
16349
16365
  key: 0,
16350
16366
  class: "block"
16351
16367
  };
16352
- const _hoisted_3$n = ["id", "placeholder", "disabled", "required", "readonly", "pattern", "onKeydown"];
16368
+ const _hoisted_3$o = ["id", "placeholder", "disabled", "required", "readonly", "pattern", "onKeydown"];
16353
16369
  const _hoisted_4$f = {
16354
16370
  key: 1,
16355
16371
  class: "opacity-7 light"
@@ -16463,7 +16479,7 @@ const _sfc_main$L = /* @__PURE__ */ vue.defineComponent({
16463
16479
  }])
16464
16480
  }, [
16465
16481
  vue.createElementVNode("div", { for: _ctx.id }, [
16466
- _ctx.label ? (vue.openBlock(), vue.createElementBlock("label", _hoisted_2$s, vue.toDisplayString(_ctx.label), 1)) : vue.createCommentVNode("", true),
16482
+ _ctx.label ? (vue.openBlock(), vue.createElementBlock("label", _hoisted_2$t, vue.toDisplayString(_ctx.label), 1)) : vue.createCommentVNode("", true),
16467
16483
  vue.createElementVNode("div", {
16468
16484
  class: vue.normalizeClass(["gap-025", { "column flex": _ctx.layout === "vertical", "flex": _ctx.layout === "horizontal" }])
16469
16485
  }, [
@@ -16498,7 +16514,7 @@ const _sfc_main$L = /* @__PURE__ */ vue.defineComponent({
16498
16514
  vue.withKeys(vue.withModifiers(increment, ["prevent"]), ["up"]),
16499
16515
  vue.withKeys(vue.withModifiers(decrement, ["prevent"]), ["down"])
16500
16516
  ]
16501
- }, null, 42, _hoisted_3$n), [
16517
+ }, null, 42, _hoisted_3$o), [
16502
16518
  [
16503
16519
  vue.vModelText,
16504
16520
  vue.unref(formattedValue),
@@ -16670,7 +16686,7 @@ const _sfc_main$K = /* @__PURE__ */ vue.defineComponent({
16670
16686
  });
16671
16687
  const OTP = /* @__PURE__ */ _export_sfc(_sfc_main$K, [["__scopeId", "data-v-ab0a46bf"]]);
16672
16688
  const _hoisted_1$C = { class: "relative passwordInput" };
16673
- const _hoisted_2$r = { class: "m-password position-bottom-end flex column justify-content-center" };
16689
+ const _hoisted_2$s = { class: "m-password position-bottom-end flex column justify-content-center" };
16674
16690
  const _sfc_main$J = /* @__PURE__ */ vue.defineComponent({
16675
16691
  __name: "PasswordInput",
16676
16692
  props: /* @__PURE__ */ vue.mergeModels({
@@ -16720,7 +16736,7 @@ const _sfc_main$J = /* @__PURE__ */ vue.defineComponent({
16720
16736
  class: "mb-0",
16721
16737
  name: props2.name
16722
16738
  }), null, 16, ["modelValue", "type", "name"]),
16723
- vue.createElementVNode("div", _hoisted_2$r, [
16739
+ vue.createElementVNode("div", _hoisted_2$s, [
16724
16740
  vue.createVNode(vue.unref(Btn), {
16725
16741
  flat: "",
16726
16742
  thin: "",
@@ -16734,8 +16750,8 @@ const _sfc_main$J = /* @__PURE__ */ vue.defineComponent({
16734
16750
  }
16735
16751
  });
16736
16752
  const _hoisted_1$B = ["for"];
16737
- const _hoisted_2$q = ["id", "disabled", "name", "value", "required"];
16738
- const _hoisted_3$m = { class: "flex w-100 gap-1 flex-wrap m_gap-05 m_gap-row-025" };
16753
+ const _hoisted_2$r = ["id", "disabled", "name", "value", "required"];
16754
+ const _hoisted_3$n = { class: "flex w-100 gap-1 flex-wrap m_gap-05 m_gap-row-025" };
16739
16755
  const _hoisted_4$e = ["src", "alt"];
16740
16756
  const _hoisted_5$e = { class: "" };
16741
16757
  const _hoisted_6$c = {
@@ -16807,10 +16823,10 @@ const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
16807
16823
  onFocus: handleFocus,
16808
16824
  onBlur: handleBlur,
16809
16825
  onChange: handleChange
16810
- }, null, 40, _hoisted_2$q), [
16826
+ }, null, 40, _hoisted_2$r), [
16811
16827
  [vue.vModelRadio, selectedOption.value]
16812
16828
  ]),
16813
- vue.createElementVNode("div", _hoisted_3$m, [
16829
+ vue.createElementVNode("div", _hoisted_3$n, [
16814
16830
  opt.imgSrc ? (vue.openBlock(), vue.createElementBlock("img", {
16815
16831
  key: 0,
16816
16832
  class: "bg-popup shadow-light py-025 radius-05 m_w40",
@@ -16840,8 +16856,8 @@ const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
16840
16856
  });
16841
16857
  const RadioGroup = /* @__PURE__ */ _export_sfc(_sfc_main$I, [["__scopeId", "data-v-adc49780"]]);
16842
16858
  const _hoisted_1$A = { class: "bagel-input" };
16843
- const _hoisted_2$p = { class: "pb-025" };
16844
- const _hoisted_3$l = { class: "flex gap-05 flex-wrap" };
16859
+ const _hoisted_2$q = { class: "pb-025" };
16860
+ const _hoisted_3$m = { class: "flex gap-05 flex-wrap" };
16845
16861
  const _hoisted_4$d = ["id", "name", "value", "checked"];
16846
16862
  const _hoisted_5$d = ["for"];
16847
16863
  const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
@@ -16888,8 +16904,8 @@ const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
16888
16904
  });
16889
16905
  return (_ctx, _cache) => {
16890
16906
  return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$A, [
16891
- vue.createElementVNode("label", _hoisted_2$p, vue.toDisplayString(_ctx.label), 1),
16892
- vue.createElementVNode("div", _hoisted_3$l, [
16907
+ vue.createElementVNode("label", _hoisted_2$q, vue.toDisplayString(_ctx.label), 1),
16908
+ vue.createElementVNode("div", _hoisted_3$m, [
16893
16909
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.options, (option2, index2) => {
16894
16910
  return vue.openBlock(), vue.createElementBlock("div", {
16895
16911
  key: index2,
@@ -16915,11 +16931,11 @@ const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
16915
16931
  });
16916
16932
  const RadioPillsInput = /* @__PURE__ */ _export_sfc(_sfc_main$H, [["__scopeId", "data-v-68b4cdd0"]]);
16917
16933
  const _hoisted_1$z = ["dir"];
16918
- const _hoisted_2$o = {
16934
+ const _hoisted_2$p = {
16919
16935
  key: 0,
16920
16936
  class: "label"
16921
16937
  };
16922
- const _hoisted_3$k = { class: "range-slider relative w-100" };
16938
+ const _hoisted_3$l = { class: "range-slider relative w-100" };
16923
16939
  const _hoisted_4$c = ["id", "value", "min", "max", "step", "required", "disabled", "aria-label"];
16924
16940
  const _hoisted_5$c = ["value", "min", "max", "step", "required", "disabled"];
16925
16941
  const _hoisted_6$b = { class: "track absolute pointer-events-none overflow-hidden round" };
@@ -16988,8 +17004,8 @@ const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
16988
17004
  return vue.openBlock(), vue.createElementBlock("div", {
16989
17005
  dir: _ctx.rtl ? "rtl" : "ltr"
16990
17006
  }, [
16991
- props2.label ? (vue.openBlock(), vue.createElementBlock("label", _hoisted_2$o, vue.toDisplayString(props2.label), 1)) : vue.createCommentVNode("", true),
16992
- vue.createElementVNode("div", _hoisted_3$k, [
17007
+ props2.label ? (vue.openBlock(), vue.createElementBlock("label", _hoisted_2$p, vue.toDisplayString(props2.label), 1)) : vue.createCommentVNode("", true),
17008
+ vue.createElementVNode("div", _hoisted_3$l, [
16993
17009
  vue.createElementVNode("input", {
16994
17010
  id: _ctx.id,
16995
17011
  value: validFrom.value,
@@ -17151,8 +17167,8 @@ const toolbarOptions = [
17151
17167
  { name: "fullScreen", label: "Full Screen", icon: "fullscreen", class: "ms-auto" }
17152
17168
  ];
17153
17169
  const _hoisted_1$y = { class: "grid grid-wrap p-05" };
17154
- const _hoisted_2$n = ["onMousemove", "onClick"];
17155
- const _hoisted_3$j = { class: "txt-center txt-12 color-gray" };
17170
+ const _hoisted_2$o = ["onMousemove", "onClick"];
17171
+ const _hoisted_3$k = { class: "txt-center txt-12 color-gray" };
17156
17172
  const fb = 1;
17157
17173
  const _sfc_main$F = /* @__PURE__ */ vue.defineComponent({
17158
17174
  __name: "gridBox",
@@ -17202,11 +17218,11 @@ const _sfc_main$F = /* @__PURE__ */ vue.defineComponent({
17202
17218
  hoveredCol.value = col;
17203
17219
  },
17204
17220
  onClick: ($event) => emit2("select", `${row}x${col}`)
17205
- }, null, 42, _hoisted_2$n);
17221
+ }, null, 42, _hoisted_2$o);
17206
17222
  }), 128))
17207
17223
  ], 32);
17208
17224
  }), 128)),
17209
- vue.createElementVNode("p", _hoisted_3$j, vue.toDisplayString(hoveredRow.value) + "x" + vue.toDisplayString(hoveredCol.value), 1)
17225
+ vue.createElementVNode("p", _hoisted_3$k, vue.toDisplayString(hoveredRow.value) + "x" + vue.toDisplayString(hoveredCol.value), 1)
17210
17226
  ]);
17211
17227
  };
17212
17228
  }
@@ -18840,8 +18856,8 @@ function isNodeEmpty(node) {
18840
18856
  return brElements.length === 1 && node.childNodes.length <= 2;
18841
18857
  }
18842
18858
  const _hoisted_1$w = { class: "bagel-input" };
18843
- const _hoisted_2$m = { class: "content-area radius-05" };
18844
- const _hoisted_3$i = {
18859
+ const _hoisted_2$n = { class: "content-area radius-05" };
18860
+ const _hoisted_3$j = {
18845
18861
  key: 1,
18846
18862
  class: "flex"
18847
18863
  };
@@ -18980,7 +18996,7 @@ const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
18980
18996
  vue.createElementVNode("div", {
18981
18997
  class: vue.normalizeClass(["editor-container", { "split-view": vue.unref(editor).state.isSplitView }])
18982
18998
  }, [
18983
- vue.createElementVNode("div", _hoisted_2$m, [
18999
+ vue.createElementVNode("div", _hoisted_2$n, [
18984
19000
  vue.createElementVNode("iframe", {
18985
19001
  id: "rich-text-iframe",
18986
19002
  ref_key: "iframe",
@@ -19003,7 +19019,7 @@ const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
19003
19019
  height: vue.unref(editor).state.isFullscreen ? "calc(100vh - 4rem)" : "250px"
19004
19020
  }, null, 8, ["modelValue", "height"])) : vue.createCommentVNode("", true)
19005
19021
  ], 2),
19006
- _ctx.debug ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$i, [
19022
+ _ctx.debug ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$j, [
19007
19023
  _cache[6] || (_cache[6] = vue.createElementVNode("p", { class: "text12 txt-gray mb-0 p-0" }, " Debug ", -1)),
19008
19024
  vue.createVNode(vue.unref(Btn), {
19009
19025
  thin: "",
@@ -19049,8 +19065,8 @@ const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
19049
19065
  });
19050
19066
  const RichText = /* @__PURE__ */ _export_sfc(_sfc_main$D, [["__scopeId", "data-v-175a13f1"]]);
19051
19067
  const _hoisted_1$v = { key: 0 };
19052
- const _hoisted_2$l = { class: "flex gap-05" };
19053
- const _hoisted_3$h = ["disabled"];
19068
+ const _hoisted_2$m = { class: "flex gap-05" };
19069
+ const _hoisted_3$i = ["disabled"];
19054
19070
  const _hoisted_4$b = { key: 1 };
19055
19071
  const _hoisted_5$b = {
19056
19072
  key: 2,
@@ -19233,8 +19249,8 @@ const _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
19233
19249
  trigger: vue.withCtx(() => [
19234
19250
  vue.createElementVNode("label", null, [
19235
19251
  vue.createTextVNode(vue.toDisplayString(_ctx.label) + " ", 1),
19236
- _ctx.required ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_1$v, "*")) : vue.createCommentVNode("", true),
19237
- vue.createElementVNode("div", _hoisted_2$l, [
19252
+ _ctx.required && _ctx.label ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_1$v, "*")) : vue.createCommentVNode("", true),
19253
+ vue.createElementVNode("div", _hoisted_2$m, [
19238
19254
  _ctx.searchable && vue.unref(open) ? (vue.openBlock(), vue.createBlock(vue.unref(TextInput), {
19239
19255
  key: 0,
19240
19256
  ref_key: "searchInput",
@@ -19281,7 +19297,7 @@ const _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
19281
19297
  key: 3,
19282
19298
  thin: ""
19283
19299
  }, { icon: vue.unref(open) ? "unfold_less" : "unfold_more" }), null, 16)) : vue.createCommentVNode("", true)
19284
- ], 42, _hoisted_3$h)),
19300
+ ], 42, _hoisted_3$i)),
19285
19301
  _ctx.required ? (vue.openBlock(), vue.createElementBlock("input", {
19286
19302
  key: 2,
19287
19303
  tabindex: "-1",
@@ -19353,7 +19369,7 @@ const _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
19353
19369
  };
19354
19370
  }
19355
19371
  });
19356
- const SelectInput = /* @__PURE__ */ _export_sfc(_sfc_main$C, [["__scopeId", "data-v-c16650b4"]]);
19372
+ const SelectInput = /* @__PURE__ */ _export_sfc(_sfc_main$C, [["__scopeId", "data-v-cced5e42"]]);
19357
19373
  /*!
19358
19374
  * Signature Pad v5.0.7 | https://github.com/szimek/signature_pad
19359
19375
  * (c) 2025 Szymon Nowak | Released under the MIT license
@@ -19951,7 +19967,7 @@ class SignaturePad extends SignatureEventTarget {
19951
19967
  }
19952
19968
  }
19953
19969
  const _hoisted_1$u = ["disabled"];
19954
- const _hoisted_2$k = {
19970
+ const _hoisted_2$l = {
19955
19971
  key: 1,
19956
19972
  placeholder: "required",
19957
19973
  type: "text",
@@ -20155,7 +20171,7 @@ const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
20155
20171
  class: "canvas",
20156
20172
  disabled: _ctx.disabled
20157
20173
  }, null, 8, _hoisted_1$u),
20158
- _ctx.required && vue.unref(_isEmpty) ? (vue.openBlock(), vue.createElementBlock("input", _hoisted_2$k)) : vue.createCommentVNode("", true)
20174
+ _ctx.required && vue.unref(_isEmpty) ? (vue.openBlock(), vue.createElementBlock("input", _hoisted_2$l)) : vue.createCommentVNode("", true)
20159
20175
  ], 34);
20160
20176
  };
20161
20177
  }
@@ -22640,8 +22656,8 @@ const VueDraggableNext = vue.defineComponent({
22640
22656
  }
22641
22657
  });
22642
22658
  const _hoisted_1$t = ["title"];
22643
- const _hoisted_2$j = { class: "bagel-input" };
22644
- const _hoisted_3$g = { class: "table-side-scroll" };
22659
+ const _hoisted_2$k = { class: "bagel-input" };
22660
+ const _hoisted_3$h = { class: "table-side-scroll" };
22645
22661
  const _hoisted_4$a = { class: "table-header" };
22646
22662
  const _hoisted_5$a = { class: "table-reorder" };
22647
22663
  const _hoisted_6$9 = { class: "table-action" };
@@ -22710,10 +22726,10 @@ const _sfc_main$A = /* @__PURE__ */ vue.defineComponent({
22710
22726
  class: "table-field-wrap",
22711
22727
  title: _ctx.description
22712
22728
  }, [
22713
- vue.createElementVNode("div", _hoisted_2$j, [
22729
+ vue.createElementVNode("div", _hoisted_2$k, [
22714
22730
  vue.createElementVNode("label", null, vue.toDisplayString((_a = vue.unref(fieldMeta)) == null ? void 0 : _a.label), 1)
22715
22731
  ]),
22716
- vue.createElementVNode("div", _hoisted_3$g, [
22732
+ vue.createElementVNode("div", _hoisted_3$h, [
22717
22733
  vue.createElementVNode("div", _hoisted_4$a, [
22718
22734
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList((_b = vue.unref(entityMeta)) == null ? void 0 : _b.fields, (field) => {
22719
22735
  return vue.openBlock(), vue.createElementBlock("div", {
@@ -27275,8 +27291,8 @@ function parsePhoneNumber() {
27275
27291
  return withMetadataArgument(parsePhoneNumber$1, arguments);
27276
27292
  }
27277
27293
  const _hoisted_1$s = { key: 0 };
27278
- const _hoisted_2$i = ["aria-expanded"];
27279
- const _hoisted_3$f = { class: "flex gap-05 country-code-display" };
27294
+ const _hoisted_2$j = ["aria-expanded"];
27295
+ const _hoisted_3$g = { class: "flex gap-05 country-code-display" };
27280
27296
  const _hoisted_4$9 = { class: "p-075 tel-countryp-dropdown" };
27281
27297
  const _hoisted_5$9 = {
27282
27298
  class: "overflow-y p-0 max-h-300px",
@@ -27472,7 +27488,7 @@ const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
27472
27488
  onShow: focusSearchInput
27473
27489
  }, {
27474
27490
  trigger: vue.withCtx(() => [
27475
- vue.createElementVNode("span", _hoisted_3$f, [
27491
+ vue.createElementVNode("span", _hoisted_3$g, [
27476
27492
  !disableDropdown.value ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$v), {
27477
27493
  key: 0,
27478
27494
  icon: vue.unref(open) ? "collapse_all" : "expand_all"
@@ -27544,7 +27560,7 @@ const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
27544
27560
  { tel: true }
27545
27561
  ]
27546
27562
  ])
27547
- ], 8, _hoisted_2$i)
27563
+ ], 8, _hoisted_2$j)
27548
27564
  ])
27549
27565
  ], 2);
27550
27566
  };
@@ -27552,8 +27568,8 @@ const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
27552
27568
  });
27553
27569
  const TelInput = /* @__PURE__ */ _export_sfc(_sfc_main$z, [["__scopeId", "data-v-24f599bf"]]);
27554
27570
  const _hoisted_1$r = ["title"];
27555
- const _hoisted_2$h = ["for"];
27556
- const _hoisted_3$e = { key: 0 };
27571
+ const _hoisted_2$i = ["for"];
27572
+ const _hoisted_3$f = { key: 0 };
27557
27573
  const _hoisted_4$8 = ["id", "name", "title", "autocomplete", "type", "placeholder", "disabled", "required", "pattern"];
27558
27574
  const _hoisted_5$8 = ["id", "name", "title", "type", "rows", "placeholder", "disabled", "required", "pattern"];
27559
27575
  const _hoisted_6$7 = {
@@ -27652,7 +27668,7 @@ const _sfc_main$y = /* @__PURE__ */ vue.defineComponent({
27652
27668
  }, [
27653
27669
  vue.createElementVNode("label", { for: _ctx.id }, [
27654
27670
  vue.createTextVNode(vue.toDisplayString(_ctx.label) + " ", 1),
27655
- _ctx.required && _ctx.label ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$e, "*")) : vue.createCommentVNode("", true),
27671
+ _ctx.required && _ctx.label ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$f, "*")) : vue.createCommentVNode("", true),
27656
27672
  !_ctx.multiline && !_ctx.autoheight && !_ctx.code && inputRows.value < 2 ? vue.withDirectives((vue.openBlock(), vue.createElementBlock("input", vue.mergeProps({
27657
27673
  key: 1,
27658
27674
  id: _ctx.id,
@@ -27712,15 +27728,15 @@ const _sfc_main$y = /* @__PURE__ */ vue.defineComponent({
27712
27728
  key: 5,
27713
27729
  icon: _ctx.icon
27714
27730
  }, null, 8, ["icon"])) : vue.createCommentVNode("", true)
27715
- ], 8, _hoisted_2$h)
27731
+ ], 8, _hoisted_2$i)
27716
27732
  ], 10, _hoisted_1$r);
27717
27733
  };
27718
27734
  }
27719
27735
  });
27720
27736
  const TextInput = /* @__PURE__ */ _export_sfc(_sfc_main$y, [["__scopeId", "data-v-84ff4b81"]]);
27721
27737
  const _hoisted_1$q = ["title"];
27722
- const _hoisted_2$g = ["id", "required"];
27723
- const _hoisted_3$d = ["for"];
27738
+ const _hoisted_2$h = ["id", "required"];
27739
+ const _hoisted_3$e = ["for"];
27724
27740
  const _sfc_main$x = /* @__PURE__ */ vue.defineComponent({
27725
27741
  __name: "ToggleInput",
27726
27742
  props: /* @__PURE__ */ vue.mergeModels({
@@ -27757,14 +27773,14 @@ const _sfc_main$x = /* @__PURE__ */ vue.defineComponent({
27757
27773
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => checked.value = $event),
27758
27774
  type: "checkbox",
27759
27775
  required: _ctx.required
27760
- }, null, 8, _hoisted_2$g), [
27776
+ }, null, 8, _hoisted_2$h), [
27761
27777
  [vue.vModelCheckbox, checked.value]
27762
27778
  ]),
27763
27779
  vue.createElementVNode("label", { for: inputId.value }, [
27764
27780
  vue.renderSlot(_ctx.$slots, "label", {}, () => [
27765
27781
  vue.createTextVNode(vue.toDisplayString(_ctx.label), 1)
27766
27782
  ], true)
27767
- ], 8, _hoisted_3$d)
27783
+ ], 8, _hoisted_3$e)
27768
27784
  ], 10, _hoisted_1$q);
27769
27785
  };
27770
27786
  }
@@ -27901,8 +27917,8 @@ function useFileUpload(props2 = {}) {
27901
27917
  };
27902
27918
  }
27903
27919
  const _hoisted_1$p = { class: "bagel-input" };
27904
- const _hoisted_2$f = { key: 0 };
27905
- const _hoisted_3$c = {
27920
+ const _hoisted_2$g = { key: 0 };
27921
+ const _hoisted_3$d = {
27906
27922
  key: 1,
27907
27923
  placeholder: "required",
27908
27924
  type: "text",
@@ -28014,8 +28030,8 @@ const _sfc_main$w = /* @__PURE__ */ vue.defineComponent({
28014
28030
  const _directive_tooltip = vue.resolveDirective("tooltip");
28015
28031
  const _directive_lightbox = vue.resolveDirective("lightbox");
28016
28032
  return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$p, [
28017
- _ctx.label ? (vue.openBlock(), vue.createElementBlock("label", _hoisted_2$f, vue.toDisplayString(_ctx.label), 1)) : vue.createCommentVNode("", true),
28018
- _ctx.required && !vue.unref(pathKeys).length ? (vue.openBlock(), vue.createElementBlock("input", _hoisted_3$c)) : vue.createCommentVNode("", true),
28033
+ _ctx.label ? (vue.openBlock(), vue.createElementBlock("label", _hoisted_2$g, vue.toDisplayString(_ctx.label), 1)) : vue.createCommentVNode("", true),
28034
+ _ctx.required && !vue.unref(pathKeys).length ? (vue.openBlock(), vue.createElementBlock("input", _hoisted_3$d)) : vue.createCommentVNode("", true),
28019
28035
  _ctx.theme === "basic" ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$15), {
28020
28036
  key: 2,
28021
28037
  outline: "",
@@ -32784,8 +32800,8 @@ const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
32784
32800
  }
32785
32801
  });
32786
32802
  const _hoisted_1$n = { key: 0 };
32787
- const _hoisted_2$e = ["src", "alt", "width", "height"];
32788
- const _hoisted_3$b = ["src", "alt", "width", "height"];
32803
+ const _hoisted_2$f = ["src", "alt", "width", "height"];
32804
+ const _hoisted_3$c = ["src", "alt", "width", "height"];
32789
32805
  const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
32790
32806
  __name: "Image",
32791
32807
  props: {
@@ -32870,7 +32886,7 @@ const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
32870
32886
  alt: _ctx.alt,
32871
32887
  width: vue.unref(normalizeDimension)(_ctx.width),
32872
32888
  height: vue.unref(normalizeDimension)(_ctx.height)
32873
- }), null, 16, _hoisted_2$e)) : (vue.openBlock(), vue.createBlock(vue.unref(Skeleton), {
32889
+ }), null, 16, _hoisted_2$f)) : (vue.openBlock(), vue.createBlock(vue.unref(Skeleton), {
32874
32890
  key: 1,
32875
32891
  class: "img-web-kit",
32876
32892
  width: vue.unref(normalizeDimension)(_ctx.width),
@@ -32883,7 +32899,7 @@ const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
32883
32899
  alt: _ctx.alt,
32884
32900
  width: vue.unref(normalizeDimension)(_ctx.width),
32885
32901
  height: vue.unref(normalizeDimension)(_ctx.height)
32886
- }), null, 16, _hoisted_3$b)) : vue.unref(loadingError) ? (vue.openBlock(), vue.createElementBlock("div", {
32902
+ }), null, 16, _hoisted_3$c)) : vue.unref(loadingError) ? (vue.openBlock(), vue.createElementBlock("div", {
32887
32903
  key: 2,
32888
32904
  class: "flex-center error-image",
32889
32905
  style: vue.normalizeStyle({
@@ -32903,11 +32919,11 @@ const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
32903
32919
  });
32904
32920
  const Image$1 = /* @__PURE__ */ _export_sfc(_sfc_main$t, [["__scopeId", "data-v-2f5e271c"]]);
32905
32921
  const _hoisted_1$m = ["textContent"];
32906
- const _hoisted_2$d = {
32922
+ const _hoisted_2$e = {
32907
32923
  key: 0,
32908
32924
  class: "h-100p flex column justify-content-center"
32909
32925
  };
32910
- const _hoisted_3$a = {
32926
+ const _hoisted_3$b = {
32911
32927
  key: 1,
32912
32928
  class: "loading-container"
32913
32929
  };
@@ -33075,7 +33091,7 @@ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
33075
33091
  const lowerSourceValue = String(sourceValue).toLowerCase().trim();
33076
33092
  const exactMatch = options.find((option2) => {
33077
33093
  const optionObj = typeof option2 === "object" && option2 !== null ? option2 : { label: String(option2) };
33078
- if (!optionObj || typeof optionObj.label !== "string") return false;
33094
+ if (!optionObj) return false;
33079
33095
  const optionLabel = `${optionObj.label}`.toLowerCase().trim();
33080
33096
  return optionLabel === lowerSourceValue;
33081
33097
  });
@@ -33272,14 +33288,18 @@ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
33272
33288
  });
33273
33289
  if (fileHeaders.value.length > 0) {
33274
33290
  schemaFields.value.forEach((field) => {
33291
+ const fieldIdCamel = formatString(field.id, "camel");
33292
+ const fieldIdPascal = formatString(field.id, "pascal");
33293
+ const fieldLabelCamel = formatString(field.label.replace(/\s+/g, "_"), "camel");
33294
+ const fieldLabelPascal = formatString(field.label.replace(/\s+/g, "_"), "pascal");
33275
33295
  const exactMatch = fileHeaders.value.find(
33276
- (header) => header.toLowerCase() === field.id.toLowerCase() || header.toLowerCase() === field.label.toLowerCase()
33296
+ (header) => header.toLowerCase() === field.id.toLowerCase() || header.toLowerCase() === field.label.toLowerCase() || header.toLowerCase() === fieldIdCamel.toLowerCase() || header.toLowerCase() === fieldIdPascal.toLowerCase() || header.toLowerCase() === fieldLabelCamel.toLowerCase() || header.toLowerCase() === fieldLabelPascal.toLowerCase() || formatString(header.replace(/\s+/g, "_"), "camel").toLowerCase() === fieldIdCamel.toLowerCase() || formatString(header.replace(/\s+/g, "_"), "camel").toLowerCase() === fieldLabelCamel.toLowerCase()
33277
33297
  );
33278
33298
  if (exactMatch && !field.disabled) {
33279
33299
  fieldMapping[field.id] = exactMatch;
33280
33300
  } else {
33281
33301
  const partialMatch = fileHeaders.value.find(
33282
- (header) => header.toLowerCase().includes(field.id.toLowerCase()) || header.toLowerCase().includes(field.label.toLowerCase())
33302
+ (header) => header.toLowerCase().includes(field.id.toLowerCase()) || header.toLowerCase().includes(field.label.toLowerCase()) || header.toLowerCase().includes(fieldIdCamel.toLowerCase()) || header.toLowerCase().includes(fieldLabelCamel.toLowerCase()) || field.id.toLowerCase().includes(header.toLowerCase()) || field.label.toLowerCase().includes(header.toLowerCase())
33283
33303
  );
33284
33304
  if (partialMatch && !field.disabled) {
33285
33305
  fieldMapping[field.id] = partialMatch;
@@ -33520,9 +33540,8 @@ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
33520
33540
  updateFieldMapping(fieldId, target.value);
33521
33541
  }
33522
33542
  }
33523
- const { addFile, browse, fileQueue } = useFileUpload();
33524
- async function handleFilesUploaded() {
33525
- file.value = fileQueue.value[0].file;
33543
+ async function handleFilesUploaded(files2) {
33544
+ file.value = files2[0];
33526
33545
  if (!file.value) return;
33527
33546
  isLoading.value = true;
33528
33547
  try {
@@ -33533,7 +33552,6 @@ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
33533
33552
  isLoading.value = false;
33534
33553
  }
33535
33554
  }
33536
- vue.watch(fileQueue.value, handleFilesUploaded);
33537
33555
  vue.watchEffect(() => {
33538
33556
  if (selectedSheet.value) {
33539
33557
  loadSheetData();
@@ -33569,11 +33587,14 @@ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
33569
33587
  selectedRelationField.value = field;
33570
33588
  showRelatedDialog.value = true;
33571
33589
  }
33572
- async function processRelatedFile(fieldId, file2) {
33573
- if (!file2) return;
33590
+ async function processRelatedFile(fieldId, files2) {
33591
+ if (!files2) return;
33592
+ const file2 = files2[0];
33574
33593
  relatedFiles[fieldId] = file2;
33575
33594
  try {
33576
- const { data: data2 } = await readSheetData(file2, "", true);
33595
+ const sheets = await getSheetNames(file2);
33596
+ const selectedSheet2 = sheets.length > 0 ? sheets[0] : "";
33597
+ const { headers, data: data2 } = await readSheetData(file2, selectedSheet2, true);
33577
33598
  relatedFileData[fieldId] = data2;
33578
33599
  if (!relatedFileMappings[fieldId]) {
33579
33600
  relatedFileMappings[fieldId] = {};
@@ -33988,12 +34009,12 @@ ${unmatchedValues.length} values could not be automatically matched.`);
33988
34009
  class: "line-height-1 m-0 pb-2 txt-center",
33989
34010
  textContent: vue.toDisplayString(props2.title || "Upload and Map Data")
33990
34011
  }, null, 8, _hoisted_1$m),
33991
- !file.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$d, [
34012
+ !file.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$e, [
33992
34013
  vue.createVNode(vue.unref(DragOver), {
33993
34014
  accept: ".csv,.xls,.xlsx",
33994
34015
  class: "max-h300px w-500px",
33995
- onAddFiles: vue.unref(addFile),
33996
- onClick: _cache[0] || (_cache[0] = ($event) => vue.unref(browse)(false))
34016
+ browse: "",
34017
+ onAddFiles: handleFilesUploaded
33997
34018
  }, {
33998
34019
  default: vue.withCtx(() => [
33999
34020
  vue.createVNode(vue.unref(_sfc_main$15), { class: "flex flex-column items-center justify-center outline-dashed outline-3 bg-input hover h-100p justify-content-center txt-center" }, {
@@ -34002,17 +34023,17 @@ ${unmatchedValues.length} values could not be automatically matched.`);
34002
34023
  name: "upload",
34003
34024
  size: "5"
34004
34025
  }),
34005
- _cache[30] || (_cache[30] = vue.createElementVNode("p", null, "Drag and drop an Excel or CSV file here", -1)),
34006
- _cache[31] || (_cache[31] = vue.createElementVNode("u", null, "or click to select a file", -1)),
34007
- _cache[32] || (_cache[32] = vue.createElementVNode("p", { class: "txt-12 color-gray" }, " Accepts .xlsx, .xls, and .csv files ", -1))
34026
+ _cache[29] || (_cache[29] = vue.createElementVNode("p", null, "Drag and drop an Excel or CSV file here", -1)),
34027
+ _cache[30] || (_cache[30] = vue.createElementVNode("u", null, "or click to select a file", -1)),
34028
+ _cache[31] || (_cache[31] = vue.createElementVNode("p", { class: "txt-12 color-gray" }, " Accepts .xlsx, .xls, and .csv files ", -1))
34008
34029
  ]),
34009
34030
  _: 1
34010
34031
  })
34011
34032
  ]),
34012
34033
  _: 1
34013
- }, 8, ["onAddFiles"])
34034
+ })
34014
34035
  ])) : vue.createCommentVNode("", true),
34015
- isLoading.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$a, _cache[33] || (_cache[33] = [
34036
+ isLoading.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$b, _cache[32] || (_cache[32] = [
34016
34037
  vue.createElementVNode("div", { class: "spinner" }, null, -1),
34017
34038
  vue.createElementVNode("p", null, "Processing your file...", -1)
34018
34039
  ]))) : vue.createCommentVNode("", true),
@@ -34021,7 +34042,7 @@ ${unmatchedValues.length} values could not be automatically matched.`);
34021
34042
  vue.withDirectives((vue.openBlock(), vue.createBlock(vue.unref(Btn), {
34022
34043
  class: "px-1",
34023
34044
  color: "gray",
34024
- onClick: _cache[1] || (_cache[1] = ($event) => file.value = null)
34045
+ onClick: _cache[0] || (_cache[0] = ($event) => file.value = null)
34025
34046
  }, {
34026
34047
  default: vue.withCtx(() => [
34027
34048
  vue.createVNode(vue.unref(_sfc_main$v), {
@@ -34038,22 +34059,22 @@ ${unmatchedValues.length} values could not be automatically matched.`);
34038
34059
  sheetNames.value.length > 1 ? (vue.openBlock(), vue.createBlock(vue.unref(SelectInput), {
34039
34060
  key: 0,
34040
34061
  modelValue: selectedSheet.value,
34041
- "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => selectedSheet.value = $event),
34062
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => selectedSheet.value = $event),
34042
34063
  options: sheetNames.value,
34043
34064
  label: "Select Sheet"
34044
34065
  }, null, 8, ["modelValue", "options"])) : vue.createCommentVNode("", true),
34045
34066
  vue.createVNode(vue.unref(CheckInput), {
34046
34067
  modelValue: hasHeaders.value,
34047
- "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => hasHeaders.value = $event),
34068
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => hasHeaders.value = $event),
34048
34069
  label: "Mark this if file has a header row",
34049
34070
  class: "m-0",
34050
34071
  style: { "--bgl-accent-color": "var(--bgl-black)", "--bgl-primary": "var(--bgl-black)" }
34051
34072
  }, null, 8, ["modelValue"])
34052
34073
  ])) : vue.createCommentVNode("", true),
34053
34074
  file.value && !isLoading.value && fileHeaders.value.length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$5, [
34054
- _cache[37] || (_cache[37] = vue.createElementVNode("p", { class: "label pb-1 border-bottom mb-1" }, " Match each required field to a column from your file, set default values, or configure transformations ", -1)),
34075
+ _cache[36] || (_cache[36] = vue.createElementVNode("p", { class: "label pb-1 border-bottom mb-1" }, " Match each required field to a column from your file, set default values, or configure transformations ", -1)),
34055
34076
  vue.createElementVNode("div", _hoisted_7$4, [
34056
- _cache[34] || (_cache[34] = vue.createElementVNode("div", { class: "grid grid-wrap-5 gap-1 bold pb-1 m_none" }, [
34077
+ _cache[33] || (_cache[33] = vue.createElementVNode("div", { class: "grid grid-wrap-5 gap-1 bold pb-1 m_none" }, [
34057
34078
  vue.createElementVNode("p", null, "Schema Field"),
34058
34079
  vue.createElementVNode("p", null, "Column from File"),
34059
34080
  vue.createElementVNode("p", null, "Default Value"),
@@ -34088,6 +34109,7 @@ ${unmatchedValues.length} values could not be automatically matched.`);
34088
34109
  "onUpdate:modelValue": ($event) => fieldMapping[field.id] = $event,
34089
34110
  icon: "table_chart",
34090
34111
  options: fileHeaders.value,
34112
+ searchable: "",
34091
34113
  required: isFieldRequired(field),
34092
34114
  disabled: field.disabled,
34093
34115
  onChange: ($event) => handleSelectChange($event, field.id)
@@ -34133,19 +34155,19 @@ ${unmatchedValues.length} values could not be automatically matched.`);
34133
34155
  ]),
34134
34156
  mappingComplete.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_18, [
34135
34157
  vue.createVNode(vue.unref(Btn), { onClick: showPreview }, {
34136
- default: vue.withCtx(() => _cache[35] || (_cache[35] = [
34158
+ default: vue.withCtx(() => _cache[34] || (_cache[34] = [
34137
34159
  vue.createTextVNode(" Preview Data ")
34138
34160
  ])),
34139
34161
  _: 1
34140
34162
  })
34141
- ])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_19, _cache[36] || (_cache[36] = [
34163
+ ])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_19, _cache[35] || (_cache[35] = [
34142
34164
  vue.createElementVNode("div", { class: "mapping-incomplete-message" }, " Please map the required fields to continue ", -1)
34143
34165
  ])))
34144
34166
  ])) : vue.createCommentVNode("", true)
34145
34167
  ]),
34146
34168
  vue.createVNode(vue.unref(_sfc_main$f), {
34147
34169
  visible: showTransformDialog.value,
34148
- "onUpdate:visible": _cache[11] || (_cache[11] = ($event) => showTransformDialog.value = $event),
34170
+ "onUpdate:visible": _cache[10] || (_cache[10] = ($event) => showTransformDialog.value = $event),
34149
34171
  title: "Configure Transformations",
34150
34172
  width: "800"
34151
34173
  }, {
@@ -34153,18 +34175,18 @@ ${unmatchedValues.length} values could not be automatically matched.`);
34153
34175
  selectedTransformField.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_20, [
34154
34176
  vue.createElementVNode("div", _hoisted_21, [
34155
34177
  vue.createElementVNode("p", null, [
34156
- _cache[38] || (_cache[38] = vue.createTextVNode("Create transformations for ")),
34178
+ _cache[37] || (_cache[37] = vue.createTextVNode("Create transformations for ")),
34157
34179
  vue.createElementVNode("strong", null, vue.toDisplayString(selectedTransformField.value.label), 1)
34158
34180
  ]),
34159
34181
  vue.createVNode(vue.unref(Btn), {
34160
34182
  icon: "auto_awesome",
34161
34183
  thin: "",
34162
34184
  value: "Autodetect",
34163
- onClick: _cache[4] || (_cache[4] = ($event) => autoPopulateTransformations(selectedTransformField.value.id))
34185
+ onClick: _cache[3] || (_cache[3] = ($event) => autoPopulateTransformations(selectedTransformField.value.id))
34164
34186
  })
34165
34187
  ]),
34166
34188
  vue.createElementVNode("div", null, [
34167
- _cache[39] || (_cache[39] = vue.createElementVNode("div", { class: "grid grid-wrap-7 gap-1 bold pb-05 m_none" }, [
34189
+ _cache[38] || (_cache[38] = vue.createElementVNode("div", { class: "grid grid-wrap-7 gap-1 bold pb-05 m_none" }, [
34168
34190
  vue.createElementVNode("p", { class: "grid-span-2" }, " Source Value "),
34169
34191
  vue.createElementVNode("p", { class: "grid-span-4" }, " Target Value "),
34170
34192
  vue.createElementVNode("p", null, "Action")
@@ -34193,14 +34215,14 @@ ${unmatchedValues.length} values could not be automatically matched.`);
34193
34215
  fieldMapping[selectedTransformField.value.id] ? (vue.openBlock(), vue.createBlock(vue.unref(SelectInput), {
34194
34216
  key: 0,
34195
34217
  modelValue: selectedSourceValue.value,
34196
- "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => selectedSourceValue.value = $event),
34218
+ "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => selectedSourceValue.value = $event),
34197
34219
  searchable: "",
34198
34220
  options: sourceValueOptions.value,
34199
34221
  placeholder: "Select source value"
34200
34222
  }, null, 8, ["modelValue", "options"])) : (vue.openBlock(), vue.createBlock(TextInput, {
34201
34223
  key: 1,
34202
34224
  modelValue: selectedSourceValue.value,
34203
- "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => selectedSourceValue.value = $event),
34225
+ "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => selectedSourceValue.value = $event),
34204
34226
  type: "text",
34205
34227
  placeholder: "Source value"
34206
34228
  }, null, 8, ["modelValue"]))
@@ -34209,14 +34231,14 @@ ${unmatchedValues.length} values could not be automatically matched.`);
34209
34231
  selectedTransformField.value.options && selectedTransformField.value.options.length > 0 ? (vue.openBlock(), vue.createBlock(vue.unref(SelectInput), {
34210
34232
  key: 0,
34211
34233
  modelValue: selectedTargetValue.value,
34212
- "onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => selectedTargetValue.value = $event),
34234
+ "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => selectedTargetValue.value = $event),
34213
34235
  searchable: "",
34214
34236
  options: selectedTransformField.value.options,
34215
34237
  placeholder: "Select target value"
34216
34238
  }, null, 8, ["modelValue", "options"])) : (vue.openBlock(), vue.createBlock(TextInput, {
34217
34239
  key: 1,
34218
34240
  modelValue: selectedTargetValue.value,
34219
- "onUpdate:modelValue": _cache[8] || (_cache[8] = ($event) => selectedTargetValue.value = $event),
34241
+ "onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => selectedTargetValue.value = $event),
34220
34242
  type: "text",
34221
34243
  placeholder: "Target value"
34222
34244
  }, null, 8, ["modelValue"]))
@@ -34226,7 +34248,7 @@ ${unmatchedValues.length} values could not be automatically matched.`);
34226
34248
  thin: "",
34227
34249
  icon: "add",
34228
34250
  color: "primary",
34229
- onClick: _cache[9] || (_cache[9] = ($event) => addTransformation(selectedTransformField.value.id))
34251
+ onClick: _cache[8] || (_cache[8] = ($event) => addTransformation(selectedTransformField.value.id))
34230
34252
  }, null, 512), [
34231
34253
  [_directive_tooltip, "Add"]
34232
34254
  ])
@@ -34237,7 +34259,7 @@ ${unmatchedValues.length} values could not be automatically matched.`);
34237
34259
  vue.createVNode(vue.unref(Btn), {
34238
34260
  class: "ms-auto",
34239
34261
  value: "Close",
34240
- onClick: _cache[10] || (_cache[10] = ($event) => showTransformDialog.value = false)
34262
+ onClick: _cache[9] || (_cache[9] = ($event) => showTransformDialog.value = false)
34241
34263
  })
34242
34264
  ])
34243
34265
  ])) : vue.createCommentVNode("", true)
@@ -34246,7 +34268,7 @@ ${unmatchedValues.length} values could not be automatically matched.`);
34246
34268
  }, 8, ["visible"]),
34247
34269
  vue.createVNode(vue.unref(_sfc_main$f), {
34248
34270
  visible: showRelatedDialog.value,
34249
- "onUpdate:visible": _cache[17] || (_cache[17] = ($event) => showRelatedDialog.value = $event),
34271
+ "onUpdate:visible": _cache[16] || (_cache[16] = ($event) => showRelatedDialog.value = $event),
34250
34272
  title: "Configure Related Data",
34251
34273
  width: "900"
34252
34274
  }, {
@@ -34258,9 +34280,8 @@ ${unmatchedValues.length} values could not be automatically matched.`);
34258
34280
  !relatedFiles[selectedRelationField.value.id] ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_30, [
34259
34281
  vue.createVNode(vue.unref(DragOver), {
34260
34282
  accept: ".csv,.xls,.xlsx",
34261
- onAddFiles: _cache[12] || (_cache[12] = (files2) => {
34262
- if (files2[0]) processRelatedFile(selectedRelationField.value.id, files2[0]);
34263
- })
34283
+ browse: "",
34284
+ onAddFiles: _cache[11] || (_cache[11] = (files2) => processRelatedFile(selectedRelationField.value.id, files2))
34264
34285
  }, {
34265
34286
  default: vue.withCtx(() => [
34266
34287
  vue.createVNode(vue.unref(_sfc_main$15), { class: "flex flex-column items-center justify-center outline-dashed outline-3 hover bg-input" }, {
@@ -34269,9 +34290,9 @@ ${unmatchedValues.length} values could not be automatically matched.`);
34269
34290
  name: "upload",
34270
34291
  size: "5"
34271
34292
  }),
34272
- _cache[40] || (_cache[40] = vue.createElementVNode("p", null, "Drag and drop an Excel or CSV file here", -1)),
34273
- _cache[41] || (_cache[41] = vue.createElementVNode("p", null, "or click to select a file", -1)),
34274
- _cache[42] || (_cache[42] = vue.createElementVNode("p", { class: "txt-12 color-gray" }, " Accepts .xlsx, .xls, and .csv files ", -1))
34293
+ _cache[39] || (_cache[39] = vue.createElementVNode("p", null, "Drag and drop an Excel or CSV file here", -1)),
34294
+ _cache[40] || (_cache[40] = vue.createElementVNode("p", null, "or click to select a file", -1)),
34295
+ _cache[41] || (_cache[41] = vue.createElementVNode("p", { class: "txt-12 color-gray" }, " Accepts .xlsx, .xls, and .csv files ", -1))
34275
34296
  ]),
34276
34297
  _: 1
34277
34298
  })
@@ -34290,28 +34311,28 @@ ${unmatchedValues.length} values could not be automatically matched.`);
34290
34311
  thin: "",
34291
34312
  round: "",
34292
34313
  value: "Change File",
34293
- onClick: _cache[13] || (_cache[13] = ($event) => relatedFiles[selectedRelationField.value.id] = null)
34314
+ onClick: _cache[12] || (_cache[12] = ($event) => relatedFiles[selectedRelationField.value.id] = null)
34294
34315
  })
34295
34316
  ]),
34296
34317
  relatedFileData[selectedRelationField.value.id] ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_33, [
34297
- _cache[45] || (_cache[45] = vue.createElementVNode("h4", null, "Configure Relationship", -1)),
34318
+ _cache[44] || (_cache[44] = vue.createElementVNode("h4", null, "Configure Relationship", -1)),
34298
34319
  vue.createElementVNode("div", _hoisted_34, [
34299
34320
  vue.createVNode(vue.unref(SelectInput), {
34300
34321
  modelValue: parentKeyField[selectedRelationField.value.id],
34301
- "onUpdate:modelValue": _cache[14] || (_cache[14] = ($event) => parentKeyField[selectedRelationField.value.id] = $event),
34322
+ "onUpdate:modelValue": _cache[13] || (_cache[13] = ($event) => parentKeyField[selectedRelationField.value.id] = $event),
34302
34323
  options: fileHeaders.value,
34303
34324
  label: "Source Key Field (from this file)"
34304
34325
  }, null, 8, ["modelValue", "options"]),
34305
34326
  vue.createVNode(vue.unref(SelectInput), {
34306
34327
  modelValue: relatedKeyField[selectedRelationField.value.id],
34307
- "onUpdate:modelValue": _cache[15] || (_cache[15] = ($event) => relatedKeyField[selectedRelationField.value.id] = $event),
34328
+ "onUpdate:modelValue": _cache[14] || (_cache[14] = ($event) => relatedKeyField[selectedRelationField.value.id] = $event),
34308
34329
  options: Object.keys(relatedFileData[selectedRelationField.value.id][0] || {}),
34309
34330
  label: "Related Key Field (from related file)"
34310
34331
  }, null, 8, ["modelValue", "options"])
34311
34332
  ]),
34312
- _cache[46] || (_cache[46] = vue.createElementVNode("h4", null, "Map Related Fields", -1)),
34333
+ _cache[45] || (_cache[45] = vue.createElementVNode("h4", null, "Map Related Fields", -1)),
34313
34334
  vue.createElementVNode("table", null, [
34314
- _cache[44] || (_cache[44] = vue.createElementVNode("thead", null, [
34335
+ _cache[43] || (_cache[43] = vue.createElementVNode("thead", null, [
34315
34336
  vue.createElementVNode("tr", null, [
34316
34337
  vue.createElementVNode("th", null, "Child Field"),
34317
34338
  vue.createElementVNode("th", null, "Related File Column"),
@@ -34356,7 +34377,7 @@ ${unmatchedValues.length} values could not be automatically matched.`);
34356
34377
  icon: "transform",
34357
34378
  onClick: ($event) => openRelatedTransformDialog(selectedRelationField.value.id, schemaItem)
34358
34379
  }, {
34359
- default: vue.withCtx(() => _cache[43] || (_cache[43] = [
34380
+ default: vue.withCtx(() => _cache[42] || (_cache[42] = [
34360
34381
  vue.createTextVNode(" Transform ")
34361
34382
  ])),
34362
34383
  _: 2
@@ -34373,7 +34394,7 @@ ${unmatchedValues.length} values could not be automatically matched.`);
34373
34394
  vue.createVNode(vue.unref(Btn), {
34374
34395
  class: "ms-auto",
34375
34396
  value: "Close",
34376
- onClick: _cache[16] || (_cache[16] = ($event) => showRelatedDialog.value = false)
34397
+ onClick: _cache[15] || (_cache[15] = ($event) => showRelatedDialog.value = false)
34377
34398
  })
34378
34399
  ])
34379
34400
  ])) : vue.createCommentVNode("", true)
@@ -34383,7 +34404,7 @@ ${unmatchedValues.length} values could not be automatically matched.`);
34383
34404
  }, 8, ["visible"]),
34384
34405
  vue.createVNode(vue.unref(_sfc_main$f), {
34385
34406
  visible: showPreviewModal.value,
34386
- "onUpdate:visible": _cache[21] || (_cache[21] = ($event) => showPreviewModal.value = $event),
34407
+ "onUpdate:visible": _cache[20] || (_cache[20] = ($event) => showPreviewModal.value = $event),
34387
34408
  title: "Data Preview & Edit",
34388
34409
  width: "90vw"
34389
34410
  }, {
@@ -34391,7 +34412,7 @@ ${unmatchedValues.length} values could not be automatically matched.`);
34391
34412
  vue.createElementVNode("div", null, [
34392
34413
  vue.createVNode(vue.unref(_sfc_main$5), {
34393
34414
  modelValue: previewData.value,
34394
- "onUpdate:modelValue": _cache[18] || (_cache[18] = ($event) => previewData.value = $event),
34415
+ "onUpdate:modelValue": _cache[17] || (_cache[17] = ($event) => previewData.value = $event),
34395
34416
  class: "popupPreviewSpreadsheet",
34396
34417
  "column-config": spreadsheetColumns.value,
34397
34418
  "allow-add-row": ""
@@ -34404,11 +34425,11 @@ ${unmatchedValues.length} values could not be automatically matched.`);
34404
34425
  flat: "",
34405
34426
  thin: "",
34406
34427
  value: "Cancel",
34407
- onClick: _cache[19] || (_cache[19] = ($event) => showPreviewModal.value = false)
34428
+ onClick: _cache[18] || (_cache[18] = ($event) => showPreviewModal.value = false)
34408
34429
  }),
34409
34430
  vue.createVNode(vue.unref(Btn), {
34410
34431
  value: "Import Data",
34411
- onClick: _cache[20] || (_cache[20] = ($event) => processData())
34432
+ onClick: _cache[19] || (_cache[19] = ($event) => processData())
34412
34433
  })
34413
34434
  ])
34414
34435
  ])
@@ -34417,7 +34438,7 @@ ${unmatchedValues.length} values could not be automatically matched.`);
34417
34438
  }, 8, ["visible"]),
34418
34439
  vue.createVNode(vue.unref(_sfc_main$f), {
34419
34440
  visible: showRelatedTransformDialog.value,
34420
- "onUpdate:visible": _cache[29] || (_cache[29] = ($event) => showRelatedTransformDialog.value = $event),
34441
+ "onUpdate:visible": _cache[28] || (_cache[28] = ($event) => showRelatedTransformDialog.value = $event),
34421
34442
  title: "Configure Related Transformations",
34422
34443
  width: "800"
34423
34444
  }, {
@@ -34426,7 +34447,7 @@ ${unmatchedValues.length} values could not be automatically matched.`);
34426
34447
  return [
34427
34448
  selectedRelatedTransformField.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_40, [
34428
34449
  vue.createElementVNode("p", null, [
34429
- _cache[47] || (_cache[47] = vue.createTextVNode("Create transformations for ")),
34450
+ _cache[46] || (_cache[46] = vue.createTextVNode("Create transformations for ")),
34430
34451
  vue.createElementVNode("strong", null, vue.toDisplayString(selectedRelatedTransformField.value.field.label), 1),
34431
34452
  vue.createTextVNode(" in " + vue.toDisplayString((_a = selectedRelationField.value) == null ? void 0 : _a.label), 1)
34432
34453
  ]),
@@ -34437,7 +34458,7 @@ ${unmatchedValues.length} values could not be automatically matched.`);
34437
34458
  icon: "auto_awesome",
34438
34459
  value: "Autolink",
34439
34460
  color: "primary",
34440
- onClick: _cache[22] || (_cache[22] = ($event) => autoPopulateRelatedTransformations(
34461
+ onClick: _cache[21] || (_cache[21] = ($event) => autoPopulateRelatedTransformations(
34441
34462
  selectedRelatedTransformField.value.parentId,
34442
34463
  selectedRelatedTransformField.value.field.id
34443
34464
  ))
@@ -34446,7 +34467,7 @@ ${unmatchedValues.length} values could not be automatically matched.`);
34446
34467
  ]),
34447
34468
  vue.createElementVNode("div", null, [
34448
34469
  vue.createElementVNode("table", null, [
34449
- _cache[48] || (_cache[48] = vue.createElementVNode("thead", null, [
34470
+ _cache[47] || (_cache[47] = vue.createElementVNode("thead", null, [
34450
34471
  vue.createElementVNode("tr", null, [
34451
34472
  vue.createElementVNode("th", null, "Source Value"),
34452
34473
  vue.createElementVNode("th", null, "Target Value"),
@@ -34479,13 +34500,13 @@ ${unmatchedValues.length} values could not be automatically matched.`);
34479
34500
  ((_c = relatedFileMappings[selectedRelatedTransformField.value.parentId]) == null ? void 0 : _c[selectedRelatedTransformField.value.field.id]) ? (vue.openBlock(), vue.createBlock(vue.unref(SelectInput), {
34480
34501
  key: 0,
34481
34502
  modelValue: selectedRelatedSourceValue.value,
34482
- "onUpdate:modelValue": _cache[23] || (_cache[23] = ($event) => selectedRelatedSourceValue.value = $event),
34503
+ "onUpdate:modelValue": _cache[22] || (_cache[22] = ($event) => selectedRelatedSourceValue.value = $event),
34483
34504
  searchable: "",
34484
34505
  options: relatedSourceValueOptions.value,
34485
34506
  placeholder: "Select source value"
34486
34507
  }, null, 8, ["modelValue", "options"])) : vue.withDirectives((vue.openBlock(), vue.createElementBlock("input", {
34487
34508
  key: 1,
34488
- "onUpdate:modelValue": _cache[24] || (_cache[24] = ($event) => selectedRelatedSourceValue.value = $event),
34509
+ "onUpdate:modelValue": _cache[23] || (_cache[23] = ($event) => selectedRelatedSourceValue.value = $event),
34489
34510
  type: "text",
34490
34511
  placeholder: "Source value"
34491
34512
  }, null, 512)), [
@@ -34496,13 +34517,13 @@ ${unmatchedValues.length} values could not be automatically matched.`);
34496
34517
  selectedRelatedTransformField.value.field.options && selectedRelatedTransformField.value.field.options.length > 0 ? (vue.openBlock(), vue.createBlock(vue.unref(SelectInput), {
34497
34518
  key: 0,
34498
34519
  modelValue: selectedRelatedTargetValue.value,
34499
- "onUpdate:modelValue": _cache[25] || (_cache[25] = ($event) => selectedRelatedTargetValue.value = $event),
34520
+ "onUpdate:modelValue": _cache[24] || (_cache[24] = ($event) => selectedRelatedTargetValue.value = $event),
34500
34521
  searchable: "",
34501
34522
  options: selectedRelatedTransformField.value.field.options,
34502
34523
  placeholder: "Select target value"
34503
34524
  }, null, 8, ["modelValue", "options"])) : vue.withDirectives((vue.openBlock(), vue.createElementBlock("input", {
34504
34525
  key: 1,
34505
- "onUpdate:modelValue": _cache[26] || (_cache[26] = ($event) => selectedRelatedTargetValue.value = $event),
34526
+ "onUpdate:modelValue": _cache[25] || (_cache[25] = ($event) => selectedRelatedTargetValue.value = $event),
34506
34527
  type: "text",
34507
34528
  placeholder: "Target value"
34508
34529
  }, null, 512)), [
@@ -34514,7 +34535,7 @@ ${unmatchedValues.length} values could not be automatically matched.`);
34514
34535
  thin: "",
34515
34536
  icon: "add",
34516
34537
  color: "primary",
34517
- onClick: _cache[27] || (_cache[27] = ($event) => addRelatedTransformation(
34538
+ onClick: _cache[26] || (_cache[26] = ($event) => addRelatedTransformation(
34518
34539
  selectedRelatedTransformField.value.parentId,
34519
34540
  selectedRelatedTransformField.value.field.id
34520
34541
  ))
@@ -34528,9 +34549,9 @@ ${unmatchedValues.length} values could not be automatically matched.`);
34528
34549
  ]),
34529
34550
  vue.createElementVNode("div", null, [
34530
34551
  vue.createVNode(vue.unref(Btn), {
34531
- onClick: _cache[28] || (_cache[28] = ($event) => showRelatedTransformDialog.value = false)
34552
+ onClick: _cache[27] || (_cache[27] = ($event) => showRelatedTransformDialog.value = false)
34532
34553
  }, {
34533
- default: vue.withCtx(() => _cache[49] || (_cache[49] = [
34554
+ default: vue.withCtx(() => _cache[48] || (_cache[48] = [
34534
34555
  vue.createTextVNode(" Close ")
34535
34556
  ])),
34536
34557
  _: 1
@@ -34741,8 +34762,8 @@ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
34741
34762
  });
34742
34763
  const Skeleton = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["__scopeId", "data-v-8788ed73"]]);
34743
34764
  const _hoisted_1$j = { class: "bgl_card tabs-top" };
34744
- const _hoisted_2$c = { class: "tabs grid auto-flow-columns fit-content" };
34745
- const _hoisted_3$9 = ["onClick"];
34765
+ const _hoisted_2$d = { class: "tabs grid auto-flow-columns fit-content" };
34766
+ const _hoisted_3$a = ["onClick"];
34746
34767
  const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
34747
34768
  __name: "TabbedLayout",
34748
34769
  props: {
@@ -34778,7 +34799,7 @@ const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
34778
34799
  }, [
34779
34800
  vue.createElementVNode("div", _hoisted_1$j, [
34780
34801
  vue.renderSlot(_ctx.$slots, "top-section", {}, void 0, true),
34781
- vue.createElementVNode("div", _hoisted_2$c, [
34802
+ vue.createElementVNode("div", _hoisted_2$d, [
34782
34803
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.tabs, (tab) => {
34783
34804
  var _a;
34784
34805
  return vue.openBlock(), vue.createElementBlock("div", {
@@ -34787,7 +34808,7 @@ const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
34787
34808
  active: tab === vue.unref(activeTab) || tab === ((_a = _ctx.router) == null ? void 0 : _a.currentRoute.value.path.split("/").slice(-1)[0])
34788
34809
  }, "tab"]),
34789
34810
  onClick: ($event) => changeTab(tab)
34790
- }, vue.toDisplayString(tab), 11, _hoisted_3$9);
34811
+ }, vue.toDisplayString(tab), 11, _hoisted_3$a);
34791
34812
  }), 128))
34792
34813
  ])
34793
34814
  ]),
@@ -34982,11 +35003,11 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
34982
35003
  });
34983
35004
  const TabsNav = /* @__PURE__ */ _export_sfc(_sfc_main$k, [["__scopeId", "data-v-6ece2018"]]);
34984
35005
  const _hoisted_1$g = { class: "txt-start" };
34985
- const _hoisted_2$b = {
35006
+ const _hoisted_2$c = {
34986
35007
  key: 0,
34987
35008
  class: "txt10 m-0 p-0 txt-gray ellipsis"
34988
35009
  };
34989
- const _hoisted_3$8 = { class: "m-0 p-0 ellipsis-1 line-height-14 pb-025" };
35010
+ const _hoisted_3$9 = { class: "m-0 p-0 ellipsis-1 line-height-14 pb-025" };
34990
35011
  const _hoisted_4$5 = {
34991
35012
  key: 1,
34992
35013
  class: "txt12 m-0 p-0 opacity-7 ellipsis-1"
@@ -35061,11 +35082,11 @@ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
35061
35082
  icon: _ctx.icon
35062
35083
  }, null, 8, ["icon"])) : vue.createCommentVNode("", true),
35063
35084
  vue.createElementVNode("div", _hoisted_1$g, [
35064
- _ctx.lead ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_2$b, [
35085
+ _ctx.lead ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_2$c, [
35065
35086
  vue.createTextVNode(vue.toDisplayString(_ctx.lead) + " ", 1),
35066
35087
  vue.renderSlot(_ctx.$slots, "lead")
35067
35088
  ])) : vue.createCommentVNode("", true),
35068
- vue.createElementVNode("p", _hoisted_3$8, [
35089
+ vue.createElementVNode("p", _hoisted_3$9, [
35069
35090
  vue.createTextVNode(vue.toDisplayString(_ctx.title) + " ", 1),
35070
35091
  vue.renderSlot(_ctx.$slots, "default")
35071
35092
  ]),
@@ -35097,20 +35118,22 @@ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
35097
35118
  });
35098
35119
  const _sfc_main$i = {};
35099
35120
  const _hoisted_1$f = { class: "list-wrap bgl_card thin grid overflow-hidden pt-0 pb-05 px-0 m_pb-0" };
35100
- const _hoisted_2$a = { class: "p-0" };
35101
- const _hoisted_3$7 = { class: "list-content auto-flow-rows align-items-start overflow-y h-100" };
35121
+ const _hoisted_2$b = { class: "p-0" };
35122
+ const _hoisted_3$8 = { class: "list-content auto-flow-rows align-items-start overflow-y h-100" };
35102
35123
  function _sfc_render$3(_ctx, _cache) {
35103
35124
  return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$f, [
35104
- vue.createElementVNode("div", _hoisted_2$a, [
35125
+ vue.createElementVNode("div", _hoisted_2$b, [
35105
35126
  vue.renderSlot(_ctx.$slots, "header")
35106
35127
  ]),
35107
- vue.createElementVNode("div", _hoisted_3$7, [
35128
+ vue.createElementVNode("div", _hoisted_3$8, [
35108
35129
  vue.renderSlot(_ctx.$slots, "default")
35109
35130
  ])
35110
35131
  ]);
35111
35132
  }
35112
35133
  const ListView = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["render", _sfc_render$3]]);
35113
- const _hoisted_1$e = { class: "flex-center" };
35134
+ const _hoisted_1$e = ["width", "height"];
35135
+ const _hoisted_2$a = ["r", "stroke", "stroke-width"];
35136
+ const _hoisted_3$7 = ["r", "stroke", "stroke-width", "stroke-dasharray"];
35114
35137
  const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
35115
35138
  __name: "Loading",
35116
35139
  props: {
@@ -35118,7 +35141,8 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
35118
35141
  thickness: {},
35119
35142
  duration: { default: 1.2 },
35120
35143
  type: { default: "ring" },
35121
- color: {}
35144
+ color: {},
35145
+ progress: {}
35122
35146
  },
35123
35147
  setup(__props) {
35124
35148
  const theme = vue.toRef(__props, "type");
@@ -35132,8 +35156,18 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
35132
35156
  const borderValue = __props.thickness ?? Math.max(Number.parseInt(computedSize.value) / 9, 2);
35133
35157
  return standardSize(borderValue);
35134
35158
  });
35159
+ const svgStrokeWidth = vue.computed(() => {
35160
+ const borderNumeric = Number.parseFloat(computedBorder.value);
35161
+ const sizeNumeric = Number.parseFloat(computedSize.value);
35162
+ return Math.round(borderNumeric / sizeNumeric * 100) * 0.9;
35163
+ });
35164
+ const svgRadius = vue.computed(() => 50 - svgStrokeWidth.value / 2);
35165
+ const svgCircumference = vue.computed(() => Math.PI * 2 * svgRadius.value);
35135
35166
  return (_ctx, _cache) => {
35136
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$e, [
35167
+ return vue.openBlock(), vue.createElementBlock("div", {
35168
+ class: vue.normalizeClass(["flex-center", { progress: _ctx.progress !== void 0 }]),
35169
+ style: vue.normalizeStyle({ "--progress": _ctx.progress })
35170
+ }, [
35137
35171
  theme.value === "bar" ? (vue.openBlock(), vue.createElementBlock("div", {
35138
35172
  key: 0,
35139
35173
  class: "lds-bar",
@@ -35156,7 +35190,33 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
35156
35190
  class: "lds-ring",
35157
35191
  style: vue.normalizeStyle({ "--size": computedSize.value, "--thickness": computedBorder.value })
35158
35192
  }, [
35159
- (vue.openBlock(), vue.createElementBlock(vue.Fragment, null, vue.renderList(4, (n2) => {
35193
+ _ctx.progress !== void 0 ? (vue.openBlock(), vue.createElementBlock("svg", {
35194
+ key: 0,
35195
+ width: computedSize.value,
35196
+ height: computedSize.value,
35197
+ viewBox: "0 0 100 100"
35198
+ }, [
35199
+ vue.createElementVNode("circle", {
35200
+ cx: "50",
35201
+ cy: "50",
35202
+ r: svgRadius.value,
35203
+ fill: "none",
35204
+ stroke: _ctx.color || "currentColor",
35205
+ "stroke-width": svgStrokeWidth.value,
35206
+ "stroke-opacity": "0.2"
35207
+ }, null, 8, _hoisted_2$a),
35208
+ vue.createElementVNode("circle", {
35209
+ cx: "50",
35210
+ cy: "50",
35211
+ r: svgRadius.value,
35212
+ fill: "none",
35213
+ stroke: _ctx.color || "currentColor",
35214
+ "stroke-width": svgStrokeWidth.value,
35215
+ "stroke-linecap": "round",
35216
+ "stroke-dasharray": `${_ctx.progress / 100 * svgCircumference.value} ${svgCircumference.value}`,
35217
+ transform: "rotate(-90 50 50)"
35218
+ }, null, 8, _hoisted_3$7)
35219
+ ], 8, _hoisted_1$e)) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, vue.renderList(4, (n2) => {
35160
35220
  return vue.createElementVNode("div", {
35161
35221
  key: n2,
35162
35222
  style: vue.normalizeStyle({
@@ -35171,11 +35231,11 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
35171
35231
  }, null, 4);
35172
35232
  }), 64))
35173
35233
  ], 4)) : vue.createCommentVNode("", true)
35174
- ]);
35234
+ ], 6);
35175
35235
  };
35176
35236
  }
35177
35237
  });
35178
- const Loading = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["__scopeId", "data-v-2d349a92"]]);
35238
+ const Loading = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["__scopeId", "data-v-71d082b4"]]);
35179
35239
  const _hoisted_1$d = ["id"];
35180
35240
  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>';
35181
35241
  const leafletScriptUrl = "https://unpkg.com/leaflet@1.9.4/dist/leaflet.js";
@@ -35289,13 +35349,13 @@ const _hoisted_3$6 = {
35289
35349
  const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
35290
35350
  __name: "Modal",
35291
35351
  props: {
35292
- thin: { type: Boolean },
35293
- side: { type: Boolean },
35352
+ thin: { type: Boolean, default: false },
35353
+ side: { type: Boolean, default: false },
35294
35354
  title: {},
35295
35355
  width: {},
35296
- dismissable: { type: Boolean },
35356
+ dismissable: { type: Boolean, default: true },
35297
35357
  actions: {},
35298
- visible: { type: Boolean }
35358
+ visible: { type: Boolean, default: false }
35299
35359
  },
35300
35360
  emits: ["update:visible"],
35301
35361
  setup(__props, { expose: __expose, emit: __emit }) {
@@ -35355,28 +35415,30 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
35355
35415
  return [
35356
35416
  vue.unref(slots).toolbar || _ctx.title ? (vue.openBlock(), vue.createElementBlock("header", _hoisted_1$c, [
35357
35417
  vue.renderSlot(_ctx.$slots, "toolbar"),
35358
- vue.createVNode(vue.unref(Btn), {
35418
+ _ctx.dismissable ? (vue.openBlock(), vue.createBlock(vue.unref(Btn), {
35419
+ key: 0,
35359
35420
  style: vue.normalizeStyle({ float: _ctx.side ? "left" : "right" }),
35360
35421
  flat: "",
35361
35422
  icon: "close",
35362
35423
  thin: "",
35363
35424
  onClick: closeModal
35364
- }, null, 8, ["style"]),
35425
+ }, null, 8, ["style"])) : vue.createCommentVNode("", true),
35365
35426
  _ctx.title ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$4), {
35366
- key: 0,
35427
+ key: 1,
35367
35428
  class: "modal-title",
35368
35429
  tag: "h3",
35369
35430
  label: _ctx.title
35370
35431
  }, null, 8, ["label"])) : vue.createCommentVNode("", true)
35371
35432
  ])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$9, [
35372
- vue.createVNode(vue.unref(Btn), {
35433
+ _ctx.dismissable ? (vue.openBlock(), vue.createBlock(vue.unref(Btn), {
35434
+ key: 0,
35373
35435
  class: "position-start",
35374
35436
  icon: "close",
35375
35437
  thin: "",
35376
35438
  round: "",
35377
35439
  color: "white",
35378
35440
  onClick: closeModal
35379
- })
35441
+ })) : vue.createCommentVNode("", true)
35380
35442
  ])),
35381
35443
  vue.renderSlot(_ctx.$slots, "default"),
35382
35444
  vue.unref(slots).footer || ((_a = _ctx.actions) == null ? void 0 : _a.length) ? (vue.openBlock(), vue.createElementBlock("footer", _hoisted_3$6, [