@bagelink/vue 1.2.18 → 1.2.22

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.
package/dist/index.cjs CHANGED
@@ -633,16 +633,15 @@ function closePopover(state2) {
633
633
  state2.showPopover.value = false;
634
634
  state2.activeEvent.value = null;
635
635
  }
636
- const _hoisted_1$W = { class: "day-view" };
637
- const _hoisted_2$H = { class: "day-header" };
638
- const _hoisted_3$B = { class: "events-column" };
639
- const _hoisted_4$o = { class: "date-header" };
640
- const _hoisted_5$n = { class: "time-column" };
641
- const _hoisted_6$k = { class: "events-column" };
642
- const _hoisted_7$g = ["onClick"];
643
- const _hoisted_8$8 = { class: "event-content" };
644
- const _hoisted_9$7 = { class: "event-title" };
645
- const _hoisted_10$6 = { class: "event-time" };
636
+ const _hoisted_1$W = { class: "w-100p overflow-hidden m_overflow h-100p grid" };
637
+ const _hoisted_2$H = { class: "border-bottom me-1 txt-center p-05 dayGrid" };
638
+ const _hoisted_3$B = { class: "overflow h-100p pe-05" };
639
+ const _hoisted_4$o = { class: "time-column" };
640
+ const _hoisted_5$n = { class: "events-column" };
641
+ const _hoisted_6$k = ["onClick"];
642
+ const _hoisted_7$g = { class: "event-content" };
643
+ const _hoisted_8$8 = { class: "white-space ellipsis-1" };
644
+ const _hoisted_9$7 = { class: "event-time opacity-8" };
646
645
  const slotHeight$1 = 60;
647
646
  const slotDuration$1 = 60;
648
647
  const _sfc_main$14 = /* @__PURE__ */ vue.defineComponent({
@@ -784,62 +783,60 @@ const _sfc_main$14 = /* @__PURE__ */ vue.defineComponent({
784
783
  const _directive_click_outside = vue.resolveDirective("click-outside");
785
784
  return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$W, [
786
785
  vue.createElementVNode("div", _hoisted_2$H, [
787
- _cache[0] || (_cache[0] = vue.createElementVNode("div", { class: "time-column" }, [
788
- vue.createElementVNode("div", { class: "time-slot" })
789
- ], -1)),
790
- vue.createElementVNode("div", _hoisted_3$B, [
791
- vue.createElementVNode("div", _hoisted_4$o, vue.toDisplayString(vue.unref(formatDate)(_ctx.startDate)), 1)
792
- ])
786
+ _cache[0] || (_cache[0] = vue.createElementVNode("div", null, null, -1)),
787
+ vue.createElementVNode("div", null, vue.toDisplayString(vue.unref(formatDate)(_ctx.startDate)), 1)
793
788
  ]),
794
- vue.createElementVNode("div", {
795
- class: "time-slots",
796
- onMousedown: handleMouseDown
797
- }, [
798
- vue.createElementVNode("div", _hoisted_5$n, [
799
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(timeSlots.value, (slot) => {
800
- return vue.openBlock(), vue.createElementBlock("div", {
801
- key: slot.time,
802
- class: "time-slot txt-light txt-12 color-gray",
803
- style: vue.normalizeStyle({ height: `${slotHeight$1}px` })
804
- }, vue.toDisplayString(slot.time), 5);
805
- }), 128))
806
- ]),
807
- vue.createElementVNode("div", _hoisted_6$k, [
808
- isToday.value ? (vue.openBlock(), vue.createElementBlock("div", {
789
+ vue.createElementVNode("div", _hoisted_3$B, [
790
+ vue.createElementVNode("div", {
791
+ class: "time-slots dayGrid border-end relative",
792
+ onMousedown: handleMouseDown
793
+ }, [
794
+ vue.createElementVNode("div", _hoisted_4$o, [
795
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(timeSlots.value, (slot) => {
796
+ return vue.openBlock(), vue.createElementBlock("div", {
797
+ key: slot.time,
798
+ class: "time-slot txt-light txt-12 color-gray bg-gray-light border-start",
799
+ style: vue.normalizeStyle({ height: `${slotHeight$1}px` })
800
+ }, vue.toDisplayString(slot.time), 5);
801
+ }), 128))
802
+ ]),
803
+ vue.createElementVNode("div", _hoisted_5$n, [
804
+ isToday.value ? (vue.openBlock(), vue.createElementBlock("div", {
805
+ key: 0,
806
+ class: "absolute end w-100p z-2 flex pointer-events-none",
807
+ style: vue.normalizeStyle({ top: `${currentTimeTop.value}px` })
808
+ }, _cache[1] || (_cache[1] = [
809
+ vue.createElementVNode("div", { class: "current-time-dot h-10px aspect-ratio-1 round bg-primary" }, null, -1),
810
+ vue.createElementVNode("div", { class: "current-time-line w-100p bg-primary" }, null, -1)
811
+ ]), 4)) : vue.createCommentVNode("", true),
812
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(processedEvents.value, (event) => {
813
+ return vue.openBlock(), vue.createElementBlock("div", {
814
+ key: event.id,
815
+ class: "event absolute radius-05 overflow-hidden pointer transition z-1",
816
+ style: vue.normalizeStyle({
817
+ top: `${event.top}px`,
818
+ height: `${event.height}px`,
819
+ backgroundColor: event.color || "var(--bgl-primary)"
820
+ }),
821
+ onClick: vue.withModifiers(($event) => vue.unref(slots).eventContent ? openPopover$1(event, $event) : emit2("eventClick", event), ["stop"])
822
+ }, [
823
+ vue.createElementVNode("div", _hoisted_7$g, [
824
+ vue.createElementVNode("div", _hoisted_8$8, vue.toDisplayString(event.title), 1),
825
+ vue.createElementVNode("div", _hoisted_9$7, vue.toDisplayString(vue.unref(formatDate)(new Date(event.start_time))), 1)
826
+ ])
827
+ ], 12, _hoisted_6$k);
828
+ }), 128))
829
+ ]),
830
+ dragState.value.isDragging && dragState.value.start && dragState.value.end ? (vue.openBlock(), vue.createElementBlock("div", {
809
831
  key: 0,
810
- class: "current-time-indicator",
811
- style: vue.normalizeStyle({ top: `${currentTimeTop.value}px` })
812
- }, _cache[1] || (_cache[1] = [
813
- vue.createElementVNode("div", { class: "current-time-dot" }, null, -1),
814
- vue.createElementVNode("div", { class: "current-time-line" }, null, -1)
815
- ]), 4)) : vue.createCommentVNode("", true),
816
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(processedEvents.value, (event) => {
817
- return vue.openBlock(), vue.createElementBlock("div", {
818
- key: event.id,
819
- class: "event",
820
- style: vue.normalizeStyle({
821
- top: `${event.top}px`,
822
- height: `${event.height}px`,
823
- backgroundColor: event.color || "var(--bgl-primary)"
824
- }),
825
- onClick: vue.withModifiers(($event) => vue.unref(slots).eventContent ? openPopover$1(event, $event) : emit2("eventClick", event), ["stop"])
826
- }, [
827
- vue.createElementVNode("div", _hoisted_8$8, [
828
- vue.createElementVNode("div", _hoisted_9$7, vue.toDisplayString(event.title), 1),
829
- vue.createElementVNode("div", _hoisted_10$6, vue.toDisplayString(vue.unref(formatDate)(new Date(event.start_time))), 1)
830
- ])
831
- ], 12, _hoisted_7$g);
832
- }), 128))
833
- ]),
834
- dragState.value.isDragging && dragState.value.start && dragState.value.end ? (vue.openBlock(), vue.createElementBlock("div", {
835
- key: 0,
836
- class: "drag-preview",
837
- style: vue.normalizeStyle({
838
- top: `${Math.min(dragState.value.start.y, dragState.value.end.y)}px`,
839
- height: `${Math.abs(dragState.value.end.y - dragState.value.start.y)}px`
840
- })
841
- }, null, 4)) : vue.createCommentVNode("", true)
842
- ], 32),
832
+ class: "drag-preview absolute bg-primary pointer-events-none",
833
+ style: vue.normalizeStyle({
834
+ top: `${Math.min(dragState.value.start.y, dragState.value.end.y)}px`,
835
+ height: `${Math.abs(dragState.value.end.y - dragState.value.start.y)}px`
836
+ })
837
+ }, null, 4)) : vue.createCommentVNode("", true)
838
+ ], 32)
839
+ ]),
843
840
  showPopover.value && activeEvent.value ? vue.withDirectives((vue.openBlock(), vue.createElementBlock("div", {
844
841
  key: 0,
845
842
  ref_key: "popoverRef",
@@ -854,12 +851,13 @@ const _sfc_main$14 = /* @__PURE__ */ vue.defineComponent({
854
851
  vue.renderSlot(_ctx.$slots, "eventContent", { event: activeEvent.value }, void 0, true)
855
852
  ], 4)), [
856
853
  [_directive_click_outside, closePopover$1]
857
- ]) : vue.createCommentVNode("", true)
854
+ ]) : vue.createCommentVNode("", true),
855
+ _cache[2] || (_cache[2] = vue.createElementVNode("div", { class: "border-bottom me-1" }, null, -1))
858
856
  ]);
859
857
  };
860
858
  }
861
859
  });
862
- const DayView = /* @__PURE__ */ _export_sfc(_sfc_main$14, [["__scopeId", "data-v-fdbceae7"]]);
860
+ const DayView = /* @__PURE__ */ _export_sfc(_sfc_main$14, [["__scopeId", "data-v-8aa8e541"]]);
863
861
  const _hoisted_1$V = { class: "month-view" };
864
862
  const _hoisted_2$G = { class: "month-header" };
865
863
  const _hoisted_3$A = { class: "month-grid" };
@@ -1231,7 +1229,7 @@ const _sfc_main$12 = /* @__PURE__ */ vue.defineComponent({
1231
1229
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(timeSlots.value, (slot) => {
1232
1230
  return vue.openBlock(), vue.createElementBlock("div", {
1233
1231
  key: slot.time,
1234
- class: "txt-light txt-12 color-gray flex justify-content-center",
1232
+ class: "txt-light txt-12 color-gray flex justify-content-center bg-gray-light border-start",
1235
1233
  style: vue.normalizeStyle({ height: `${slotHeight}px` })
1236
1234
  }, vue.toDisplayString(slot.time), 5);
1237
1235
  }), 128))
@@ -1306,7 +1304,7 @@ const _sfc_main$12 = /* @__PURE__ */ vue.defineComponent({
1306
1304
  };
1307
1305
  }
1308
1306
  });
1309
- const WeekView = /* @__PURE__ */ _export_sfc(_sfc_main$12, [["__scopeId", "data-v-b31e0d33"]]);
1307
+ const WeekView = /* @__PURE__ */ _export_sfc(_sfc_main$12, [["__scopeId", "data-v-f774fc40"]]);
1310
1308
  const _hoisted_1$T = { class: "calendar" };
1311
1309
  const _hoisted_2$E = { class: "flex m_block m_pb-1" };
1312
1310
  const _hoisted_3$y = { class: "txt-light my-0" };
@@ -13529,8 +13527,49 @@ const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
13529
13527
  const computedSchema = vue.computed(
13530
13528
  () => useBglSchema({ schema: props2.schema })
13531
13529
  );
13532
- const numberOfSteps = vue.computed(() => computedSchema.value.length);
13533
- const currentStepSchema = vue.computed(() => [computedSchema.value[currentStep.value]]);
13530
+ const filteredSchema = vue.computed(() => {
13531
+ const schema = computedSchema.value;
13532
+ return schema.filter((step, index2) => {
13533
+ if (step.vIf !== void 0 || step["v-if"] !== void 0) {
13534
+ const condition = step.vIf ?? step["v-if"];
13535
+ if (typeof condition === "function") {
13536
+ return condition(void 0, formData.value);
13537
+ }
13538
+ if (typeof condition === "boolean") {
13539
+ return condition;
13540
+ }
13541
+ if (typeof condition === "string") {
13542
+ return !!condition;
13543
+ }
13544
+ }
13545
+ return true;
13546
+ });
13547
+ });
13548
+ const numberOfSteps = vue.computed(() => filteredSchema.value.length);
13549
+ const schemaIndexMap = vue.computed(() => {
13550
+ const map3 = [];
13551
+ computedSchema.value.forEach((step, index2) => {
13552
+ const vIfCondition = step.vIf ?? step["v-if"];
13553
+ let shouldInclude = true;
13554
+ if (vIfCondition !== void 0) {
13555
+ if (typeof vIfCondition === "function") {
13556
+ shouldInclude = vIfCondition(void 0, formData.value);
13557
+ } else if (typeof vIfCondition === "boolean") {
13558
+ shouldInclude = vIfCondition;
13559
+ } else if (typeof vIfCondition === "string") {
13560
+ shouldInclude = !!vIfCondition;
13561
+ }
13562
+ }
13563
+ if (shouldInclude) {
13564
+ map3.push(index2);
13565
+ }
13566
+ });
13567
+ return map3;
13568
+ });
13569
+ const currentStepSchema = vue.computed(() => {
13570
+ const actualIndex = schemaIndexMap.value[currentStep.value];
13571
+ return [computedSchema.value[actualIndex]];
13572
+ });
13534
13573
  const isStepping = vue.ref(false);
13535
13574
  let isSteppingTO;
13536
13575
  const slideDirection = vue.ref(props2.rtl ? "right" : "left");
@@ -13586,6 +13625,11 @@ const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
13586
13625
  validatedSteps.value = [];
13587
13626
  currentStep.value = 0;
13588
13627
  }
13628
+ vue.watch(() => formData.value, () => {
13629
+ if (currentStep.value >= numberOfSteps.value && numberOfSteps.value > 0) {
13630
+ currentStep.value = 0;
13631
+ }
13632
+ }, { deep: true });
13589
13633
  __expose({
13590
13634
  submit: handleSubmit,
13591
13635
  validateForm: reportValidity,
@@ -13700,7 +13744,7 @@ const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
13700
13744
  };
13701
13745
  }
13702
13746
  });
13703
- const BglMultiStepForm = /* @__PURE__ */ _export_sfc(_sfc_main$S, [["__scopeId", "data-v-f90b1af3"]]);
13747
+ const BglMultiStepForm = /* @__PURE__ */ _export_sfc(_sfc_main$S, [["__scopeId", "data-v-06c34cf2"]]);
13704
13748
  const _hoisted_1$K = {
13705
13749
  key: 0,
13706
13750
  class: "label mb-05"
@@ -14695,17 +14739,15 @@ const _hoisted_8$5 = {
14695
14739
  key: 1,
14696
14740
  class: "month-grid grid gap-05 p-05"
14697
14741
  };
14698
- const _hoisted_9$4 = ["disabled", "onClick"];
14699
- const _hoisted_10$4 = {
14742
+ const _hoisted_9$4 = {
14700
14743
  key: 2,
14701
14744
  class: "year-grid grid gap-05 p-0"
14702
14745
  };
14703
- const _hoisted_11$4 = ["disabled", "onClick"];
14704
- const _hoisted_12$3 = {
14746
+ const _hoisted_10$4 = {
14705
14747
  key: 0,
14706
14748
  class: "time-picker border-start flex column gap-1 w-120px px-025"
14707
14749
  };
14708
- const _hoisted_13$2 = { class: "flex gap-025" };
14750
+ const _hoisted_11$4 = { class: "flex gap-025" };
14709
14751
  const _sfc_main$M = /* @__PURE__ */ vue.defineComponent({
14710
14752
  __name: "DatePicker",
14711
14753
  props: {
@@ -14764,7 +14806,15 @@ const _sfc_main$M = /* @__PURE__ */ vue.defineComponent({
14764
14806
  const currentMonthDays2 = vue.computed(() => {
14765
14807
  const year = currentMonth.value.getFullYear();
14766
14808
  const month = currentMonth.value.getMonth();
14767
- return time.getCalendarMonthSplitInWeeks(year, month).flat();
14809
+ const weeksInMonth = time.getCalendarMonthSplitInWeeks(year, month);
14810
+ while (weeksInMonth.length < 6) {
14811
+ const lastWeek = weeksInMonth[weeksInMonth.length - 1];
14812
+ const lastDay = lastWeek[lastWeek.length - 1];
14813
+ const nextDay = new Date(lastDay.getFullYear(), lastDay.getMonth(), lastDay.getDate() + 1);
14814
+ const nextWeek = time.getCalendarWeekDateObjects(nextDay);
14815
+ weeksInMonth.push(nextWeek);
14816
+ }
14817
+ return weeksInMonth.flat();
14768
14818
  });
14769
14819
  const currentMonthValue2 = vue.computed(() => ({
14770
14820
  month: currentMonth.value.getMonth(),
@@ -14914,12 +14964,14 @@ const _sfc_main$M = /* @__PURE__ */ vue.defineComponent({
14914
14964
  currentView.value === "days" ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
14915
14965
  vue.createVNode(vue.unref(Btn), {
14916
14966
  flat: "",
14967
+ thin: "",
14917
14968
  icon: "chevron_left",
14918
14969
  onClick: vue.unref(previousMonth)
14919
14970
  }, null, 8, ["onClick"]),
14920
14971
  vue.createElementVNode("div", _hoisted_4$f, [
14921
14972
  vue.createVNode(vue.unref(Btn), {
14922
14973
  flat: "",
14974
+ thin: "",
14923
14975
  class: "month-btn",
14924
14976
  onClick: _cache[0] || (_cache[0] = ($event) => currentView.value = "months")
14925
14977
  }, {
@@ -14930,6 +14982,7 @@ const _sfc_main$M = /* @__PURE__ */ vue.defineComponent({
14930
14982
  }),
14931
14983
  vue.createVNode(vue.unref(Btn), {
14932
14984
  flat: "",
14985
+ thin: "",
14933
14986
  class: "year-btn",
14934
14987
  onClick: _cache[1] || (_cache[1] = ($event) => currentView.value = "years")
14935
14988
  }, {
@@ -14941,18 +14994,21 @@ const _sfc_main$M = /* @__PURE__ */ vue.defineComponent({
14941
14994
  ]),
14942
14995
  vue.createVNode(vue.unref(Btn), {
14943
14996
  flat: "",
14997
+ thin: "",
14944
14998
  icon: "chevron_right",
14945
14999
  onClick: vue.unref(nextMonth)
14946
15000
  }, null, 8, ["onClick"])
14947
15001
  ], 64)) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
14948
15002
  vue.createVNode(vue.unref(Btn), {
14949
15003
  flat: "",
15004
+ thin: "",
14950
15005
  icon: "chevron_left",
14951
15006
  onClick: vue.unref(previousYear)
14952
15007
  }, null, 8, ["onClick"]),
14953
15008
  vue.createElementVNode("span", _hoisted_5$f, vue.toDisplayString(vue.unref(currentMonthValue).formatted.year), 1),
14954
15009
  vue.createVNode(vue.unref(Btn), {
14955
15010
  flat: "",
15011
+ thin: "",
14956
15012
  icon: "chevron_right",
14957
15013
  onClick: vue.unref(nextYear)
14958
15014
  }, null, 8, ["onClick"])
@@ -14981,32 +15037,30 @@ const _sfc_main$M = /* @__PURE__ */ vue.defineComponent({
14981
15037
  }), 128))
14982
15038
  ])) : currentView.value === "months" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_8$5, [
14983
15039
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(months), (month) => {
14984
- return vue.openBlock(), vue.createElementBlock("button", {
15040
+ return vue.openBlock(), vue.createBlock(vue.unref(Btn), {
14985
15041
  key: month.value,
14986
- class: vue.normalizeClass(["month-item flex align-items-center justify-content-center pointer rounded p-05 txt14 border-none", {
14987
- selected: month.value === vue.unref(currentMonthValue).month,
14988
- disabled: month.disabled
14989
- }]),
15042
+ thin: "",
15043
+ flat: month.value !== vue.unref(currentMonthValue).month,
14990
15044
  disabled: month.disabled,
15045
+ value: month.name,
14991
15046
  onClick: ($event) => vue.unref(selectMonth)(month.value)
14992
- }, vue.toDisplayString(month.name), 11, _hoisted_9$4);
15047
+ }, null, 8, ["flat", "disabled", "value", "onClick"]);
14993
15048
  }), 128))
14994
- ])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_10$4, [
15049
+ ])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_9$4, [
14995
15050
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(years), (year) => {
14996
- return vue.openBlock(), vue.createElementBlock("button", {
15051
+ return vue.openBlock(), vue.createBlock(vue.unref(Btn), {
14997
15052
  key: year.value,
14998
- class: vue.normalizeClass(["year-item flex align-items-center justify-content-center pointer rounded p-05 txt14 border-none", {
14999
- selected: year.value === vue.unref(currentMonthValue).year,
15000
- disabled: year.disabled
15001
- }]),
15053
+ thin: "",
15054
+ flat: year.value !== vue.unref(currentMonthValue).year,
15002
15055
  disabled: year.disabled,
15056
+ value: year.value.toString(),
15003
15057
  onClick: ($event) => vue.unref(selectYear)(year.value)
15004
- }, vue.toDisplayString(year.value), 11, _hoisted_11$4);
15058
+ }, null, 8, ["flat", "disabled", "value", "onClick"]);
15005
15059
  }), 128))
15006
15060
  ]))
15007
15061
  ]),
15008
- _ctx.enableTime && currentView.value === "days" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_12$3, [
15009
- vue.createElementVNode("div", _hoisted_13$2, [
15062
+ _ctx.enableTime && currentView.value === "days" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_10$4, [
15063
+ vue.createElementVNode("div", _hoisted_11$4, [
15010
15064
  vue.createVNode(vue.unref(NumberInput), {
15011
15065
  center: "",
15012
15066
  modelValue: vue.unref(hours),
@@ -15034,7 +15088,7 @@ const _sfc_main$M = /* @__PURE__ */ vue.defineComponent({
15034
15088
  };
15035
15089
  }
15036
15090
  });
15037
- const DatePicker = /* @__PURE__ */ _export_sfc(_sfc_main$M, [["__scopeId", "data-v-d1e1ff1f"]]);
15091
+ const DatePicker = /* @__PURE__ */ _export_sfc(_sfc_main$M, [["__scopeId", "data-v-9c8816c6"]]);
15038
15092
  const _hoisted_1$E = ["title"];
15039
15093
  const _hoisted_2$s = { key: 0 };
15040
15094
  const _hoisted_3$o = {
@@ -15247,7 +15301,7 @@ const _hoisted_11$3 = {
15247
15301
  key: 0,
15248
15302
  class: "progress"
15249
15303
  };
15250
- const _hoisted_12$2 = {
15304
+ const _hoisted_12$3 = {
15251
15305
  key: 1,
15252
15306
  class: "bgl-single-preview"
15253
15307
  };
@@ -15596,7 +15650,7 @@ const _sfc_main$K = /* @__PURE__ */ vue.defineComponent({
15596
15650
  ]);
15597
15651
  }), 128))
15598
15652
  ])) : vue.createCommentVNode("", true),
15599
- !_ctx.multiple && (storageFiles.value.length > 0 || fileQueue.value.length > 0) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_12$2, [
15653
+ !_ctx.multiple && (storageFiles.value.length > 0 || fileQueue.value.length > 0) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_12$3, [
15600
15654
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(storageFiles.value, (file) => {
15601
15655
  return vue.openBlock(), vue.createElementBlock("div", {
15602
15656
  key: file.id,
@@ -27040,7 +27094,7 @@ const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
27040
27094
  }, [
27041
27095
  vue.createElementVNode("label", { for: _ctx.id }, [
27042
27096
  vue.createTextVNode(vue.toDisplayString(_ctx.label) + " ", 1),
27043
- !_ctx.multiline && !_ctx.autoheight && !_ctx.code ? vue.withDirectives((vue.openBlock(), vue.createElementBlock("input", vue.mergeProps({
27097
+ !_ctx.multiline && !_ctx.autoheight && !_ctx.code && inputRows.value < 2 ? vue.withDirectives((vue.openBlock(), vue.createElementBlock("input", vue.mergeProps({
27044
27098
  key: 0,
27045
27099
  id: _ctx.id,
27046
27100
  ref_key: "input",
@@ -27104,7 +27158,7 @@ const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
27104
27158
  };
27105
27159
  }
27106
27160
  });
27107
- const TextInput = /* @__PURE__ */ _export_sfc(_sfc_main$v, [["__scopeId", "data-v-6dfc73c3"]]);
27161
+ const TextInput = /* @__PURE__ */ _export_sfc(_sfc_main$v, [["__scopeId", "data-v-da1189c6"]]);
27108
27162
  const _hoisted_1$n = ["title"];
27109
27163
  const _hoisted_2$d = ["id", "required"];
27110
27164
  const _hoisted_3$b = ["for"];
@@ -27211,7 +27265,7 @@ const _hoisted_11$2 = {
27211
27265
  key: 0,
27212
27266
  class: "progress"
27213
27267
  };
27214
- const _hoisted_12$1 = {
27268
+ const _hoisted_12$2 = {
27215
27269
  key: 1,
27216
27270
  class: "bgl-single-preview"
27217
27271
  };
@@ -27472,7 +27526,7 @@ const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
27472
27526
  ], 6)
27473
27527
  ], 2);
27474
27528
  }), 128))
27475
- ])) : pathKeys.value.length > 0 || fileQueue.value.length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_12$1, [
27529
+ ])) : pathKeys.value.length > 0 || fileQueue.value.length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_12$2, [
27476
27530
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(pathKeys.value, (path_key) => {
27477
27531
  return vue.openBlock(), vue.createElementBlock("div", {
27478
27532
  key: path_key,
@@ -33498,23 +33552,24 @@ function _sfc_render$2(_ctx, _cache) {
33498
33552
  });
33499
33553
  }
33500
33554
  const RouterWrapper = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["render", _sfc_render$2]]);
33501
- const _hoisted_1$4 = {
33555
+ const _hoisted_1$4 = { class: "stickyTop" };
33556
+ const _hoisted_2$2 = {
33502
33557
  key: 0,
33503
33558
  class: "row-number-header bg-white"
33504
33559
  };
33505
- const _hoisted_2$2 = { class: "th-content" };
33506
- const _hoisted_3$2 = ["onClick"];
33507
- const _hoisted_4$2 = ["onMousedown"];
33508
- const _hoisted_5$2 = ["onClick"];
33509
- const _hoisted_6$2 = ["tabindex", "onMousedown", "onMouseover", "onFocusin", "onDblclick", "onKeydown"];
33510
- const _hoisted_7$2 = ["value", "onInput"];
33511
- const _hoisted_8$1 = { class: "spreadsheet-cell spreadsheetCellPlaceHolder" };
33512
- const _hoisted_9$1 = {
33560
+ const _hoisted_3$2 = { class: "th-content" };
33561
+ const _hoisted_4$2 = ["onClick"];
33562
+ const _hoisted_5$2 = ["onMousedown"];
33563
+ const _hoisted_6$2 = ["onClick"];
33564
+ const _hoisted_7$2 = ["tabindex", "onMousedown", "onMouseover", "onFocusin", "onDblclick", "onKeydown"];
33565
+ const _hoisted_8$1 = ["value", "onInput"];
33566
+ const _hoisted_9$1 = { class: "spreadsheet-cell spreadsheetCellPlaceHolder" };
33567
+ const _hoisted_10$1 = {
33513
33568
  key: 0,
33514
33569
  class: "h40px w-100p flex align-items-center justify-content-center overflow-hidden"
33515
33570
  };
33516
- const _hoisted_10$1 = ["src", "alt"];
33517
- const _hoisted_11$1 = {
33571
+ const _hoisted_11$1 = ["src", "alt"];
33572
+ const _hoisted_12$1 = {
33518
33573
  key: 2,
33519
33574
  class: "spreadsheet-cell"
33520
33575
  };
@@ -33531,7 +33586,8 @@ const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
33531
33586
  selectionStart: {},
33532
33587
  selectionEnd: {},
33533
33588
  editingCell: {},
33534
- baseColumnIndex: {}
33589
+ baseColumnIndex: {},
33590
+ wrapText: { type: Boolean }
33535
33591
  },
33536
33592
  emits: ["sortColumn", "resizeStart", "selectRow", "cellMouseDown", "cellMouseOver", "cellEditStart", "cellKeyDown", "updateCell", "stopEditing", "setInputRef"],
33537
33593
  setup(__props) {
@@ -33586,18 +33642,18 @@ const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
33586
33642
  return vue.openBlock(), vue.createElementBlock("table", {
33587
33643
  class: vue.normalizeClass({ "fixed-columns": _ctx.isFixed, "w-100p": !_ctx.isFixed })
33588
33644
  }, [
33589
- vue.createElementVNode("thead", null, [
33645
+ vue.createElementVNode("thead", _hoisted_1$4, [
33590
33646
  vue.createElementVNode("tr", null, [
33591
- _ctx.showRowNumbers ? (vue.openBlock(), vue.createElementBlock("th", _hoisted_1$4)) : vue.createCommentVNode("", true),
33647
+ _ctx.showRowNumbers ? (vue.openBlock(), vue.createElementBlock("th", _hoisted_2$2)) : vue.createCommentVNode("", true),
33592
33648
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.columns, (col) => {
33593
33649
  return vue.openBlock(), vue.createElementBlock("th", {
33594
33650
  key: col.key,
33595
33651
  style: vue.normalizeStyle({ width: _ctx.columnWidths.get(col.key) ? `${_ctx.columnWidths.get(col.key)}px` : col.width })
33596
33652
  }, [
33597
- vue.createElementVNode("div", _hoisted_2$2, [
33653
+ vue.createElementVNode("div", _hoisted_3$2, [
33598
33654
  vue.createElementVNode("span", {
33599
33655
  onClick: ($event) => col.sortable && _ctx.$emit("sortColumn", col.key)
33600
- }, vue.toDisplayString(col.label || col.key), 9, _hoisted_3$2),
33656
+ }, vue.toDisplayString(col.label || col.key), 9, _hoisted_4$2),
33601
33657
  _ctx.sortColumn === col.key ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$s), {
33602
33658
  key: 0,
33603
33659
  class: vue.normalizeClass(["line-height-0 transition-400", { "rotate-180": _ctx.sortDirection === "desc" }]),
@@ -33606,7 +33662,7 @@ const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
33606
33662
  vue.createElementVNode("div", {
33607
33663
  class: "resize-handle",
33608
33664
  onMousedown: vue.withModifiers(($event) => _ctx.$emit("resizeStart", $event, col.key), ["stop"])
33609
- }, null, 40, _hoisted_4$2)
33665
+ }, null, 40, _hoisted_5$2)
33610
33666
  ])
33611
33667
  ], 4);
33612
33668
  }), 128))
@@ -33619,13 +33675,14 @@ const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
33619
33675
  key: 0,
33620
33676
  class: "row-number txt-center hover user-select-none pointer txt12 regular",
33621
33677
  onClick: ($event) => _ctx.$emit("selectRow", rowIndex)
33622
- }, vue.toDisplayString(rowIndex + 1), 9, _hoisted_5$2)) : vue.createCommentVNode("", true),
33678
+ }, vue.toDisplayString(rowIndex + 1), 9, _hoisted_6$2)) : vue.createCommentVNode("", true),
33623
33679
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.columns, (col, colIndex) => {
33624
33680
  return vue.openBlock(), vue.createElementBlock("td", {
33625
33681
  key: col.key,
33626
33682
  class: vue.normalizeClass({
33627
- selected: isCellSelected(rowIndex, colIndex),
33628
- locked: !isCellEditable(col.key)
33683
+ "selected": isCellSelected(rowIndex, colIndex),
33684
+ "locked": !isCellEditable(col.key),
33685
+ "wrap-text": _ctx.wrapText
33629
33686
  }),
33630
33687
  style: vue.normalizeStyle({ width: _ctx.columnWidths.get(col.key) ? `${_ctx.columnWidths.get(col.key)}px` : col.width }),
33631
33688
  tabindex: col.hidden ? void 0 : 0,
@@ -33650,15 +33707,15 @@ const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
33650
33707
  ],
33651
33708
  onMousedown: _cache[3] || (_cache[3] = vue.withModifiers(() => {
33652
33709
  }, ["stop"]))
33653
- }, null, 40, _hoisted_7$2),
33654
- vue.createElementVNode("span", _hoisted_8$1, vue.toDisplayString(formatCellValue(row[col.key], col.format)), 1)
33710
+ }, null, 40, _hoisted_8$1),
33711
+ vue.createElementVNode("span", _hoisted_9$1, vue.toDisplayString(formatCellValue(row[col.key], col.format)), 1)
33655
33712
  ], 64)) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
33656
- col.format === "image" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_9$1, [
33713
+ col.format === "image" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_10$1, [
33657
33714
  vue.createElementVNode("img", {
33658
33715
  class: "w-100p h-100p contain radius-05",
33659
33716
  src: row[col.key],
33660
33717
  alt: col.label || col.key
33661
- }, null, 8, _hoisted_10$1)
33718
+ }, null, 8, _hoisted_11$1)
33662
33719
  ])) : col.format === "boolean" ? (vue.openBlock(), vue.createBlock(vue.unref(CheckInput), {
33663
33720
  key: 1,
33664
33721
  modelValue: !!row[col.key],
@@ -33666,9 +33723,9 @@ const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
33666
33723
  "onUpdate:modelValue": (value) => _ctx.$emit("updateCell", rowIndex, col.key, !!value),
33667
33724
  onMousedown: _cache[4] || (_cache[4] = vue.withModifiers(() => {
33668
33725
  }, ["stop"]))
33669
- }, null, 8, ["modelValue", "disabled", "onUpdate:modelValue"])) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_11$1, vue.toDisplayString(formatCellValue(row[col.key], col.format)), 1))
33726
+ }, null, 8, ["modelValue", "disabled", "onUpdate:modelValue"])) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_12$1, vue.toDisplayString(formatCellValue(row[col.key], col.format)), 1))
33670
33727
  ], 64))
33671
- ], 46, _hoisted_6$2);
33728
+ ], 46, _hoisted_7$2);
33672
33729
  }), 128))
33673
33730
  ]);
33674
33731
  }), 128))
@@ -33677,7 +33734,7 @@ const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
33677
33734
  };
33678
33735
  }
33679
33736
  });
33680
- const SpreadsheetTable = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["__scopeId", "data-v-ad70b6cd"]]);
33737
+ const SpreadsheetTable = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["__scopeId", "data-v-857ccb8b"]]);
33681
33738
  const _hoisted_1$3 = { class: "flex gap-05 py-05 justify-content-end m_flex-wrap" };
33682
33739
  const _hoisted_2$1 = {
33683
33740
  key: 0,
@@ -33687,7 +33744,7 @@ const _hoisted_3$1 = { class: "flex gap-075" };
33687
33744
  const _hoisted_4$1 = { class: "p-05" };
33688
33745
  const _hoisted_5$1 = { class: "flex space-between" };
33689
33746
  const _hoisted_6$1 = { class: "flex w-100p relative" };
33690
- const _hoisted_7$1 = { class: "flex-shrink flex-grow overflow-x" };
33747
+ const _hoisted_7$1 = { class: "flex-shrink flex-grow" };
33691
33748
  const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
33692
33749
  __name: "Index",
33693
33750
  props: {
@@ -33841,6 +33898,7 @@ const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
33841
33898
  const isSelecting = vue.ref(false);
33842
33899
  const selectionStart = vue.ref(null);
33843
33900
  const selectionEnd = vue.ref(null);
33901
+ const wrapText = localRef("wrapText", false);
33844
33902
  const editingCell = vue.ref(null);
33845
33903
  const editInputRef = vue.ref(/* @__PURE__ */ new Map());
33846
33904
  function setInputRef(el, key) {
@@ -34156,16 +34214,15 @@ const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
34156
34214
  return columns.value.filter((col) => !col.hidden);
34157
34215
  });
34158
34216
  return (_ctx, _cache) => {
34159
- const _directive_tooltip = vue.resolveDirective("tooltip");
34160
34217
  return vue.openBlock(), vue.createElementBlock("div", {
34161
- class: "w-100p overflow-hidden",
34218
+ class: "w-100p",
34162
34219
  tabindex: "-1",
34163
34220
  onKeydown: handleSpreadsheetKeyDown
34164
34221
  }, [
34165
34222
  vue.createElementVNode("div", _hoisted_1$3, [
34166
34223
  _ctx.label ? (vue.openBlock(), vue.createElementBlock("label", _hoisted_2$1, vue.toDisplayString(_ctx.label), 1)) : vue.createCommentVNode("", true),
34167
34224
  vue.createElementVNode("div", _hoisted_3$1, [
34168
- vue.createVNode(_sfc_main$W, {
34225
+ vue.createVNode(vue.unref(_sfc_main$W), {
34169
34226
  flat: "",
34170
34227
  thin: "",
34171
34228
  icon: "view_column"
@@ -34213,44 +34270,42 @@ const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
34213
34270
  placeholder: "Search",
34214
34271
  class: "m-0 max-w200px"
34215
34272
  }, null, 8, ["modelValue"]),
34216
- vue.withDirectives(vue.createVNode(vue.unref(Btn), {
34217
- flat: "",
34218
- thin: "",
34219
- round: "",
34220
- icon: "paste",
34221
- onClick: pasteSelection
34222
- }, null, 512), [
34223
- [_directive_tooltip, "Paste"]
34224
- ]),
34225
- vue.withDirectives(vue.createVNode(vue.unref(Btn), {
34226
- flat: "",
34227
- thin: "",
34228
- round: "",
34229
- icon: "copy",
34230
- onClick: copySelection
34231
- }, null, 512), [
34232
- [_directive_tooltip, "copy"]
34233
- ]),
34234
- vue.withDirectives(vue.createVNode(vue.unref(Btn), {
34235
- flat: "",
34236
- thin: "",
34237
- round: "",
34238
- icon: "undo",
34239
- disabled: !canUndo.value,
34240
- onClick: undo
34241
- }, null, 8, ["disabled"]), [
34242
- [_directive_tooltip, "Undo"]
34243
- ]),
34244
- vue.withDirectives(vue.createVNode(vue.unref(Btn), {
34273
+ vue.createVNode(vue.unref(_sfc_main$W), {
34245
34274
  flat: "",
34246
34275
  thin: "",
34247
- round: "",
34248
- icon: "redo",
34249
- disabled: !canRedo.value,
34250
- onClick: redo
34251
- }, null, 8, ["disabled"]), [
34252
- [_directive_tooltip, "Redo"]
34253
- ])
34276
+ icon: "more_vert"
34277
+ }, {
34278
+ default: vue.withCtx(() => [
34279
+ vue.createVNode(vue.unref(_sfc_main$h), {
34280
+ title: "Paste",
34281
+ icon: "paste",
34282
+ onClick: pasteSelection
34283
+ }),
34284
+ vue.createVNode(vue.unref(_sfc_main$h), {
34285
+ title: "copy",
34286
+ icon: "copy",
34287
+ onClick: copySelection
34288
+ }),
34289
+ vue.createVNode(vue.unref(_sfc_main$h), {
34290
+ title: "Undo",
34291
+ icon: "undo",
34292
+ disabled: !canUndo.value,
34293
+ onClick: undo
34294
+ }, null, 8, ["disabled"]),
34295
+ vue.createVNode(vue.unref(_sfc_main$h), {
34296
+ title: "Redo",
34297
+ icon: "redo",
34298
+ disabled: !canRedo.value,
34299
+ onClick: redo
34300
+ }, null, 8, ["disabled"]),
34301
+ vue.createVNode(vue.unref(ToggleInput), {
34302
+ modelValue: vue.unref(wrapText),
34303
+ "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => vue.isRef(wrapText) ? wrapText.value = $event : null),
34304
+ label: "Wrap Text"
34305
+ }, null, 8, ["modelValue"])
34306
+ ]),
34307
+ _: 1
34308
+ })
34254
34309
  ])
34255
34310
  ]),
34256
34311
  vue.createElementVNode("div", {
@@ -34271,6 +34326,7 @@ const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
34271
34326
  "selection-end": selectionEnd.value,
34272
34327
  "editing-cell": editingCell.value,
34273
34328
  "base-column-index": 0,
34329
+ "wrap-text": vue.unref(wrapText),
34274
34330
  class: "sticky z-2 start-0 bg-white",
34275
34331
  onSortColumn: sortByColumn,
34276
34332
  onResizeStart: handleResizeStart,
@@ -34282,7 +34338,7 @@ const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
34282
34338
  onUpdateCell: updateCell,
34283
34339
  onStopEditing: handleStopEditingAndBlur,
34284
34340
  onSetInputRef: setInputRef
34285
- }, null, 8, ["columns", "rows", "column-widths", "sort-column", "sort-direction", "selection-start", "selection-end", "editing-cell"])) : vue.createCommentVNode("", true),
34341
+ }, null, 8, ["columns", "rows", "column-widths", "sort-column", "sort-direction", "selection-start", "selection-end", "editing-cell", "wrap-text"])) : vue.createCommentVNode("", true),
34286
34342
  vue.createElementVNode("div", _hoisted_7$1, [
34287
34343
  vue.createVNode(SpreadsheetTable, {
34288
34344
  columns: scrollableColumns.value,
@@ -34296,6 +34352,7 @@ const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
34296
34352
  "selection-end": selectionEnd.value,
34297
34353
  "editing-cell": editingCell.value,
34298
34354
  "base-column-index": fixedColumns.value.length,
34355
+ "wrap-text": vue.unref(wrapText),
34299
34356
  onSortColumn: sortByColumn,
34300
34357
  onResizeStart: handleResizeStart,
34301
34358
  onSelectRow: selectEntireRow,
@@ -34306,7 +34363,7 @@ const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
34306
34363
  onUpdateCell: updateCell,
34307
34364
  onStopEditing: handleStopEditingAndBlur,
34308
34365
  onSetInputRef: setInputRef
34309
- }, null, 8, ["columns", "rows", "show-row-numbers", "column-widths", "sort-column", "sort-direction", "selection-start", "selection-end", "editing-cell", "base-column-index"])
34366
+ }, null, 8, ["columns", "rows", "show-row-numbers", "column-widths", "sort-column", "sort-direction", "selection-start", "selection-end", "editing-cell", "base-column-index", "wrap-text"])
34310
34367
  ])
34311
34368
  ]),
34312
34369
  _ctx.allowAddRow ? (vue.openBlock(), vue.createBlock(vue.unref(Btn), {
@@ -34324,7 +34381,7 @@ const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
34324
34381
  };
34325
34382
  }
34326
34383
  });
34327
- const Index = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-1e744d43"]]);
34384
+ const Index = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-a7d01d6e"]]);
34328
34385
  const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
34329
34386
  __name: "Title",
34330
34387
  props: {