@bagelink/vue 0.0.886 → 0.0.889

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.
@@ -83,6 +83,7 @@ declare const __VLS_component: import('vue').DefineComponent<{
83
83
  topic?: string;
84
84
  fill?: boolean;
85
85
  oval?: boolean;
86
+ theme?: "dropzone" | "basic";
86
87
  }, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
87
88
  "update:modelValue": (...args: any[]) => void;
88
89
  addFileStart: (...args: any[]) => void;
@@ -97,6 +98,7 @@ declare const __VLS_component: import('vue').DefineComponent<{
97
98
  topic?: string;
98
99
  fill?: boolean;
99
100
  oval?: boolean;
101
+ theme?: "dropzone" | "basic";
100
102
  }> & Readonly<{
101
103
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
102
104
  onAddFileStart?: ((...args: any[]) => any) | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"FileUpload.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/form/inputs/FileUpload.vue"],"names":[],"mappings":"AA8hBA,OAAO,EAAmC,KAAK,WAAW,EAAY,MAAM,eAAe,CAAA;AAK3F,KAAK,MAAM,GAAG,MAAM,WAAW,CAAA;AAE/B,KAAK,OAAO,GAAG,MAAM,EAAE,GAAG,MAAM,GAAG,MAAM,CAAA;AAmJzC,iBAAS,MAAM,SAgBd;AA6BD,iBAAS,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;0BAxKZ,MAAM;4BACJ,OAAO;uBACZ,MAAM;2BACF,OAAO;;YAgdQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;0BAndnB,MAAM;4BACJ,OAAO;uBACZ,MAAM;2BACF,OAAO;;;YAide,GAAG;;;WASvB,OAAO,IAA6B;EAEjD;AAqBD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;YA1gBZ,MAAM;eACH,OAAO;YACV,WAAW,GAAG,WAAW,EAAE;cACzB,MAAM;iBACH,OAAO;YACZ,MAAM;aACL,MAAM,GAAG,MAAM;YAChB,MAAM;WACP,OAAO;WACP,OAAO;;;;;YATN,MAAM;eACH,OAAO;YACV,WAAW,GAAG,WAAW,EAAE;cACzB,MAAM;iBACH,OAAO;YACZ,MAAM;aACL,MAAM,GAAG,MAAM;YAChB,MAAM;WACP,OAAO;WACP,OAAO;;;;kFAwgBb,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAAnG,wBAAoG;AAWpG,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
1
+ {"version":3,"file":"FileUpload.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/form/inputs/FileUpload.vue"],"names":[],"mappings":"AAskBA,OAAO,EAAmC,KAAK,WAAW,EAAkB,MAAM,eAAe,CAAA;AAKjG,KAAK,MAAM,GAAG,MAAM,WAAW,CAAA;AAE/B,KAAK,OAAO,GAAG,MAAM,EAAE,GAAG,MAAM,GAAG,MAAM,CAAA;AAsJzC,iBAAS,MAAM,SAgBd;AA6BD,iBAAS,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;0BA1KZ,MAAM;4BACJ,OAAO;uBACZ,MAAM;2BACF,OAAO;;YA+kBS,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;0BAllBpB,MAAM;4BACJ,OAAO;uBACZ,MAAM;2BACF,OAAO;;;YAglBe,GAAG;;;WASvB,OAAO,IAA6B;EAEjD;AAuBD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;YA5oBZ,MAAM;eACH,OAAO;YACV,WAAW,GAAG,WAAW,EAAE;cACzB,MAAM;iBACH,OAAO;YACZ,MAAM;aACL,MAAM,GAAG,MAAM;YAChB,MAAM;WACP,OAAO;WACP,OAAO;YACN,UAAU,GAAG,OAAO;;;;;YAVpB,MAAM;eACH,OAAO;YACV,WAAW,GAAG,WAAW,EAAE;cACzB,MAAM;iBACH,OAAO;YACZ,MAAM;aACL,MAAM,GAAG,MAAM;YAChB,MAAM;WACP,OAAO;WACP,OAAO;YACN,UAAU,GAAG,OAAO;;;;kFAyoB3B,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAAnG,wBAAoG;AAWpG,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Lightbox.vue.d.ts","sourceRoot":"","sources":["../../../src/components/lightbox/Lightbox.vue"],"names":[],"mappings":"AAyPA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAYpD,iBAAS,IAAI,CAAC,IAAI,EAAE,YAAY,EAAE,UAAU,CAAC,EAAE,YAAY,EAAE,QAO5D;AAED,iBAAS,KAAK,SAGb;;;;;AA8bD,wBAMG"}
1
+ {"version":3,"file":"Lightbox.vue.d.ts","sourceRoot":"","sources":["../../../src/components/lightbox/Lightbox.vue"],"names":[],"mappings":"AA4PA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AASpD,iBAAS,IAAI,CAAC,IAAI,EAAE,YAAY,EAAE,UAAU,CAAC,EAAE,YAAY,EAAE,QAO5D;AAED,iBAAS,KAAK,SAGb;;;;;AA8bD,wBAMG"}
package/dist/index.cjs CHANGED
@@ -18628,34 +18628,39 @@ const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
18628
18628
  }
18629
18629
  });
18630
18630
  const _hoisted_1$v = { class: "bagel-input" };
18631
- const _hoisted_2$l = {
18631
+ const _hoisted_2$l = { class: "ellipsis-1 word-break-all h-20 m-0" };
18632
+ const _hoisted_3$h = {
18633
+ key: 0,
18634
+ class: "txt-gray txt-12"
18635
+ };
18636
+ const _hoisted_4$c = {
18632
18637
  key: 0,
18633
18638
  class: "bgl-multi-preview"
18634
18639
  };
18635
- const _hoisted_3$h = ["src"];
18636
- const _hoisted_4$c = { class: "m-0" };
18637
- const _hoisted_5$a = ["width", "src"];
18638
- const _hoisted_6$8 = { class: "no-margin multi-preview-txt" };
18639
- const _hoisted_7$5 = {
18640
+ const _hoisted_5$a = ["src"];
18641
+ const _hoisted_6$8 = { class: "m-0" };
18642
+ const _hoisted_7$5 = ["width", "src"];
18643
+ const _hoisted_8$3 = { class: "no-margin multi-preview-txt" };
18644
+ const _hoisted_9$2 = {
18640
18645
  key: 0,
18641
18646
  class: "progress"
18642
18647
  };
18643
- const _hoisted_8$3 = {
18648
+ const _hoisted_10$2 = {
18644
18649
  key: 1,
18645
18650
  class: "bgl-single-preview"
18646
18651
  };
18647
- const _hoisted_9$2 = {
18652
+ const _hoisted_11$1 = {
18648
18653
  key: 0,
18649
18654
  class: "h-100"
18650
18655
  };
18651
- const _hoisted_10$2 = ["src"];
18652
- const _hoisted_11$1 = { class: "position-start m-05 gap-025 flex" };
18653
- const _hoisted_12 = {
18656
+ const _hoisted_12 = ["src"];
18657
+ const _hoisted_13 = { class: "position-start m-05 flex opacity-7" };
18658
+ const _hoisted_14 = {
18654
18659
  key: 0,
18655
18660
  class: "progress"
18656
18661
  };
18657
- const _hoisted_13 = ["src"];
18658
- const _hoisted_14 = { class: "p-1 flex column hover fileUploadPlaceHolder justify-content-center mb-05" };
18662
+ const _hoisted_15 = ["src"];
18663
+ const _hoisted_16 = { class: "p-1 flex column hover fileUploadPlaceHolder justify-content-center mb-05" };
18659
18664
  const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
18660
18665
  __name: "FileUpload",
18661
18666
  props: {
@@ -18668,7 +18673,8 @@ const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
18668
18673
  height: {},
18669
18674
  topic: {},
18670
18675
  fill: { type: Boolean },
18671
- oval: { type: Boolean }
18676
+ oval: { type: Boolean },
18677
+ theme: {}
18672
18678
  },
18673
18679
  emits: ["update:modelValue", "addFileStart"],
18674
18680
  setup(__props, { emit: __emit }) {
@@ -18719,6 +18725,7 @@ const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
18719
18725
  },
18720
18726
  { immediate: true }
18721
18727
  );
18728
+ const theme = props2.theme || "dropzone";
18722
18729
  vue.watch(() => props2.modelValue, () => {
18723
18730
  const newModelValue = props2.modelValue || [];
18724
18731
  const currentValue = [file_bindkeys.value].flat();
@@ -18814,7 +18821,45 @@ const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
18814
18821
  const _directive_tooltip = vue.resolveDirective("tooltip");
18815
18822
  return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$v, [
18816
18823
  vue.createElementVNode("label", null, vue.toDisplayString(_ctx.label), 1),
18817
- vue.createElementVNode("div", {
18824
+ vue.unref(theme) === "basic" ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$R), {
18825
+ key: 0,
18826
+ outline: "",
18827
+ class: "flex p-05 gap-1",
18828
+ onDragover: dragover,
18829
+ onDrop: drop3
18830
+ }, {
18831
+ default: vue.withCtx(() => [
18832
+ vue.createVNode(vue.unref(Btn), {
18833
+ class: "px-1-5",
18834
+ icon: "upload",
18835
+ outline: "",
18836
+ onClick: browse
18837
+ }, {
18838
+ default: vue.withCtx(() => _cache[1] || (_cache[1] = [
18839
+ vue.createTextVNode(" Upload ")
18840
+ ])),
18841
+ _: 1
18842
+ }),
18843
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(storageFiles.value, (file) => {
18844
+ return vue.openBlock(), vue.createElementBlock("div", {
18845
+ key: file.id,
18846
+ class: "txt-gray txt-12 flex"
18847
+ }, [
18848
+ vue.createElementVNode("p", _hoisted_2$l, vue.toDisplayString(file.name), 1),
18849
+ vue.createVNode(vue.unref(Btn), {
18850
+ thin: "",
18851
+ flat: "",
18852
+ icon: "delete",
18853
+ color: "red",
18854
+ onClick: vue.withModifiers(($event) => removeFile(file), ["stop"])
18855
+ }, null, 8, ["onClick"])
18856
+ ]);
18857
+ }), 128)),
18858
+ !storageFiles.value.length && !fileQueue.value.length ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$h, " No file selected ")) : vue.createCommentVNode("", true)
18859
+ ]),
18860
+ _: 1
18861
+ })) : (vue.openBlock(), vue.createElementBlock("div", {
18862
+ key: 1,
18818
18863
  class: vue.normalizeClass(["fileUploadWrap", {
18819
18864
  "fileDropZone": !storageFiles.value.length && !fileQueue.value.length,
18820
18865
  "dragover": vue.unref(isDragOver),
@@ -18830,7 +18875,7 @@ const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
18830
18875
  files: storageFiles.value,
18831
18876
  fileQueue: fileQueue.value
18832
18877
  }, () => [
18833
- _ctx.multiple ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$l, [
18878
+ _ctx.multiple ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$c, [
18834
18879
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(storageFiles.value, (file) => {
18835
18880
  return vue.openBlock(), vue.createElementBlock("div", {
18836
18881
  key: file.id,
@@ -18841,14 +18886,14 @@ const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
18841
18886
  class: "multi-preview",
18842
18887
  src: file.url,
18843
18888
  alt: ""
18844
- }, null, 8, _hoisted_3$h)), [
18889
+ }, null, 8, _hoisted_5$a)), [
18845
18890
  [_directive_lightbox]
18846
18891
  ]) : (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$c), {
18847
18892
  key: 1,
18848
18893
  icon: "draft",
18849
18894
  class: "multi-preview"
18850
18895
  })),
18851
- vue.createElementVNode("p", _hoisted_4$c, vue.toDisplayString(file.name), 1),
18896
+ vue.createElementVNode("p", _hoisted_6$8, vue.toDisplayString(file.name), 1),
18852
18897
  vue.createVNode(vue.unref(Btn), {
18853
18898
  thin: "",
18854
18899
  flat: "",
@@ -18870,18 +18915,18 @@ const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
18870
18915
  class: "multi-preview",
18871
18916
  src: fileToUrl(fileQ.file),
18872
18917
  alt: ""
18873
- }, null, 8, _hoisted_5$a)) : vue.createCommentVNode("", true)
18918
+ }, null, 8, _hoisted_7$5)) : vue.createCommentVNode("", true)
18874
18919
  ], 64)) : (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$c), {
18875
18920
  key: 1,
18876
18921
  icon: "draft",
18877
18922
  class: "multi-preview"
18878
18923
  })),
18879
- vue.createElementVNode("p", _hoisted_6$8, vue.toDisplayString(fileQ.name), 1),
18924
+ vue.createElementVNode("p", _hoisted_8$3, vue.toDisplayString(fileQ.name), 1),
18880
18925
  vue.createElementVNode("div", {
18881
18926
  class: vue.normalizeClass(["pie", { complete: fileQ.progress === 100 }]),
18882
18927
  style: vue.normalizeStyle([`--p:${fileQ.progress}`, { "--b": "2px" }])
18883
18928
  }, [
18884
- fileQ.progress < 100 ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_7$5, vue.toDisplayString(`${fileQ.progress.toFixed(0)}`), 1)) : vue.createCommentVNode("", true),
18929
+ fileQ.progress < 100 ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_9$2, vue.toDisplayString(`${fileQ.progress.toFixed(0)}`), 1)) : vue.createCommentVNode("", true),
18885
18930
  vue.createVNode(vue.unref(_sfc_main$c), {
18886
18931
  class: "success",
18887
18932
  icon: "check"
@@ -18890,21 +18935,21 @@ const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
18890
18935
  ]);
18891
18936
  }), 128))
18892
18937
  ])) : vue.createCommentVNode("", true),
18893
- !_ctx.multiple && (storageFiles.value.length > 0 || fileQueue.value.length > 0) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_8$3, [
18938
+ !_ctx.multiple && (storageFiles.value.length > 0 || fileQueue.value.length > 0) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_10$2, [
18894
18939
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(storageFiles.value, (file) => {
18895
18940
  return vue.openBlock(), vue.createElementBlock("div", {
18896
18941
  key: file.id,
18897
18942
  class: vue.normalizeClass(["single-image-item-preview", { "bgl_fill-image": _ctx.fill }])
18898
18943
  }, [
18899
- isImage(file.extension || file.url) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_9$2, [
18944
+ isImage(file.extension || file.url) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_11$1, [
18900
18945
  vue.withDirectives(vue.createElementVNode("img", {
18901
18946
  class: "single-preview",
18902
18947
  src: file.url,
18903
18948
  alt: ""
18904
- }, null, 8, _hoisted_10$2), [
18949
+ }, null, 8, _hoisted_12), [
18905
18950
  [_directive_lightbox]
18906
18951
  ]),
18907
- vue.createElementVNode("div", _hoisted_11$1, [
18952
+ vue.createElementVNode("div", _hoisted_13, [
18908
18953
  vue.withDirectives(vue.createVNode(vue.unref(Btn), {
18909
18954
  color: "gray",
18910
18955
  thin: "",
@@ -18920,6 +18965,18 @@ const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
18920
18965
  onClick: browse
18921
18966
  }, null, 512), [
18922
18967
  [_directive_tooltip, "Replace"]
18968
+ ]),
18969
+ vue.withDirectives(vue.createVNode(vue.unref(Btn), {
18970
+ href: file.url,
18971
+ download: file.name,
18972
+ color: "gray",
18973
+ thin: "",
18974
+ icon: "download",
18975
+ target: "_blank",
18976
+ onClick: _cache[0] || (_cache[0] = vue.withModifiers(() => {
18977
+ }, ["stop"]))
18978
+ }, null, 8, ["href", "download"]), [
18979
+ [_directive_tooltip, "Download"]
18923
18980
  ])
18924
18981
  ])
18925
18982
  ])) : (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$c), {
@@ -18940,7 +18997,7 @@ const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
18940
18997
  class: vue.normalizeClass(["pie", { complete: fileQ.progress === 100 }]),
18941
18998
  style: vue.normalizeStyle([`--p:${fileQ.progress}`, { "--b": "2px" }])
18942
18999
  }, [
18943
- fileQ.progress < 100 ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_12, vue.toDisplayString(`${fileQ.progress.toFixed(0)}`), 1)) : vue.createCommentVNode("", true),
19000
+ fileQ.progress < 100 ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_14, vue.toDisplayString(`${fileQ.progress.toFixed(0)}`), 1)) : vue.createCommentVNode("", true),
18944
19001
  vue.createVNode(vue.unref(_sfc_main$c), {
18945
19002
  class: "success",
18946
19003
  icon: "check"
@@ -18951,7 +19008,7 @@ const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
18951
19008
  class: "single-preview",
18952
19009
  src: fileToUrl(fileQ.file),
18953
19010
  alt: ""
18954
- }, null, 8, _hoisted_13)) : vue.createCommentVNode("", true)
19011
+ }, null, 8, _hoisted_15)) : vue.createCommentVNode("", true)
18955
19012
  ], 2);
18956
19013
  }), 128))
18957
19014
  ])) : vue.createCommentVNode("", true)
@@ -18962,17 +19019,17 @@ const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
18962
19019
  fileQueue: fileQueue.value,
18963
19020
  browse
18964
19021
  }, () => [
18965
- vue.createElementVNode("p", _hoisted_14, [
19022
+ vue.createElementVNode("p", _hoisted_16, [
18966
19023
  vue.createVNode(vue.unref(_sfc_main$c), { icon: "upload_2" }),
18967
- _cache[0] || (_cache[0] = vue.createTextVNode(" Drop files here or click to upload "))
19024
+ _cache[2] || (_cache[2] = vue.createTextVNode(" Drop files here or click to upload "))
18968
19025
  ])
18969
19026
  ], true) : vue.createCommentVNode("", true)
18970
- ], 38)
19027
+ ], 38))
18971
19028
  ]);
18972
19029
  };
18973
19030
  }
18974
19031
  });
18975
- const $el = /* @__PURE__ */ _export_sfc(_sfc_main$D, [["__scopeId", "data-v-bfb0bd63"]]);
19032
+ const $el = /* @__PURE__ */ _export_sfc(_sfc_main$D, [["__scopeId", "data-v-80a466d2"]]);
18976
19033
  const _hoisted_1$u = ["title"];
18977
19034
  const _hoisted_2$k = { key: 0 };
18978
19035
  const _hoisted_3$g = ["value", "placeholder"];
@@ -55398,7 +55455,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
55398
55455
  };
55399
55456
  }
55400
55457
  });
55401
- const Lightbox$1 = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-c8e5a3c4"]]);
55458
+ const Lightbox$1 = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-f5f9581d"]]);
55402
55459
  const groups = {};
55403
55460
  let clickHandler = (_e2) => void 0;
55404
55461
  const lightboxDirective = {
package/dist/index.mjs CHANGED
@@ -18626,34 +18626,39 @@ const _sfc_main$E = /* @__PURE__ */ defineComponent({
18626
18626
  }
18627
18627
  });
18628
18628
  const _hoisted_1$v = { class: "bagel-input" };
18629
- const _hoisted_2$l = {
18629
+ const _hoisted_2$l = { class: "ellipsis-1 word-break-all h-20 m-0" };
18630
+ const _hoisted_3$h = {
18631
+ key: 0,
18632
+ class: "txt-gray txt-12"
18633
+ };
18634
+ const _hoisted_4$c = {
18630
18635
  key: 0,
18631
18636
  class: "bgl-multi-preview"
18632
18637
  };
18633
- const _hoisted_3$h = ["src"];
18634
- const _hoisted_4$c = { class: "m-0" };
18635
- const _hoisted_5$a = ["width", "src"];
18636
- const _hoisted_6$8 = { class: "no-margin multi-preview-txt" };
18637
- const _hoisted_7$5 = {
18638
+ const _hoisted_5$a = ["src"];
18639
+ const _hoisted_6$8 = { class: "m-0" };
18640
+ const _hoisted_7$5 = ["width", "src"];
18641
+ const _hoisted_8$3 = { class: "no-margin multi-preview-txt" };
18642
+ const _hoisted_9$2 = {
18638
18643
  key: 0,
18639
18644
  class: "progress"
18640
18645
  };
18641
- const _hoisted_8$3 = {
18646
+ const _hoisted_10$2 = {
18642
18647
  key: 1,
18643
18648
  class: "bgl-single-preview"
18644
18649
  };
18645
- const _hoisted_9$2 = {
18650
+ const _hoisted_11$1 = {
18646
18651
  key: 0,
18647
18652
  class: "h-100"
18648
18653
  };
18649
- const _hoisted_10$2 = ["src"];
18650
- const _hoisted_11$1 = { class: "position-start m-05 gap-025 flex" };
18651
- const _hoisted_12 = {
18654
+ const _hoisted_12 = ["src"];
18655
+ const _hoisted_13 = { class: "position-start m-05 flex opacity-7" };
18656
+ const _hoisted_14 = {
18652
18657
  key: 0,
18653
18658
  class: "progress"
18654
18659
  };
18655
- const _hoisted_13 = ["src"];
18656
- const _hoisted_14 = { class: "p-1 flex column hover fileUploadPlaceHolder justify-content-center mb-05" };
18660
+ const _hoisted_15 = ["src"];
18661
+ const _hoisted_16 = { class: "p-1 flex column hover fileUploadPlaceHolder justify-content-center mb-05" };
18657
18662
  const _sfc_main$D = /* @__PURE__ */ defineComponent({
18658
18663
  __name: "FileUpload",
18659
18664
  props: {
@@ -18666,7 +18671,8 @@ const _sfc_main$D = /* @__PURE__ */ defineComponent({
18666
18671
  height: {},
18667
18672
  topic: {},
18668
18673
  fill: { type: Boolean },
18669
- oval: { type: Boolean }
18674
+ oval: { type: Boolean },
18675
+ theme: {}
18670
18676
  },
18671
18677
  emits: ["update:modelValue", "addFileStart"],
18672
18678
  setup(__props, { emit: __emit }) {
@@ -18717,6 +18723,7 @@ const _sfc_main$D = /* @__PURE__ */ defineComponent({
18717
18723
  },
18718
18724
  { immediate: true }
18719
18725
  );
18726
+ const theme = props2.theme || "dropzone";
18720
18727
  watch(() => props2.modelValue, () => {
18721
18728
  const newModelValue = props2.modelValue || [];
18722
18729
  const currentValue = [file_bindkeys.value].flat();
@@ -18812,7 +18819,45 @@ const _sfc_main$D = /* @__PURE__ */ defineComponent({
18812
18819
  const _directive_tooltip = resolveDirective("tooltip");
18813
18820
  return openBlock(), createElementBlock("div", _hoisted_1$v, [
18814
18821
  createElementVNode("label", null, toDisplayString(_ctx.label), 1),
18815
- createElementVNode("div", {
18822
+ unref(theme) === "basic" ? (openBlock(), createBlock(unref(_sfc_main$R), {
18823
+ key: 0,
18824
+ outline: "",
18825
+ class: "flex p-05 gap-1",
18826
+ onDragover: dragover,
18827
+ onDrop: drop3
18828
+ }, {
18829
+ default: withCtx(() => [
18830
+ createVNode(unref(Btn), {
18831
+ class: "px-1-5",
18832
+ icon: "upload",
18833
+ outline: "",
18834
+ onClick: browse
18835
+ }, {
18836
+ default: withCtx(() => _cache[1] || (_cache[1] = [
18837
+ createTextVNode(" Upload ")
18838
+ ])),
18839
+ _: 1
18840
+ }),
18841
+ (openBlock(true), createElementBlock(Fragment$1, null, renderList(storageFiles.value, (file) => {
18842
+ return openBlock(), createElementBlock("div", {
18843
+ key: file.id,
18844
+ class: "txt-gray txt-12 flex"
18845
+ }, [
18846
+ createElementVNode("p", _hoisted_2$l, toDisplayString(file.name), 1),
18847
+ createVNode(unref(Btn), {
18848
+ thin: "",
18849
+ flat: "",
18850
+ icon: "delete",
18851
+ color: "red",
18852
+ onClick: withModifiers(($event) => removeFile(file), ["stop"])
18853
+ }, null, 8, ["onClick"])
18854
+ ]);
18855
+ }), 128)),
18856
+ !storageFiles.value.length && !fileQueue.value.length ? (openBlock(), createElementBlock("span", _hoisted_3$h, " No file selected ")) : createCommentVNode("", true)
18857
+ ]),
18858
+ _: 1
18859
+ })) : (openBlock(), createElementBlock("div", {
18860
+ key: 1,
18816
18861
  class: normalizeClass(["fileUploadWrap", {
18817
18862
  "fileDropZone": !storageFiles.value.length && !fileQueue.value.length,
18818
18863
  "dragover": unref(isDragOver),
@@ -18828,7 +18873,7 @@ const _sfc_main$D = /* @__PURE__ */ defineComponent({
18828
18873
  files: storageFiles.value,
18829
18874
  fileQueue: fileQueue.value
18830
18875
  }, () => [
18831
- _ctx.multiple ? (openBlock(), createElementBlock("div", _hoisted_2$l, [
18876
+ _ctx.multiple ? (openBlock(), createElementBlock("div", _hoisted_4$c, [
18832
18877
  (openBlock(true), createElementBlock(Fragment$1, null, renderList(storageFiles.value, (file) => {
18833
18878
  return openBlock(), createElementBlock("div", {
18834
18879
  key: file.id,
@@ -18839,14 +18884,14 @@ const _sfc_main$D = /* @__PURE__ */ defineComponent({
18839
18884
  class: "multi-preview",
18840
18885
  src: file.url,
18841
18886
  alt: ""
18842
- }, null, 8, _hoisted_3$h)), [
18887
+ }, null, 8, _hoisted_5$a)), [
18843
18888
  [_directive_lightbox]
18844
18889
  ]) : (openBlock(), createBlock(unref(_sfc_main$c), {
18845
18890
  key: 1,
18846
18891
  icon: "draft",
18847
18892
  class: "multi-preview"
18848
18893
  })),
18849
- createElementVNode("p", _hoisted_4$c, toDisplayString(file.name), 1),
18894
+ createElementVNode("p", _hoisted_6$8, toDisplayString(file.name), 1),
18850
18895
  createVNode(unref(Btn), {
18851
18896
  thin: "",
18852
18897
  flat: "",
@@ -18868,18 +18913,18 @@ const _sfc_main$D = /* @__PURE__ */ defineComponent({
18868
18913
  class: "multi-preview",
18869
18914
  src: fileToUrl(fileQ.file),
18870
18915
  alt: ""
18871
- }, null, 8, _hoisted_5$a)) : createCommentVNode("", true)
18916
+ }, null, 8, _hoisted_7$5)) : createCommentVNode("", true)
18872
18917
  ], 64)) : (openBlock(), createBlock(unref(_sfc_main$c), {
18873
18918
  key: 1,
18874
18919
  icon: "draft",
18875
18920
  class: "multi-preview"
18876
18921
  })),
18877
- createElementVNode("p", _hoisted_6$8, toDisplayString(fileQ.name), 1),
18922
+ createElementVNode("p", _hoisted_8$3, toDisplayString(fileQ.name), 1),
18878
18923
  createElementVNode("div", {
18879
18924
  class: normalizeClass(["pie", { complete: fileQ.progress === 100 }]),
18880
18925
  style: normalizeStyle([`--p:${fileQ.progress}`, { "--b": "2px" }])
18881
18926
  }, [
18882
- fileQ.progress < 100 ? (openBlock(), createElementBlock("span", _hoisted_7$5, toDisplayString(`${fileQ.progress.toFixed(0)}`), 1)) : createCommentVNode("", true),
18927
+ fileQ.progress < 100 ? (openBlock(), createElementBlock("span", _hoisted_9$2, toDisplayString(`${fileQ.progress.toFixed(0)}`), 1)) : createCommentVNode("", true),
18883
18928
  createVNode(unref(_sfc_main$c), {
18884
18929
  class: "success",
18885
18930
  icon: "check"
@@ -18888,21 +18933,21 @@ const _sfc_main$D = /* @__PURE__ */ defineComponent({
18888
18933
  ]);
18889
18934
  }), 128))
18890
18935
  ])) : createCommentVNode("", true),
18891
- !_ctx.multiple && (storageFiles.value.length > 0 || fileQueue.value.length > 0) ? (openBlock(), createElementBlock("div", _hoisted_8$3, [
18936
+ !_ctx.multiple && (storageFiles.value.length > 0 || fileQueue.value.length > 0) ? (openBlock(), createElementBlock("div", _hoisted_10$2, [
18892
18937
  (openBlock(true), createElementBlock(Fragment$1, null, renderList(storageFiles.value, (file) => {
18893
18938
  return openBlock(), createElementBlock("div", {
18894
18939
  key: file.id,
18895
18940
  class: normalizeClass(["single-image-item-preview", { "bgl_fill-image": _ctx.fill }])
18896
18941
  }, [
18897
- isImage(file.extension || file.url) ? (openBlock(), createElementBlock("div", _hoisted_9$2, [
18942
+ isImage(file.extension || file.url) ? (openBlock(), createElementBlock("div", _hoisted_11$1, [
18898
18943
  withDirectives(createElementVNode("img", {
18899
18944
  class: "single-preview",
18900
18945
  src: file.url,
18901
18946
  alt: ""
18902
- }, null, 8, _hoisted_10$2), [
18947
+ }, null, 8, _hoisted_12), [
18903
18948
  [_directive_lightbox]
18904
18949
  ]),
18905
- createElementVNode("div", _hoisted_11$1, [
18950
+ createElementVNode("div", _hoisted_13, [
18906
18951
  withDirectives(createVNode(unref(Btn), {
18907
18952
  color: "gray",
18908
18953
  thin: "",
@@ -18918,6 +18963,18 @@ const _sfc_main$D = /* @__PURE__ */ defineComponent({
18918
18963
  onClick: browse
18919
18964
  }, null, 512), [
18920
18965
  [_directive_tooltip, "Replace"]
18966
+ ]),
18967
+ withDirectives(createVNode(unref(Btn), {
18968
+ href: file.url,
18969
+ download: file.name,
18970
+ color: "gray",
18971
+ thin: "",
18972
+ icon: "download",
18973
+ target: "_blank",
18974
+ onClick: _cache[0] || (_cache[0] = withModifiers(() => {
18975
+ }, ["stop"]))
18976
+ }, null, 8, ["href", "download"]), [
18977
+ [_directive_tooltip, "Download"]
18921
18978
  ])
18922
18979
  ])
18923
18980
  ])) : (openBlock(), createBlock(unref(_sfc_main$c), {
@@ -18938,7 +18995,7 @@ const _sfc_main$D = /* @__PURE__ */ defineComponent({
18938
18995
  class: normalizeClass(["pie", { complete: fileQ.progress === 100 }]),
18939
18996
  style: normalizeStyle([`--p:${fileQ.progress}`, { "--b": "2px" }])
18940
18997
  }, [
18941
- fileQ.progress < 100 ? (openBlock(), createElementBlock("span", _hoisted_12, toDisplayString(`${fileQ.progress.toFixed(0)}`), 1)) : createCommentVNode("", true),
18998
+ fileQ.progress < 100 ? (openBlock(), createElementBlock("span", _hoisted_14, toDisplayString(`${fileQ.progress.toFixed(0)}`), 1)) : createCommentVNode("", true),
18942
18999
  createVNode(unref(_sfc_main$c), {
18943
19000
  class: "success",
18944
19001
  icon: "check"
@@ -18949,7 +19006,7 @@ const _sfc_main$D = /* @__PURE__ */ defineComponent({
18949
19006
  class: "single-preview",
18950
19007
  src: fileToUrl(fileQ.file),
18951
19008
  alt: ""
18952
- }, null, 8, _hoisted_13)) : createCommentVNode("", true)
19009
+ }, null, 8, _hoisted_15)) : createCommentVNode("", true)
18953
19010
  ], 2);
18954
19011
  }), 128))
18955
19012
  ])) : createCommentVNode("", true)
@@ -18960,17 +19017,17 @@ const _sfc_main$D = /* @__PURE__ */ defineComponent({
18960
19017
  fileQueue: fileQueue.value,
18961
19018
  browse
18962
19019
  }, () => [
18963
- createElementVNode("p", _hoisted_14, [
19020
+ createElementVNode("p", _hoisted_16, [
18964
19021
  createVNode(unref(_sfc_main$c), { icon: "upload_2" }),
18965
- _cache[0] || (_cache[0] = createTextVNode(" Drop files here or click to upload "))
19022
+ _cache[2] || (_cache[2] = createTextVNode(" Drop files here or click to upload "))
18966
19023
  ])
18967
19024
  ], true) : createCommentVNode("", true)
18968
- ], 38)
19025
+ ], 38))
18969
19026
  ]);
18970
19027
  };
18971
19028
  }
18972
19029
  });
18973
- const $el = /* @__PURE__ */ _export_sfc(_sfc_main$D, [["__scopeId", "data-v-bfb0bd63"]]);
19030
+ const $el = /* @__PURE__ */ _export_sfc(_sfc_main$D, [["__scopeId", "data-v-80a466d2"]]);
18974
19031
  const _hoisted_1$u = ["title"];
18975
19032
  const _hoisted_2$k = { key: 0 };
18976
19033
  const _hoisted_3$g = ["value", "placeholder"];
@@ -55396,7 +55453,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
55396
55453
  };
55397
55454
  }
55398
55455
  });
55399
- const Lightbox$1 = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-c8e5a3c4"]]);
55456
+ const Lightbox$1 = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-f5f9581d"]]);
55400
55457
  const groups = {};
55401
55458
  let clickHandler = (_e2) => void 0;
55402
55459
  const lightboxDirective = {
package/dist/style.css CHANGED
@@ -706,7 +706,7 @@ data[data-v-6c27f163] {
706
706
  }
707
707
  }
708
708
 
709
- .fileUploadWrap[data-v-bfb0bd63] {
709
+ .fileUploadWrap[data-v-80a466d2] {
710
710
  outline: 1px solid var(--border-color);
711
711
  border-radius: var(--input-border-radius);
712
712
  text-align: center;
@@ -718,7 +718,7 @@ data[data-v-6c27f163] {
718
718
  background: var(--input-bg);
719
719
  height: 215px;
720
720
  }
721
- .bagel-input .fileUploadWrap.fileDropZone[data-v-bfb0bd63] {
721
+ .bagel-input .fileUploadWrap.fileDropZone[data-v-80a466d2] {
722
722
  background: var(--input-bg);
723
723
  display: flex;
724
724
  align-items: center;
@@ -726,14 +726,14 @@ data[data-v-6c27f163] {
726
726
  color: var(--bgl-gray);
727
727
  flex-direction: column;
728
728
  }
729
- .fileUploadWrap.dragover[data-v-bfb0bd63],
730
- .fileUploadWrap[data-v-bfb0bd63]:hover {
729
+ .fileUploadWrap.dragover[data-v-80a466d2],
730
+ .fileUploadWrap[data-v-80a466d2]:hover {
731
731
  box-shadow: inset 0 0 10px #00000012;
732
732
  }
733
- .fileUploadWrap[style*="height: auto;"][data-v-bfb0bd63] {
733
+ .fileUploadWrap[style*="height: auto;"][data-v-80a466d2] {
734
734
  min-height: 215px;
735
735
  }
736
- .multi-image-item-preview[data-v-bfb0bd63] {
736
+ .multi-image-item-preview[data-v-80a466d2] {
737
737
  border: 1px solid var(--border-color) !important;
738
738
  border-radius: var(--input-border-radius);
739
739
  margin: 0.5rem !important;
@@ -747,12 +747,12 @@ data[data-v-6c27f163] {
747
747
  gap: 1rem;
748
748
  align-items: center;
749
749
  }
750
- .multi-image-item-preview p[data-v-bfb0bd63] {
750
+ .multi-image-item-preview p[data-v-80a466d2] {
751
751
  overflow: hidden;
752
752
  text-overflow: ellipsis;
753
753
  white-space: nowrap;
754
754
  }
755
- .multi-preview[data-v-bfb0bd63]{
755
+ .multi-preview[data-v-80a466d2]{
756
756
  width: 40px;
757
757
  height: 40px;
758
758
  border-radius: var(--input-border-radius);
@@ -763,17 +763,17 @@ data[data-v-6c27f163] {
763
763
  align-items: center;
764
764
  display: flex;
765
765
  }
766
- .bgl-single-preview[data-v-bfb0bd63]{
766
+ .bgl-single-preview[data-v-80a466d2]{
767
767
  height: 100%;
768
768
  position: relative;
769
769
  }
770
- .bgl-single-preview + .fileUploadPlaceHolder[data-v-bfb0bd63]{
770
+ .bgl-single-preview + .fileUploadPlaceHolder[data-v-80a466d2]{
771
771
  position: absolute;
772
772
  inset: 0;
773
773
  margin: auto;
774
774
  top: calc(50% - 2rem);
775
775
  }
776
- .single-image-item-preview[data-v-bfb0bd63] {
776
+ .single-image-item-preview[data-v-80a466d2] {
777
777
  height: 100%;
778
778
  min-height: 100%;
779
779
  position: relative;
@@ -781,13 +781,13 @@ data[data-v-6c27f163] {
781
781
  align-items: center;
782
782
  justify-content: center;
783
783
  }
784
- .fileUploadWrap[style*="height: auto"] .single-image-item-preview[data-v-bfb0bd63] {
784
+ .fileUploadWrap[style*="height: auto"] .single-image-item-preview[data-v-80a466d2] {
785
785
  min-height: 215px;
786
786
  }
787
- .fileUploadWrap[style*="height: auto"] .single-preview[data-v-bfb0bd63] {
787
+ .fileUploadWrap[style*="height: auto"] .single-preview[data-v-80a466d2] {
788
788
  margin: 0rem !important;
789
789
  }
790
- .single-preview[data-v-bfb0bd63]{
790
+ .single-preview[data-v-80a466d2]{
791
791
  border-radius: var(--input-border-radius);
792
792
  margin: 1rem;
793
793
  padding: 0px;
@@ -796,7 +796,7 @@ data[data-v-6c27f163] {
796
796
  object-fit: cover;
797
797
  background: var(--bgl-gray-light);
798
798
  }
799
- .single-image-item-preview[data-v-bfb0bd63]:hover::after{
799
+ .single-image-item-preview[data-v-80a466d2]:hover::after{
800
800
  content: "zoom_in";
801
801
  font-size: 32px;
802
802
  font-family: "Material Symbols Outlined", serif;
@@ -806,20 +806,20 @@ data[data-v-6c27f163] {
806
806
  z-index: 9;
807
807
  pointer-events: none;
808
808
  }
809
- .single-image-item-preview:hover img[data-v-bfb0bd63]{
809
+ .single-image-item-preview:hover img[data-v-80a466d2]{
810
810
  filter: brightness(70%);
811
811
  }
812
- .bgl_fill-image.single-image-item-preview[data-v-bfb0bd63] {
812
+ .bgl_fill-image.single-image-item-preview[data-v-80a466d2] {
813
813
  height: 100%;
814
814
  }
815
- .bgl_fill-image.single-image-item-preview .single-preview[data-v-bfb0bd63]{
815
+ .bgl_fill-image.single-image-item-preview .single-preview[data-v-80a466d2]{
816
816
  border-radius: unset;
817
817
  object-fit: cover;
818
818
  box-shadow: unset;
819
819
  width: 100%;
820
820
  height: auto;
821
821
  }
822
- .single-image-item-preview .pie[data-v-bfb0bd63] {
822
+ .single-image-item-preview .pie[data-v-80a466d2] {
823
823
  transform-origin: top;
824
824
  transform: scale(1.4);
825
825
  position: absolute;
@@ -833,31 +833,31 @@ data[data-v-6c27f163] {
833
833
  border: none !important;
834
834
  padding: 0 !important;
835
835
  }
836
- .bgl_oval-upload[data-v-bfb0bd63] {
836
+ .bgl_oval-upload[data-v-80a466d2] {
837
837
  border-radius: 100% !important;
838
838
  overflow: hidden;
839
839
  }
840
- .bgl_oval-upload p[data-v-bfb0bd63] {
840
+ .bgl_oval-upload p[data-v-80a466d2] {
841
841
  padding: 0.75rem !important;
842
842
  font-size: 12px
843
843
  }
844
- .bgl_oval-upload .fileUploadPlaceHolder[data-v-bfb0bd63]{
844
+ .bgl_oval-upload .fileUploadPlaceHolder[data-v-80a466d2]{
845
845
  top: 0;
846
846
  }
847
- .bgl_oval-upload .pie[data-v-bfb0bd63] {
847
+ .bgl_oval-upload .pie[data-v-80a466d2] {
848
848
  transform: scale(1);
849
849
  }
850
- .bgl_oval-upload span.bgl_icon-font.color-primary[data-v-bfb0bd63] {
850
+ .bgl_oval-upload span.bgl_icon-font.color-primary[data-v-80a466d2] {
851
851
  transform: scale(0.4) !important;
852
852
  }
853
- .bgl_oval-upload .single-image-item-preview[data-v-bfb0bd63]{
853
+ .bgl_oval-upload .single-image-item-preview[data-v-80a466d2]{
854
854
  height: 100%;
855
855
  }
856
- .bgl_oval-upload .single-preview[data-v-bfb0bd63] {
856
+ .bgl_oval-upload .single-preview[data-v-80a466d2] {
857
857
  margin: 0;
858
858
  height: 100% !important;
859
859
  }
860
- .pie[data-v-bfb0bd63] {
860
+ .pie[data-v-80a466d2] {
861
861
  width: 30px;
862
862
  height: 30px;
863
863
  position: relative;
@@ -865,7 +865,7 @@ data[data-v-6c27f163] {
865
865
  align-items: center;
866
866
  justify-content: center;
867
867
  }
868
- .pie[data-v-bfb0bd63]:before {
868
+ .pie[data-v-80a466d2]:before {
869
869
  content: '';
870
870
  position: absolute;
871
871
  border-radius: 50%;
@@ -883,26 +883,26 @@ data[data-v-6c27f163] {
883
883
  #000 calc(100% - var(--b))
884
884
  );
885
885
  }
886
- .pie .success[data-v-bfb0bd63] {
886
+ .pie .success[data-v-80a466d2] {
887
887
  transform: scale(0);
888
888
  opacity: 0;
889
889
  transition: all 0.3s ease-in-out;
890
890
  }
891
- .pie .progress[data-v-bfb0bd63] {
891
+ .pie .progress[data-v-80a466d2] {
892
892
  position: absolute;
893
893
  font-size: 10px;
894
894
  }
895
- .pie.complete .progress[data-v-bfb0bd63] {
895
+ .pie.complete .progress[data-v-80a466d2] {
896
896
  display: none;
897
897
  }
898
- .pie.complete .success[data-v-bfb0bd63] {
898
+ .pie.complete .success[data-v-80a466d2] {
899
899
  transform: scale(1.3);
900
900
  opacity: 1;
901
901
  }
902
- .pie.complete[data-v-bfb0bd63]:before {
902
+ .pie.complete[data-v-80a466d2]:before {
903
903
  background: conic-gradient(var(--bgl-green) calc(var(--p) * 1%), #0000 0);
904
904
  }
905
- .pie.complete[data-v-bfb0bd63] {
905
+ .pie.complete[data-v-80a466d2] {
906
906
  color: var(--bgl-green);
907
907
  }
908
908
 
@@ -2841,6 +2841,9 @@ svg.leaflet-image-layer.leaflet-interactive path {
2841
2841
  opacity: 1;
2842
2842
  pointer-events: all;
2843
2843
  }
2844
+ body:has(.bg-dark.is-active) {
2845
+ overflow: hidden;
2846
+ }
2844
2847
 
2845
2848
  .is-side.bg-dark.is-active {
2846
2849
  opacity: 1;
@@ -3485,19 +3488,19 @@ tbody tr[data-v-d8ca38b1]:hover {
3485
3488
  -moz-user-drag: none;
3486
3489
  }
3487
3490
 
3488
- .lightbox-image[data-v-c8e5a3c4]{
3491
+ .lightbox-image[data-v-f5f9581d]{
3489
3492
  object-fit: contain;
3490
3493
  }
3491
- .bgl-lightbox-overlay[data-v-c8e5a3c4] {
3494
+ .bgl-lightbox-overlay[data-v-f5f9581d] {
3492
3495
  background: rgba(0, 0, 0, 0.8);
3493
3496
  }
3494
- .bgl-lightbox[data-v-c8e5a3c4] {
3497
+ .bgl-lightbox[data-v-f5f9581d] {
3495
3498
  max-height: 90%;
3496
3499
  }
3497
- .bgl-lightbox-item[data-v-c8e5a3c4]{
3498
- animation: 500ms ease bgl-lightbox-load-c8e5a3c4;
3500
+ .bgl-lightbox-item[data-v-f5f9581d]{
3501
+ animation: 500ms ease bgl-lightbox-load-f5f9581d;
3499
3502
  }
3500
- @keyframes bgl-lightbox-load-c8e5a3c4 {
3503
+ @keyframes bgl-lightbox-load-f5f9581d {
3501
3504
  from {
3502
3505
  scale:0.7;
3503
3506
  }
@@ -3505,32 +3508,32 @@ to {
3505
3508
  scale:1;
3506
3509
  }
3507
3510
  }
3508
- .bgl-lightbox-item[data-v-c8e5a3c4] * {
3511
+ .bgl-lightbox-item[data-v-f5f9581d] * {
3509
3512
  max-width: 90%;
3510
3513
  max-height: calc(80vh - 90px);
3511
3514
  border-radius: 3px;
3512
3515
  margin: auto;
3513
- animation: 200ms ease bgl-lightbox-load-c8e5a3c4;
3516
+ animation: 200ms ease bgl-lightbox-load-f5f9581d;
3514
3517
  }
3515
- .navigation[data-v-c8e5a3c4] {
3518
+ .navigation[data-v-f5f9581d] {
3516
3519
  top: 50%;
3517
3520
  transform: translateY(-50%);
3518
3521
  }
3519
- .navigation-btn[data-v-c8e5a3c4] {
3522
+ .navigation-btn[data-v-f5f9581d] {
3520
3523
  width: var(--input-height);
3521
3524
  height: var(--input-height);
3522
3525
  }
3523
- .thumbnail[data-v-c8e5a3c4] {
3526
+ .thumbnail[data-v-f5f9581d] {
3524
3527
  height: 50px;
3525
3528
  width: 50px;
3526
3529
  }
3527
- .thumbnail[data-v-c8e5a3c4]:hover {
3530
+ .thumbnail[data-v-f5f9581d]:hover {
3528
3531
  opacity: 1;
3529
3532
  }
3530
- .thumbnail[data-v-c8e5a3c4]:active {
3533
+ .thumbnail[data-v-f5f9581d]:active {
3531
3534
  opacity: 0.8;
3532
3535
  }
3533
- .thumbnail.active[data-v-c8e5a3c4] {
3536
+ .thumbnail.active[data-v-f5f9581d] {
3534
3537
  opacity: 1;
3535
3538
  outline: 2px solid white;
3536
3539
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@bagelink/vue",
3
3
  "type": "module",
4
- "version": "0.0.886",
4
+ "version": "0.0.889",
5
5
  "description": "Bagel core sdk packages",
6
6
  "author": {
7
7
  "name": "Neveh Allon",
@@ -1,5 +1,5 @@
1
1
  <script setup lang="ts">
2
- import { Btn, IMAGE_FORMATS_REGEXP, Icon, type StorageFile, useBagel } from '@bagelink/vue'
2
+ import { Btn, IMAGE_FORMATS_REGEXP, Icon, type StorageFile, useBagel, Card } from '@bagelink/vue'
3
3
  import { onMounted, watch } from 'vue'
4
4
 
5
5
  type StrKey = keyof StorageFile
@@ -17,6 +17,7 @@ const props = defineProps<{
17
17
  topic?: string
18
18
  fill?: boolean
19
19
  oval?: boolean
20
+ theme?: 'dropzone' | 'basic'
20
21
  }>()
21
22
 
22
23
  const emit = defineEmits(['update:modelValue', 'addFileStart'])
@@ -89,6 +90,8 @@ watch(
89
90
  { immediate: true }
90
91
  )
91
92
 
93
+ const theme = props.theme || 'dropzone'
94
+
92
95
  watch(() => props.modelValue, () => {
93
96
  const newModelValue: FSValue = props.modelValue || []
94
97
  const currentValue = [file_bindkeys].flat()
@@ -196,7 +199,37 @@ function drop(e: DragEvent) {
196
199
  <label>
197
200
  {{ label }}
198
201
  </label>
202
+
203
+ <Card
204
+ v-if="theme === 'basic'" outline class="flex p-05 gap-1" @dragover="dragover"
205
+ @drop="drop"
206
+ >
207
+ <Btn
208
+ class="px-1-5"
209
+ icon="upload"
210
+ outline
211
+ @click="browse"
212
+ >
213
+ Upload
214
+ </Btn>
215
+ <div v-for="file in storageFiles" :key="file.id" class="txt-gray txt-12 flex">
216
+ <p class="ellipsis-1 word-break-all h-20 m-0">
217
+ {{ file.name }}
218
+ </p>
219
+ <Btn
220
+ thin
221
+ flat
222
+ icon="delete"
223
+ color="red"
224
+ @click.stop="removeFile(file)"
225
+ />
226
+ </div>
227
+ <span v-if="!storageFiles.length && !fileQueue.length" class="txt-gray txt-12">
228
+ No file selected
229
+ </span>
230
+ </Card>
199
231
  <div
232
+ v-else
200
233
  class="fileUploadWrap"
201
234
  :class="{
202
235
  'fileDropZone': !storageFiles.length && !fileQueue.length,
@@ -272,12 +305,19 @@ function drop(e: DragEvent) {
272
305
  >
273
306
  <div v-if="isImage(file.extension || file.url)" class="h-100">
274
307
  <img v-lightbox class="single-preview" :src="file.url" alt="">
275
- <div class="position-start m-05 gap-025 flex">
308
+ <div class="position-start m-05 flex opacity-7">
276
309
  <Btn v-tooltip="'Delete'" color="gray" thin icon="delete" @click.stop="removeFile(file)" />
277
310
  <Btn
278
311
  v-tooltip="'Replace'" color="gray" thin icon="autorenew"
279
312
  @click="browse"
280
313
  />
314
+ <Btn
315
+ v-tooltip="'Download'"
316
+ :href="file.url" :download="file.name"
317
+ color="gray" thin icon="download"
318
+ target="_blank"
319
+ @click.stop
320
+ />
281
321
  </div>
282
322
  </div>
283
323
  <Icon v-else :size="4" weight="2" icon="draft" class="color-primary w-100" />
@@ -1,9 +1,9 @@
1
1
  <script setup lang="ts">
2
- import type { LightboxItem } from './lightbox.types'
3
2
  import { BglVideo, Btn, Icon, Zoomer } from '@bagelink/vue'
4
-
5
3
  import { watch } from 'vue'
6
4
 
5
+ import type { LightboxItem } from './lightbox.types'
6
+
7
7
  let isOpen = $ref(false)
8
8
  let currentItem = $ref<LightboxItem>()
9
9
  let group = $ref<LightboxItem[]>([])
@@ -112,6 +112,9 @@
112
112
  opacity: 1;
113
113
  pointer-events: all;
114
114
  }
115
+ body:has(.bg-dark.is-active) {
116
+ overflow: hidden;
117
+ }
115
118
 
116
119
  .is-side.bg-dark.is-active {
117
120
  opacity: 1;