@bagelink/vue 0.0.884 → 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"}
@@ -94,7 +94,7 @@ declare function __VLS_template(): {
94
94
  };
95
95
  $forceUpdate: () => void;
96
96
  $nextTick: typeof import('vue').nextTick;
97
- $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, import('@vue/reactivity').OnCleanup]) => any : (...args: [any, any, import('@vue/reactivity').OnCleanup]) => any, options?: import('vue').WatchOptions): import('vue').WatchStopHandle;
97
+ $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (... /** @type { [typeof __VLS_components.Icon, ] } */args: [R, R, import('@vue/reactivity').OnCleanup]) => any : (...args: [any, any, import('@vue/reactivity').OnCleanup]) => any, options?: import('vue').WatchOptions): import('vue').WatchStopHandle;
98
98
  } & Readonly<{}> & Omit<Readonly<{
99
99
  value?: string;
100
100
  thin?: boolean;
@@ -229,6 +229,7 @@ declare function __VLS_template(): {
229
229
  modelValue: string | number;
230
230
  debounceDelay: number;
231
231
  }> | null;
232
+ trigger: HTMLButtonElement;
232
233
  selectOptions: HTMLDivElement;
233
234
  };
234
235
  attrs: Partial<{}>;
@@ -1 +1 @@
1
- {"version":3,"file":"SelectInput.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/form/inputs/SelectInput.vue"],"names":[],"mappings":"AAwaA,OAAO,EAMN,KAAK,aAAa,EAClB,KAAK,MAAM,EAEX,MAAM,eAAe,CAAA;AAEtB,OAAO,wBAAwB,CAAA;AA+N/B,iBAAS,cAAc;;sBA4RI,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wCA9EzB,GAAG,8CACmB,GAAE,yBAAyB,GAAG,6DAAmC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAyFjF,OAAO,IAA6B;EAEjD;AAmCD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;aAxiBX,MAAM,EAAE;kBACH,MAAM;eACT,OAAO;iBACL,MAAM;iBACN,OAAO;eACT,OAAO;YACV,MAAM;gBACF,OAAO;kBACL,OAAO;WACd,aAAa;gBACR,OAAO;mBACJ,MAAM;gBACT,OAAO;wBACC,MAAM;eACf,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC;;;;aAdvC,MAAM,EAAE;kBACH,MAAM;eACT,OAAO;iBACL,MAAM;iBACN,OAAO;eACT,OAAO;YACV,MAAM;gBACF,OAAO;kBACL,OAAO;WACd,aAAa;gBACR,OAAO;mBACJ,MAAM;gBACT,OAAO;wBACC,MAAM;eACf,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC;;;kFAiiB/C,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":"SelectInput.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/form/inputs/SelectInput.vue"],"names":[],"mappings":"AAobA,OAAO,EAMN,KAAK,aAAa,EAClB,KAAK,MAAM,EAEX,MAAM,eAAe,CAAA;AAEtB,OAAO,wBAAwB,CAAA;AA2O/B,iBAAS,cAAc;;sBA8RI,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wCAzFrB,GAAG,8CACmB,GAAG,yBAAyB,GAC3D,CAAA,iDAAiD,6DAAd,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAoGxB,OAAO,IAA6B;EAEjD;AAoCD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;aAxjBX,MAAM,EAAE;kBACH,MAAM;eACT,OAAO;iBACL,MAAM;iBACN,OAAO;eACT,OAAO;YACV,MAAM;gBACF,OAAO;kBACL,OAAO;WACd,aAAa;gBACR,OAAO;mBACJ,MAAM;gBACT,OAAO;wBACC,MAAM;eACf,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC;;;;aAdvC,MAAM,EAAE;kBACH,MAAM;eACT,OAAO;iBACL,MAAM;iBACN,OAAO;eACT,OAAO;YACV,MAAM;gBACF,OAAO;kBACL,OAAO;WACd,aAAa;gBACR,OAAO;mBACJ,MAAM;gBACT,OAAO;wBACC,MAAM;eACf,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC;;;kFAijB/C,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"];
@@ -43998,6 +44055,7 @@ const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
43998
44055
  const emit2 = __emit;
43999
44056
  const searchPlaceholder = vue.computed(() => props2.searchPlaceholder || "Search");
44000
44057
  const searchInput = vue.ref();
44058
+ const trigger = vue.ref();
44001
44059
  let selectedItems = vue.ref([]);
44002
44060
  const selectedItemCount = vue.computed(() => selectedItems.value.length ?? 0);
44003
44061
  let search = vue.ref("");
@@ -44040,6 +44098,7 @@ const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
44040
44098
  let highlightedIndex = vue.ref(0);
44041
44099
  const selectOptions = vue.ref();
44042
44100
  function navigate(direction) {
44101
+ console.log("navigate", direction);
44043
44102
  if (direction === "up") {
44044
44103
  highlightedIndex.value = highlightedIndex.value > 0 ? highlightedIndex.value - 1 : filteredOptions.value.length - 1;
44045
44104
  } else if (direction === "down") {
@@ -44053,7 +44112,19 @@ const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
44053
44112
  }
44054
44113
  const isSelected = (option2) => selectedItems.value.find((item) => getValue(option2) === getValue(item)) !== void 0;
44055
44114
  function updateOpen(visible) {
44115
+ var _a2;
44116
+ console.log("updateOpen", visible);
44056
44117
  open.value = visible;
44118
+ if (open.value) {
44119
+ (_a2 = dropdown.value) == null ? void 0 : _a2.show();
44120
+ } else {
44121
+ setTimeout(() => {
44122
+ var _a3;
44123
+ if (trigger.value) trigger.value.focus();
44124
+ if (searchInput.value) searchInput.value.focus();
44125
+ (_a3 = dropdown.value) == null ? void 0 : _a3.hide();
44126
+ }, 10);
44127
+ }
44057
44128
  if (!open.value) {
44058
44129
  if (props2.searchable && !props2.multiselect && !search.value && !selected.value) {
44059
44130
  selectedItems.value = [];
@@ -44063,12 +44134,12 @@ const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
44063
44134
  }
44064
44135
  highlightedIndex.value = -1;
44065
44136
  search.value = "";
44066
- } else {
44067
- if (props2.searchable && !props2.multiselect && selectedItemCount.value) search.value = selectedLabel.value;
44137
+ } else if (props2.searchable && !props2.multiselect && selectedItemCount.value) {
44138
+ search.value = selectedLabel.value;
44068
44139
  setTimeout(
44069
44140
  () => {
44070
- var _a2, _b, _c;
44071
- return (_c = (_b = (_a2 = searchInput.value) == null ? void 0 : _a2.$el) == null ? void 0 : _b.querySelector("input")) == null ? void 0 : _c.focus();
44141
+ var _a3, _b, _c;
44142
+ return (_c = (_b = (_a3 = searchInput.value) == null ? void 0 : _a3.$el) == null ? void 0 : _b.querySelector("input")) == null ? void 0 : _c.focus();
44072
44143
  },
44073
44144
  100
44074
44145
  );
@@ -44161,7 +44232,6 @@ const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
44161
44232
  ref: dropdown,
44162
44233
  placement: "bottom-start",
44163
44234
  class: "bagel-input selectinput",
44164
- noAutoFocus: "",
44165
44235
  onHide: _cache[10] || (_cache[10] = ($event) => updateOpen(false))
44166
44236
  }, {
44167
44237
  trigger: vue.withCtx(() => [
@@ -44186,11 +44256,13 @@ const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
44186
44256
  ]
44187
44257
  }, null, 8, ["modelValue", "placeholder"])) : (vue.openBlock(), vue.createElementBlock("button", {
44188
44258
  key: 1,
44259
+ ref_key: "trigger",
44260
+ ref: trigger,
44189
44261
  disabled: _ctx.disabled,
44190
44262
  type: "button",
44191
44263
  class: vue.normalizeClass(["selectinput-btn", { isEmpty: selectedItemCount.value === 0 }]),
44192
44264
  onFocus: openOptions,
44193
- onClick: _cache[6] || (_cache[6] = ($event) => updateOpen(true))
44265
+ onClick: _cache[6] || (_cache[6] = vue.withModifiers(($event) => updateOpen(true), ["stop"]))
44194
44266
  }, [
44195
44267
  _ctx.icon ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$c), {
44196
44268
  key: 0,
@@ -44284,7 +44356,7 @@ const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
44284
44356
  };
44285
44357
  }
44286
44358
  });
44287
- const SelectInput = /* @__PURE__ */ _export_sfc(_sfc_main$t, [["__scopeId", "data-v-0ea75792"]]);
44359
+ const SelectInput = /* @__PURE__ */ _export_sfc(_sfc_main$t, [["__scopeId", "data-v-973e8b39"]]);
44288
44360
  /*!
44289
44361
  * Signature Pad v5.0.3 | https://github.com/szimek/signature_pad
44290
44362
  * (c) 2024 Szymon Nowak | Released under the MIT license
@@ -55383,7 +55455,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
55383
55455
  };
55384
55456
  }
55385
55457
  });
55386
- 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"]]);
55387
55459
  const groups = {};
55388
55460
  let clickHandler = (_e2) => void 0;
55389
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"];
@@ -43996,6 +44053,7 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
43996
44053
  const emit2 = __emit;
43997
44054
  const searchPlaceholder = computed(() => props2.searchPlaceholder || "Search");
43998
44055
  const searchInput = ref();
44056
+ const trigger = ref();
43999
44057
  let selectedItems = ref([]);
44000
44058
  const selectedItemCount = computed(() => selectedItems.value.length ?? 0);
44001
44059
  let search = ref("");
@@ -44038,6 +44096,7 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
44038
44096
  let highlightedIndex = ref(0);
44039
44097
  const selectOptions = ref();
44040
44098
  function navigate(direction) {
44099
+ console.log("navigate", direction);
44041
44100
  if (direction === "up") {
44042
44101
  highlightedIndex.value = highlightedIndex.value > 0 ? highlightedIndex.value - 1 : filteredOptions.value.length - 1;
44043
44102
  } else if (direction === "down") {
@@ -44051,7 +44110,19 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
44051
44110
  }
44052
44111
  const isSelected = (option2) => selectedItems.value.find((item) => getValue(option2) === getValue(item)) !== void 0;
44053
44112
  function updateOpen(visible) {
44113
+ var _a2;
44114
+ console.log("updateOpen", visible);
44054
44115
  open.value = visible;
44116
+ if (open.value) {
44117
+ (_a2 = dropdown.value) == null ? void 0 : _a2.show();
44118
+ } else {
44119
+ setTimeout(() => {
44120
+ var _a3;
44121
+ if (trigger.value) trigger.value.focus();
44122
+ if (searchInput.value) searchInput.value.focus();
44123
+ (_a3 = dropdown.value) == null ? void 0 : _a3.hide();
44124
+ }, 10);
44125
+ }
44055
44126
  if (!open.value) {
44056
44127
  if (props2.searchable && !props2.multiselect && !search.value && !selected.value) {
44057
44128
  selectedItems.value = [];
@@ -44061,12 +44132,12 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
44061
44132
  }
44062
44133
  highlightedIndex.value = -1;
44063
44134
  search.value = "";
44064
- } else {
44065
- if (props2.searchable && !props2.multiselect && selectedItemCount.value) search.value = selectedLabel.value;
44135
+ } else if (props2.searchable && !props2.multiselect && selectedItemCount.value) {
44136
+ search.value = selectedLabel.value;
44066
44137
  setTimeout(
44067
44138
  () => {
44068
- var _a2, _b, _c;
44069
- return (_c = (_b = (_a2 = searchInput.value) == null ? void 0 : _a2.$el) == null ? void 0 : _b.querySelector("input")) == null ? void 0 : _c.focus();
44139
+ var _a3, _b, _c;
44140
+ return (_c = (_b = (_a3 = searchInput.value) == null ? void 0 : _a3.$el) == null ? void 0 : _b.querySelector("input")) == null ? void 0 : _c.focus();
44070
44141
  },
44071
44142
  100
44072
44143
  );
@@ -44159,7 +44230,6 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
44159
44230
  ref: dropdown,
44160
44231
  placement: "bottom-start",
44161
44232
  class: "bagel-input selectinput",
44162
- noAutoFocus: "",
44163
44233
  onHide: _cache[10] || (_cache[10] = ($event) => updateOpen(false))
44164
44234
  }, {
44165
44235
  trigger: withCtx(() => [
@@ -44184,11 +44254,13 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
44184
44254
  ]
44185
44255
  }, null, 8, ["modelValue", "placeholder"])) : (openBlock(), createElementBlock("button", {
44186
44256
  key: 1,
44257
+ ref_key: "trigger",
44258
+ ref: trigger,
44187
44259
  disabled: _ctx.disabled,
44188
44260
  type: "button",
44189
44261
  class: normalizeClass(["selectinput-btn", { isEmpty: selectedItemCount.value === 0 }]),
44190
44262
  onFocus: openOptions,
44191
- onClick: _cache[6] || (_cache[6] = ($event) => updateOpen(true))
44263
+ onClick: _cache[6] || (_cache[6] = withModifiers(($event) => updateOpen(true), ["stop"]))
44192
44264
  }, [
44193
44265
  _ctx.icon ? (openBlock(), createBlock(unref(_sfc_main$c), {
44194
44266
  key: 0,
@@ -44282,7 +44354,7 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
44282
44354
  };
44283
44355
  }
44284
44356
  });
44285
- const SelectInput = /* @__PURE__ */ _export_sfc(_sfc_main$t, [["__scopeId", "data-v-0ea75792"]]);
44357
+ const SelectInput = /* @__PURE__ */ _export_sfc(_sfc_main$t, [["__scopeId", "data-v-973e8b39"]]);
44286
44358
  /*!
44287
44359
  * Signature Pad v5.0.3 | https://github.com/szimek/signature_pad
44288
44360
  * (c) 2024 Szymon Nowak | Released under the MIT license
@@ -55381,7 +55453,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
55381
55453
  };
55382
55454
  }
55383
55455
  });
55384
- 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"]]);
55385
55457
  const groups = {};
55386
55458
  let clickHandler = (_e2) => void 0;
55387
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
 
@@ -1316,10 +1316,10 @@ p {
1316
1316
  } */
1317
1317
  .resize-observer[data-v-b329ee4c]{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;border:none;background-color:transparent;pointer-events:none;display:block;overflow:hidden;opacity:0}.resize-observer[data-v-b329ee4c] object{display:block;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}.v-popper__popper{z-index:10000;top:0;left:0;outline:none}.v-popper__popper.v-popper__popper--hidden{visibility:hidden;opacity:0;transition:opacity .15s,visibility .15s;pointer-events:none}.v-popper__popper.v-popper__popper--shown{visibility:visible;opacity:1;transition:opacity .15s}.v-popper__popper.v-popper__popper--skip-transition,.v-popper__popper.v-popper__popper--skip-transition>.v-popper__wrapper{transition:none!important}.v-popper__backdrop{position:absolute;top:0;left:0;width:100%;height:100%;display:none}.v-popper__inner{position:relative;box-sizing:border-box;overflow-y:auto}.v-popper__inner>div{position:relative;z-index:1;max-width:inherit;max-height:inherit}.v-popper__arrow-container{position:absolute;width:10px;height:10px}.v-popper__popper--arrow-overflow .v-popper__arrow-container,.v-popper__popper--no-positioning .v-popper__arrow-container{display:none}.v-popper__arrow-inner,.v-popper__arrow-outer{border-style:solid;position:absolute;top:0;left:0;width:0;height:0}.v-popper__arrow-inner{visibility:hidden;border-width:7px}.v-popper__arrow-outer{border-width:6px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner{left:-2px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-outer,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{left:-1px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-outer{border-bottom-width:0;border-left-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner{top:-2px}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-container{top:0}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{border-top-width:0;border-left-color:transparent!important;border-right-color:transparent!important;border-top-color:transparent!important}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner{top:-4px}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{top:-6px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner{top:-2px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-outer,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{top:-1px}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{border-left-width:0;border-left-color:transparent!important;border-top-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner{left:-4px}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{left:-6px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-container{right:-10px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-outer{border-right-width:0;border-top-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner{left:-2px}.v-popper--theme-tooltip .v-popper__inner{background:rgba(0,0,0,.8);color:#fff;border-radius:6px;padding:7px 12px 6px}.v-popper--theme-tooltip .v-popper__arrow-outer{border-color:#000c}.v-popper--theme-dropdown .v-popper__inner{background:#fff;color:#000;border-radius:6px;border:1px solid #ddd;box-shadow:0 6px 30px #0000001a}.v-popper--theme-dropdown .v-popper__arrow-inner{visibility:visible;border-color:#fff}.v-popper--theme-dropdown .v-popper__arrow-outer{border-color:#ddd}
1318
1318
 
1319
- .selectinput[data-v-0ea75792] {
1319
+ .selectinput[data-v-973e8b39] {
1320
1320
  width: 100%;
1321
1321
  }
1322
- .selectinput-option[data-v-0ea75792] {
1322
+ .selectinput-option[data-v-973e8b39] {
1323
1323
  padding: 6px 12px;
1324
1324
  cursor: pointer;
1325
1325
  border-radius: 5px;
@@ -1331,23 +1331,23 @@ p {
1331
1331
  font-size: var(--input-font-size);
1332
1332
  margin-block: 0.15rem;
1333
1333
  }
1334
- .selectinput-option .bgl_icon-font[data-v-0ea75792]{
1334
+ .selectinput-option .bgl_icon-font[data-v-973e8b39]{
1335
1335
  line-height: normal;
1336
1336
  }
1337
- .selectinput-options.multiselect .selectinput-option[data-v-0ea75792] {
1337
+ .selectinput-options.multiselect .selectinput-option[data-v-973e8b39] {
1338
1338
  grid-template-columns: 10px 1fr;
1339
1339
  }
1340
- .selectinput-options[data-v-0ea75792] {
1340
+ .selectinput-options[data-v-973e8b39] {
1341
1341
  max-height: 300px;
1342
1342
  overflow-y: auto;
1343
1343
  }
1344
- .selectinput-option[data-v-0ea75792]:hover, .highlight[data-v-0ea75792] {
1344
+ .selectinput-option[data-v-973e8b39]:hover, .highlight[data-v-973e8b39] {
1345
1345
  background: var(--bgl-gray-20);
1346
1346
  }
1347
- .isEmpty p[data-v-0ea75792] {
1347
+ .isEmpty p[data-v-973e8b39] {
1348
1348
  opacity: 0.3;
1349
1349
  }
1350
- .selected[data-v-0ea75792]{
1350
+ .selected[data-v-973e8b39]{
1351
1351
  /* background: var(--bgl-primary-tint); */
1352
1352
  background: var(--bgl-selected);
1353
1353
  }
@@ -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.884",
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" />
@@ -35,6 +35,7 @@ const emit = defineEmits(['update:modelValue']) // Add 'search' event
35
35
  const searchPlaceholder = $computed(() => props.searchPlaceholder || 'Search')
36
36
 
37
37
  const searchInput = $ref<HTMLInputElement | undefined>()
38
+ const trigger = $ref<HTMLButtonElement | undefined>()
38
39
 
39
40
  let selectedItems = $ref<Option[]>([])
40
41
 
@@ -97,6 +98,7 @@ let highlightedIndex = $ref(0)
97
98
  const selectOptions = $ref<HTMLElement | undefined>()
98
99
 
99
100
  function navigate(direction: 'up' | 'down') {
101
+ console.log('navigate', direction)
100
102
  if (direction === 'up') {
101
103
  highlightedIndex = highlightedIndex > 0 ? highlightedIndex - 1 : filteredOptions.length - 1
102
104
  } else if (direction === 'down') {
@@ -111,7 +113,17 @@ function navigate(direction: 'up' | 'down') {
111
113
  const isSelected = (option: Option) => selectedItems.find(item => getValue(option) === getValue(item)) !== undefined
112
114
 
113
115
  function updateOpen(visible: boolean) {
116
+ console.log('updateOpen', visible)
114
117
  open = visible
118
+
119
+ if (open) { dropdown?.show() }
120
+ else {
121
+ setTimeout(() => {
122
+ if (trigger) trigger.focus()
123
+ if (searchInput) searchInput.focus()
124
+ dropdown?.hide()
125
+ }, 10)
126
+ }
115
127
  if (!open) {
116
128
  if (props.searchable && !props.multiselect && !search && !selected) { selectedItems = []
117
129
  }
@@ -121,8 +133,8 @@ function updateOpen(visible: boolean) {
121
133
  highlightedIndex = -1
122
134
  search = ''
123
135
  }
124
- else {
125
- if (props.searchable && !props.multiselect && selectedItemCount) search = selectedLabel as string
136
+ else if (props.searchable && !props.multiselect && selectedItemCount) {
137
+ search = selectedLabel as string
126
138
  setTimeout(
127
139
  () => (searchInput as any)?.$el?.querySelector('input')?.focus(),
128
140
  100,
@@ -231,7 +243,6 @@ onMounted(() => {
231
243
  ref="dropdown"
232
244
  placement="bottom-start"
233
245
  class="bagel-input selectinput"
234
- noAutoFocus
235
246
  @hide="updateOpen(false)"
236
247
  >
237
248
  <template #trigger>
@@ -253,12 +264,13 @@ onMounted(() => {
253
264
  />
254
265
  <button
255
266
  v-else
267
+ ref="trigger"
256
268
  :disabled="disabled"
257
269
  type="button"
258
270
  class="selectinput-btn"
259
271
  :class="{ isEmpty: selectedItemCount === 0 }"
260
272
  @focus="openOptions"
261
- @click="updateOpen(true)"
273
+ @click.stop="updateOpen(true)"
262
274
  >
263
275
  <Icon v-if="icon" :icon="icon" />
264
276
  <p v-if="!hideLabel">
@@ -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;