vuefinder 4.0.7 → 4.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -331
- package/dist/locales/ar.js +4 -0
- package/dist/locales/de.js +5 -0
- package/dist/locales/en.js +5 -0
- package/dist/locales/es.js +5 -0
- package/dist/locales/fa.js +6 -0
- package/dist/locales/fr.js +5 -0
- package/dist/locales/he.js +5 -0
- package/dist/locales/hi.js +5 -0
- package/dist/locales/it.js +5 -0
- package/dist/locales/ja.js +5 -0
- package/dist/locales/nl.js +6 -0
- package/dist/locales/pl.js +6 -0
- package/dist/locales/pt.js +5 -0
- package/dist/locales/ru.js +5 -0
- package/dist/locales/sv.js +6 -0
- package/dist/locales/tr.js +4 -0
- package/dist/locales/zhCN.js +5 -0
- package/dist/locales/zhTW.js +5 -0
- package/dist/vuefinder.css +1 -1
- package/dist/vuefinder.js +739 -723
- package/package.json +2 -1
package/dist/vuefinder.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { inject as
|
|
1
|
+
import { inject as Ft, reactive as Nt, watch as ue, defineComponent as te, useAttrs as Wo, ref as T, computed as H, watchEffect as Qe, nextTick as Oe, createElementBlock as g, openBlock as v, Fragment as re, createCommentVNode as O, createElementVNode as i, unref as a, renderList as _e, mergeProps as Ee, createBlock as j, normalizeStyle as Me, normalizeClass as X, withCtx as oe, renderSlot as me, createVNode as L, isVNode as mt, onMounted as he, onBeforeUnmount as fn, resolveDynamicComponent as lt, normalizeProps as qe, createTextVNode as de, toDisplayString as x, shallowRef as Zn, markRaw as Go, withKeys as kt, withModifiers as pe, withDirectives as be, vModelText as xt, onUnmounted as Ae, useTemplateRef as tt, resolveComponent as eo, vModelCheckbox as vn, customRef as Yo, Teleport as Ht, isRef as Qo, vModelSelect as an, vModelRadio as nn, toHandlers as nt, vShow as Xe, guardReactiveProps as st, onUpdated as Xo, mergeModels as Jo, useModel as to, Transition as Zo, provide as es } from "vue";
|
|
2
2
|
import ts from "mitt";
|
|
3
3
|
import { persistentAtom as ns } from "@nanostores/persistent";
|
|
4
|
-
import { atom as
|
|
4
|
+
import { atom as Pe, computed as et } from "nanostores";
|
|
5
5
|
import { useStore as J } from "@nanostores/vue";
|
|
6
6
|
import { QueryClient as os } from "@tanstack/vue-query";
|
|
7
7
|
import ss from "@uppy/core";
|
|
@@ -18,7 +18,7 @@ function cs(n) {
|
|
|
18
18
|
pn.delete(n);
|
|
19
19
|
}
|
|
20
20
|
function se(n) {
|
|
21
|
-
const e =
|
|
21
|
+
const e = Ft(rn);
|
|
22
22
|
if (!e)
|
|
23
23
|
throw new Error(
|
|
24
24
|
"No VueFinder app instance found. Make sure VueFinder component is mounted and provide the id explicitly or use within a VueFinder component tree."
|
|
@@ -232,7 +232,7 @@ function fs(n, e) {
|
|
|
232
232
|
...e
|
|
233
233
|
}), t;
|
|
234
234
|
}
|
|
235
|
-
const vs = (n) => n && typeof n == "object" && "ok" in n && typeof n.ok == "boolean" && "status" in n && typeof n.status == "number", ps = fs, hs = () => Te.toasts, ms = () => Te.getActiveToasts(),
|
|
235
|
+
const vs = (n) => n && typeof n == "object" && "ok" in n && typeof n.ok == "boolean" && "status" in n && typeof n.status == "number", ps = fs, hs = () => Te.toasts, ms = () => Te.getActiveToasts(), fe = Object.assign(ps, {
|
|
236
236
|
success: Te.success,
|
|
237
237
|
info: Te.info,
|
|
238
238
|
warning: Te.warning,
|
|
@@ -351,15 +351,15 @@ var Cs = /* @__PURE__ */ te({
|
|
|
351
351
|
"removeToast"
|
|
352
352
|
],
|
|
353
353
|
setup(n, { emit: e }) {
|
|
354
|
-
const t = n, o = e, s = T(null), l = T(null), c = T(!1), r = T(!1), d = T(!1), u = T(!1), p = T(!1), m = T(0), f = T(0), _ = T(t.toast.duration || t.duration || An), S = T(null), D = T(null), w = H(() => t.index === 0), y = H(() => t.index + 1 <= t.visibleToasts), h = H(() => t.toast.type), b = H(() => t.toast.dismissible !== !1),
|
|
354
|
+
const t = n, o = e, s = T(null), l = T(null), c = T(!1), r = T(!1), d = T(!1), u = T(!1), p = T(!1), m = T(0), f = T(0), _ = T(t.toast.duration || t.duration || An), S = T(null), D = T(null), w = H(() => t.index === 0), y = H(() => t.index + 1 <= t.visibleToasts), h = H(() => t.toast.type), b = H(() => t.toast.dismissible !== !1), k = H(() => t.toast.class || ""), C = H(() => t.descriptionClass || ""), V = H(() => {
|
|
355
355
|
const A = t.toast.position || t.position, ce = t.heights.filter((we) => we.position === A).findIndex((we) => we.toastId === t.toast.id);
|
|
356
356
|
return ce >= 0 ? ce : 0;
|
|
357
357
|
}), R = H(() => {
|
|
358
358
|
const A = t.toast.position || t.position;
|
|
359
359
|
return t.heights.filter((ce) => ce.position === A).reduce((ce, we, Se) => Se >= V.value ? ce : ce + we.height, 0);
|
|
360
|
-
}), q = H(() => V.value * t.gap + R.value || 0), B = H(() => t.toast.closeButton ?? t.closeButton),
|
|
360
|
+
}), q = H(() => V.value * t.gap + R.value || 0), B = H(() => t.toast.closeButton ?? t.closeButton), F = H(() => t.toast.duration || t.duration || An), K = T(0), Y = T(0), z = T(null), Z = H(() => t.position.split("-")), le = H(() => Z.value[0]), Q = H(() => Z.value[1]), E = H(() => typeof t.toast.title != "string"), $ = H(() => typeof t.toast.description != "string"), { isDocumentHidden: P } = bs(), M = H(() => h.value && h.value === "loading");
|
|
361
361
|
he(() => {
|
|
362
|
-
c.value = !0, _.value =
|
|
362
|
+
c.value = !0, _.value = F.value;
|
|
363
363
|
}), Qe(async () => {
|
|
364
364
|
if (!c.value || !D.value) return;
|
|
365
365
|
await Oe();
|
|
@@ -387,7 +387,7 @@ var Cs = /* @__PURE__ */ te({
|
|
|
387
387
|
y: A.clientY
|
|
388
388
|
})));
|
|
389
389
|
}
|
|
390
|
-
function
|
|
390
|
+
function ve() {
|
|
391
391
|
if (u.value || !b.value) return;
|
|
392
392
|
z.value = null;
|
|
393
393
|
const A = Number(D.value?.style.getPropertyValue("--swipe-amount-x").replace("px", "") || 0), ye = Number(D.value?.style.getPropertyValue("--swipe-amount-y").replace("px", "") || 0), ce = (/* @__PURE__ */ new Date()).getTime() - (S.value?.getTime() || 0), we = s.value === "x" ? A : ye, Se = Math.abs(we) / ce;
|
|
@@ -447,7 +447,7 @@ var Cs = /* @__PURE__ */ te({
|
|
|
447
447
|
t.toast.onAutoClose?.(t.toast), W();
|
|
448
448
|
}, _.value));
|
|
449
449
|
};
|
|
450
|
-
t.expanded || t.interacting ||
|
|
450
|
+
t.expanded || t.interacting || P.value ? ce() : we(), A(() => {
|
|
451
451
|
clearTimeout(ye);
|
|
452
452
|
});
|
|
453
453
|
}), ue(() => t.toast.delete, (A) => {
|
|
@@ -460,7 +460,7 @@ var Cs = /* @__PURE__ */ te({
|
|
|
460
460
|
tabindex: "0",
|
|
461
461
|
ref_key: "toastRef",
|
|
462
462
|
ref: D,
|
|
463
|
-
class: X(a(Ze)(t.class,
|
|
463
|
+
class: X(a(Ze)(t.class, k.value, A.classes?.toast, A.toast.classes?.toast, A.classes?.[h.value], A.toast?.classes?.[h.value])),
|
|
464
464
|
"data-sonner-toast": "",
|
|
465
465
|
"data-rich-colors": A.toast.richColors ?? A.defaultRichColors,
|
|
466
466
|
"data-styled": !(A.toast.component || A.toast?.unstyled || A.unstyled),
|
|
@@ -492,7 +492,7 @@ var Cs = /* @__PURE__ */ te({
|
|
|
492
492
|
}),
|
|
493
493
|
onDragend: Ke,
|
|
494
494
|
onPointerdown: ge,
|
|
495
|
-
onPointerup:
|
|
495
|
+
onPointerup: ve,
|
|
496
496
|
onPointermove: je
|
|
497
497
|
}, [B.value && !A.toast.component && h.value !== "loading" ? (v(), g("button", {
|
|
498
498
|
key: 0,
|
|
@@ -504,7 +504,7 @@ var Cs = /* @__PURE__ */ te({
|
|
|
504
504
|
onClick: ee
|
|
505
505
|
}, [A.icons?.close ? (v(), j(lt(A.icons?.close), { key: 0 })) : me(A.$slots, "close-icon", { key: 1 })], 10, Ss)) : O("v-if", !0), A.toast.component ? (v(), j(lt(A.toast.component), Ee({ key: 1 }, A.toast.componentProps, {
|
|
506
506
|
onCloseToast: ee,
|
|
507
|
-
isPaused: A.$props.expanded || A.$props.interacting || a(
|
|
507
|
+
isPaused: A.$props.expanded || A.$props.interacting || a(P)
|
|
508
508
|
}), null, 16, ["isPaused"])) : (v(), g(re, { key: 2 }, [
|
|
509
509
|
h.value !== "default" || A.toast.icon || A.toast.promise ? (v(), g("div", {
|
|
510
510
|
key: 0,
|
|
@@ -517,11 +517,11 @@ var Cs = /* @__PURE__ */ te({
|
|
|
517
517
|
}, [i("div", {
|
|
518
518
|
"data-title": "",
|
|
519
519
|
class: X(a(Ze)(A.classes?.title, A.toast.classes?.title))
|
|
520
|
-
}, [E.value ? (v(), j(lt(A.toast.title), qe(Ee({ key: 0 }, A.toast.componentProps)), null, 16)) : (v(), g(re, { key: 1 }, [de(
|
|
520
|
+
}, [E.value ? (v(), j(lt(A.toast.title), qe(Ee({ key: 0 }, A.toast.componentProps)), null, 16)) : (v(), g(re, { key: 1 }, [de(x(A.toast.title), 1)], 64))], 2), A.toast.description ? (v(), g("div", {
|
|
521
521
|
key: 0,
|
|
522
522
|
"data-description": "",
|
|
523
523
|
class: X(a(Ze)(A.descriptionClass, C.value, A.classes?.description, A.toast.classes?.description))
|
|
524
|
-
}, [$.value ? (v(), j(lt(A.toast.description), qe(Ee({ key: 0 }, A.toast.componentProps)), null, 16)) : (v(), g(re, { key: 1 }, [de(
|
|
524
|
+
}, [$.value ? (v(), j(lt(A.toast.description), qe(Ee({ key: 0 }, A.toast.componentProps)), null, 16)) : (v(), g(re, { key: 1 }, [de(x(A.toast.description), 1)], 64))], 2)) : O("v-if", !0)], 2),
|
|
525
525
|
A.toast.cancel ? (v(), g("button", {
|
|
526
526
|
key: 1,
|
|
527
527
|
style: Me(A.toast.cancelButtonStyle || A.cancelButtonStyle),
|
|
@@ -531,7 +531,7 @@ var Cs = /* @__PURE__ */ te({
|
|
|
531
531
|
onClick: ye[0] || (ye[0] = (ce) => {
|
|
532
532
|
a(Dt)(A.toast.cancel) && b.value && (A.toast.cancel.onClick?.(ce), W());
|
|
533
533
|
})
|
|
534
|
-
},
|
|
534
|
+
}, x(a(Dt)(A.toast.cancel) ? A.toast.cancel?.label : A.toast.cancel), 7)) : O("v-if", !0),
|
|
535
535
|
A.toast.action ? (v(), g("button", {
|
|
536
536
|
key: 2,
|
|
537
537
|
style: Me(A.toast.actionButtonStyle || A.actionButtonStyle),
|
|
@@ -541,7 +541,7 @@ var Cs = /* @__PURE__ */ te({
|
|
|
541
541
|
onClick: ye[1] || (ye[1] = (ce) => {
|
|
542
542
|
a(Dt)(A.toast.action) && (A.toast.action.onClick?.(ce), !ce.defaultPrevented && W());
|
|
543
543
|
})
|
|
544
|
-
},
|
|
544
|
+
}, x(a(Dt)(A.toast.action) ? A.toast.action?.label : A.toast.action), 7)) : O("v-if", !0)
|
|
545
545
|
], 64))], 46, $s));
|
|
546
546
|
}
|
|
547
547
|
}), Ds = Cs, $t = (n, e) => {
|
|
@@ -549,7 +549,7 @@ var Cs = /* @__PURE__ */ te({
|
|
|
549
549
|
for (const [o, s] of e) t[o] = s;
|
|
550
550
|
return t;
|
|
551
551
|
};
|
|
552
|
-
const Es = {},
|
|
552
|
+
const Es = {}, Fs = {
|
|
553
553
|
xmlns: "http://www.w3.org/2000/svg",
|
|
554
554
|
width: "12",
|
|
555
555
|
height: "12",
|
|
@@ -560,8 +560,8 @@ const Es = {}, Ps = {
|
|
|
560
560
|
"stroke-linecap": "round",
|
|
561
561
|
"stroke-linejoin": "round"
|
|
562
562
|
};
|
|
563
|
-
function
|
|
564
|
-
return v(), g("svg",
|
|
563
|
+
function Ps(n, e) {
|
|
564
|
+
return v(), g("svg", Fs, e[0] || (e[0] = [i("line", {
|
|
565
565
|
x1: "18",
|
|
566
566
|
y1: "6",
|
|
567
567
|
x2: "6",
|
|
@@ -573,7 +573,7 @@ function Fs(n, e) {
|
|
|
573
573
|
y2: "18"
|
|
574
574
|
}, null, -1)]));
|
|
575
575
|
}
|
|
576
|
-
var Ts = /* @__PURE__ */ $t(Es, [["render",
|
|
576
|
+
var Ts = /* @__PURE__ */ $t(Es, [["render", Ps]]);
|
|
577
577
|
const As = ["data-visible"], Ms = { class: "sonner-spinner" };
|
|
578
578
|
var Is = /* @__PURE__ */ te({
|
|
579
579
|
__name: "Loader",
|
|
@@ -702,40 +702,40 @@ var ni = /* @__PURE__ */ te({
|
|
|
702
702
|
containerAriaLabel: { default: "Notifications" }
|
|
703
703
|
},
|
|
704
704
|
setup(n) {
|
|
705
|
-
const e = n, t = Wo(), o = T([]), s = H(() => e.id ? o.value.filter((
|
|
706
|
-
function l(
|
|
707
|
-
return s.value.filter((Y) => !Y.position && K === 0 || Y.position ===
|
|
705
|
+
const e = n, t = Wo(), o = T([]), s = H(() => e.id ? o.value.filter((F) => F.toasterId === e.id) : o.value.filter((F) => !F.toasterId));
|
|
706
|
+
function l(F, K) {
|
|
707
|
+
return s.value.filter((Y) => !Y.position && K === 0 || Y.position === F);
|
|
708
708
|
}
|
|
709
709
|
const c = H(() => {
|
|
710
|
-
const
|
|
711
|
-
return
|
|
710
|
+
const F = s.value.filter((K) => K.position).map((K) => K.position);
|
|
711
|
+
return F.length > 0 ? Array.from(new Set([e.position].concat(F))) : [e.position];
|
|
712
712
|
}), r = H(() => {
|
|
713
|
-
const
|
|
713
|
+
const F = {};
|
|
714
714
|
return c.value.forEach((K) => {
|
|
715
|
-
|
|
716
|
-
}),
|
|
715
|
+
F[K] = o.value.filter((Y) => Y.position === K);
|
|
716
|
+
}), F;
|
|
717
717
|
}), d = T([]), u = T({}), p = T(!1);
|
|
718
718
|
Qe(() => {
|
|
719
|
-
c.value.forEach((
|
|
720
|
-
|
|
719
|
+
c.value.forEach((F) => {
|
|
720
|
+
F in u.value || (u.value[F] = !1);
|
|
721
721
|
});
|
|
722
722
|
});
|
|
723
723
|
const m = T(e.theme !== "system" ? e.theme : typeof window < "u" && window.matchMedia && window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light"), f = T(null), _ = T(null), S = T(!1), D = e.hotkey.join("+").replace(/Key/g, "").replace(/Digit/g, "");
|
|
724
|
-
function w(
|
|
725
|
-
o.value.find((K) => K.id ===
|
|
726
|
-
o.value.find((K) => K.id ===
|
|
724
|
+
function w(F) {
|
|
725
|
+
o.value.find((K) => K.id === F.id)?.delete || Te.dismiss(F.id), o.value = o.value.filter(({ id: K }) => K !== F.id), setTimeout(() => {
|
|
726
|
+
o.value.find((K) => K.id === F.id) || (d.value = d.value.filter((K) => K.toastId !== F.id));
|
|
727
727
|
}, io + 50);
|
|
728
728
|
}
|
|
729
|
-
function y(
|
|
730
|
-
S.value && !
|
|
729
|
+
function y(F) {
|
|
730
|
+
S.value && !F.currentTarget?.contains?.(F.relatedTarget) && (S.value = !1, _.value && (_.value.focus({ preventScroll: !0 }), _.value = null));
|
|
731
731
|
}
|
|
732
|
-
function h(
|
|
733
|
-
|
|
732
|
+
function h(F) {
|
|
733
|
+
F.target instanceof HTMLElement && F.target.dataset.dismissible === "false" || S.value || (S.value = !0, _.value = F.relatedTarget);
|
|
734
734
|
}
|
|
735
|
-
function b(
|
|
736
|
-
|
|
735
|
+
function b(F) {
|
|
736
|
+
F.target && F.target instanceof HTMLElement && F.target.dataset.dismissible === "false" || (p.value = !0);
|
|
737
737
|
}
|
|
738
|
-
Qe((
|
|
738
|
+
Qe((F) => {
|
|
739
739
|
const K = Te.subscribe((Y) => {
|
|
740
740
|
if (Y.dismiss) {
|
|
741
741
|
requestAnimationFrame(() => {
|
|
@@ -758,8 +758,8 @@ var ni = /* @__PURE__ */ te({
|
|
|
758
758
|
] : o.value = [Y, ...o.value];
|
|
759
759
|
});
|
|
760
760
|
});
|
|
761
|
-
|
|
762
|
-
}), Qe((
|
|
761
|
+
F(K);
|
|
762
|
+
}), Qe((F) => {
|
|
763
763
|
if (typeof window > "u") return;
|
|
764
764
|
if (e.theme !== "system") {
|
|
765
765
|
m.value = e.theme;
|
|
@@ -777,7 +777,7 @@ var ni = /* @__PURE__ */ te({
|
|
|
777
777
|
} catch {
|
|
778
778
|
K.addListener(z);
|
|
779
779
|
}
|
|
780
|
-
|
|
780
|
+
F(() => {
|
|
781
781
|
try {
|
|
782
782
|
K.removeEventListener("change", z);
|
|
783
783
|
} catch {
|
|
@@ -787,10 +787,10 @@ var ni = /* @__PURE__ */ te({
|
|
|
787
787
|
}), Qe(() => {
|
|
788
788
|
f.value && _.value && (_.value.focus({ preventScroll: !0 }), _.value = null, S.value = !1);
|
|
789
789
|
}), Qe(() => {
|
|
790
|
-
o.value.length <= 1 && Object.keys(u.value).forEach((
|
|
791
|
-
u.value[
|
|
790
|
+
o.value.length <= 1 && Object.keys(u.value).forEach((F) => {
|
|
791
|
+
u.value[F] = !1;
|
|
792
792
|
});
|
|
793
|
-
}), Qe((
|
|
793
|
+
}), Qe((F) => {
|
|
794
794
|
function K(Y) {
|
|
795
795
|
const z = e.hotkey.every((Q) => Y[Q] || Y.code === Q), Z = Array.isArray(f.value) ? f.value[0] : f.value;
|
|
796
796
|
z && (c.value.forEach((Q) => {
|
|
@@ -801,41 +801,41 @@ var ni = /* @__PURE__ */ te({
|
|
|
801
801
|
u.value[Q] = !1;
|
|
802
802
|
});
|
|
803
803
|
}
|
|
804
|
-
ei && (document.addEventListener("keydown", K),
|
|
804
|
+
ei && (document.addEventListener("keydown", K), F(() => {
|
|
805
805
|
document.removeEventListener("keydown", K);
|
|
806
806
|
}));
|
|
807
807
|
});
|
|
808
|
-
function
|
|
809
|
-
const K =
|
|
808
|
+
function k(F) {
|
|
809
|
+
const K = F.currentTarget, Y = K.getAttribute("data-y-position") + "-" + K.getAttribute("data-x-position");
|
|
810
810
|
u.value[Y] = !0;
|
|
811
811
|
}
|
|
812
|
-
function C(
|
|
812
|
+
function C(F) {
|
|
813
813
|
if (!p.value) {
|
|
814
|
-
const K =
|
|
814
|
+
const K = F.currentTarget, Y = K.getAttribute("data-y-position") + "-" + K.getAttribute("data-x-position");
|
|
815
815
|
u.value[Y] = !1;
|
|
816
816
|
}
|
|
817
817
|
}
|
|
818
818
|
function V() {
|
|
819
|
-
Object.keys(u.value).forEach((
|
|
820
|
-
u.value[
|
|
819
|
+
Object.keys(u.value).forEach((F) => {
|
|
820
|
+
u.value[F] = !1;
|
|
821
821
|
});
|
|
822
822
|
}
|
|
823
823
|
function R() {
|
|
824
824
|
p.value = !1;
|
|
825
825
|
}
|
|
826
|
-
function q(
|
|
827
|
-
d.value =
|
|
826
|
+
function q(F) {
|
|
827
|
+
d.value = F;
|
|
828
828
|
}
|
|
829
|
-
function B(
|
|
830
|
-
const K = d.value.findIndex((Y) => Y.toastId ===
|
|
831
|
-
if (K !== -1) d.value[K] =
|
|
829
|
+
function B(F) {
|
|
830
|
+
const K = d.value.findIndex((Y) => Y.toastId === F.toastId);
|
|
831
|
+
if (K !== -1) d.value[K] = F;
|
|
832
832
|
else {
|
|
833
|
-
const Y = d.value.findIndex((z) => z.position ===
|
|
834
|
-
Y !== -1 ? d.value.splice(Y, 0,
|
|
833
|
+
const Y = d.value.findIndex((z) => z.position === F.position);
|
|
834
|
+
Y !== -1 ? d.value.splice(Y, 0, F) : d.value.unshift(F);
|
|
835
835
|
}
|
|
836
836
|
}
|
|
837
|
-
return (
|
|
838
|
-
"aria-label": `${
|
|
837
|
+
return (F, K) => (v(), g(re, null, [O(" Remove item from normal navigation flow, only available via hotkey "), i("section", {
|
|
838
|
+
"aria-label": `${F.containerAriaLabel} ${a(D)}`,
|
|
839
839
|
tabIndex: -1,
|
|
840
840
|
"aria-live": "polite",
|
|
841
841
|
"aria-relevant": "additions text",
|
|
@@ -848,25 +848,25 @@ var ni = /* @__PURE__ */ te({
|
|
|
848
848
|
"data-sonner-toaster": "",
|
|
849
849
|
"data-sonner-theme": m.value,
|
|
850
850
|
class: e.class,
|
|
851
|
-
dir:
|
|
851
|
+
dir: F.dir === "auto" ? ti() : F.dir,
|
|
852
852
|
tabIndex: -1,
|
|
853
|
-
"data-theme":
|
|
854
|
-
"data-rich-colors":
|
|
853
|
+
"data-theme": F.theme,
|
|
854
|
+
"data-rich-colors": F.richColors,
|
|
855
855
|
"data-y-position": Y.split("-")[0],
|
|
856
856
|
"data-x-position": Y.split("-")[1],
|
|
857
857
|
style: {
|
|
858
858
|
"--front-toast-height": `${d.value[0]?.height || 0}px`,
|
|
859
859
|
"--width": `${a(gs)}px`,
|
|
860
|
-
"--gap": `${
|
|
861
|
-
...
|
|
860
|
+
"--gap": `${F.gap}px`,
|
|
861
|
+
...F.style,
|
|
862
862
|
...a(t).style,
|
|
863
|
-
...a(xs)(
|
|
863
|
+
...a(xs)(F.offset, F.mobileOffset)
|
|
864
864
|
}
|
|
865
|
-
}, { ref_for: !0 },
|
|
865
|
+
}, { ref_for: !0 }, F.$attrs, {
|
|
866
866
|
onBlur: y,
|
|
867
867
|
onFocus: h,
|
|
868
|
-
onMouseenter:
|
|
869
|
-
onMousemove:
|
|
868
|
+
onMouseenter: k,
|
|
869
|
+
onMousemove: k,
|
|
870
870
|
onMouseleave: C,
|
|
871
871
|
onDragend: V,
|
|
872
872
|
onPointerdown: b,
|
|
@@ -874,40 +874,40 @@ var ni = /* @__PURE__ */ te({
|
|
|
874
874
|
}), [(v(!0), g(re, null, _e(l(Y, z), (Z, le) => (v(), j(Ds, {
|
|
875
875
|
key: Z.id,
|
|
876
876
|
heights: d.value,
|
|
877
|
-
icons:
|
|
877
|
+
icons: F.icons,
|
|
878
878
|
index: le,
|
|
879
879
|
toast: Z,
|
|
880
|
-
defaultRichColors:
|
|
881
|
-
duration:
|
|
882
|
-
class: X(
|
|
883
|
-
descriptionClass:
|
|
884
|
-
invert:
|
|
885
|
-
visibleToasts:
|
|
886
|
-
closeButton:
|
|
880
|
+
defaultRichColors: F.richColors,
|
|
881
|
+
duration: F.toastOptions?.duration ?? F.duration,
|
|
882
|
+
class: X(F.toastOptions?.class ?? ""),
|
|
883
|
+
descriptionClass: F.toastOptions?.descriptionClass,
|
|
884
|
+
invert: F.invert,
|
|
885
|
+
visibleToasts: F.visibleToasts,
|
|
886
|
+
closeButton: F.toastOptions?.closeButton ?? F.closeButton,
|
|
887
887
|
interacting: p.value,
|
|
888
888
|
position: Y,
|
|
889
|
-
closeButtonPosition:
|
|
890
|
-
style: Me(
|
|
891
|
-
unstyled:
|
|
892
|
-
classes:
|
|
893
|
-
cancelButtonStyle:
|
|
894
|
-
actionButtonStyle:
|
|
895
|
-
"close-button-aria-label":
|
|
889
|
+
closeButtonPosition: F.toastOptions?.closeButtonPosition ?? F.closeButtonPosition,
|
|
890
|
+
style: Me(F.toastOptions?.style),
|
|
891
|
+
unstyled: F.toastOptions?.unstyled,
|
|
892
|
+
classes: F.toastOptions?.classes,
|
|
893
|
+
cancelButtonStyle: F.toastOptions?.cancelButtonStyle,
|
|
894
|
+
actionButtonStyle: F.toastOptions?.actionButtonStyle,
|
|
895
|
+
"close-button-aria-label": F.toastOptions?.closeButtonAriaLabel,
|
|
896
896
|
toasts: r.value[Y],
|
|
897
|
-
expandByDefault:
|
|
898
|
-
gap:
|
|
897
|
+
expandByDefault: F.expand,
|
|
898
|
+
gap: F.gap,
|
|
899
899
|
expanded: u.value[Y] || !1,
|
|
900
900
|
swipeDirections: e.swipeDirections,
|
|
901
901
|
"onUpdate:heights": q,
|
|
902
902
|
"onUpdate:height": B,
|
|
903
903
|
onRemoveToast: w
|
|
904
904
|
}, {
|
|
905
|
-
"close-icon": oe(() => [me(
|
|
906
|
-
"loading-icon": oe(() => [me(
|
|
907
|
-
"success-icon": oe(() => [me(
|
|
908
|
-
"error-icon": oe(() => [me(
|
|
909
|
-
"warning-icon": oe(() => [me(
|
|
910
|
-
"info-icon": oe(() => [me(
|
|
905
|
+
"close-icon": oe(() => [me(F.$slots, "close-icon", {}, () => [L(Ts)])]),
|
|
906
|
+
"loading-icon": oe(() => [me(F.$slots, "loading-icon", {}, () => [L(Os, { visible: Z.type === "loading" }, null, 8, ["visible"])])]),
|
|
907
|
+
"success-icon": oe(() => [me(F.$slots, "success-icon", {}, () => [L(Vs)])]),
|
|
908
|
+
"error-icon": oe(() => [me(F.$slots, "error-icon", {}, () => [L(Xs)])]),
|
|
909
|
+
"warning-icon": oe(() => [me(F.$slots, "warning-icon", {}, () => [L(Ws)])]),
|
|
910
|
+
"info-icon": oe(() => [me(F.$slots, "info-icon", {}, () => [L(Us)])]),
|
|
911
911
|
_: 2
|
|
912
912
|
}, 1032, [
|
|
913
913
|
"heights",
|
|
@@ -938,7 +938,7 @@ var ni = /* @__PURE__ */ te({
|
|
|
938
938
|
]))), 128))], 16, Zs))), 128))], 8, Js)], 2112));
|
|
939
939
|
}
|
|
940
940
|
}), oi = ni;
|
|
941
|
-
function
|
|
941
|
+
function Be(n, e = "An error occurred") {
|
|
942
942
|
if (!n)
|
|
943
943
|
return e;
|
|
944
944
|
if (typeof n == "string")
|
|
@@ -961,13 +961,13 @@ async function si(n, e) {
|
|
|
961
961
|
function ii(n, e, t, o) {
|
|
962
962
|
const { getStore: s, setStore: l } = n, c = T({}), r = T(s("locale", e)), d = (m, f = e) => {
|
|
963
963
|
si(m, o).then((_) => {
|
|
964
|
-
c.value = _, l("locale", m), r.value = m, l("translations", _), Object.values(o).length > 1 && (
|
|
964
|
+
c.value = _, l("locale", m), r.value = m, l("translations", _), Object.values(o).length > 1 && (fe.success("The language is set to " + m), t.emit("vf-language-saved"));
|
|
965
965
|
}).catch((_) => {
|
|
966
966
|
if (f)
|
|
967
|
-
|
|
967
|
+
fe.error("The selected locale is not yet supported!"), d(f, null);
|
|
968
968
|
else {
|
|
969
|
-
const S =
|
|
970
|
-
|
|
969
|
+
const S = Be(_, "Locale cannot be loaded!");
|
|
970
|
+
fe.error(S);
|
|
971
971
|
}
|
|
972
972
|
});
|
|
973
973
|
};
|
|
@@ -1018,7 +1018,7 @@ function Mn() {
|
|
|
1018
1018
|
function ro(n) {
|
|
1019
1019
|
return n ? n === "simple" || n === "advanced" ? { ...ao[n] } : { ...Mn(), ...n } : Mn();
|
|
1020
1020
|
}
|
|
1021
|
-
const ri = "4.0.
|
|
1021
|
+
const ri = "4.0.9";
|
|
1022
1022
|
function hn(n, e, t, o, s) {
|
|
1023
1023
|
return e = Math, t = e.log, o = 1024, s = t(n) / t(o) | 0, (n / e.pow(o, s)).toFixed(0) + " " + (s ? "KMGTPEZY"[--s] + "iB" : "B");
|
|
1024
1024
|
}
|
|
@@ -1042,7 +1042,7 @@ function ci() {
|
|
|
1042
1042
|
o.value = r;
|
|
1043
1043
|
}, editMode: o };
|
|
1044
1044
|
}
|
|
1045
|
-
const
|
|
1045
|
+
const Pt = {
|
|
1046
1046
|
view: "grid",
|
|
1047
1047
|
theme: "silver",
|
|
1048
1048
|
fullScreen: !1,
|
|
@@ -1072,14 +1072,14 @@ function In(n) {
|
|
|
1072
1072
|
for (const s in o)
|
|
1073
1073
|
if (co(s))
|
|
1074
1074
|
t[s] = o[s];
|
|
1075
|
-
else if (s in
|
|
1075
|
+
else if (s in Pt) {
|
|
1076
1076
|
const l = s, c = o[s];
|
|
1077
1077
|
e[l] = c;
|
|
1078
1078
|
}
|
|
1079
1079
|
return { persistenceConfig: e, nonPersistenceConfig: t };
|
|
1080
1080
|
}
|
|
1081
1081
|
function On(n, e) {
|
|
1082
|
-
const t = { ...
|
|
1082
|
+
const t = { ...Pt, ...n, ...e };
|
|
1083
1083
|
return t.theme = ui(t.theme), t;
|
|
1084
1084
|
}
|
|
1085
1085
|
function Bn(n, e) {
|
|
@@ -1088,7 +1088,7 @@ function Bn(n, e) {
|
|
|
1088
1088
|
const fi = (n, e = {}) => {
|
|
1089
1089
|
const t = `vuefinder_config_${n}`, { persistenceConfig: o, nonPersistenceConfig: s } = In(e), l = On(
|
|
1090
1090
|
o,
|
|
1091
|
-
|
|
1091
|
+
Pt
|
|
1092
1092
|
), c = Bn(
|
|
1093
1093
|
s,
|
|
1094
1094
|
Tt
|
|
@@ -1099,15 +1099,15 @@ const fi = (n, e = {}) => {
|
|
|
1099
1099
|
encode: JSON.stringify,
|
|
1100
1100
|
decode: JSON.parse
|
|
1101
1101
|
}
|
|
1102
|
-
), d =
|
|
1102
|
+
), d = Pe(c), u = et(
|
|
1103
1103
|
[r, d],
|
|
1104
1104
|
(w, y) => ({
|
|
1105
1105
|
...w,
|
|
1106
1106
|
...y
|
|
1107
1107
|
})
|
|
1108
1108
|
), p = (w = {}) => {
|
|
1109
|
-
const y = r.get(), h = d.get(), { persistenceConfig: b, nonPersistenceConfig:
|
|
1110
|
-
|
|
1109
|
+
const y = r.get(), h = d.get(), { persistenceConfig: b, nonPersistenceConfig: k } = In(w), C = On(b, y), V = Bn(
|
|
1110
|
+
k,
|
|
1111
1111
|
h
|
|
1112
1112
|
);
|
|
1113
1113
|
r.set(C), d.set(V);
|
|
@@ -1134,7 +1134,7 @@ const fi = (n, e = {}) => {
|
|
|
1134
1134
|
},
|
|
1135
1135
|
all: f,
|
|
1136
1136
|
reset: () => {
|
|
1137
|
-
r.set({ ...
|
|
1137
|
+
r.set({ ...Pt }), d.set({ ...Tt });
|
|
1138
1138
|
}
|
|
1139
1139
|
};
|
|
1140
1140
|
};
|
|
@@ -1145,30 +1145,30 @@ function vi(n, e) {
|
|
|
1145
1145
|
return t === o ? 0 : t < o ? -1 : 1;
|
|
1146
1146
|
}
|
|
1147
1147
|
const pi = () => {
|
|
1148
|
-
const n =
|
|
1148
|
+
const n = Pe(""), e = Pe([]), t = Pe(!1), o = Pe([]), s = Pe({ active: !1, column: "", order: "" }), l = Pe({
|
|
1149
1149
|
kind: "all",
|
|
1150
1150
|
showHidden: !1
|
|
1151
|
-
}), c =
|
|
1151
|
+
}), c = Pe(/* @__PURE__ */ new Set()), r = Pe({
|
|
1152
1152
|
type: "copy",
|
|
1153
1153
|
path: "",
|
|
1154
1154
|
items: /* @__PURE__ */ new Set()
|
|
1155
|
-
}), d =
|
|
1155
|
+
}), d = Pe(null), u = Pe(0), p = Pe(!1), m = Pe([]), f = Pe(-1), _ = et([n], (I) => {
|
|
1156
1156
|
const U = (I ?? "").trim(), G = U.indexOf("://"), ne = G >= 0 ? U.slice(0, G) : "", ke = (G >= 0 ? U.slice(G + 3) : U).split("/").filter(Boolean);
|
|
1157
|
-
let
|
|
1158
|
-
const at = ke.map((
|
|
1159
|
-
basename:
|
|
1160
|
-
name:
|
|
1161
|
-
path: ne ? `${ne}://${
|
|
1157
|
+
let Le = "";
|
|
1158
|
+
const at = ke.map((Ve) => (Le = Le ? `${Le}/${Ve}` : Ve, {
|
|
1159
|
+
basename: Ve,
|
|
1160
|
+
name: Ve,
|
|
1161
|
+
path: ne ? `${ne}://${Le}` : Le,
|
|
1162
1162
|
type: "dir"
|
|
1163
1163
|
}));
|
|
1164
1164
|
return { storage: ne, breadcrumb: at, path: U };
|
|
1165
1165
|
}), S = et([o, s, l], (I, U, G) => {
|
|
1166
1166
|
let ne = I;
|
|
1167
|
-
G.kind === "files" ? ne = ne.filter((
|
|
1168
|
-
const { active: xe, column: ke, order:
|
|
1167
|
+
G.kind === "files" ? ne = ne.filter((Ve) => Ve.type === "file") : G.kind === "folders" && (ne = ne.filter((Ve) => Ve.type === "dir")), G.showHidden || (ne = ne.filter((Ve) => !Ve.basename.startsWith(".")));
|
|
1168
|
+
const { active: xe, column: ke, order: Le } = U;
|
|
1169
1169
|
if (!xe || !ke) return ne;
|
|
1170
|
-
const at =
|
|
1171
|
-
return ne.slice().sort((
|
|
1170
|
+
const at = Le === "asc" ? 1 : -1;
|
|
1171
|
+
return ne.slice().sort((Ve, qo) => vi(Ve[ke], qo[ke]) * at);
|
|
1172
1172
|
}), D = et([o, c], (I, U) => U.size === 0 ? [] : I.filter((G) => U.has(G.path))), w = (I, U) => {
|
|
1173
1173
|
const G = n.get();
|
|
1174
1174
|
if ((U ?? !0) && G !== I) {
|
|
@@ -1182,7 +1182,7 @@ const pi = () => {
|
|
|
1182
1182
|
e.set(I ?? []);
|
|
1183
1183
|
}, b = (I, U) => {
|
|
1184
1184
|
s.set({ active: !0, column: I, order: U });
|
|
1185
|
-
},
|
|
1185
|
+
}, k = (I) => {
|
|
1186
1186
|
const U = s.get();
|
|
1187
1187
|
U.active && U.column === I ? s.set({
|
|
1188
1188
|
active: U.order === "asc",
|
|
@@ -1205,7 +1205,7 @@ const pi = () => {
|
|
|
1205
1205
|
}, B = (I) => {
|
|
1206
1206
|
const U = new Set(c.get());
|
|
1207
1207
|
U.delete(I), c.set(U), u.set(U.size);
|
|
1208
|
-
},
|
|
1208
|
+
}, F = (I) => c.get().has(I), K = (I, U = "multiple") => {
|
|
1209
1209
|
const G = new Set(c.get());
|
|
1210
1210
|
G.has(I) ? G.delete(I) : (U === "single" && G.clear(), G.add(I)), c.set(G), u.set(G.size);
|
|
1211
1211
|
}, Y = (I = "multiple", U) => {
|
|
@@ -1218,7 +1218,7 @@ const pi = () => {
|
|
|
1218
1218
|
} else if (U?.selectionFilterType || U?.selectionFilterMimeIncludes && U.selectionFilterMimeIncludes.length > 0) {
|
|
1219
1219
|
const G = o.get().filter((ne) => {
|
|
1220
1220
|
const xe = U.selectionFilterType, ke = U.selectionFilterMimeIncludes;
|
|
1221
|
-
return xe === "files" && ne.type === "dir" || xe === "dirs" && ne.type === "file" ? !1 : ke && Array.isArray(ke) && ke.length > 0 && ne.type !== "dir" ? ne.mime_type ? ke.some((
|
|
1221
|
+
return xe === "files" && ne.type === "dir" || xe === "dirs" && ne.type === "file" ? !1 : ke && Array.isArray(ke) && ke.length > 0 && ne.type !== "dir" ? ne.mime_type ? ke.some((Le) => ne.mime_type?.startsWith(Le)) : !1 : !0;
|
|
1222
1222
|
}).map((ne) => ne.path);
|
|
1223
1223
|
c.set(new Set(G)), u.set(G.length);
|
|
1224
1224
|
} else {
|
|
@@ -1241,15 +1241,15 @@ const pi = () => {
|
|
|
1241
1241
|
path: _.get().path,
|
|
1242
1242
|
items: new Set(G)
|
|
1243
1243
|
});
|
|
1244
|
-
},
|
|
1245
|
-
const U =
|
|
1244
|
+
}, P = (I) => et([r], (U) => U.type === "cut" && Array.from(U.items).some((G) => G.path === I)), M = (I) => et([r], (U) => U.type === "copy" && Array.from(U.items).some((G) => G.path === I)), W = (I) => {
|
|
1245
|
+
const U = P(I);
|
|
1246
1246
|
return J(U).value ?? !1;
|
|
1247
1247
|
}, ee = (I) => {
|
|
1248
1248
|
const U = M(I);
|
|
1249
1249
|
return J(U).value ?? !1;
|
|
1250
1250
|
}, ge = () => {
|
|
1251
1251
|
r.set({ type: "copy", path: "", items: /* @__PURE__ */ new Set() });
|
|
1252
|
-
},
|
|
1252
|
+
}, ve = () => r.get(), je = (I) => {
|
|
1253
1253
|
d.set(I);
|
|
1254
1254
|
}, Ke = () => d.get(), A = () => {
|
|
1255
1255
|
d.set(null);
|
|
@@ -1290,7 +1290,7 @@ const pi = () => {
|
|
|
1290
1290
|
setFiles: y,
|
|
1291
1291
|
setStorages: h,
|
|
1292
1292
|
setSort: b,
|
|
1293
|
-
toggleSort:
|
|
1293
|
+
toggleSort: k,
|
|
1294
1294
|
clearSort: C,
|
|
1295
1295
|
setFilter: V,
|
|
1296
1296
|
clearFilter: R,
|
|
@@ -1298,19 +1298,19 @@ const pi = () => {
|
|
|
1298
1298
|
deselect: B,
|
|
1299
1299
|
toggleSelect: K,
|
|
1300
1300
|
selectAll: Y,
|
|
1301
|
-
isSelected:
|
|
1301
|
+
isSelected: F,
|
|
1302
1302
|
clearSelection: z,
|
|
1303
1303
|
setSelection: Z,
|
|
1304
1304
|
setSelectedCount: le,
|
|
1305
1305
|
setLoading: Q,
|
|
1306
1306
|
isLoading: E,
|
|
1307
1307
|
setClipboard: $,
|
|
1308
|
-
createIsCut:
|
|
1308
|
+
createIsCut: P,
|
|
1309
1309
|
createIsCopied: M,
|
|
1310
1310
|
isCut: W,
|
|
1311
1311
|
isCopied: ee,
|
|
1312
1312
|
clearClipboard: ge,
|
|
1313
|
-
getClipboard:
|
|
1313
|
+
getClipboard: ve,
|
|
1314
1314
|
setDraggedItem: je,
|
|
1315
1315
|
getDraggedItem: Ke,
|
|
1316
1316
|
clearDraggedItem: A,
|
|
@@ -2147,10 +2147,10 @@ class Uh extends mn {
|
|
|
2147
2147
|
f.mime_type
|
|
2148
2148
|
);
|
|
2149
2149
|
s.add(y.path), await this.upsert(y);
|
|
2150
|
-
const b = (await this.getDB()).transaction(["content"], "readwrite"),
|
|
2150
|
+
const b = (await this.getDB()).transaction(["content"], "readwrite"), k = b.objectStore("content"), C = k.get(f.path);
|
|
2151
2151
|
C.onsuccess = () => {
|
|
2152
2152
|
const V = C.result;
|
|
2153
|
-
V &&
|
|
2153
|
+
V && k.put({ path: y.path, content: V.content });
|
|
2154
2154
|
}, await new Promise((V) => {
|
|
2155
2155
|
b.oncomplete = () => V(void 0);
|
|
2156
2156
|
});
|
|
@@ -2191,10 +2191,10 @@ class Uh extends mn {
|
|
|
2191
2191
|
await this.upsert(D);
|
|
2192
2192
|
const y = (await this.getDB()).transaction(["content"], "readwrite"), h = y.objectStore("content"), b = h.get(f.path);
|
|
2193
2193
|
b.onsuccess = () => {
|
|
2194
|
-
const
|
|
2195
|
-
|
|
2196
|
-
}, await new Promise((
|
|
2197
|
-
y.oncomplete = () =>
|
|
2194
|
+
const k = b.result;
|
|
2195
|
+
k && (h.delete(f.path), h.put({ path: _, content: k.content }));
|
|
2196
|
+
}, await new Promise((k) => {
|
|
2197
|
+
y.oncomplete = () => k(void 0);
|
|
2198
2198
|
}), f.path !== _ && await this.removeExact(f.path);
|
|
2199
2199
|
}
|
|
2200
2200
|
} else {
|
|
@@ -2602,7 +2602,7 @@ const _i = (n, e) => {
|
|
|
2602
2602
|
}, ki = {
|
|
2603
2603
|
key: 0,
|
|
2604
2604
|
class: "vuefinder__modal-drag-overlay"
|
|
2605
|
-
}, xi = { class: "vuefinder__modal-drag-message" },
|
|
2605
|
+
}, xi = { class: "vuefinder__modal-drag-message" }, Re = /* @__PURE__ */ te({
|
|
2606
2606
|
__name: "ModalLayout",
|
|
2607
2607
|
props: {
|
|
2608
2608
|
showDragOverlay: { type: Boolean },
|
|
@@ -2644,7 +2644,7 @@ const _i = (n, e) => {
|
|
|
2644
2644
|
i("div", {
|
|
2645
2645
|
class: "vuefinder__modal-layout__wrapper",
|
|
2646
2646
|
onContextmenu: s,
|
|
2647
|
-
onMousedown: c[0] || (c[0] =
|
|
2647
|
+
onMousedown: c[0] || (c[0] = pe((r) => a(t).modal.close(), ["self"]))
|
|
2648
2648
|
}, [
|
|
2649
2649
|
i("div", {
|
|
2650
2650
|
ref_key: "modalBody",
|
|
@@ -2661,7 +2661,7 @@ const _i = (n, e) => {
|
|
|
2661
2661
|
], 32)
|
|
2662
2662
|
]),
|
|
2663
2663
|
o.showDragOverlay ? (v(), g("div", ki, [
|
|
2664
|
-
i("div", xi,
|
|
2664
|
+
i("div", xi, x(o.dragOverlayText || "Drag and drop the files/folders to here."), 1)
|
|
2665
2665
|
])) : O("", !0)
|
|
2666
2666
|
], 40, gi));
|
|
2667
2667
|
}
|
|
@@ -2679,7 +2679,7 @@ const _i = (n, e) => {
|
|
|
2679
2679
|
i("div", Si, [
|
|
2680
2680
|
(v(), j(lt(n.icon), { class: "vuefinder__modal-header__icon" }))
|
|
2681
2681
|
]),
|
|
2682
|
-
i("div", Ci,
|
|
2682
|
+
i("div", Ci, x(n.title), 1)
|
|
2683
2683
|
]));
|
|
2684
2684
|
}
|
|
2685
2685
|
}), Di = {
|
|
@@ -2703,7 +2703,7 @@ function Ei(n, e) {
|
|
|
2703
2703
|
}, null, -1)
|
|
2704
2704
|
])]);
|
|
2705
2705
|
}
|
|
2706
|
-
const fo = { render: Ei },
|
|
2706
|
+
const fo = { render: Ei }, Fi = { class: "vuefinder__about-modal__content" }, Pi = { class: "vuefinder__about-modal__main" }, Ti = { class: "vuefinder__about-modal__tab-content" }, Ai = { class: "vuefinder__about-modal__lead" }, Mi = { class: "vuefinder__about-modal__description" }, Ii = { class: "vuefinder__about-modal__links" }, Oi = {
|
|
2707
2707
|
href: "https://vuefinder.ozdemir.be",
|
|
2708
2708
|
class: "vuefinder__about-modal__link-btn",
|
|
2709
2709
|
target: "_blank",
|
|
@@ -2712,26 +2712,26 @@ const fo = { render: Ei }, Pi = { class: "vuefinder__about-modal__content" }, Fi
|
|
|
2712
2712
|
__name: "ModalAbout",
|
|
2713
2713
|
setup(n) {
|
|
2714
2714
|
const e = se(), { t } = e.i18n;
|
|
2715
|
-
return (o, s) => (v(), j(
|
|
2715
|
+
return (o, s) => (v(), j(Re, null, {
|
|
2716
2716
|
buttons: oe(() => [
|
|
2717
2717
|
i("button", {
|
|
2718
2718
|
type: "button",
|
|
2719
2719
|
class: "vf-btn vf-btn-secondary",
|
|
2720
2720
|
onClick: s[0] || (s[0] = (l) => a(e).modal.close())
|
|
2721
|
-
},
|
|
2721
|
+
}, x(a(t)("Close")), 1)
|
|
2722
2722
|
]),
|
|
2723
2723
|
default: oe(() => [
|
|
2724
|
-
i("div",
|
|
2724
|
+
i("div", Fi, [
|
|
2725
2725
|
L(ze, {
|
|
2726
2726
|
icon: a(fo),
|
|
2727
2727
|
title: "Vuefinder " + a(e).version
|
|
2728
2728
|
}, null, 8, ["icon", "title"]),
|
|
2729
|
-
i("div",
|
|
2729
|
+
i("div", Pi, [
|
|
2730
2730
|
i("div", Ti, [
|
|
2731
|
-
i("div", Ai,
|
|
2732
|
-
i("div", Mi,
|
|
2731
|
+
i("div", Ai, x(a(t)("A modern, customizable file manager component built for Vue.")), 1),
|
|
2732
|
+
i("div", Mi, x(a(t)("If you like it, please follow and ⭐ star on GitHub.")), 1),
|
|
2733
2733
|
i("div", Ii, [
|
|
2734
|
-
i("a", Oi,
|
|
2734
|
+
i("a", Oi, x(a(t)("Project Home")), 1),
|
|
2735
2735
|
s[1] || (s[1] = i("a", {
|
|
2736
2736
|
href: "https://github.com/n1crack/vuefinder",
|
|
2737
2737
|
class: "vuefinder__about-modal__link-btn",
|
|
@@ -2741,11 +2741,11 @@ const fo = { render: Ei }, Pi = { class: "vuefinder__about-modal__content" }, Fi
|
|
|
2741
2741
|
]),
|
|
2742
2742
|
i("div", Bi, [
|
|
2743
2743
|
i("div", Ri, [
|
|
2744
|
-
i("span", Li,
|
|
2745
|
-
i("span", Vi,
|
|
2744
|
+
i("span", Li, x(a(t)("Version")), 1),
|
|
2745
|
+
i("span", Vi, x(a(e).version), 1)
|
|
2746
2746
|
]),
|
|
2747
2747
|
i("div", zi, [
|
|
2748
|
-
i("span", Ni,
|
|
2748
|
+
i("span", Ni, x(a(t)("License")), 1),
|
|
2749
2749
|
s[2] || (s[2] = i("span", { class: "vuefinder__about-modal__meta-value" }, "MIT", -1))
|
|
2750
2750
|
])
|
|
2751
2751
|
])
|
|
@@ -2794,24 +2794,24 @@ const po = { render: Ui }, ji = { class: "vuefinder__delete-modal__content" }, K
|
|
|
2794
2794
|
type: d
|
|
2795
2795
|
}))
|
|
2796
2796
|
}).then((r) => {
|
|
2797
|
-
|
|
2797
|
+
fe.success(t("Files deleted.")), e.fs.setFiles(r.files), e.modal.close();
|
|
2798
2798
|
}).catch((r) => {
|
|
2799
|
-
|
|
2799
|
+
fe.error(Be(r, t("Failed to delete files")));
|
|
2800
2800
|
});
|
|
2801
2801
|
};
|
|
2802
|
-
return (r, d) => (v(), j(
|
|
2802
|
+
return (r, d) => (v(), j(Re, null, {
|
|
2803
2803
|
buttons: oe(() => [
|
|
2804
2804
|
i("button", {
|
|
2805
2805
|
type: "button",
|
|
2806
2806
|
class: "vf-btn vf-btn-danger",
|
|
2807
2807
|
onClick: c
|
|
2808
|
-
},
|
|
2808
|
+
}, x(a(t)("Yes, Delete!")), 1),
|
|
2809
2809
|
i("button", {
|
|
2810
2810
|
type: "button",
|
|
2811
2811
|
class: "vf-btn vf-btn-secondary",
|
|
2812
2812
|
onClick: d[0] || (d[0] = (u) => a(e).modal.close())
|
|
2813
|
-
},
|
|
2814
|
-
i("div", Xi,
|
|
2813
|
+
}, x(a(t)("Cancel")), 1),
|
|
2814
|
+
i("div", Xi, x(a(t)("This action cannot be undone.")), 1)
|
|
2815
2815
|
]),
|
|
2816
2816
|
default: oe(() => [
|
|
2817
2817
|
i("div", null, [
|
|
@@ -2821,7 +2821,7 @@ const po = { render: Ui }, ji = { class: "vuefinder__delete-modal__content" }, K
|
|
|
2821
2821
|
}, null, 8, ["icon", "title"]),
|
|
2822
2822
|
i("div", ji, [
|
|
2823
2823
|
i("div", Ki, [
|
|
2824
|
-
i("p", qi,
|
|
2824
|
+
i("p", qi, x(a(t)("Are you sure you want to delete these files?")), 1),
|
|
2825
2825
|
i("div", Wi, [
|
|
2826
2826
|
(v(!0), g(re, null, _e(l.value, (u) => (v(), g("p", {
|
|
2827
2827
|
key: u.path,
|
|
@@ -2840,7 +2840,7 @@ const po = { render: Ui }, ji = { class: "vuefinder__delete-modal__content" }, K
|
|
|
2840
2840
|
d: "M7 21h10a2 2 0 002-2V9.414a1 1 0 00-.293-.707l-5.414-5.414A1 1 0 0012.586 3H7a2 2 0 00-2 2v14a2 2 0 002 2z"
|
|
2841
2841
|
}, null, -1)
|
|
2842
2842
|
])])),
|
|
2843
|
-
i("span", Qi,
|
|
2843
|
+
i("span", Qi, x(u.basename), 1)
|
|
2844
2844
|
]))), 128))
|
|
2845
2845
|
])
|
|
2846
2846
|
])
|
|
@@ -2886,23 +2886,23 @@ const ho = { render: Zi }, ea = { class: "vuefinder__rename-modal__content" }, t
|
|
|
2886
2886
|
item: l.value.path,
|
|
2887
2887
|
name: c.value
|
|
2888
2888
|
}).then((d) => {
|
|
2889
|
-
|
|
2889
|
+
fe.success(t("%s is renamed.", c.value)), e.fs.setFiles(d.files), e.modal.close();
|
|
2890
2890
|
}).catch((d) => {
|
|
2891
|
-
|
|
2891
|
+
fe.error(Be(d, t("Failed to rename")));
|
|
2892
2892
|
});
|
|
2893
2893
|
};
|
|
2894
|
-
return (d, u) => (v(), j(
|
|
2894
|
+
return (d, u) => (v(), j(Re, null, {
|
|
2895
2895
|
buttons: oe(() => [
|
|
2896
2896
|
i("button", {
|
|
2897
2897
|
type: "button",
|
|
2898
2898
|
class: "vf-btn vf-btn-primary",
|
|
2899
2899
|
onClick: r
|
|
2900
|
-
},
|
|
2900
|
+
}, x(a(t)("Rename")), 1),
|
|
2901
2901
|
i("button", {
|
|
2902
2902
|
type: "button",
|
|
2903
2903
|
class: "vf-btn vf-btn-secondary",
|
|
2904
2904
|
onClick: u[1] || (u[1] = (p) => a(e).modal.close())
|
|
2905
|
-
},
|
|
2905
|
+
}, x(a(t)("Cancel")), 1)
|
|
2906
2906
|
]),
|
|
2907
2907
|
default: oe(() => [
|
|
2908
2908
|
i("div", null, [
|
|
@@ -2926,7 +2926,7 @@ const ho = { render: Zi }, ea = { class: "vuefinder__rename-modal__content" }, t
|
|
|
2926
2926
|
d: "M7 21h10a2 2 0 002-2V9.414a1 1 0 00-.293-.707l-5.414-5.414A1 1 0 0012.586 3H7a2 2 0 00-2 2v14a2 2 0 002 2z"
|
|
2927
2927
|
}, null, -1)
|
|
2928
2928
|
])])),
|
|
2929
|
-
i("span", ia,
|
|
2929
|
+
i("span", ia, x(l.value.basename), 1)
|
|
2930
2930
|
]),
|
|
2931
2931
|
be(i("input", {
|
|
2932
2932
|
"onUpdate:modelValue": u[0] || (u[0] = (p) => c.value = p),
|
|
@@ -2964,7 +2964,7 @@ const aa = { class: "vuefinder__text-preview" }, ra = { class: "vuefinder__text-
|
|
|
2964
2964
|
const f = await r.adapter.getContent({ path: r.modal.data.item.path });
|
|
2965
2965
|
o.value = f.content, t("success");
|
|
2966
2966
|
} catch (f) {
|
|
2967
|
-
|
|
2967
|
+
Be(f, "Failed to load text content"), t("success");
|
|
2968
2968
|
}
|
|
2969
2969
|
});
|
|
2970
2970
|
const p = () => {
|
|
@@ -2975,9 +2975,9 @@ const aa = { class: "vuefinder__text-preview" }, ra = { class: "vuefinder__text-
|
|
|
2975
2975
|
await r.adapter.save({
|
|
2976
2976
|
path: f,
|
|
2977
2977
|
content: s.value
|
|
2978
|
-
}), o.value = s.value,
|
|
2978
|
+
}), o.value = s.value, fe.success(u("Updated.")), t("success"), c.value = !c.value;
|
|
2979
2979
|
} catch (f) {
|
|
2980
|
-
|
|
2980
|
+
fe.error(Be(f, u("Failed to save file")));
|
|
2981
2981
|
}
|
|
2982
2982
|
};
|
|
2983
2983
|
return (f, _) => (v(), g("div", aa, [
|
|
@@ -2986,18 +2986,18 @@ const aa = { class: "vuefinder__text-preview" }, ra = { class: "vuefinder__text-
|
|
|
2986
2986
|
id: "modal-title",
|
|
2987
2987
|
class: "vuefinder__text-preview__title",
|
|
2988
2988
|
title: a(r).modal.data.item.path
|
|
2989
|
-
},
|
|
2989
|
+
}, x(a(r).modal.data.item.basename), 9, la),
|
|
2990
2990
|
i("div", ca, [
|
|
2991
2991
|
c.value ? (v(), g("button", {
|
|
2992
2992
|
key: 0,
|
|
2993
2993
|
class: "vuefinder__text-preview__save-button",
|
|
2994
2994
|
onClick: m
|
|
2995
|
-
},
|
|
2995
|
+
}, x(a(u)("Save")), 1)) : O("", !0),
|
|
2996
2996
|
a(d)("edit") ? (v(), g("button", {
|
|
2997
2997
|
key: 1,
|
|
2998
2998
|
class: "vuefinder__text-preview__edit-button",
|
|
2999
2999
|
onClick: _[0] || (_[0] = (S) => p())
|
|
3000
|
-
},
|
|
3000
|
+
}, x(c.value ? a(u)("Cancel") : a(u)("Edit")), 1)) : O("", !0)
|
|
3001
3001
|
])
|
|
3002
3002
|
]),
|
|
3003
3003
|
i("div", null, [
|
|
@@ -3013,7 +3013,7 @@ const aa = { class: "vuefinder__text-preview" }, ra = { class: "vuefinder__text-
|
|
|
3013
3013
|
}, null, 512), [
|
|
3014
3014
|
[xt, s.value]
|
|
3015
3015
|
])
|
|
3016
|
-
])) : (v(), g("pre", da,
|
|
3016
|
+
])) : (v(), g("pre", da, x(o.value), 1))
|
|
3017
3017
|
])
|
|
3018
3018
|
]));
|
|
3019
3019
|
}
|
|
@@ -3047,26 +3047,26 @@ function mo(n) {
|
|
|
3047
3047
|
E.preventDefault(), E.stopPropagation(), D.value = !0;
|
|
3048
3048
|
}, b = (E) => {
|
|
3049
3049
|
E.preventDefault(), E.stopPropagation(), D.value = !0;
|
|
3050
|
-
},
|
|
3050
|
+
}, k = (E) => {
|
|
3051
3051
|
E.preventDefault(), E.stopPropagation(), (!E.relatedTarget || E.relatedTarget === document.body) && (D.value = !1);
|
|
3052
3052
|
}, C = (E) => {
|
|
3053
3053
|
E.preventDefault(), E.stopPropagation(), D.value = !1;
|
|
3054
|
-
const $ = /^[/\\](.+)/,
|
|
3055
|
-
|
|
3054
|
+
const $ = /^[/\\](.+)/, P = E.dataTransfer;
|
|
3055
|
+
P && (P.items && P.items.length ? Array.from(P.items).forEach((M) => {
|
|
3056
3056
|
if (M.kind === "file") {
|
|
3057
3057
|
const W = M.webkitGetAsEntry?.();
|
|
3058
3058
|
if (W)
|
|
3059
3059
|
_n((ee, ge) => {
|
|
3060
|
-
const
|
|
3061
|
-
R(ge,
|
|
3060
|
+
const ve = $.exec(ee?.fullPath || "");
|
|
3061
|
+
R(ge, ve ? ve[1] : ge.name);
|
|
3062
3062
|
}, W);
|
|
3063
3063
|
else {
|
|
3064
3064
|
const ee = M.getAsFile?.();
|
|
3065
3065
|
ee && R(ee);
|
|
3066
3066
|
}
|
|
3067
3067
|
}
|
|
3068
|
-
}) :
|
|
3069
|
-
}, V = (E) => f.value.findIndex(($) => $.id === E), R = (E, $) => y.addFile({ name: $ || E.name, type: E.type, data: E, source: "Local" }), q = (E) => E.status === Ce.DONE ? "text-green-600" : E.status === Ce.ERROR || E.status === Ce.CANCELED ? "text-red-600" : "", B = (E) => E.status === Ce.DONE ? "✓" : E.status === Ce.ERROR || E.status === Ce.CANCELED ? "!" : "...",
|
|
3068
|
+
}) : P.files && P.files.length && Array.from(P.files).forEach((M) => R(M)));
|
|
3069
|
+
}, V = (E) => f.value.findIndex(($) => $.id === E), R = (E, $) => y.addFile({ name: $ || E.name, type: E.type, data: E, source: "Local" }), q = (E) => E.status === Ce.DONE ? "text-green-600" : E.status === Ce.ERROR || E.status === Ce.CANCELED ? "text-red-600" : "", B = (E) => E.status === Ce.DONE ? "✓" : E.status === Ce.ERROR || E.status === Ce.CANCELED ? "!" : "...", F = () => p.value?.click(), K = () => e.modal.close(), Y = (E) => {
|
|
3070
3070
|
if (S.value || !f.value.filter(($) => $.status !== Ce.DONE).length) {
|
|
3071
3071
|
S.value || (_.value = t("Please select file to upload first."));
|
|
3072
3072
|
return;
|
|
@@ -3081,8 +3081,8 @@ function mo(n) {
|
|
|
3081
3081
|
}, le = (E) => {
|
|
3082
3082
|
if (!S.value)
|
|
3083
3083
|
if (y.cancelAll(), E) {
|
|
3084
|
-
const $ = f.value.filter((
|
|
3085
|
-
f.value = [], $.forEach((
|
|
3084
|
+
const $ = f.value.filter((P) => P.status !== Ce.DONE);
|
|
3085
|
+
f.value = [], $.forEach((P) => R(P.originalFile, P.name));
|
|
3086
3086
|
} else
|
|
3087
3087
|
f.value = [];
|
|
3088
3088
|
}, Q = (E) => {
|
|
@@ -3098,7 +3098,7 @@ function mo(n) {
|
|
|
3098
3098
|
onBeforeFileAdded: (M, W) => {
|
|
3099
3099
|
if (W[M.id] != null) {
|
|
3100
3100
|
const ge = V(M.id);
|
|
3101
|
-
f.value[ge]?.status === Ce.PENDING && (_.value = y.i18n("noDuplicates", { fileName: M.name })), f.value = f.value.filter((
|
|
3101
|
+
f.value[ge]?.status === Ce.PENDING && (_.value = y.i18n("noDuplicates", { fileName: M.name })), f.value = f.value.filter((ve) => ve.id !== M.id);
|
|
3102
3102
|
}
|
|
3103
3103
|
return f.value.push({
|
|
3104
3104
|
id: M.id,
|
|
@@ -3124,8 +3124,8 @@ function mo(n) {
|
|
|
3124
3124
|
const ee = f.value[V(M.id)];
|
|
3125
3125
|
ee && Z(ee), _.value = W.message;
|
|
3126
3126
|
}), y.on("upload-progress", (M, W) => {
|
|
3127
|
-
const ee = W.bytesTotal ?? 1, ge = Math.floor(W.bytesUploaded / ee * 100),
|
|
3128
|
-
|
|
3127
|
+
const ee = W.bytesTotal ?? 1, ge = Math.floor(W.bytesUploaded / ee * 100), ve = V(M.id);
|
|
3128
|
+
ve !== -1 && f.value[ve] && (f.value[ve].percent = `${ge}%`);
|
|
3129
3129
|
}), y.on("upload-success", (M) => {
|
|
3130
3130
|
const W = f.value[V(M.id)];
|
|
3131
3131
|
W && (W.status = Ce.DONE, W.statusName = t("Done"));
|
|
@@ -3142,18 +3142,18 @@ function mo(n) {
|
|
|
3142
3142
|
e.emitter.emit("vf-upload-complete", W);
|
|
3143
3143
|
}), p.value?.addEventListener("click", () => d.value?.click()), m.value?.addEventListener("click", () => u.value?.click());
|
|
3144
3144
|
const $ = { capture: !0 };
|
|
3145
|
-
document.addEventListener("dragover", h, $), document.addEventListener("dragenter", b, $), document.addEventListener("dragleave",
|
|
3146
|
-
const
|
|
3145
|
+
document.addEventListener("dragover", h, $), document.addEventListener("dragenter", b, $), document.addEventListener("dragleave", k, $), document.addEventListener("drop", C, $);
|
|
3146
|
+
const P = (M) => {
|
|
3147
3147
|
const W = M.target, ee = W.files;
|
|
3148
3148
|
if (ee) {
|
|
3149
3149
|
for (const ge of ee) R(ge);
|
|
3150
3150
|
W.value = "";
|
|
3151
3151
|
}
|
|
3152
3152
|
};
|
|
3153
|
-
d.value?.addEventListener("change",
|
|
3153
|
+
d.value?.addEventListener("change", P), u.value?.addEventListener("change", P);
|
|
3154
3154
|
}), Ae(() => {
|
|
3155
3155
|
const E = { capture: !0 };
|
|
3156
|
-
document.removeEventListener("dragover", h, E), document.removeEventListener("dragenter", b, E), document.removeEventListener("dragleave",
|
|
3156
|
+
document.removeEventListener("dragover", h, E), document.removeEventListener("dragenter", b, E), document.removeEventListener("dragleave", k, E), document.removeEventListener("drop", C, E);
|
|
3157
3157
|
}), {
|
|
3158
3158
|
container: r,
|
|
3159
3159
|
internalFileInput: d,
|
|
@@ -3165,7 +3165,7 @@ function mo(n) {
|
|
|
3165
3165
|
uploading: S,
|
|
3166
3166
|
hasFilesInDropArea: D,
|
|
3167
3167
|
definitions: c,
|
|
3168
|
-
openFileSelector:
|
|
3168
|
+
openFileSelector: F,
|
|
3169
3169
|
upload: Y,
|
|
3170
3170
|
cancel: z,
|
|
3171
3171
|
remove: Z,
|
|
@@ -3195,21 +3195,21 @@ const va = { class: "vuefinder__image-preview" }, pa = { class: "vuefinder__imag
|
|
|
3195
3195
|
if (h.width > 1200 || h.height > 1200) {
|
|
3196
3196
|
const q = Math.min(1200 / h.width, 1200 / h.height), B = document.createElement("canvas");
|
|
3197
3197
|
B.width = Math.floor(h.width * q), B.height = Math.floor(h.height * q);
|
|
3198
|
-
const
|
|
3199
|
-
|
|
3198
|
+
const F = B.getContext("2d");
|
|
3199
|
+
F && (F.drawImage(h, 0, 0, B.width, B.height), b = B);
|
|
3200
3200
|
}
|
|
3201
|
-
const
|
|
3201
|
+
const k = o.modal.data.item.basename, C = k.split(".").pop()?.toLowerCase() || "jpg", V = C === "png" ? "image/png" : C === "gif" ? "image/gif" : "image/jpeg", R = await new Promise((q) => {
|
|
3202
3202
|
b.toBlob((B) => q(B), V);
|
|
3203
3203
|
});
|
|
3204
3204
|
if (!R) {
|
|
3205
|
-
|
|
3205
|
+
fe.error(l("Failed to save image"));
|
|
3206
3206
|
return;
|
|
3207
3207
|
}
|
|
3208
3208
|
try {
|
|
3209
|
-
const q = new File([R],
|
|
3210
|
-
|
|
3209
|
+
const q = new File([R], k, { type: V }), F = o.modal.data.item.path.split("/");
|
|
3210
|
+
F.pop();
|
|
3211
3211
|
const Y = {
|
|
3212
|
-
path:
|
|
3212
|
+
path: F.join("/") || (_.value?.path ?? "")
|
|
3213
3213
|
};
|
|
3214
3214
|
u([q]), await new Promise((Q) => setTimeout(Q, 100));
|
|
3215
3215
|
const z = m.value.find((Q) => Q.name === q.name);
|
|
@@ -3225,11 +3225,11 @@ const va = { class: "vuefinder__image-preview" }, pa = { class: "vuefinder__imag
|
|
|
3225
3225
|
throw new Error(Q.statusName || "Upload failed");
|
|
3226
3226
|
Z++;
|
|
3227
3227
|
}
|
|
3228
|
-
|
|
3228
|
+
fe.success(l("Updated.")), await fetch(r.value, { cache: "reload", mode: "no-cors" });
|
|
3229
3229
|
const le = o.root?.querySelector?.('[data-src="' + r.value + '"]');
|
|
3230
3230
|
le && le instanceof HTMLElement && no.resetStatus(le), o.emitter.emit("vf-refresh-thumbnails"), await D(), t("success");
|
|
3231
3231
|
} catch (q) {
|
|
3232
|
-
|
|
3232
|
+
fe.error(Be(q, l("Failed to save image")));
|
|
3233
3233
|
}
|
|
3234
3234
|
};
|
|
3235
3235
|
return he(() => {
|
|
@@ -3240,18 +3240,18 @@ const va = { class: "vuefinder__image-preview" }, pa = { class: "vuefinder__imag
|
|
|
3240
3240
|
id: "modal-title",
|
|
3241
3241
|
class: "vuefinder__image-preview__title",
|
|
3242
3242
|
title: a(o).modal.data.item.path
|
|
3243
|
-
},
|
|
3243
|
+
}, x(a(o).modal.data.item.basename), 9, ha),
|
|
3244
3244
|
i("div", ma, [
|
|
3245
3245
|
c.value ? (v(), g("button", {
|
|
3246
3246
|
key: 0,
|
|
3247
3247
|
class: "vuefinder__image-preview__crop-button",
|
|
3248
3248
|
onClick: w
|
|
3249
|
-
},
|
|
3249
|
+
}, x(a(l)("Crop")), 1)) : O("", !0),
|
|
3250
3250
|
a(s)("edit") ? (v(), g("button", {
|
|
3251
3251
|
key: 1,
|
|
3252
3252
|
class: "vuefinder__image-preview__edit-button",
|
|
3253
3253
|
onClick: h[0] || (h[0] = (b) => D())
|
|
3254
|
-
},
|
|
3254
|
+
}, x(c.value ? a(l)("Cancel") : a(l)("Edit")), 1)) : O("", !0)
|
|
3255
3255
|
])
|
|
3256
3256
|
]),
|
|
3257
3257
|
i("div", _a, [
|
|
@@ -3303,7 +3303,7 @@ const At = { render: ba }, ka = { class: "vuefinder__default-preview" }, xa = {
|
|
|
3303
3303
|
id: "modal-title",
|
|
3304
3304
|
class: "vuefinder__default-preview__title",
|
|
3305
3305
|
title: a(t).modal.data.item.path
|
|
3306
|
-
},
|
|
3306
|
+
}, x(a(t).modal.data.item.basename), 9, Sa)
|
|
3307
3307
|
]),
|
|
3308
3308
|
i("div", Ca, [
|
|
3309
3309
|
L(a(At), { class: "vuefinder__default-preview__file-icon" }),
|
|
@@ -3311,12 +3311,12 @@ const At = { render: ba }, ka = { class: "vuefinder__default-preview" }, xa = {
|
|
|
3311
3311
|
id: "modal-title",
|
|
3312
3312
|
class: "vuefinder__default-preview__file-name",
|
|
3313
3313
|
title: a(t).modal.data.item.path
|
|
3314
|
-
},
|
|
3314
|
+
}, x(a(t).modal.data.item.basename), 9, Da)
|
|
3315
3315
|
])
|
|
3316
3316
|
])
|
|
3317
3317
|
]));
|
|
3318
3318
|
}
|
|
3319
|
-
}),
|
|
3319
|
+
}), Fa = { class: "vuefinder__video-preview" }, Pa = ["title"], Ta = {
|
|
3320
3320
|
class: "vuefinder__video-preview__video",
|
|
3321
3321
|
preload: "metadata",
|
|
3322
3322
|
controls: ""
|
|
@@ -3327,12 +3327,12 @@ const At = { render: ba }, ka = { class: "vuefinder__default-preview" }, xa = {
|
|
|
3327
3327
|
const t = se(), o = e, s = () => t.adapter.getPreviewUrl({ path: t.modal.data.item.path });
|
|
3328
3328
|
return he(() => {
|
|
3329
3329
|
o("success");
|
|
3330
|
-
}), (l, c) => (v(), g("div",
|
|
3330
|
+
}), (l, c) => (v(), g("div", Fa, [
|
|
3331
3331
|
i("h3", {
|
|
3332
3332
|
id: "modal-title",
|
|
3333
3333
|
class: "vuefinder__video-preview__title",
|
|
3334
3334
|
title: a(t).modal.data.item.path
|
|
3335
|
-
},
|
|
3335
|
+
}, x(a(t).modal.data.item.basename), 9, Pa),
|
|
3336
3336
|
i("div", null, [
|
|
3337
3337
|
i("video", Ta, [
|
|
3338
3338
|
i("source", {
|
|
@@ -3362,7 +3362,7 @@ const At = { render: ba }, ka = { class: "vuefinder__default-preview" }, xa = {
|
|
|
3362
3362
|
id: "modal-title",
|
|
3363
3363
|
class: "vuefinder__audio-preview__title",
|
|
3364
3364
|
title: a(o).modal.data.item.path
|
|
3365
|
-
},
|
|
3365
|
+
}, x(a(o).modal.data.item.basename), 9, Oa),
|
|
3366
3366
|
i("div", null, [
|
|
3367
3367
|
i("audio", Ba, [
|
|
3368
3368
|
i("source", {
|
|
@@ -3389,7 +3389,7 @@ const At = { render: ba }, ka = { class: "vuefinder__default-preview" }, xa = {
|
|
|
3389
3389
|
id: "modal-title",
|
|
3390
3390
|
class: "vuefinder__pdf-preview__title",
|
|
3391
3391
|
title: a(t).modal.data.item.path
|
|
3392
|
-
},
|
|
3392
|
+
}, x(a(t).modal.data.item.basename), 9, za),
|
|
3393
3393
|
i("div", null, [
|
|
3394
3394
|
i("object", {
|
|
3395
3395
|
class: "vuefinder__pdf-preview__object",
|
|
@@ -3425,11 +3425,11 @@ const Ka = {
|
|
|
3425
3425
|
__name: "ModalPreview",
|
|
3426
3426
|
setup(n) {
|
|
3427
3427
|
const e = se(), { enabled: t } = Ue(), { t: o } = e.i18n, s = T(!1), l = (h) => {
|
|
3428
|
-
const b = (h || "").split("/").pop() || "",
|
|
3429
|
-
return
|
|
3428
|
+
const b = (h || "").split("/").pop() || "", k = b.lastIndexOf(".");
|
|
3429
|
+
return k >= 0 ? b.slice(k + 1).toLowerCase() : "";
|
|
3430
3430
|
}, c = (h, b) => {
|
|
3431
3431
|
if (!b) return !1;
|
|
3432
|
-
const
|
|
3432
|
+
const k = /* @__PURE__ */ new Set(["png", "jpg", "jpeg", "gif", "webp", "svg", "bmp", "ico", "avif"]), C = /* @__PURE__ */ new Set(["mp4", "webm", "ogg", "ogv", "mov", "m4v"]), V = /* @__PURE__ */ new Set(["mp3", "wav", "ogg", "oga", "m4a", "flac", "aac"]), R = /* @__PURE__ */ new Set([
|
|
3433
3433
|
"txt",
|
|
3434
3434
|
"md",
|
|
3435
3435
|
"json",
|
|
@@ -3444,12 +3444,12 @@ const Ka = {
|
|
|
3444
3444
|
"yml",
|
|
3445
3445
|
"yaml"
|
|
3446
3446
|
]);
|
|
3447
|
-
return h === "image" ?
|
|
3447
|
+
return h === "image" ? k.has(b) : h === "video" ? C.has(b) : h === "audio" ? V.has(b) : h === "text" ? R.has(b) : h === "application/pdf" ? b === "pdf" : !1;
|
|
3448
3448
|
}, r = (h) => {
|
|
3449
3449
|
const b = e.modal.data.item.mime_type;
|
|
3450
3450
|
if (b && typeof b == "string") return b.startsWith(h);
|
|
3451
|
-
const
|
|
3452
|
-
return c(h,
|
|
3451
|
+
const k = l(e.modal.data.item.path);
|
|
3452
|
+
return c(h, k);
|
|
3453
3453
|
}, d = t("preview");
|
|
3454
3454
|
d || (s.value = !0);
|
|
3455
3455
|
const u = H(() => e.modal.data.item), p = J(e.fs.sortedFiles), m = H(() => p.value.filter((h) => h.type === "file")), f = H(
|
|
@@ -3472,20 +3472,20 @@ const Ka = {
|
|
|
3472
3472
|
return he(() => {
|
|
3473
3473
|
const h = document.querySelector(".vuefinder__preview-modal");
|
|
3474
3474
|
h && h.focus();
|
|
3475
|
-
}), (h, b) => (v(), j(
|
|
3475
|
+
}), (h, b) => (v(), j(Re, null, {
|
|
3476
3476
|
buttons: oe(() => [
|
|
3477
3477
|
i("button", {
|
|
3478
3478
|
type: "button",
|
|
3479
3479
|
class: "vf-btn vf-btn-secondary",
|
|
3480
|
-
onClick: b[6] || (b[6] = (
|
|
3481
|
-
},
|
|
3480
|
+
onClick: b[6] || (b[6] = (k) => a(e).modal.close())
|
|
3481
|
+
}, x(a(o)("Close")), 1),
|
|
3482
3482
|
a(t)("download") ? (v(), g("a", {
|
|
3483
3483
|
key: 0,
|
|
3484
3484
|
target: "_blank",
|
|
3485
3485
|
class: "vf-btn vf-btn-primary",
|
|
3486
3486
|
download: a(e).adapter.getDownloadUrl({ path: a(e).modal.data.item.path }),
|
|
3487
3487
|
href: a(e).adapter.getDownloadUrl({ path: a(e).modal.data.item.path })
|
|
3488
|
-
},
|
|
3488
|
+
}, x(a(o)("Download")), 9, nr)) : O("", !0)
|
|
3489
3489
|
]),
|
|
3490
3490
|
default: oe(() => [
|
|
3491
3491
|
i("div", {
|
|
@@ -3531,22 +3531,22 @@ const Ka = {
|
|
|
3531
3531
|
a(d) ? (v(), g("div", Ya, [
|
|
3532
3532
|
r("text") ? (v(), j(fa, {
|
|
3533
3533
|
key: `text-${u.value.path}`,
|
|
3534
|
-
onSuccess: b[0] || (b[0] = (
|
|
3534
|
+
onSuccess: b[0] || (b[0] = (k) => s.value = !0)
|
|
3535
3535
|
})) : r("image") ? (v(), j(wa, {
|
|
3536
3536
|
key: `image-${u.value.path}`,
|
|
3537
|
-
onSuccess: b[1] || (b[1] = (
|
|
3537
|
+
onSuccess: b[1] || (b[1] = (k) => s.value = !0)
|
|
3538
3538
|
})) : r("video") ? (v(), j(Ma, {
|
|
3539
3539
|
key: `video-${u.value.path}`,
|
|
3540
|
-
onSuccess: b[2] || (b[2] = (
|
|
3540
|
+
onSuccess: b[2] || (b[2] = (k) => s.value = !0)
|
|
3541
3541
|
})) : r("audio") ? (v(), j(La, {
|
|
3542
3542
|
key: `audio-${u.value.path}`,
|
|
3543
|
-
onSuccess: b[3] || (b[3] = (
|
|
3543
|
+
onSuccess: b[3] || (b[3] = (k) => s.value = !0)
|
|
3544
3544
|
})) : r("application/pdf") ? (v(), j(Ua, {
|
|
3545
3545
|
key: `pdf-${u.value.path}`,
|
|
3546
|
-
onSuccess: b[4] || (b[4] = (
|
|
3546
|
+
onSuccess: b[4] || (b[4] = (k) => s.value = !0)
|
|
3547
3547
|
})) : (v(), j(Ea, {
|
|
3548
3548
|
key: `default-${u.value.path}`,
|
|
3549
|
-
onSuccess: b[5] || (b[5] = (
|
|
3549
|
+
onSuccess: b[5] || (b[5] = (k) => s.value = !0)
|
|
3550
3550
|
}))
|
|
3551
3551
|
])) : O("", !0),
|
|
3552
3552
|
i("div", Qa, [
|
|
@@ -3571,23 +3571,23 @@ const Ka = {
|
|
|
3571
3571
|
d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"
|
|
3572
3572
|
})
|
|
3573
3573
|
], -1)),
|
|
3574
|
-
i("span", null,
|
|
3574
|
+
i("span", null, x(a(o)("Loading")), 1)
|
|
3575
3575
|
])) : O("", !0)
|
|
3576
3576
|
])
|
|
3577
3577
|
])
|
|
3578
3578
|
], 32),
|
|
3579
3579
|
i("div", Ja, [
|
|
3580
3580
|
i("div", null, [
|
|
3581
|
-
i("span", Za,
|
|
3582
|
-
de(
|
|
3581
|
+
i("span", Za, x(a(o)("File Size")) + ": ", 1),
|
|
3582
|
+
de(x(a(e).filesize(a(e).modal.data.item.file_size)), 1)
|
|
3583
3583
|
]),
|
|
3584
3584
|
i("div", null, [
|
|
3585
|
-
i("span", er,
|
|
3586
|
-
de(" " +
|
|
3585
|
+
i("span", er, x(a(o)("Last Modified")) + ": ", 1),
|
|
3586
|
+
de(" " + x(a(ja)(a(e).modal.data.item.last_modified)), 1)
|
|
3587
3587
|
])
|
|
3588
3588
|
]),
|
|
3589
3589
|
a(t)("download") ? (v(), g("div", tr, [
|
|
3590
|
-
i("span", null,
|
|
3590
|
+
i("span", null, x(a(o)(
|
|
3591
3591
|
`Download doesn't work? You can try right-click "Download" button, select "Save link as...".`
|
|
3592
3592
|
)), 1)
|
|
3593
3593
|
])) : O("", !0)
|
|
@@ -3782,13 +3782,13 @@ const yn = { render: _r }, gr = { class: "vuefinder__modal-tree__folder-item" },
|
|
|
3782
3782
|
key: 0,
|
|
3783
3783
|
class: "vuefinder__modal-tree__folder-icon vuefinder__item-icon__folder"
|
|
3784
3784
|
})),
|
|
3785
|
-
i("span", br,
|
|
3785
|
+
i("span", br, x(n.folder.basename), 1)
|
|
3786
3786
|
], 34)
|
|
3787
3787
|
]),
|
|
3788
3788
|
r.value && m.value ? (v(), g("div", kr, [
|
|
3789
|
-
(v(!0), g(re, null, _e(p.value, (
|
|
3790
|
-
key:
|
|
3791
|
-
folder:
|
|
3789
|
+
(v(!0), g(re, null, _e(p.value, (k) => (v(), j(b, {
|
|
3790
|
+
key: k.path,
|
|
3791
|
+
folder: k,
|
|
3792
3792
|
storage: n.storage,
|
|
3793
3793
|
"model-value": n.modelValue,
|
|
3794
3794
|
"expanded-folders": n.expandedFolders,
|
|
@@ -3805,7 +3805,7 @@ const yn = { render: _r }, gr = { class: "vuefinder__modal-tree__folder-item" },
|
|
|
3805
3805
|
}), Sr = { class: "vuefinder__modal-tree" }, Cr = { class: "vuefinder__modal-tree__header" }, Dr = { class: "vuefinder__modal-tree__title" }, Er = {
|
|
3806
3806
|
key: 0,
|
|
3807
3807
|
class: "vuefinder__modal-tree__section"
|
|
3808
|
-
},
|
|
3808
|
+
}, Fr = { class: "vuefinder__modal-tree__section-title" }, Pr = { class: "vuefinder__modal-tree__list" }, Tr = ["onClick", "onDblclick", "onTouchend"], Ar = { class: "vuefinder__modal-tree__text" }, Mr = { class: "vuefinder__modal-tree__text-storage" }, Ir = { class: "vuefinder__modal-tree__section-title" }, Or = { class: "vuefinder__modal-tree__list" }, Br = { class: "vuefinder__modal-tree__storage-item" }, Rr = { class: "vuefinder__modal-tree__storage-content" }, Lr = ["onClick"], Vr = ["onClick", "onDblclick", "onTouchend"], zr = { class: "vuefinder__modal-tree__storage-text" }, Nr = {
|
|
3809
3809
|
key: 0,
|
|
3810
3810
|
class: "vuefinder__modal-tree__subfolders"
|
|
3811
3811
|
}, Vn = 300, bn = /* @__PURE__ */ te({
|
|
@@ -3819,9 +3819,9 @@ const yn = { render: _r }, gr = { class: "vuefinder__modal-tree__folder-item" },
|
|
|
3819
3819
|
setup(n, { emit: e }) {
|
|
3820
3820
|
const t = se(), { t: o } = t.i18n, s = t.fs, l = t.config, c = e, r = J(s.sortedFiles), d = J(s.storages), u = H(() => d.value || []), p = J(s.path), m = T(null), f = T({}), _ = T({});
|
|
3821
3821
|
ue(r, (R) => {
|
|
3822
|
-
const q = R.filter((
|
|
3823
|
-
B && (_.value[B] = q.map((
|
|
3824
|
-
...
|
|
3822
|
+
const q = R.filter((F) => F.type === "dir"), B = p.value?.path || "";
|
|
3823
|
+
B && (_.value[B] = q.map((F) => ({
|
|
3824
|
+
...F,
|
|
3825
3825
|
type: "dir"
|
|
3826
3826
|
})));
|
|
3827
3827
|
});
|
|
@@ -3830,8 +3830,8 @@ const yn = { render: _r }, gr = { class: "vuefinder__modal-tree__folder-item" },
|
|
|
3830
3830
|
f.value = {
|
|
3831
3831
|
...f.value,
|
|
3832
3832
|
[B]: !f.value[B]
|
|
3833
|
-
}, f.value[B] && !_.value[q] && t.adapter.list(q).then((
|
|
3834
|
-
const Y = (
|
|
3833
|
+
}, f.value[B] && !_.value[q] && t.adapter.list(q).then((F) => {
|
|
3834
|
+
const Y = (F.files || []).filter((z) => z.type === "dir");
|
|
3835
3835
|
_.value[q] = Y.map((z) => ({
|
|
3836
3836
|
...z,
|
|
3837
3837
|
type: "dir"
|
|
@@ -3870,14 +3870,14 @@ const yn = { render: _r }, gr = { class: "vuefinder__modal-tree__folder-item" },
|
|
|
3870
3870
|
};
|
|
3871
3871
|
c("update:modelValue", q), c("selectAndClose", q);
|
|
3872
3872
|
};
|
|
3873
|
-
let
|
|
3873
|
+
let k = 0;
|
|
3874
3874
|
const C = (R) => {
|
|
3875
3875
|
if (!R) return;
|
|
3876
3876
|
const q = Date.now();
|
|
3877
|
-
q -
|
|
3877
|
+
q - k < Vn ? y(R) : w(R), k = q;
|
|
3878
3878
|
}, V = (R) => {
|
|
3879
3879
|
const q = Date.now();
|
|
3880
|
-
q -
|
|
3880
|
+
q - k < Vn ? b(R) : h(R), k = q;
|
|
3881
3881
|
};
|
|
3882
3882
|
return he(() => {
|
|
3883
3883
|
m.value && Ut(m.value, {
|
|
@@ -3890,7 +3890,7 @@ const yn = { render: _r }, gr = { class: "vuefinder__modal-tree__folder-item" },
|
|
|
3890
3890
|
});
|
|
3891
3891
|
}), (R, q) => (v(), g("div", Sr, [
|
|
3892
3892
|
i("div", Cr, [
|
|
3893
|
-
i("div", Dr,
|
|
3893
|
+
i("div", Dr, x(a(o)("Select Target Folder")), 1)
|
|
3894
3894
|
]),
|
|
3895
3895
|
i("div", {
|
|
3896
3896
|
ref_key: "modalContentElement",
|
|
@@ -3898,23 +3898,23 @@ const yn = { render: _r }, gr = { class: "vuefinder__modal-tree__folder-item" },
|
|
|
3898
3898
|
class: "vuefinder__modal-tree__content"
|
|
3899
3899
|
}, [
|
|
3900
3900
|
n.showPinnedFolders && a(t).features.pinned && a(l).get("pinnedFolders").length ? (v(), g("div", Er, [
|
|
3901
|
-
i("div",
|
|
3902
|
-
i("div",
|
|
3901
|
+
i("div", Fr, x(a(o)("Pinned Folders")), 1),
|
|
3902
|
+
i("div", Pr, [
|
|
3903
3903
|
(v(!0), g(re, null, _e(a(l).get("pinnedFolders"), (B) => (v(), g("div", {
|
|
3904
3904
|
key: B.path,
|
|
3905
3905
|
class: X(["vuefinder__modal-tree__item", { "vuefinder__modal-tree__item--selected": n.modelValue?.path === B.path }]),
|
|
3906
|
-
onClick: (
|
|
3907
|
-
onDblclick: (
|
|
3908
|
-
onTouchend: (
|
|
3906
|
+
onClick: (F) => w(B),
|
|
3907
|
+
onDblclick: (F) => y(B),
|
|
3908
|
+
onTouchend: (F) => C(B)
|
|
3909
3909
|
}, [
|
|
3910
3910
|
L(a(Je), { class: "vuefinder__modal-tree__icon vuefinder__item-icon__folder" }),
|
|
3911
|
-
i("div", Ar,
|
|
3912
|
-
i("div", Mr,
|
|
3911
|
+
i("div", Ar, x(B.basename), 1),
|
|
3912
|
+
i("div", Mr, x(B.storage), 1),
|
|
3913
3913
|
L(a(gn), { class: "vuefinder__modal-tree__icon vuefinder__modal-tree__icon--pin" })
|
|
3914
3914
|
], 42, Tr))), 128))
|
|
3915
3915
|
])
|
|
3916
3916
|
])) : O("", !0),
|
|
3917
|
-
i("div", Ir,
|
|
3917
|
+
i("div", Ir, x(a(o)("Storages")), 1),
|
|
3918
3918
|
(v(!0), g(re, null, _e(u.value, (B) => (v(), g("div", {
|
|
3919
3919
|
key: B,
|
|
3920
3920
|
class: "vuefinder__modal-tree__section"
|
|
@@ -3924,7 +3924,7 @@ const yn = { render: _r }, gr = { class: "vuefinder__modal-tree__folder-item" },
|
|
|
3924
3924
|
i("div", Rr, [
|
|
3925
3925
|
i("div", {
|
|
3926
3926
|
class: "vuefinder__modal-tree__storage-toggle",
|
|
3927
|
-
onClick:
|
|
3927
|
+
onClick: pe((F) => S(B, B + "://"), ["stop"])
|
|
3928
3928
|
}, [
|
|
3929
3929
|
f.value[`${B}:${B}://`] ? (v(), j(a(Gt), {
|
|
3930
3930
|
key: 1,
|
|
@@ -3938,18 +3938,18 @@ const yn = { render: _r }, gr = { class: "vuefinder__modal-tree__folder-item" },
|
|
|
3938
3938
|
class: X(["vuefinder__modal-tree__storage-link", {
|
|
3939
3939
|
"vuefinder__modal-tree__storage-link--selected": n.modelValue?.path === B + "://"
|
|
3940
3940
|
}]),
|
|
3941
|
-
onClick: (
|
|
3942
|
-
onDblclick: (
|
|
3943
|
-
onTouchend: (
|
|
3941
|
+
onClick: (F) => h(B),
|
|
3942
|
+
onDblclick: (F) => b(B),
|
|
3943
|
+
onTouchend: (F) => V(B)
|
|
3944
3944
|
}, [
|
|
3945
3945
|
L(a(wn), { class: "vuefinder__modal-tree__storage-icon" }),
|
|
3946
|
-
i("span", zr,
|
|
3946
|
+
i("span", zr, x(B), 1)
|
|
3947
3947
|
], 42, Vr)
|
|
3948
3948
|
]),
|
|
3949
3949
|
f.value[`${B}:${B}://`] ? (v(), g("div", Nr, [
|
|
3950
|
-
(v(!0), g(re, null, _e(D(B + "://"), (
|
|
3951
|
-
key:
|
|
3952
|
-
folder:
|
|
3950
|
+
(v(!0), g(re, null, _e(D(B + "://"), (F) => (v(), j($r, {
|
|
3951
|
+
key: F.path,
|
|
3952
|
+
folder: F,
|
|
3953
3953
|
storage: B,
|
|
3954
3954
|
"model-value": n.modelValue,
|
|
3955
3955
|
"expanded-folders": f.value,
|
|
@@ -4007,34 +4007,34 @@ const yn = { render: _r }, gr = { class: "vuefinder__modal-tree__folder-item" },
|
|
|
4007
4007
|
if (!b) return { storage: "local", path: "" };
|
|
4008
4008
|
if (b.endsWith("://"))
|
|
4009
4009
|
return { storage: b.replace("://", ""), path: "" };
|
|
4010
|
-
const
|
|
4010
|
+
const k = b.split("://");
|
|
4011
4011
|
return {
|
|
4012
|
-
storage:
|
|
4013
|
-
path:
|
|
4012
|
+
storage: k[0] || "local",
|
|
4013
|
+
path: k[1] || ""
|
|
4014
4014
|
};
|
|
4015
4015
|
}, h = async () => {
|
|
4016
4016
|
if (l.value.length) {
|
|
4017
4017
|
const { files: b } = await e.adapter[u.value]({
|
|
4018
4018
|
path: m.value.path,
|
|
4019
|
-
sources: l.value.map(({ path:
|
|
4019
|
+
sources: l.value.map(({ path: k }) => k),
|
|
4020
4020
|
destination: c.value.path
|
|
4021
4021
|
});
|
|
4022
4022
|
e.fs.setFiles(b), e.modal.close();
|
|
4023
4023
|
}
|
|
4024
4024
|
};
|
|
4025
|
-
return (b,
|
|
4025
|
+
return (b, k) => (v(), j(Re, null, {
|
|
4026
4026
|
buttons: oe(() => [
|
|
4027
4027
|
i("button", {
|
|
4028
4028
|
type: "button",
|
|
4029
4029
|
class: "vf-btn vf-btn-primary",
|
|
4030
4030
|
onClick: h
|
|
4031
|
-
},
|
|
4031
|
+
}, x(S.value), 1),
|
|
4032
4032
|
i("button", {
|
|
4033
4033
|
type: "button",
|
|
4034
4034
|
class: "vf-btn vf-btn-secondary",
|
|
4035
|
-
onClick:
|
|
4036
|
-
},
|
|
4037
|
-
i("div", ol,
|
|
4035
|
+
onClick: k[4] || (k[4] = (C) => a(e).modal.close())
|
|
4036
|
+
}, x(a(o)("Cancel")), 1),
|
|
4037
|
+
i("div", ol, x(a(o)("%s item(s) selected.", l.value.length)), 1)
|
|
4038
4038
|
]),
|
|
4039
4039
|
default: oe(() => [
|
|
4040
4040
|
i("div", null, [
|
|
@@ -4043,20 +4043,20 @@ const yn = { render: _r }, gr = { class: "vuefinder__modal-tree__folder-item" },
|
|
|
4043
4043
|
title: f.value
|
|
4044
4044
|
}, null, 8, ["icon", "title"]),
|
|
4045
4045
|
i("div", Hr, [
|
|
4046
|
-
i("p", Ur,
|
|
4046
|
+
i("p", Ur, x(_.value), 1),
|
|
4047
4047
|
i("div", jr, [
|
|
4048
4048
|
(v(!0), g(re, null, _e(l.value, (C) => (v(), g("div", {
|
|
4049
4049
|
key: C.path,
|
|
4050
4050
|
class: "vuefinder__move-modal__file"
|
|
4051
4051
|
}, [
|
|
4052
4052
|
i("div", null, [
|
|
4053
|
-
C.type === "dir" ? (v(), g("svg", Kr, [...
|
|
4053
|
+
C.type === "dir" ? (v(), g("svg", Kr, [...k[5] || (k[5] = [
|
|
4054
4054
|
i("path", {
|
|
4055
4055
|
"stroke-linecap": "round",
|
|
4056
4056
|
"stroke-linejoin": "round",
|
|
4057
4057
|
d: "M3 7v10a2 2 0 002 2h14a2 2 0 002-2V9a2 2 0 00-2-2h-6l-2-2H5a2 2 0 00-2 2z"
|
|
4058
4058
|
}, null, -1)
|
|
4059
|
-
])])) : (v(), g("svg", qr, [...
|
|
4059
|
+
])])) : (v(), g("svg", qr, [...k[6] || (k[6] = [
|
|
4060
4060
|
i("path", {
|
|
4061
4061
|
"stroke-linecap": "round",
|
|
4062
4062
|
"stroke-linejoin": "round",
|
|
@@ -4064,20 +4064,20 @@ const yn = { render: _r }, gr = { class: "vuefinder__modal-tree__folder-item" },
|
|
|
4064
4064
|
}, null, -1)
|
|
4065
4065
|
])]))
|
|
4066
4066
|
]),
|
|
4067
|
-
i("div", Wr,
|
|
4067
|
+
i("div", Wr, x(C.path), 1)
|
|
4068
4068
|
]))), 128))
|
|
4069
4069
|
]),
|
|
4070
|
-
i("h4", Gr,
|
|
4070
|
+
i("h4", Gr, x(a(o)("Target Directory")), 1),
|
|
4071
4071
|
i("div", Yr, [
|
|
4072
4072
|
i("div", {
|
|
4073
4073
|
class: "vuefinder__move-modal__target-display",
|
|
4074
|
-
onClick:
|
|
4074
|
+
onClick: k[0] || (k[0] = (C) => p.value = !p.value)
|
|
4075
4075
|
}, [
|
|
4076
4076
|
i("div", Qr, [
|
|
4077
|
-
i("span", Xr,
|
|
4078
|
-
y().path ? (v(), g("span", Jr,
|
|
4077
|
+
i("span", Xr, x(y().storage) + "://", 1),
|
|
4078
|
+
y().path ? (v(), g("span", Jr, x(y().path), 1)) : O("", !0)
|
|
4079
4079
|
]),
|
|
4080
|
-
i("span", Zr,
|
|
4080
|
+
i("span", Zr, x(a(o)("Browse")), 1)
|
|
4081
4081
|
])
|
|
4082
4082
|
]),
|
|
4083
4083
|
i("div", {
|
|
@@ -4089,7 +4089,7 @@ const yn = { render: _r }, gr = { class: "vuefinder__modal-tree__folder-item" },
|
|
|
4089
4089
|
L(bn, {
|
|
4090
4090
|
modelValue: c.value,
|
|
4091
4091
|
"onUpdate:modelValue": [
|
|
4092
|
-
|
|
4092
|
+
k[1] || (k[1] = (C) => c.value = C),
|
|
4093
4093
|
D
|
|
4094
4094
|
],
|
|
4095
4095
|
"show-pinned-folders": !0,
|
|
@@ -4099,22 +4099,22 @@ const yn = { render: _r }, gr = { class: "vuefinder__modal-tree__folder-item" },
|
|
|
4099
4099
|
a(t)("copy") && a(t)("move") ? (v(), g("div", el, [
|
|
4100
4100
|
i("label", tl, [
|
|
4101
4101
|
be(i("input", {
|
|
4102
|
-
"onUpdate:modelValue":
|
|
4102
|
+
"onUpdate:modelValue": k[2] || (k[2] = (C) => d.value = C),
|
|
4103
4103
|
type: "checkbox",
|
|
4104
4104
|
class: "vuefinder__move-modal__checkbox"
|
|
4105
4105
|
}, null, 512), [
|
|
4106
4106
|
[vn, d.value]
|
|
4107
4107
|
]),
|
|
4108
|
-
i("span", nl,
|
|
4108
|
+
i("span", nl, x(a(o)("Create a copy instead of moving")), 1)
|
|
4109
4109
|
])
|
|
4110
4110
|
])) : O("", !0),
|
|
4111
4111
|
r.value.length ? (v(), j(a(r), {
|
|
4112
4112
|
key: 1,
|
|
4113
4113
|
error: "",
|
|
4114
|
-
onHidden:
|
|
4114
|
+
onHidden: k[3] || (k[3] = (C) => r.value = "")
|
|
4115
4115
|
}, {
|
|
4116
4116
|
default: oe(() => [
|
|
4117
|
-
de(
|
|
4117
|
+
de(x(r.value), 1)
|
|
4118
4118
|
]),
|
|
4119
4119
|
_: 1
|
|
4120
4120
|
})) : O("", !0)
|
|
@@ -4222,7 +4222,7 @@ const Yt = { render: ll }, cl = { class: "vuefinder__search-modal__search-input"
|
|
|
4222
4222
|
disabled: n.disabled,
|
|
4223
4223
|
class: "vuefinder__search-modal__input",
|
|
4224
4224
|
onKeydown: d,
|
|
4225
|
-
onKeyup: p[0] || (p[0] =
|
|
4225
|
+
onKeyup: p[0] || (p[0] = pe(() => {
|
|
4226
4226
|
}, ["stop"])),
|
|
4227
4227
|
onInput: r
|
|
4228
4228
|
}, null, 40, dl),
|
|
@@ -4407,7 +4407,7 @@ const $l = async (n, e, t) => {
|
|
|
4407
4407
|
} = r[D], {
|
|
4408
4408
|
x: h,
|
|
4409
4409
|
y: b,
|
|
4410
|
-
data:
|
|
4410
|
+
data: k,
|
|
4411
4411
|
reset: C
|
|
4412
4412
|
} = await y({
|
|
4413
4413
|
x: p,
|
|
@@ -4427,7 +4427,7 @@ const $l = async (n, e, t) => {
|
|
|
4427
4427
|
..._,
|
|
4428
4428
|
[w]: {
|
|
4429
4429
|
..._[w],
|
|
4430
|
-
...
|
|
4430
|
+
...k
|
|
4431
4431
|
}
|
|
4432
4432
|
}, C && S <= 50 && (S++, typeof C == "object" && (C.placement && (f = C.placement), C.rects && (u = C.rects === !0 ? await c.getElementRects({
|
|
4433
4433
|
reference: n,
|
|
@@ -4472,7 +4472,7 @@ async function ko(n, e) {
|
|
|
4472
4472
|
y: s,
|
|
4473
4473
|
width: c.floating.width,
|
|
4474
4474
|
height: c.floating.height
|
|
4475
|
-
} : c.reference, b = await (l.getOffsetParent == null ? void 0 : l.getOffsetParent(r.floating)),
|
|
4475
|
+
} : c.reference, b = await (l.getOffsetParent == null ? void 0 : l.getOffsetParent(r.floating)), k = await (l.isElement == null ? void 0 : l.isElement(b)) ? await (l.getScale == null ? void 0 : l.getScale(b)) || {
|
|
4476
4476
|
x: 1,
|
|
4477
4477
|
y: 1
|
|
4478
4478
|
} : {
|
|
@@ -4485,10 +4485,10 @@ async function ko(n, e) {
|
|
|
4485
4485
|
strategy: d
|
|
4486
4486
|
}) : h);
|
|
4487
4487
|
return {
|
|
4488
|
-
top: (y.top - C.top + S.top) /
|
|
4489
|
-
bottom: (C.bottom - y.bottom + S.bottom) /
|
|
4490
|
-
left: (y.left - C.left + S.left) /
|
|
4491
|
-
right: (C.right - y.right + S.right) /
|
|
4488
|
+
top: (y.top - C.top + S.top) / k.y,
|
|
4489
|
+
bottom: (C.bottom - y.bottom + S.bottom) / k.y,
|
|
4490
|
+
left: (y.left - C.left + S.left) / k.x,
|
|
4491
|
+
right: (C.right - y.right + S.right) / k.x
|
|
4492
4492
|
};
|
|
4493
4493
|
}
|
|
4494
4494
|
const Sl = function(n) {
|
|
@@ -4515,15 +4515,15 @@ const Sl = function(n) {
|
|
|
4515
4515
|
} = Qt(n, e);
|
|
4516
4516
|
if ((t = l.arrow) != null && t.alignmentOffset)
|
|
4517
4517
|
return {};
|
|
4518
|
-
const y = dt(s), h = ot(r), b = dt(r) === r,
|
|
4519
|
-
!f && V && C.push(...bl(r, D, S,
|
|
4518
|
+
const y = dt(s), h = ot(r), b = dt(r) === r, k = await (d.isRTL == null ? void 0 : d.isRTL(u.floating)), C = f || (b || !D ? [Ot(r)] : _l(r)), V = S !== "none";
|
|
4519
|
+
!f && V && C.push(...bl(r, D, S, k));
|
|
4520
4520
|
const R = [r, ...C], q = await ko(e, w), B = [];
|
|
4521
|
-
let
|
|
4521
|
+
let F = ((o = l.flip) == null ? void 0 : o.overflows) || [];
|
|
4522
4522
|
if (p && B.push(q[y]), m) {
|
|
4523
|
-
const Z = ml(s, c,
|
|
4523
|
+
const Z = ml(s, c, k);
|
|
4524
4524
|
B.push(q[Z[0]], q[Z[1]]);
|
|
4525
4525
|
}
|
|
4526
|
-
if (
|
|
4526
|
+
if (F = [...F, {
|
|
4527
4527
|
placement: s,
|
|
4528
4528
|
overflows: B
|
|
4529
4529
|
}], !B.every((Z) => Z <= 0)) {
|
|
@@ -4531,30 +4531,30 @@ const Sl = function(n) {
|
|
|
4531
4531
|
const Z = (((K = l.flip) == null ? void 0 : K.index) || 0) + 1, le = R[Z];
|
|
4532
4532
|
if (le && (!(m === "alignment" ? h !== ot(le) : !1) || // We leave the current main axis only if every placement on that axis
|
|
4533
4533
|
// overflows the main axis.
|
|
4534
|
-
|
|
4534
|
+
F.every(($) => ot($.placement) === h ? $.overflows[0] > 0 : !0)))
|
|
4535
4535
|
return {
|
|
4536
4536
|
data: {
|
|
4537
4537
|
index: Z,
|
|
4538
|
-
overflows:
|
|
4538
|
+
overflows: F
|
|
4539
4539
|
},
|
|
4540
4540
|
reset: {
|
|
4541
4541
|
placement: le
|
|
4542
4542
|
}
|
|
4543
4543
|
};
|
|
4544
|
-
let Q = (Y =
|
|
4544
|
+
let Q = (Y = F.filter((E) => E.overflows[0] <= 0).sort((E, $) => E.overflows[1] - $.overflows[1])[0]) == null ? void 0 : Y.placement;
|
|
4545
4545
|
if (!Q)
|
|
4546
4546
|
switch (_) {
|
|
4547
4547
|
case "bestFit": {
|
|
4548
4548
|
var z;
|
|
4549
|
-
const E = (z =
|
|
4549
|
+
const E = (z = F.filter(($) => {
|
|
4550
4550
|
if (V) {
|
|
4551
|
-
const
|
|
4552
|
-
return
|
|
4551
|
+
const P = ot($.placement);
|
|
4552
|
+
return P === h || // Create a bias to the `y` side axis due to horizontal
|
|
4553
4553
|
// reading directions favoring greater width.
|
|
4554
|
-
|
|
4554
|
+
P === "y";
|
|
4555
4555
|
}
|
|
4556
4556
|
return !0;
|
|
4557
|
-
}).map(($) => [$.placement, $.overflows.filter((
|
|
4557
|
+
}).map(($) => [$.placement, $.overflows.filter((P) => P > 0).reduce((P, M) => P + M, 0)]).sort(($, P) => $[1] - P[1])[0]) == null ? void 0 : z[0];
|
|
4558
4558
|
E && (Q = E);
|
|
4559
4559
|
break;
|
|
4560
4560
|
}
|
|
@@ -4622,7 +4622,7 @@ const El = function(n) {
|
|
|
4622
4622
|
};
|
|
4623
4623
|
}
|
|
4624
4624
|
};
|
|
4625
|
-
},
|
|
4625
|
+
}, Fl = function(n) {
|
|
4626
4626
|
return n === void 0 && (n = {}), {
|
|
4627
4627
|
name: "shift",
|
|
4628
4628
|
options: n,
|
|
@@ -4705,7 +4705,7 @@ function Ge(n) {
|
|
|
4705
4705
|
function jn(n) {
|
|
4706
4706
|
return !Jt() || typeof ShadowRoot > "u" ? !1 : n instanceof ShadowRoot || n instanceof Ie(n).ShadowRoot;
|
|
4707
4707
|
}
|
|
4708
|
-
const
|
|
4708
|
+
const Pl = /* @__PURE__ */ new Set(["inline", "contents"]);
|
|
4709
4709
|
function St(n) {
|
|
4710
4710
|
const {
|
|
4711
4711
|
overflow: e,
|
|
@@ -4713,7 +4713,7 @@ function St(n) {
|
|
|
4713
4713
|
overflowY: o,
|
|
4714
4714
|
display: s
|
|
4715
4715
|
} = He(n);
|
|
4716
|
-
return /auto|scroll|overlay|hidden|clip/.test(e + o + t) && !
|
|
4716
|
+
return /auto|scroll|overlay|hidden|clip/.test(e + o + t) && !Pl.has(s);
|
|
4717
4717
|
}
|
|
4718
4718
|
const Tl = /* @__PURE__ */ new Set(["table", "td", "th"]);
|
|
4719
4719
|
function Al(n) {
|
|
@@ -4843,8 +4843,8 @@ function ut(n, e, t, o) {
|
|
|
4843
4843
|
const f = Ie(l), _ = o && Ne(o) ? Ie(o) : o;
|
|
4844
4844
|
let S = f, D = dn(S);
|
|
4845
4845
|
for (; D && o && _ !== S; ) {
|
|
4846
|
-
const w = ft(D), y = D.getBoundingClientRect(), h = He(D), b = y.left + (D.clientLeft + parseFloat(h.paddingLeft)) * w.x,
|
|
4847
|
-
d *= w.x, u *= w.y, p *= w.x, m *= w.y, d += b, u +=
|
|
4846
|
+
const w = ft(D), y = D.getBoundingClientRect(), h = He(D), b = y.left + (D.clientLeft + parseFloat(h.paddingLeft)) * w.x, k = y.top + (D.clientTop + parseFloat(h.paddingTop)) * w.y;
|
|
4847
|
+
d *= w.x, u *= w.y, p *= w.x, m *= w.y, d += b, u += k, S = Ie(D), D = dn(S);
|
|
4848
4848
|
}
|
|
4849
4849
|
}
|
|
4850
4850
|
return Bt({
|
|
@@ -5036,7 +5036,7 @@ function Wn(n, e) {
|
|
|
5036
5036
|
let t = n.offsetParent;
|
|
5037
5037
|
return Ye(n) === t && (t = t.ownerDocument.body), t;
|
|
5038
5038
|
}
|
|
5039
|
-
function
|
|
5039
|
+
function Fo(n, e) {
|
|
5040
5040
|
const t = Ie(n);
|
|
5041
5041
|
if (Zt(n))
|
|
5042
5042
|
return t;
|
|
@@ -5055,7 +5055,7 @@ function Po(n, e) {
|
|
|
5055
5055
|
return o && pt(o) && on(o) && !$n(o) ? t : o || Rl(n) || t;
|
|
5056
5056
|
}
|
|
5057
5057
|
const Xl = async function(n) {
|
|
5058
|
-
const e = this.getOffsetParent ||
|
|
5058
|
+
const e = this.getOffsetParent || Fo, t = this.getDimensions, o = await t(n.floating);
|
|
5059
5059
|
return {
|
|
5060
5060
|
reference: Ql(n.reference, await e(n.floating), n.strategy),
|
|
5061
5061
|
floating: {
|
|
@@ -5073,7 +5073,7 @@ const Zl = {
|
|
|
5073
5073
|
convertOffsetParentRelativeRectToViewportRelativeRect: Nl,
|
|
5074
5074
|
getDocumentElement: Ye,
|
|
5075
5075
|
getClippingRect: Gl,
|
|
5076
|
-
getOffsetParent:
|
|
5076
|
+
getOffsetParent: Fo,
|
|
5077
5077
|
getElementRects: Xl,
|
|
5078
5078
|
getClientRects: Hl,
|
|
5079
5079
|
getDimensions: Yl,
|
|
@@ -5081,7 +5081,7 @@ const Zl = {
|
|
|
5081
5081
|
isElement: Ne,
|
|
5082
5082
|
isRTL: Jl
|
|
5083
5083
|
};
|
|
5084
|
-
function
|
|
5084
|
+
function Po(n, e) {
|
|
5085
5085
|
return n.x === e.x && n.y === e.y && n.width === e.width && n.height === e.height;
|
|
5086
5086
|
}
|
|
5087
5087
|
function ec(n, e) {
|
|
@@ -5105,17 +5105,17 @@ function ec(n, e) {
|
|
|
5105
5105
|
rootMargin: -S + "px " + -D + "px " + -w + "px " + -y + "px",
|
|
5106
5106
|
threshold: ct(0, Mt(1, d)) || 1
|
|
5107
5107
|
};
|
|
5108
|
-
let
|
|
5108
|
+
let k = !0;
|
|
5109
5109
|
function C(V) {
|
|
5110
5110
|
const R = V[0].intersectionRatio;
|
|
5111
5111
|
if (R !== d) {
|
|
5112
|
-
if (!
|
|
5112
|
+
if (!k)
|
|
5113
5113
|
return c();
|
|
5114
5114
|
R ? c(!1, R) : o = setTimeout(() => {
|
|
5115
5115
|
c(!1, 1e-7);
|
|
5116
5116
|
}, 1e3);
|
|
5117
5117
|
}
|
|
5118
|
-
R === 1 && !
|
|
5118
|
+
R === 1 && !Po(u, n.getBoundingClientRect()) && c(), k = !1;
|
|
5119
5119
|
}
|
|
5120
5120
|
try {
|
|
5121
5121
|
t = new IntersectionObserver(C, {
|
|
@@ -5157,7 +5157,7 @@ function To(n, e, t, o) {
|
|
|
5157
5157
|
d && w();
|
|
5158
5158
|
function w() {
|
|
5159
5159
|
const y = ut(n);
|
|
5160
|
-
D && !
|
|
5160
|
+
D && !Po(D, y) && t(), D = y, S = requestAnimationFrame(w);
|
|
5161
5161
|
}
|
|
5162
5162
|
return t(), () => {
|
|
5163
5163
|
var y;
|
|
@@ -5166,7 +5166,7 @@ function To(n, e, t, o) {
|
|
|
5166
5166
|
}), m?.(), (y = _) == null || y.disconnect(), _ = null, d && cancelAnimationFrame(S);
|
|
5167
5167
|
};
|
|
5168
5168
|
}
|
|
5169
|
-
const Rt = El, Lt =
|
|
5169
|
+
const Rt = El, Lt = Fl, Vt = Sl, zt = (n, e, t) => {
|
|
5170
5170
|
const o = /* @__PURE__ */ new Map(), s = {
|
|
5171
5171
|
platform: Zl,
|
|
5172
5172
|
...t
|
|
@@ -5318,7 +5318,7 @@ const Ao = { render: nc }, oc = ["disabled", "title"], sc = ["data-theme"], ic =
|
|
|
5318
5318
|
class: X(["vuefinder__search-modal__dropdown-btn", { "vuefinder__search-modal__dropdown-btn--active": n.visible }]),
|
|
5319
5319
|
disabled: n.disabled,
|
|
5320
5320
|
title: a(c)("Search Options"),
|
|
5321
|
-
onClick:
|
|
5321
|
+
onClick: pe(m, ["stop"])
|
|
5322
5322
|
}, [
|
|
5323
5323
|
L(a(Ao), { class: "vuefinder__search-modal__dropdown-icon" })
|
|
5324
5324
|
], 10, oc),
|
|
@@ -5330,21 +5330,21 @@ const Ao = { render: nc }, oc = ["disabled", "title"], sc = ["data-theme"], ic =
|
|
|
5330
5330
|
class: "vuefinder__themer vuefinder__search-modal__dropdown vuefinder__search-modal__dropdown--visible",
|
|
5331
5331
|
"data-theme": a(l).theme.current,
|
|
5332
5332
|
tabindex: "-1",
|
|
5333
|
-
onClick: w[4] || (w[4] =
|
|
5333
|
+
onClick: w[4] || (w[4] = pe(() => {
|
|
5334
5334
|
}, ["stop"])),
|
|
5335
5335
|
onKeydown: _
|
|
5336
5336
|
}, [
|
|
5337
5337
|
i("div", ic, [
|
|
5338
5338
|
i("div", ac, [
|
|
5339
|
-
i("div", rc,
|
|
5339
|
+
i("div", rc, x(a(c)("File Size")), 1),
|
|
5340
5340
|
i("div", lc, [
|
|
5341
5341
|
i("div", {
|
|
5342
5342
|
class: X(["vuefinder__search-modal__dropdown-option", {
|
|
5343
5343
|
"vuefinder__search-modal__dropdown-option--selected": n.sizeFilter === "all"
|
|
5344
5344
|
}]),
|
|
5345
|
-
onClick: w[0] || (w[0] =
|
|
5345
|
+
onClick: w[0] || (w[0] = pe((y) => p("size-all"), ["stop"]))
|
|
5346
5346
|
}, [
|
|
5347
|
-
i("span", null,
|
|
5347
|
+
i("span", null, x(a(c)("All Files")), 1),
|
|
5348
5348
|
n.sizeFilter === "all" ? (v(), g("div", cc, [...w[5] || (w[5] = [
|
|
5349
5349
|
i("svg", {
|
|
5350
5350
|
viewBox: "0 0 16 16",
|
|
@@ -5358,9 +5358,9 @@ const Ao = { render: nc }, oc = ["disabled", "title"], sc = ["data-theme"], ic =
|
|
|
5358
5358
|
class: X(["vuefinder__search-modal__dropdown-option", {
|
|
5359
5359
|
"vuefinder__search-modal__dropdown-option--selected": n.sizeFilter === "small"
|
|
5360
5360
|
}]),
|
|
5361
|
-
onClick: w[1] || (w[1] =
|
|
5361
|
+
onClick: w[1] || (w[1] = pe((y) => p("size-small"), ["stop"]))
|
|
5362
5362
|
}, [
|
|
5363
|
-
i("span", null,
|
|
5363
|
+
i("span", null, x(a(c)("Small (< 1MB)")), 1),
|
|
5364
5364
|
n.sizeFilter === "small" ? (v(), g("div", dc, [...w[6] || (w[6] = [
|
|
5365
5365
|
i("svg", {
|
|
5366
5366
|
viewBox: "0 0 16 16",
|
|
@@ -5374,9 +5374,9 @@ const Ao = { render: nc }, oc = ["disabled", "title"], sc = ["data-theme"], ic =
|
|
|
5374
5374
|
class: X(["vuefinder__search-modal__dropdown-option", {
|
|
5375
5375
|
"vuefinder__search-modal__dropdown-option--selected": n.sizeFilter === "medium"
|
|
5376
5376
|
}]),
|
|
5377
|
-
onClick: w[2] || (w[2] =
|
|
5377
|
+
onClick: w[2] || (w[2] = pe((y) => p("size-medium"), ["stop"]))
|
|
5378
5378
|
}, [
|
|
5379
|
-
i("span", null,
|
|
5379
|
+
i("span", null, x(a(c)("Medium (1-10MB)")), 1),
|
|
5380
5380
|
n.sizeFilter === "medium" ? (v(), g("div", uc, [...w[7] || (w[7] = [
|
|
5381
5381
|
i("svg", {
|
|
5382
5382
|
viewBox: "0 0 16 16",
|
|
@@ -5390,9 +5390,9 @@ const Ao = { render: nc }, oc = ["disabled", "title"], sc = ["data-theme"], ic =
|
|
|
5390
5390
|
class: X(["vuefinder__search-modal__dropdown-option", {
|
|
5391
5391
|
"vuefinder__search-modal__dropdown-option--selected": n.sizeFilter === "large"
|
|
5392
5392
|
}]),
|
|
5393
|
-
onClick: w[3] || (w[3] =
|
|
5393
|
+
onClick: w[3] || (w[3] = pe((y) => p("size-large"), ["stop"]))
|
|
5394
5394
|
}, [
|
|
5395
|
-
i("span", null,
|
|
5395
|
+
i("span", null, x(a(c)("Large (> 10MB)")), 1),
|
|
5396
5396
|
n.sizeFilter === "large" ? (v(), g("div", fc, [...w[8] || (w[8] = [
|
|
5397
5397
|
i("svg", {
|
|
5398
5398
|
viewBox: "0 0 16 16",
|
|
@@ -5497,13 +5497,13 @@ const Oo = { render: gc }, wc = ["title"], yc = { class: "vuefinder__search-moda
|
|
|
5497
5497
|
transition: "opacity 150ms ease-out, transform 150ms ease-out"
|
|
5498
5498
|
});
|
|
5499
5499
|
try {
|
|
5500
|
-
const { x, y: C } = await zt(h, b, {
|
|
5500
|
+
const { x: k, y: C } = await zt(h, b, {
|
|
5501
5501
|
placement: "left-start",
|
|
5502
5502
|
strategy: "fixed",
|
|
5503
5503
|
middleware: [Rt(8), Vt({ padding: 16 }), Lt({ padding: 16 })]
|
|
5504
5504
|
});
|
|
5505
5505
|
Object.assign(b.style, {
|
|
5506
|
-
left: `${
|
|
5506
|
+
left: `${k}px`,
|
|
5507
5507
|
top: `${C}px`
|
|
5508
5508
|
}), requestAnimationFrame(() => {
|
|
5509
5509
|
b && Object.assign(b.style, {
|
|
@@ -5511,29 +5511,29 @@ const Oo = { render: gc }, wc = ["title"], yc = { class: "vuefinder__search-moda
|
|
|
5511
5511
|
transform: "translateY(0)"
|
|
5512
5512
|
});
|
|
5513
5513
|
});
|
|
5514
|
-
} catch (
|
|
5515
|
-
console.warn("Floating UI initial positioning error:",
|
|
5514
|
+
} catch (k) {
|
|
5515
|
+
console.warn("Floating UI initial positioning error:", k);
|
|
5516
5516
|
return;
|
|
5517
5517
|
}
|
|
5518
5518
|
try {
|
|
5519
5519
|
r = To(h, b, async () => {
|
|
5520
5520
|
if (!(!h || !b))
|
|
5521
5521
|
try {
|
|
5522
|
-
const { x, y: C } = await zt(h, b, {
|
|
5522
|
+
const { x: k, y: C } = await zt(h, b, {
|
|
5523
5523
|
placement: "left-start",
|
|
5524
5524
|
strategy: "fixed",
|
|
5525
5525
|
middleware: [Rt(8), Vt({ padding: 16 }), Lt({ padding: 16 })]
|
|
5526
5526
|
});
|
|
5527
5527
|
Object.assign(b.style, {
|
|
5528
|
-
left: `${
|
|
5528
|
+
left: `${k}px`,
|
|
5529
5529
|
top: `${C}px`
|
|
5530
5530
|
});
|
|
5531
|
-
} catch (
|
|
5532
|
-
console.warn("Floating UI positioning error:",
|
|
5531
|
+
} catch (k) {
|
|
5532
|
+
console.warn("Floating UI positioning error:", k);
|
|
5533
5533
|
}
|
|
5534
5534
|
});
|
|
5535
|
-
} catch (
|
|
5536
|
-
console.warn("Floating UI autoUpdate setup error:",
|
|
5535
|
+
} catch (k) {
|
|
5536
|
+
console.warn("Floating UI autoUpdate setup error:", k), r = null;
|
|
5537
5537
|
}
|
|
5538
5538
|
}
|
|
5539
5539
|
}, f = (y) => {
|
|
@@ -5546,17 +5546,17 @@ const Oo = { render: gc }, wc = ["title"], yc = { class: "vuefinder__search-moda
|
|
|
5546
5546
|
o("preview", y);
|
|
5547
5547
|
}, w = (y) => {
|
|
5548
5548
|
if (!t.activeDropdown) return;
|
|
5549
|
-
const h = ["copy-path", "open-folder", "preview"], b = t.selectedItemDropdownOption,
|
|
5549
|
+
const h = ["copy-path", "open-folder", "preview"], b = t.selectedItemDropdownOption, k = h.findIndex((C) => b?.includes(C));
|
|
5550
5550
|
if (y.key === "ArrowDown") {
|
|
5551
5551
|
y.preventDefault();
|
|
5552
|
-
const C = (
|
|
5552
|
+
const C = (k + 1) % h.length;
|
|
5553
5553
|
o(
|
|
5554
5554
|
"update:selectedItemDropdownOption",
|
|
5555
5555
|
`${h[C] || ""}-${t.activeDropdown}`
|
|
5556
5556
|
);
|
|
5557
5557
|
} else if (y.key === "ArrowUp") {
|
|
5558
5558
|
y.preventDefault();
|
|
5559
|
-
const C =
|
|
5559
|
+
const C = k <= 0 ? h.length - 1 : k - 1;
|
|
5560
5560
|
o(
|
|
5561
5561
|
"update:selectedItemDropdownOption",
|
|
5562
5562
|
`${h[C] || ""}-${t.activeDropdown}`
|
|
@@ -5573,16 +5573,16 @@ const Oo = { render: gc }, wc = ["title"], yc = { class: "vuefinder__search-moda
|
|
|
5573
5573
|
]),
|
|
5574
5574
|
i("div", bc, [
|
|
5575
5575
|
i("div", kc, [
|
|
5576
|
-
de(
|
|
5577
|
-
u(n.item) ? (v(), g("span", xc,
|
|
5576
|
+
de(x(n.item.basename) + " ", 1),
|
|
5577
|
+
u(n.item) ? (v(), g("span", xc, x(u(n.item)), 1)) : O("", !0)
|
|
5578
5578
|
]),
|
|
5579
5579
|
i("div", {
|
|
5580
5580
|
class: "vuefinder__search-modal__result-path",
|
|
5581
5581
|
title: n.item.path,
|
|
5582
|
-
onClick: h[0] || (h[0] =
|
|
5582
|
+
onClick: h[0] || (h[0] = pe((b) => {
|
|
5583
5583
|
o("select", n.index), o("togglePathExpansion", n.item.path);
|
|
5584
5584
|
}, ["stop"]))
|
|
5585
|
-
},
|
|
5585
|
+
}, x(d(n.item.path) ? n.item.path : a(Mo)(n.item.path)), 9, $c)
|
|
5586
5586
|
]),
|
|
5587
5587
|
i("button", {
|
|
5588
5588
|
ref_key: "buttonElementRef",
|
|
@@ -5602,7 +5602,7 @@ const Oo = { render: gc }, wc = ["title"], yc = { class: "vuefinder__search-moda
|
|
|
5602
5602
|
class: "vuefinder__themer vuefinder__search-modal__item-dropdown vuefinder__search-modal__item-dropdown--visible",
|
|
5603
5603
|
"data-theme": a(s).theme.current,
|
|
5604
5604
|
tabindex: "-1",
|
|
5605
|
-
onClick: h[8] || (h[8] =
|
|
5605
|
+
onClick: h[8] || (h[8] = pe(() => {
|
|
5606
5606
|
}, ["stop"])),
|
|
5607
5607
|
onKeydown: w
|
|
5608
5608
|
}, [
|
|
@@ -5624,7 +5624,7 @@ const Oo = { render: gc }, wc = ["title"], yc = { class: "vuefinder__search-moda
|
|
|
5624
5624
|
i("path", { d: "M4 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V2zm2-1a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H6z" }),
|
|
5625
5625
|
i("path", { d: "M2 5a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1v-1h1v1a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h1v1H2z" })
|
|
5626
5626
|
], -1)),
|
|
5627
|
-
i("span", null,
|
|
5627
|
+
i("span", null, x(a(l)("Copy Path")), 1)
|
|
5628
5628
|
], 34),
|
|
5629
5629
|
i("div", {
|
|
5630
5630
|
class: X(["vuefinder__search-modal__item-dropdown-option", {
|
|
@@ -5636,7 +5636,7 @@ const Oo = { render: gc }, wc = ["title"], yc = { class: "vuefinder__search-moda
|
|
|
5636
5636
|
onFocus: h[5] || (h[5] = (b) => f(`open-folder-${n.item.path}`))
|
|
5637
5637
|
}, [
|
|
5638
5638
|
L(a(Je), { class: "vuefinder__search-modal__item-dropdown-icon" }),
|
|
5639
|
-
i("span", null,
|
|
5639
|
+
i("span", null, x(a(l)("Open Containing Folder")), 1)
|
|
5640
5640
|
], 34),
|
|
5641
5641
|
i("div", {
|
|
5642
5642
|
class: X(["vuefinder__search-modal__item-dropdown-option", {
|
|
@@ -5648,17 +5648,17 @@ const Oo = { render: gc }, wc = ["title"], yc = { class: "vuefinder__search-moda
|
|
|
5648
5648
|
onFocus: h[7] || (h[7] = (b) => f(`preview-${n.item.path}`))
|
|
5649
5649
|
}, [
|
|
5650
5650
|
L(a(At), { class: "vuefinder__search-modal__item-dropdown-icon" }),
|
|
5651
|
-
i("span", null,
|
|
5651
|
+
i("span", null, x(a(l)("Preview")), 1)
|
|
5652
5652
|
], 34)
|
|
5653
5653
|
])
|
|
5654
5654
|
], 40, Cc)) : O("", !0)
|
|
5655
5655
|
]))
|
|
5656
5656
|
], 10, wc));
|
|
5657
5657
|
}
|
|
5658
|
-
}),
|
|
5658
|
+
}), Fc = {
|
|
5659
5659
|
key: 0,
|
|
5660
5660
|
class: "vuefinder__search-modal__searching"
|
|
5661
|
-
},
|
|
5661
|
+
}, Pc = { class: "vuefinder__search-modal__loading-icon" }, Tc = {
|
|
5662
5662
|
key: 1,
|
|
5663
5663
|
class: "vuefinder__search-modal__no-results"
|
|
5664
5664
|
}, Ac = {
|
|
@@ -5679,28 +5679,28 @@ const Oo = { render: gc }, wc = ["title"], yc = { class: "vuefinder__search-moda
|
|
|
5679
5679
|
emits: ["selectResultItem", "selectResultItemWithDropdown", "togglePathExpansion", "toggleItemDropdown", "update:selectedItemDropdownOption", "copyPath", "openContainingFolder", "preview"],
|
|
5680
5680
|
setup(n, { expose: e, emit: t }) {
|
|
5681
5681
|
const o = n, s = t, l = se(), { t: c } = l.i18n, r = tt("scrollableContainer"), d = H(() => o.searchResults.length > 0), u = H(() => o.searchResults.length), p = T(0), m = T(600), f = H(() => o.searchResults.length * rt), _ = H(() => {
|
|
5682
|
-
const b = Math.max(0, Math.floor(p.value / rt) - Gn),
|
|
5682
|
+
const b = Math.max(0, Math.floor(p.value / rt) - Gn), k = Math.min(
|
|
5683
5683
|
o.searchResults.length,
|
|
5684
5684
|
Math.ceil((p.value + m.value) / rt) + Gn
|
|
5685
5685
|
);
|
|
5686
|
-
return { start: b, end:
|
|
5686
|
+
return { start: b, end: k };
|
|
5687
5687
|
}), S = H(() => {
|
|
5688
|
-
const { start: b, end:
|
|
5689
|
-
return o.searchResults.slice(b,
|
|
5688
|
+
const { start: b, end: k } = _.value;
|
|
5689
|
+
return o.searchResults.slice(b, k).map((C, V) => ({
|
|
5690
5690
|
item: C,
|
|
5691
5691
|
index: b + V,
|
|
5692
5692
|
top: (b + V) * rt
|
|
5693
5693
|
}));
|
|
5694
5694
|
}), D = (b) => {
|
|
5695
|
-
const
|
|
5696
|
-
p.value =
|
|
5695
|
+
const k = b.target;
|
|
5696
|
+
p.value = k.scrollTop;
|
|
5697
5697
|
}, w = () => {
|
|
5698
5698
|
r.value && (m.value = r.value.clientHeight);
|
|
5699
5699
|
}, y = () => {
|
|
5700
5700
|
if (o.selectedIndex >= 0 && r.value) {
|
|
5701
|
-
const b = o.selectedIndex * rt,
|
|
5701
|
+
const b = o.selectedIndex * rt, k = b + rt, C = r.value.scrollTop, V = r.value.clientHeight, R = C + V;
|
|
5702
5702
|
let q = C;
|
|
5703
|
-
b < C ? q = b :
|
|
5703
|
+
b < C ? q = b : k > R && (q = k - V), q !== C && r.value.scrollTo({
|
|
5704
5704
|
top: q,
|
|
5705
5705
|
behavior: "smooth"
|
|
5706
5706
|
});
|
|
@@ -5722,17 +5722,17 @@ const Oo = { render: gc }, wc = ["title"], yc = { class: "vuefinder__search-moda
|
|
|
5722
5722
|
resetScroll: h,
|
|
5723
5723
|
getContainerHeight: () => m.value,
|
|
5724
5724
|
scrollTop: () => p.value
|
|
5725
|
-
}), (b,
|
|
5725
|
+
}), (b, k) => (v(), g("div", {
|
|
5726
5726
|
class: X(["vuefinder__search-modal__results", { "vuefinder__search-modal__results--enter": n.resultsEnter }])
|
|
5727
5727
|
}, [
|
|
5728
|
-
n.isSearching ? (v(), g("div",
|
|
5729
|
-
i("div",
|
|
5728
|
+
n.isSearching ? (v(), g("div", Fc, [
|
|
5729
|
+
i("div", Pc, [
|
|
5730
5730
|
L(a(Yt), { class: "vuefinder__search-modal__loading-icon" })
|
|
5731
5731
|
]),
|
|
5732
|
-
i("span", null,
|
|
5732
|
+
i("span", null, x(a(c)("Searching...")), 1)
|
|
5733
5733
|
])) : d.value ? (v(), g("div", Ac, [
|
|
5734
5734
|
i("div", Mc, [
|
|
5735
|
-
i("span", null,
|
|
5735
|
+
i("span", null, x(a(c)("Found %s results", u.value)), 1)
|
|
5736
5736
|
]),
|
|
5737
5737
|
i("div", {
|
|
5738
5738
|
ref_key: "scrollableContainer",
|
|
@@ -5761,20 +5761,20 @@ const Oo = { render: gc }, wc = ["title"], yc = { class: "vuefinder__search-moda
|
|
|
5761
5761
|
"expanded-paths": n.expandedPaths,
|
|
5762
5762
|
"active-dropdown": n.activeDropdown,
|
|
5763
5763
|
"selected-item-dropdown-option": n.selectedItemDropdownOption,
|
|
5764
|
-
onSelect:
|
|
5765
|
-
onSelectWithDropdown:
|
|
5766
|
-
onTogglePathExpansion:
|
|
5767
|
-
onToggleItemDropdown:
|
|
5768
|
-
"onUpdate:selectedItemDropdownOption":
|
|
5769
|
-
onCopyPath:
|
|
5770
|
-
onOpenContainingFolder:
|
|
5771
|
-
onPreview:
|
|
5764
|
+
onSelect: k[0] || (k[0] = (V) => s("selectResultItem", V)),
|
|
5765
|
+
onSelectWithDropdown: k[1] || (k[1] = (V) => s("selectResultItemWithDropdown", V)),
|
|
5766
|
+
onTogglePathExpansion: k[2] || (k[2] = (V) => s("togglePathExpansion", V)),
|
|
5767
|
+
onToggleItemDropdown: k[3] || (k[3] = (V, R) => s("toggleItemDropdown", V, R)),
|
|
5768
|
+
"onUpdate:selectedItemDropdownOption": k[4] || (k[4] = (V) => s("update:selectedItemDropdownOption", V)),
|
|
5769
|
+
onCopyPath: k[5] || (k[5] = (V) => s("copyPath", V)),
|
|
5770
|
+
onOpenContainingFolder: k[6] || (k[6] = (V) => s("openContainingFolder", V)),
|
|
5771
|
+
onPreview: k[7] || (k[7] = (V) => s("preview", V))
|
|
5772
5772
|
}, null, 8, ["item", "index", "selected-index", "expanded-paths", "active-dropdown", "selected-item-dropdown-option"])
|
|
5773
5773
|
], 4))), 128))
|
|
5774
5774
|
], 4)
|
|
5775
5775
|
], 544)
|
|
5776
5776
|
])) : (v(), g("div", Tc, [
|
|
5777
|
-
i("span", null,
|
|
5777
|
+
i("span", null, x(a(c)("No results found")), 1)
|
|
5778
5778
|
]))
|
|
5779
5779
|
], 2));
|
|
5780
5780
|
}
|
|
@@ -5788,25 +5788,25 @@ const Oo = { render: gc }, wc = ["title"], yc = { class: "vuefinder__search-moda
|
|
|
5788
5788
|
name: "ModalSearch",
|
|
5789
5789
|
__name: "ModalSearch",
|
|
5790
5790
|
setup(n) {
|
|
5791
|
-
const e = se(), { t } = e.i18n, o = e.fs, s = T(null), l = T(null), c = T(null), r = go("", 300), d = T([]), u = T(!1), p = T(-1), m = T(!1), f = T(!1), _ = T(null), S = T("all"), D = T(!1), w = T(`size-${S.value}`), y = T(null), h = T(/* @__PURE__ */ new Set()), b = T(null),
|
|
5791
|
+
const e = se(), { t } = e.i18n, o = e.fs, s = T(null), l = T(null), c = T(null), r = go("", 300), d = T([]), u = T(!1), p = T(-1), m = T(!1), f = T(!1), _ = T(null), S = T("all"), D = T(!1), w = T(`size-${S.value}`), y = T(null), h = T(/* @__PURE__ */ new Set()), b = T(null), k = J(o.path), C = ($) => {
|
|
5792
5792
|
h.value.has($) ? h.value.delete($) : h.value.add($);
|
|
5793
|
-
}, V = ($,
|
|
5794
|
-
|
|
5793
|
+
}, V = ($, P) => {
|
|
5794
|
+
P && typeof P.stopPropagation == "function" && P.stopPropagation(), b.value === $ ? b.value = null : b.value = $;
|
|
5795
5795
|
}, R = () => {
|
|
5796
5796
|
b.value = null;
|
|
5797
5797
|
}, q = ($) => {
|
|
5798
5798
|
try {
|
|
5799
|
-
const
|
|
5800
|
-
e.adapter.open(
|
|
5799
|
+
const P = $.dir || `${$.storage}://`;
|
|
5800
|
+
e.adapter.open(P), e.modal.close(), R();
|
|
5801
5801
|
} catch {
|
|
5802
|
-
|
|
5802
|
+
fe.error(t("Failed to open containing folder"));
|
|
5803
5803
|
}
|
|
5804
5804
|
}, B = ($) => {
|
|
5805
5805
|
e.modal.open(qt, {
|
|
5806
|
-
storage:
|
|
5806
|
+
storage: k?.value?.storage ?? "local",
|
|
5807
5807
|
item: $
|
|
5808
5808
|
}), R();
|
|
5809
|
-
},
|
|
5809
|
+
}, F = ($) => {
|
|
5810
5810
|
p.value = $, R();
|
|
5811
5811
|
}, K = ($) => {
|
|
5812
5812
|
p.value = $;
|
|
@@ -5824,15 +5824,15 @@ const Oo = { render: gc }, wc = ["title"], yc = { class: "vuefinder__search-moda
|
|
|
5824
5824
|
if ($) {
|
|
5825
5825
|
u.value = !0;
|
|
5826
5826
|
try {
|
|
5827
|
-
const
|
|
5828
|
-
path:
|
|
5827
|
+
const P = _.value?.path || k?.value?.path, M = await e.adapter.search({
|
|
5828
|
+
path: P,
|
|
5829
5829
|
filter: $,
|
|
5830
5830
|
deep: D.value,
|
|
5831
5831
|
size: S.value
|
|
5832
5832
|
});
|
|
5833
5833
|
d.value = M || [], u.value = !1;
|
|
5834
|
-
} catch (
|
|
5835
|
-
|
|
5834
|
+
} catch (P) {
|
|
5835
|
+
fe.error(Be(P, t("Search failed"))), d.value = [], u.value = !1;
|
|
5836
5836
|
}
|
|
5837
5837
|
}
|
|
5838
5838
|
};
|
|
@@ -5852,15 +5852,15 @@ const Oo = { render: gc }, wc = ["title"], yc = { class: "vuefinder__search-moda
|
|
|
5852
5852
|
document.removeEventListener("click", E), l.value && l.value.cleanup();
|
|
5853
5853
|
});
|
|
5854
5854
|
const E = ($) => {
|
|
5855
|
-
const
|
|
5856
|
-
if (m.value && (
|
|
5855
|
+
const P = $.target;
|
|
5856
|
+
if (m.value && (P.closest(".vuefinder__search-modal__dropdown") || (m.value = !1, Oe(() => {
|
|
5857
5857
|
s.value && s.value.focus();
|
|
5858
5858
|
}))), b.value) {
|
|
5859
|
-
const M =
|
|
5859
|
+
const M = P.closest(".vuefinder__search-modal__item-dropdown"), W = P.closest(".vuefinder__search-modal__result-item");
|
|
5860
5860
|
!M && !W && R();
|
|
5861
5861
|
}
|
|
5862
5862
|
};
|
|
5863
|
-
return ($,
|
|
5863
|
+
return ($, P) => (v(), j(Re, { class: "vuefinder__search-modal-layout" }, {
|
|
5864
5864
|
default: oe(() => [
|
|
5865
5865
|
i("div", Oc, [
|
|
5866
5866
|
L(ze, {
|
|
@@ -5873,7 +5873,7 @@ const Oo = { render: gc }, wc = ["title"], yc = { class: "vuefinder__search-moda
|
|
|
5873
5873
|
ref_key: "searchInputRef",
|
|
5874
5874
|
ref: s,
|
|
5875
5875
|
modelValue: a(r),
|
|
5876
|
-
"onUpdate:modelValue":
|
|
5876
|
+
"onUpdate:modelValue": P[0] || (P[0] = (M) => Qo(r) ? r.value = M : null),
|
|
5877
5877
|
"is-searching": u.value,
|
|
5878
5878
|
disabled: f.value
|
|
5879
5879
|
}, null, 8, ["modelValue", "is-searching", "disabled"]),
|
|
@@ -5881,30 +5881,30 @@ const Oo = { render: gc }, wc = ["title"], yc = { class: "vuefinder__search-moda
|
|
|
5881
5881
|
ref_key: "searchOptionsDropdownRef",
|
|
5882
5882
|
ref: l,
|
|
5883
5883
|
visible: m.value,
|
|
5884
|
-
"onUpdate:visible":
|
|
5884
|
+
"onUpdate:visible": P[1] || (P[1] = (M) => m.value = M),
|
|
5885
5885
|
"size-filter": S.value,
|
|
5886
|
-
"onUpdate:sizeFilter":
|
|
5886
|
+
"onUpdate:sizeFilter": P[2] || (P[2] = (M) => S.value = M),
|
|
5887
5887
|
"selected-option": w.value,
|
|
5888
|
-
"onUpdate:selectedOption":
|
|
5888
|
+
"onUpdate:selectedOption": P[3] || (P[3] = (M) => w.value = M),
|
|
5889
5889
|
disabled: f.value
|
|
5890
5890
|
}, null, 8, ["visible", "size-filter", "selected-option", "disabled"])
|
|
5891
5891
|
]),
|
|
5892
5892
|
i("div", {
|
|
5893
5893
|
class: "vuefinder__search-modal__options",
|
|
5894
|
-
onClick:
|
|
5894
|
+
onClick: P[7] || (P[7] = pe(() => {
|
|
5895
5895
|
}, ["stop"]))
|
|
5896
5896
|
}, [
|
|
5897
5897
|
i("div", Lc, [
|
|
5898
5898
|
i("button", {
|
|
5899
5899
|
class: X(["vuefinder__search-modal__location-btn", { "vuefinder__search-modal__location-btn--open": f.value }]),
|
|
5900
|
-
onClick:
|
|
5900
|
+
onClick: pe(Z, ["stop"])
|
|
5901
5901
|
}, [
|
|
5902
5902
|
L(a(Je), { class: "vuefinder__search-modal__location-icon" }),
|
|
5903
5903
|
i("span", {
|
|
5904
5904
|
class: "vuefinder__search-modal__location-text",
|
|
5905
|
-
title: _.value?.path || a(
|
|
5906
|
-
},
|
|
5907
|
-
|
|
5905
|
+
title: _.value?.path || a(k).path
|
|
5906
|
+
}, x(a(Mo)(_.value?.path || a(k).path)), 9, Vc),
|
|
5907
|
+
P[10] || (P[10] = i("svg", {
|
|
5908
5908
|
class: "vuefinder__search-modal__location-arrow",
|
|
5909
5909
|
viewBox: "0 0 16 16",
|
|
5910
5910
|
fill: "currentColor"
|
|
@@ -5915,20 +5915,20 @@ const Oo = { render: gc }, wc = ["title"], yc = { class: "vuefinder__search-moda
|
|
|
5915
5915
|
]),
|
|
5916
5916
|
i("label", {
|
|
5917
5917
|
class: "vuefinder__search-modal__deep-search",
|
|
5918
|
-
onClick:
|
|
5918
|
+
onClick: P[6] || (P[6] = pe(() => {
|
|
5919
5919
|
}, ["stop"]))
|
|
5920
5920
|
}, [
|
|
5921
5921
|
be(i("input", {
|
|
5922
|
-
"onUpdate:modelValue":
|
|
5922
|
+
"onUpdate:modelValue": P[4] || (P[4] = (M) => D.value = M),
|
|
5923
5923
|
type: "checkbox",
|
|
5924
5924
|
disabled: f.value,
|
|
5925
5925
|
class: "vuefinder__search-modal__checkbox",
|
|
5926
|
-
onClick:
|
|
5926
|
+
onClick: P[5] || (P[5] = pe(() => {
|
|
5927
5927
|
}, ["stop"]))
|
|
5928
5928
|
}, null, 8, zc), [
|
|
5929
5929
|
[vn, D.value]
|
|
5930
5930
|
]),
|
|
5931
|
-
i("span", null,
|
|
5931
|
+
i("span", null, x(a(t)("Include subfolders")), 1)
|
|
5932
5932
|
])
|
|
5933
5933
|
]),
|
|
5934
5934
|
f.value ? (v(), g("div", Nc, [
|
|
@@ -5936,17 +5936,17 @@ const Oo = { render: gc }, wc = ["title"], yc = { class: "vuefinder__search-moda
|
|
|
5936
5936
|
L(bn, {
|
|
5937
5937
|
modelValue: _.value,
|
|
5938
5938
|
"onUpdate:modelValue": [
|
|
5939
|
-
|
|
5939
|
+
P[8] || (P[8] = (M) => _.value = M),
|
|
5940
5940
|
le
|
|
5941
5941
|
],
|
|
5942
5942
|
"show-pinned-folders": !0,
|
|
5943
|
-
"current-path": a(
|
|
5943
|
+
"current-path": a(k),
|
|
5944
5944
|
onSelectAndClose: Q
|
|
5945
5945
|
}, null, 8, ["modelValue", "current-path"])
|
|
5946
5946
|
])
|
|
5947
5947
|
])) : O("", !0),
|
|
5948
5948
|
!a(r).trim() && !f.value ? (v(), g("div", Uc, [
|
|
5949
|
-
i("p", jc,
|
|
5949
|
+
i("p", jc, x(a(t)("Start typing to search files. Use options to filter or include subfolders.")), 1)
|
|
5950
5950
|
])) : O("", !0),
|
|
5951
5951
|
a(r).trim() && !f.value ? (v(), j(Ic, {
|
|
5952
5952
|
key: 2,
|
|
@@ -5959,11 +5959,11 @@ const Oo = { render: gc }, wc = ["title"], yc = { class: "vuefinder__search-moda
|
|
|
5959
5959
|
"active-dropdown": b.value,
|
|
5960
5960
|
"selected-item-dropdown-option": y.value,
|
|
5961
5961
|
"results-enter": !0,
|
|
5962
|
-
onSelectResultItem:
|
|
5962
|
+
onSelectResultItem: F,
|
|
5963
5963
|
onSelectResultItemWithDropdown: K,
|
|
5964
5964
|
onTogglePathExpansion: C,
|
|
5965
5965
|
onToggleItemDropdown: V,
|
|
5966
|
-
"onUpdate:selectedItemDropdownOption":
|
|
5966
|
+
"onUpdate:selectedItemDropdownOption": P[9] || (P[9] = (M) => y.value = M),
|
|
5967
5967
|
onCopyPath: Y,
|
|
5968
5968
|
onOpenContainingFolder: q,
|
|
5969
5969
|
onPreview: B
|
|
@@ -6005,7 +6005,7 @@ function Gc(n, e, t, o, s, l) {
|
|
|
6005
6005
|
return v(), g("div", {
|
|
6006
6006
|
class: X(["vuefinder__action-message", { "vuefinder__action-message--hidden": !o.shown }])
|
|
6007
6007
|
}, [
|
|
6008
|
-
n.$slots.default ? me(n.$slots, "default", { key: 0 }) : (v(), g("span", Wc,
|
|
6008
|
+
n.$slots.default ? me(n.$slots, "default", { key: 0 }) : (v(), g("span", Wc, x(o.t("Saved.")), 1))
|
|
6009
6009
|
], 2);
|
|
6010
6010
|
}
|
|
6011
6011
|
const _t = /* @__PURE__ */ qc(Kc, [["render", Gc]]), Yc = [
|
|
@@ -6042,7 +6042,7 @@ const _t = /* @__PURE__ */ qc(Kc, [["render", Gc]]), Yc = [
|
|
|
6042
6042
|
}, $d = {
|
|
6043
6043
|
key: 3,
|
|
6044
6044
|
class: "vuefinder__about-modal__setting"
|
|
6045
|
-
}, Sd = { class: "vuefinder__about-modal__setting-input justify-end" }, Cd = ["label"], Dd = ["value"], Ed = { class: "vuefinder__about-modal__tab-content" },
|
|
6045
|
+
}, Sd = { class: "vuefinder__about-modal__setting-input justify-end" }, Cd = ["label"], Dd = ["value"], Ed = { class: "vuefinder__about-modal__tab-content" }, Fd = { class: "vuefinder__about-modal__settings__section-title" }, Pd = { class: "vuefinder__about-modal__description" }, Bo = /* @__PURE__ */ te({
|
|
6046
6046
|
__name: "ModalSettings",
|
|
6047
6047
|
setup(n) {
|
|
6048
6048
|
const e = se(), { enabled: t } = Ue(), o = e.config, { clearStore: s } = e.storage, { t: l } = e.i18n, c = J(o.state), r = H(() => c.value.theme || "silver"), d = async () => {
|
|
@@ -6055,7 +6055,7 @@ const _t = /* @__PURE__ */ qc(Kc, [["render", Gc]]), Yc = [
|
|
|
6055
6055
|
o.toggle("compactListView"), e.emitter.emit("vf-compact-view-saved");
|
|
6056
6056
|
}, f = () => {
|
|
6057
6057
|
o.toggle("persist"), e.emitter.emit("vf-persist-path-saved");
|
|
6058
|
-
}, { i18n: _ } =
|
|
6058
|
+
}, { i18n: _ } = Ft("VueFinderOptions"), D = Object.fromEntries(
|
|
6059
6059
|
Object.entries({
|
|
6060
6060
|
ar: "Arabic (العربيّة)",
|
|
6061
6061
|
zhCN: "Chinese-Simplified (简体中文)",
|
|
@@ -6077,13 +6077,13 @@ const _t = /* @__PURE__ */ qc(Kc, [["render", Gc]]), Yc = [
|
|
|
6077
6077
|
tr: "Turkish (Türkçe)"
|
|
6078
6078
|
}).filter(([w]) => Object.keys(_).includes(w))
|
|
6079
6079
|
);
|
|
6080
|
-
return (w, y) => (v(), j(
|
|
6080
|
+
return (w, y) => (v(), j(Re, null, {
|
|
6081
6081
|
buttons: oe(() => [
|
|
6082
6082
|
i("button", {
|
|
6083
6083
|
type: "button",
|
|
6084
6084
|
class: "vf-btn vf-btn-secondary",
|
|
6085
6085
|
onClick: y[2] || (y[2] = (h) => a(e).modal.close())
|
|
6086
|
-
},
|
|
6086
|
+
}, x(a(l)("Close")), 1)
|
|
6087
6087
|
]),
|
|
6088
6088
|
default: oe(() => [
|
|
6089
6089
|
i("div", Qc, [
|
|
@@ -6092,13 +6092,13 @@ const _t = /* @__PURE__ */ qc(Kc, [["render", Gc]]), Yc = [
|
|
|
6092
6092
|
title: a(l)("Settings")
|
|
6093
6093
|
}, null, 8, ["icon", "title"]),
|
|
6094
6094
|
i("div", Xc, [
|
|
6095
|
-
i("div", Jc,
|
|
6095
|
+
i("div", Jc, x(a(l)("Customize your experience with the following settings")), 1),
|
|
6096
6096
|
i("div", Zc, [
|
|
6097
6097
|
i("fieldset", ed, [
|
|
6098
|
-
i("div", td,
|
|
6098
|
+
i("div", td, x(a(l)("General")), 1),
|
|
6099
6099
|
i("div", nd, [
|
|
6100
6100
|
i("div", od, [
|
|
6101
|
-
i("label", sd,
|
|
6101
|
+
i("label", sd, x(a(l)("Use Metric Units")), 1)
|
|
6102
6102
|
]),
|
|
6103
6103
|
i("div", id, [
|
|
6104
6104
|
i("input", {
|
|
@@ -6114,7 +6114,7 @@ const _t = /* @__PURE__ */ qc(Kc, [["render", Gc]]), Yc = [
|
|
|
6114
6114
|
on: "vf-metric-units-saved"
|
|
6115
6115
|
}, {
|
|
6116
6116
|
default: oe(() => [
|
|
6117
|
-
de(
|
|
6117
|
+
de(x(a(l)("Saved.")), 1)
|
|
6118
6118
|
]),
|
|
6119
6119
|
_: 1
|
|
6120
6120
|
})
|
|
@@ -6122,7 +6122,7 @@ const _t = /* @__PURE__ */ qc(Kc, [["render", Gc]]), Yc = [
|
|
|
6122
6122
|
]),
|
|
6123
6123
|
i("div", rd, [
|
|
6124
6124
|
i("div", ld, [
|
|
6125
|
-
i("label", cd,
|
|
6125
|
+
i("label", cd, x(a(l)("Compact list view")), 1)
|
|
6126
6126
|
]),
|
|
6127
6127
|
i("div", dd, [
|
|
6128
6128
|
i("input", {
|
|
@@ -6138,7 +6138,7 @@ const _t = /* @__PURE__ */ qc(Kc, [["render", Gc]]), Yc = [
|
|
|
6138
6138
|
on: "vf-compact-view-saved"
|
|
6139
6139
|
}, {
|
|
6140
6140
|
default: oe(() => [
|
|
6141
|
-
de(
|
|
6141
|
+
de(x(a(l)("Saved.")), 1)
|
|
6142
6142
|
]),
|
|
6143
6143
|
_: 1
|
|
6144
6144
|
})
|
|
@@ -6146,7 +6146,7 @@ const _t = /* @__PURE__ */ qc(Kc, [["render", Gc]]), Yc = [
|
|
|
6146
6146
|
]),
|
|
6147
6147
|
i("div", fd, [
|
|
6148
6148
|
i("div", vd, [
|
|
6149
|
-
i("label", pd,
|
|
6149
|
+
i("label", pd, x(a(l)("Persist path on reload")), 1)
|
|
6150
6150
|
]),
|
|
6151
6151
|
i("div", hd, [
|
|
6152
6152
|
i("input", {
|
|
@@ -6162,13 +6162,13 @@ const _t = /* @__PURE__ */ qc(Kc, [["render", Gc]]), Yc = [
|
|
|
6162
6162
|
on: "vf-persist-path-saved"
|
|
6163
6163
|
}, {
|
|
6164
6164
|
default: oe(() => [
|
|
6165
|
-
de(
|
|
6165
|
+
de(x(a(l)("Saved.")), 1)
|
|
6166
6166
|
]),
|
|
6167
6167
|
_: 1
|
|
6168
6168
|
})
|
|
6169
6169
|
])
|
|
6170
6170
|
]),
|
|
6171
|
-
a(t)("theme") ? (v(), g("div", _d,
|
|
6171
|
+
a(t)("theme") ? (v(), g("div", _d, x(a(l)("Theme")), 1)) : O("", !0),
|
|
6172
6172
|
a(t)("theme") ? (v(), g("div", gd, [
|
|
6173
6173
|
i("div", wd, [
|
|
6174
6174
|
i("select", {
|
|
@@ -6183,7 +6183,7 @@ const _t = /* @__PURE__ */ qc(Kc, [["render", Gc]]), Yc = [
|
|
|
6183
6183
|
(v(!0), g(re, null, _e(a(Yc), (h) => (v(), g("option", {
|
|
6184
6184
|
key: h.name,
|
|
6185
6185
|
value: h.name
|
|
6186
|
-
},
|
|
6186
|
+
}, x(h.displayName), 9, kd))), 128))
|
|
6187
6187
|
], 8, bd)
|
|
6188
6188
|
], 40, yd),
|
|
6189
6189
|
L(_t, {
|
|
@@ -6191,13 +6191,13 @@ const _t = /* @__PURE__ */ qc(Kc, [["render", Gc]]), Yc = [
|
|
|
6191
6191
|
on: "vf-theme-saved"
|
|
6192
6192
|
}, {
|
|
6193
6193
|
default: oe(() => [
|
|
6194
|
-
de(
|
|
6194
|
+
de(x(a(l)("Saved.")), 1)
|
|
6195
6195
|
]),
|
|
6196
6196
|
_: 1
|
|
6197
6197
|
})
|
|
6198
6198
|
])
|
|
6199
6199
|
])) : O("", !0),
|
|
6200
|
-
a(t)("language") && Object.keys(a(D)).length > 1 ? (v(), g("div", xd,
|
|
6200
|
+
a(t)("language") && Object.keys(a(D)).length > 1 ? (v(), g("div", xd, x(a(l)("Language")), 1)) : O("", !0),
|
|
6201
6201
|
a(t)("language") && Object.keys(a(D)).length > 1 ? (v(), g("div", $d, [
|
|
6202
6202
|
i("div", Sd, [
|
|
6203
6203
|
be(i("select", {
|
|
@@ -6211,7 +6211,7 @@ const _t = /* @__PURE__ */ qc(Kc, [["render", Gc]]), Yc = [
|
|
|
6211
6211
|
(v(!0), g(re, null, _e(a(D), (h, b) => (v(), g("option", {
|
|
6212
6212
|
key: b,
|
|
6213
6213
|
value: b
|
|
6214
|
-
},
|
|
6214
|
+
}, x(h), 9, Dd))), 128))
|
|
6215
6215
|
], 8, Cd)
|
|
6216
6216
|
], 512), [
|
|
6217
6217
|
[an, a(e).i18n.locale]
|
|
@@ -6221,7 +6221,7 @@ const _t = /* @__PURE__ */ qc(Kc, [["render", Gc]]), Yc = [
|
|
|
6221
6221
|
on: "vf-language-saved"
|
|
6222
6222
|
}, {
|
|
6223
6223
|
default: oe(() => [
|
|
6224
|
-
de(
|
|
6224
|
+
de(x(a(l)("Saved.")), 1)
|
|
6225
6225
|
]),
|
|
6226
6226
|
_: 1
|
|
6227
6227
|
})
|
|
@@ -6230,13 +6230,13 @@ const _t = /* @__PURE__ */ qc(Kc, [["render", Gc]]), Yc = [
|
|
|
6230
6230
|
])
|
|
6231
6231
|
]),
|
|
6232
6232
|
i("div", Ed, [
|
|
6233
|
-
i("div",
|
|
6234
|
-
i("div",
|
|
6233
|
+
i("div", Fd, x(a(l)("Reset")), 1),
|
|
6234
|
+
i("div", Pd, x(a(l)("Reset all settings to default")), 1),
|
|
6235
6235
|
i("button", {
|
|
6236
6236
|
type: "button",
|
|
6237
6237
|
class: "vf-btn vf-btn-secondary",
|
|
6238
6238
|
onClick: d
|
|
6239
|
-
},
|
|
6239
|
+
}, x(a(l)("Reset Settings")), 1)
|
|
6240
6240
|
])
|
|
6241
6241
|
])
|
|
6242
6242
|
])
|
|
@@ -6244,7 +6244,7 @@ const _t = /* @__PURE__ */ qc(Kc, [["render", Gc]]), Yc = [
|
|
|
6244
6244
|
_: 1
|
|
6245
6245
|
}));
|
|
6246
6246
|
}
|
|
6247
|
-
}),
|
|
6247
|
+
}), Fe = {
|
|
6248
6248
|
ESCAPE: "Escape",
|
|
6249
6249
|
DELETE: "Delete",
|
|
6250
6250
|
ENTER: "Enter",
|
|
@@ -6261,35 +6261,35 @@ const _t = /* @__PURE__ */ qc(Kc, [["render", Gc]]), Yc = [
|
|
|
6261
6261
|
};
|
|
6262
6262
|
function Td() {
|
|
6263
6263
|
const n = se(), e = n.fs, t = n.config, { enabled: o } = Ue(), s = J(e.path), l = J(e.selectedItems), c = (r) => {
|
|
6264
|
-
if (r.code ===
|
|
6265
|
-
if (r.metaKey && r.code ===
|
|
6264
|
+
if (r.code === Fe.ESCAPE && (n.modal.close(), n.root.focus()), !n.modal.visible) {
|
|
6265
|
+
if (r.metaKey && r.code === Fe.KEY_R && !r.shiftKey && (n.adapter.invalidateListQuery(s.value.path), n.adapter.open(s.value.path), r.preventDefault()), r.metaKey && r.shiftKey && r.code === Fe.KEY_R && o("rename") && l.value.length === 1 && (n.modal.open(Kt, { items: l.value }), r.preventDefault()), r.code === Fe.DELETE && l.value.length !== 0 && n.modal.open(jt, { items: l.value }), r.metaKey && r.code === Fe.BACKSLASH && n.modal.open(vo), r.metaKey && r.code === Fe.KEY_F && o("search") && (n.modal.open(Dn), r.preventDefault()), r.metaKey && r.code === Fe.KEY_E && (t.toggle("showTreeView"), r.preventDefault()), r.metaKey && r.code === Fe.KEY_S && (n.modal.open(Bo), r.preventDefault()), r.metaKey && r.code === Fe.ENTER && (t.toggle("fullScreen"), n.root.focus()), r.metaKey && r.code === Fe.KEY_A && (e.selectAll(n.selectionMode || "multiple", n), r.preventDefault()), r.code === Fe.SPACE && l.value.length === 1 && l.value[0]?.type !== "dir" && n.modal.open(qt, {
|
|
6266
6266
|
storage: e.path.get().storage,
|
|
6267
6267
|
item: l.value[0]
|
|
6268
|
-
}), r.metaKey && r.code ===
|
|
6268
|
+
}), r.metaKey && r.code === Fe.KEY_C && o("copy")) {
|
|
6269
6269
|
if (l.value.length === 0) {
|
|
6270
|
-
|
|
6270
|
+
fe.error(n.i18n.t("No items selected"));
|
|
6271
6271
|
return;
|
|
6272
6272
|
}
|
|
6273
|
-
e.setClipboard("copy", new Set(l.value.map((d) => d.path))),
|
|
6273
|
+
e.setClipboard("copy", new Set(l.value.map((d) => d.path))), fe.success(
|
|
6274
6274
|
l.value.length === 1 ? n.i18n.t("Item copied to clipboard") : n.i18n.t("%s items copied to clipboard", l.value.length)
|
|
6275
6275
|
), r.preventDefault();
|
|
6276
6276
|
}
|
|
6277
|
-
if (r.metaKey && r.code ===
|
|
6277
|
+
if (r.metaKey && r.code === Fe.KEY_X && o("copy")) {
|
|
6278
6278
|
if (l.value.length === 0) {
|
|
6279
|
-
|
|
6279
|
+
fe.error(n.i18n.t("No items selected"));
|
|
6280
6280
|
return;
|
|
6281
6281
|
}
|
|
6282
|
-
e.setClipboard("cut", new Set(l.value.map((d) => d.path))),
|
|
6282
|
+
e.setClipboard("cut", new Set(l.value.map((d) => d.path))), fe.success(
|
|
6283
6283
|
l.value.length === 1 ? n.i18n.t("Item cut to clipboard") : n.i18n.t("%s items cut to clipboard", l.value.length)
|
|
6284
6284
|
), r.preventDefault();
|
|
6285
6285
|
}
|
|
6286
|
-
if (r.metaKey && r.code ===
|
|
6286
|
+
if (r.metaKey && r.code === Fe.KEY_V && o("copy")) {
|
|
6287
6287
|
if (e.getClipboard().items.size === 0) {
|
|
6288
|
-
|
|
6288
|
+
fe.error(n.i18n.t("No items in clipboard"));
|
|
6289
6289
|
return;
|
|
6290
6290
|
}
|
|
6291
6291
|
if (e.getClipboard().path === e.path.get().path) {
|
|
6292
|
-
|
|
6292
|
+
fe.error(n.i18n.t("Cannot paste items to the same directory"));
|
|
6293
6293
|
return;
|
|
6294
6294
|
}
|
|
6295
6295
|
if (e.getClipboard().type === "cut") {
|
|
@@ -6396,23 +6396,23 @@ const Ro = { render: Id }, Od = { class: "vuefinder__new-folder-modal__content"
|
|
|
6396
6396
|
path: s.value.path,
|
|
6397
6397
|
name: l.value
|
|
6398
6398
|
}).then((r) => {
|
|
6399
|
-
|
|
6399
|
+
fe.success(t("%s is created.", l.value)), e.fs.setFiles(r.files), e.modal.close();
|
|
6400
6400
|
}).catch((r) => {
|
|
6401
|
-
|
|
6401
|
+
fe.error(Be(r, t("Failed to create folder")));
|
|
6402
6402
|
});
|
|
6403
6403
|
};
|
|
6404
|
-
return (r, d) => (v(), j(
|
|
6404
|
+
return (r, d) => (v(), j(Re, null, {
|
|
6405
6405
|
buttons: oe(() => [
|
|
6406
6406
|
i("button", {
|
|
6407
6407
|
type: "button",
|
|
6408
6408
|
class: "vf-btn vf-btn-primary",
|
|
6409
6409
|
onClick: c
|
|
6410
|
-
},
|
|
6410
|
+
}, x(a(t)("Create")), 1),
|
|
6411
6411
|
i("button", {
|
|
6412
6412
|
type: "button",
|
|
6413
6413
|
class: "vf-btn vf-btn-secondary",
|
|
6414
6414
|
onClick: d[1] || (d[1] = (u) => a(e).modal.close())
|
|
6415
|
-
},
|
|
6415
|
+
}, x(a(t)("Cancel")), 1)
|
|
6416
6416
|
]),
|
|
6417
6417
|
default: oe(() => [
|
|
6418
6418
|
i("div", null, [
|
|
@@ -6422,7 +6422,7 @@ const Ro = { render: Id }, Od = { class: "vuefinder__new-folder-modal__content"
|
|
|
6422
6422
|
}, null, 8, ["icon", "title"]),
|
|
6423
6423
|
i("div", Od, [
|
|
6424
6424
|
i("div", Bd, [
|
|
6425
|
-
i("p", Rd,
|
|
6425
|
+
i("p", Rd, x(a(t)("Create a new folder")), 1),
|
|
6426
6426
|
be(i("input", {
|
|
6427
6427
|
"onUpdate:modelValue": d[0] || (d[0] = (u) => l.value = u),
|
|
6428
6428
|
class: "vuefinder__new-folder-modal__input",
|
|
@@ -6460,23 +6460,23 @@ const Lo = { render: zd }, Nd = { class: "vuefinder__new-file-modal__content" },
|
|
|
6460
6460
|
path: s.value.path,
|
|
6461
6461
|
name: l.value
|
|
6462
6462
|
}).then((r) => {
|
|
6463
|
-
|
|
6463
|
+
fe.success(t("%s is created.", l.value)), e.fs.setFiles(r.files), e.modal.close();
|
|
6464
6464
|
}).catch((r) => {
|
|
6465
|
-
|
|
6465
|
+
fe.error(Be(r, t("Failed to create file")));
|
|
6466
6466
|
});
|
|
6467
6467
|
};
|
|
6468
|
-
return (r, d) => (v(), j(
|
|
6468
|
+
return (r, d) => (v(), j(Re, null, {
|
|
6469
6469
|
buttons: oe(() => [
|
|
6470
6470
|
i("button", {
|
|
6471
6471
|
type: "button",
|
|
6472
6472
|
class: "vf-btn vf-btn-primary",
|
|
6473
6473
|
onClick: c
|
|
6474
|
-
},
|
|
6474
|
+
}, x(a(t)("Create")), 1),
|
|
6475
6475
|
i("button", {
|
|
6476
6476
|
type: "button",
|
|
6477
6477
|
class: "vf-btn vf-btn-secondary",
|
|
6478
6478
|
onClick: d[1] || (d[1] = (u) => a(e).modal.close())
|
|
6479
|
-
},
|
|
6479
|
+
}, x(a(t)("Cancel")), 1)
|
|
6480
6480
|
]),
|
|
6481
6481
|
default: oe(() => [
|
|
6482
6482
|
i("div", null, [
|
|
@@ -6486,7 +6486,7 @@ const Lo = { render: zd }, Nd = { class: "vuefinder__new-file-modal__content" },
|
|
|
6486
6486
|
}, null, 8, ["icon", "title"]),
|
|
6487
6487
|
i("div", Nd, [
|
|
6488
6488
|
i("div", Hd, [
|
|
6489
|
-
i("p", Ud,
|
|
6489
|
+
i("p", Ud, x(a(t)("Create a new file")), 1),
|
|
6490
6490
|
be(i("input", {
|
|
6491
6491
|
"onUpdate:modelValue": d[0] || (d[0] = (u) => l.value = u),
|
|
6492
6492
|
class: "vuefinder__new-file-modal__input",
|
|
@@ -6578,7 +6578,7 @@ const zo = { render: Gd }, Yd = { class: "vuefinder__upload-modal__content relat
|
|
|
6578
6578
|
}, pu = ["disabled"], hu = ["aria-expanded"], mu = {
|
|
6579
6579
|
key: 0,
|
|
6580
6580
|
class: "vuefinder__upload-actions__menu"
|
|
6581
|
-
},
|
|
6581
|
+
}, Fn = /* @__PURE__ */ te({
|
|
6582
6582
|
__name: "ModalUpload",
|
|
6583
6583
|
setup(n) {
|
|
6584
6584
|
const e = se(), { t } = e.i18n, o = e.fs, s = J(o.path), l = T(s.value), c = T(!1), r = () => {
|
|
@@ -6606,16 +6606,16 @@ const zo = { render: Gd }, Yd = { class: "vuefinder__upload-modal__content relat
|
|
|
6606
6606
|
hasFilesInDropArea: y,
|
|
6607
6607
|
definitions: h,
|
|
6608
6608
|
openFileSelector: b,
|
|
6609
|
-
upload:
|
|
6609
|
+
upload: k,
|
|
6610
6610
|
cancel: C,
|
|
6611
6611
|
remove: V,
|
|
6612
6612
|
clear: R,
|
|
6613
6613
|
close: q,
|
|
6614
6614
|
getClassNameForEntry: B,
|
|
6615
|
-
getIconForEntry:
|
|
6615
|
+
getIconForEntry: F,
|
|
6616
6616
|
addExternalFiles: K
|
|
6617
6617
|
} = mo(e.customUploader), Y = () => {
|
|
6618
|
-
|
|
6618
|
+
k(l.value);
|
|
6619
6619
|
};
|
|
6620
6620
|
he(() => {
|
|
6621
6621
|
e.emitter.on("vf-external-files-dropped", (E) => {
|
|
@@ -6626,10 +6626,10 @@ const zo = { render: Gd }, Yd = { class: "vuefinder__upload-modal__content relat
|
|
|
6626
6626
|
});
|
|
6627
6627
|
const z = T(!1), Z = T(null), le = T(null), Q = (E) => {
|
|
6628
6628
|
if (!z.value) return;
|
|
6629
|
-
const $ = E.target,
|
|
6630
|
-
!
|
|
6629
|
+
const $ = E.target, P = Z.value?.contains($) ?? !1, M = le.value?.contains($) ?? !1;
|
|
6630
|
+
!P && !M && (z.value = !1);
|
|
6631
6631
|
};
|
|
6632
|
-
return he(() => document.addEventListener("click", Q)), Ae(() => document.removeEventListener("click", Q)), (E, $) => (v(), j(
|
|
6632
|
+
return he(() => document.addEventListener("click", Q)), Ae(() => document.removeEventListener("click", Q)), (E, $) => (v(), j(Re, {
|
|
6633
6633
|
"show-drag-overlay": a(y),
|
|
6634
6634
|
"drag-overlay-text": a(t)("Drag and drop the files/folders to here.")
|
|
6635
6635
|
}, {
|
|
@@ -6649,14 +6649,14 @@ const zo = { render: Gd }, Yd = { class: "vuefinder__upload-modal__content relat
|
|
|
6649
6649
|
i("button", {
|
|
6650
6650
|
type: "button",
|
|
6651
6651
|
class: "vuefinder__upload-actions__main",
|
|
6652
|
-
onClick: $[3] || ($[3] = (
|
|
6653
|
-
},
|
|
6652
|
+
onClick: $[3] || ($[3] = (P) => a(b)())
|
|
6653
|
+
}, x(a(t)("Select Files")), 1),
|
|
6654
6654
|
i("button", {
|
|
6655
6655
|
type: "button",
|
|
6656
6656
|
class: "vuefinder__upload-actions__trigger",
|
|
6657
6657
|
"aria-haspopup": "menu",
|
|
6658
6658
|
"aria-expanded": z.value ? "true" : "false",
|
|
6659
|
-
onClick: $[4] || ($[4] =
|
|
6659
|
+
onClick: $[4] || ($[4] = pe((P) => z.value = !z.value, ["stop"]))
|
|
6660
6660
|
}, [...$[17] || ($[17] = [
|
|
6661
6661
|
i("svg", {
|
|
6662
6662
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -6675,52 +6675,52 @@ const zo = { render: Gd }, Yd = { class: "vuefinder__upload-modal__content relat
|
|
|
6675
6675
|
z.value ? (v(), g("div", vu, [
|
|
6676
6676
|
i("div", {
|
|
6677
6677
|
class: "vuefinder__upload-actions__item",
|
|
6678
|
-
onClick: $[5] || ($[5] = (
|
|
6678
|
+
onClick: $[5] || ($[5] = (P) => {
|
|
6679
6679
|
a(b)(), z.value = !1;
|
|
6680
6680
|
})
|
|
6681
|
-
},
|
|
6681
|
+
}, x(a(t)("Select Files")), 1),
|
|
6682
6682
|
i("div", {
|
|
6683
6683
|
class: "vuefinder__upload-actions__item",
|
|
6684
|
-
onClick: $[6] || ($[6] = (
|
|
6684
|
+
onClick: $[6] || ($[6] = (P) => {
|
|
6685
6685
|
a(f)?.click(), z.value = !1;
|
|
6686
6686
|
})
|
|
6687
|
-
},
|
|
6687
|
+
}, x(a(t)("Select Folders")), 1),
|
|
6688
6688
|
$[18] || ($[18] = i("div", { class: "vuefinder__upload-actions__separator" }, null, -1)),
|
|
6689
6689
|
i("div", {
|
|
6690
6690
|
class: X(["vuefinder__upload-actions__item", a(w) ? "disabled" : ""]),
|
|
6691
|
-
onClick: $[7] || ($[7] = (
|
|
6692
|
-
},
|
|
6691
|
+
onClick: $[7] || ($[7] = (P) => a(w) ? null : (a(R)(!1), z.value = !1))
|
|
6692
|
+
}, x(a(t)("Clear all")), 3),
|
|
6693
6693
|
i("div", {
|
|
6694
6694
|
class: X(["vuefinder__upload-actions__item", a(w) ? "disabled" : ""]),
|
|
6695
|
-
onClick: $[8] || ($[8] = (
|
|
6696
|
-
},
|
|
6695
|
+
onClick: $[8] || ($[8] = (P) => a(w) ? null : (a(R)(!0), z.value = !1))
|
|
6696
|
+
}, x(a(t)("Clear only successful")), 3)
|
|
6697
6697
|
])) : O("", !0)
|
|
6698
6698
|
], 512),
|
|
6699
6699
|
i("button", {
|
|
6700
6700
|
type: "button",
|
|
6701
6701
|
class: "vf-btn vf-btn-primary",
|
|
6702
6702
|
disabled: a(w) || !a(S).length,
|
|
6703
|
-
onClick:
|
|
6704
|
-
},
|
|
6703
|
+
onClick: pe(Y, ["prevent"])
|
|
6704
|
+
}, x(a(t)("Upload")), 9, pu),
|
|
6705
6705
|
a(w) ? (v(), g("button", {
|
|
6706
6706
|
key: 0,
|
|
6707
6707
|
type: "button",
|
|
6708
6708
|
class: "vf-btn vf-btn-secondary",
|
|
6709
|
-
onClick: $[9] || ($[9] =
|
|
6709
|
+
onClick: $[9] || ($[9] = pe(
|
|
6710
6710
|
//@ts-ignore
|
|
6711
|
-
(...
|
|
6711
|
+
(...P) => a(C) && a(C)(...P),
|
|
6712
6712
|
["prevent"]
|
|
6713
6713
|
))
|
|
6714
|
-
},
|
|
6714
|
+
}, x(a(t)("Cancel")), 1)) : (v(), g("button", {
|
|
6715
6715
|
key: 1,
|
|
6716
6716
|
type: "button",
|
|
6717
6717
|
class: "vf-btn vf-btn-secondary",
|
|
6718
|
-
onClick: $[10] || ($[10] =
|
|
6718
|
+
onClick: $[10] || ($[10] = pe(
|
|
6719
6719
|
//@ts-ignore
|
|
6720
|
-
(...
|
|
6720
|
+
(...P) => a(q) && a(q)(...P),
|
|
6721
6721
|
["prevent"]
|
|
6722
6722
|
))
|
|
6723
|
-
},
|
|
6723
|
+
}, x(a(t)("Close")), 1)),
|
|
6724
6724
|
i("div", {
|
|
6725
6725
|
ref_key: "actionsMenuDesktopRef",
|
|
6726
6726
|
ref: le,
|
|
@@ -6734,13 +6734,13 @@ const zo = { render: Gd }, Yd = { class: "vuefinder__upload-modal__content relat
|
|
|
6734
6734
|
ref: _,
|
|
6735
6735
|
type: "button",
|
|
6736
6736
|
class: "vuefinder__upload-actions__main"
|
|
6737
|
-
},
|
|
6737
|
+
}, x(a(t)("Select Files")), 513),
|
|
6738
6738
|
i("button", {
|
|
6739
6739
|
type: "button",
|
|
6740
6740
|
class: "vuefinder__upload-actions__trigger",
|
|
6741
6741
|
"aria-haspopup": "menu",
|
|
6742
6742
|
"aria-expanded": z.value ? "true" : "false",
|
|
6743
|
-
onClick: $[11] || ($[11] =
|
|
6743
|
+
onClick: $[11] || ($[11] = pe((P) => z.value = !z.value, ["stop"]))
|
|
6744
6744
|
}, [...$[19] || ($[19] = [
|
|
6745
6745
|
i("svg", {
|
|
6746
6746
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -6759,25 +6759,25 @@ const zo = { render: Gd }, Yd = { class: "vuefinder__upload-modal__content relat
|
|
|
6759
6759
|
z.value ? (v(), g("div", mu, [
|
|
6760
6760
|
i("div", {
|
|
6761
6761
|
class: "vuefinder__upload-actions__item",
|
|
6762
|
-
onClick: $[12] || ($[12] = (
|
|
6762
|
+
onClick: $[12] || ($[12] = (P) => {
|
|
6763
6763
|
a(b)(), z.value = !1;
|
|
6764
6764
|
})
|
|
6765
|
-
},
|
|
6765
|
+
}, x(a(t)("Select Files")), 1),
|
|
6766
6766
|
i("div", {
|
|
6767
6767
|
class: "vuefinder__upload-actions__item",
|
|
6768
|
-
onClick: $[13] || ($[13] = (
|
|
6768
|
+
onClick: $[13] || ($[13] = (P) => {
|
|
6769
6769
|
a(f)?.click(), z.value = !1;
|
|
6770
6770
|
})
|
|
6771
|
-
},
|
|
6771
|
+
}, x(a(t)("Select Folders")), 1),
|
|
6772
6772
|
$[20] || ($[20] = i("div", { class: "vuefinder__upload-actions__separator" }, null, -1)),
|
|
6773
6773
|
i("div", {
|
|
6774
6774
|
class: X(["vuefinder__upload-actions__item", a(w) ? "disabled" : ""]),
|
|
6775
|
-
onClick: $[14] || ($[14] = (
|
|
6776
|
-
},
|
|
6775
|
+
onClick: $[14] || ($[14] = (P) => a(w) ? null : (a(R)(!1), z.value = !1))
|
|
6776
|
+
}, x(a(t)("Clear all")), 3),
|
|
6777
6777
|
i("div", {
|
|
6778
6778
|
class: X(["vuefinder__upload-actions__item", a(w) ? "disabled" : ""]),
|
|
6779
|
-
onClick: $[15] || ($[15] = (
|
|
6780
|
-
},
|
|
6779
|
+
onClick: $[15] || ($[15] = (P) => a(w) ? null : (a(R)(!0), z.value = !1))
|
|
6780
|
+
}, x(a(t)("Clear only successful")), 3)
|
|
6781
6781
|
])) : O("", !0)
|
|
6782
6782
|
], 512)
|
|
6783
6783
|
]),
|
|
@@ -6789,17 +6789,17 @@ const zo = { render: Gd }, Yd = { class: "vuefinder__upload-modal__content relat
|
|
|
6789
6789
|
}, null, 8, ["icon", "title"]),
|
|
6790
6790
|
i("div", Yd, [
|
|
6791
6791
|
i("div", Qd, [
|
|
6792
|
-
i("div", Xd,
|
|
6792
|
+
i("div", Xd, x(a(t)("Hedef Klasör")), 1),
|
|
6793
6793
|
i("div", Jd, [
|
|
6794
6794
|
i("div", {
|
|
6795
6795
|
class: "vuefinder__upload-modal__target-display",
|
|
6796
|
-
onClick: $[0] || ($[0] = (
|
|
6796
|
+
onClick: $[0] || ($[0] = (P) => c.value = !c.value)
|
|
6797
6797
|
}, [
|
|
6798
6798
|
i("div", Zd, [
|
|
6799
|
-
i("span", eu,
|
|
6800
|
-
r().path ? (v(), g("span", tu,
|
|
6799
|
+
i("span", eu, x(r().storage) + "://", 1),
|
|
6800
|
+
r().path ? (v(), g("span", tu, x(r().path), 1)) : O("", !0)
|
|
6801
6801
|
]),
|
|
6802
|
-
i("span", nu,
|
|
6802
|
+
i("span", nu, x(a(t)("Browse")), 1)
|
|
6803
6803
|
])
|
|
6804
6804
|
]),
|
|
6805
6805
|
i("div", {
|
|
@@ -6811,7 +6811,7 @@ const zo = { render: Gd }, Yd = { class: "vuefinder__upload-modal__content relat
|
|
|
6811
6811
|
L(bn, {
|
|
6812
6812
|
modelValue: l.value,
|
|
6813
6813
|
"onUpdate:modelValue": [
|
|
6814
|
-
$[1] || ($[1] = (
|
|
6814
|
+
$[1] || ($[1] = (P) => l.value = P),
|
|
6815
6815
|
d
|
|
6816
6816
|
],
|
|
6817
6817
|
"show-pinned-folders": !0,
|
|
@@ -6819,33 +6819,33 @@ const zo = { render: Gd }, Yd = { class: "vuefinder__upload-modal__content relat
|
|
|
6819
6819
|
}, null, 8, ["modelValue"])
|
|
6820
6820
|
], 2)
|
|
6821
6821
|
]),
|
|
6822
|
-
i("div", ou,
|
|
6822
|
+
i("div", ou, x(a(t)("You can drag & drop files anywhere while this modal is open.")), 1),
|
|
6823
6823
|
i("div", {
|
|
6824
6824
|
ref_key: "container",
|
|
6825
6825
|
ref: p,
|
|
6826
6826
|
class: "hidden"
|
|
6827
6827
|
}, null, 512),
|
|
6828
6828
|
i("div", su, [
|
|
6829
|
-
(v(!0), g(re, null, _e(a(S), (
|
|
6830
|
-
key:
|
|
6829
|
+
(v(!0), g(re, null, _e(a(S), (P) => (v(), g("div", {
|
|
6830
|
+
key: P.id,
|
|
6831
6831
|
class: "vuefinder__upload-modal__file-entry"
|
|
6832
6832
|
}, [
|
|
6833
6833
|
i("span", {
|
|
6834
|
-
class: X(["vuefinder__upload-modal__file-icon", a(B)(
|
|
6834
|
+
class: X(["vuefinder__upload-modal__file-icon", a(B)(P)])
|
|
6835
6835
|
}, [
|
|
6836
6836
|
i("span", {
|
|
6837
6837
|
class: "vuefinder__upload-modal__file-icon-text",
|
|
6838
|
-
textContent:
|
|
6838
|
+
textContent: x(a(F)(P))
|
|
6839
6839
|
}, null, 8, iu)
|
|
6840
6840
|
], 2),
|
|
6841
6841
|
i("div", au, [
|
|
6842
|
-
i("div", ru,
|
|
6843
|
-
i("div", lu,
|
|
6842
|
+
i("div", ru, x(a(un)(P.name, 40)) + " (" + x(P.size) + ") ", 1),
|
|
6843
|
+
i("div", lu, x(a(un)(P.name, 16)) + " (" + x(P.size) + ") ", 1),
|
|
6844
6844
|
i("div", {
|
|
6845
|
-
class: X(["vuefinder__upload-modal__file-status", a(B)(
|
|
6845
|
+
class: X(["vuefinder__upload-modal__file-status", a(B)(P)])
|
|
6846
6846
|
}, [
|
|
6847
|
-
de(
|
|
6848
|
-
|
|
6847
|
+
de(x(P.statusName) + " ", 1),
|
|
6848
|
+
P.status === a(h).QUEUE_ENTRY_STATUS.UPLOADING ? (v(), g("b", cu, x(P.percent), 1)) : O("", !0)
|
|
6849
6849
|
], 2)
|
|
6850
6850
|
]),
|
|
6851
6851
|
i("button", {
|
|
@@ -6853,7 +6853,7 @@ const zo = { render: Gd }, Yd = { class: "vuefinder__upload-modal__content relat
|
|
|
6853
6853
|
class: X(["vuefinder__upload-modal__file-remove", a(w) ? "disabled" : ""]),
|
|
6854
6854
|
title: a(t)("Delete"),
|
|
6855
6855
|
disabled: a(w),
|
|
6856
|
-
onClick: (M) => a(V)(
|
|
6856
|
+
onClick: (M) => a(V)(P)
|
|
6857
6857
|
}, [...$[16] || ($[16] = [
|
|
6858
6858
|
i("svg", {
|
|
6859
6859
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -6871,15 +6871,15 @@ const zo = { render: Gd }, Yd = { class: "vuefinder__upload-modal__content relat
|
|
|
6871
6871
|
], -1)
|
|
6872
6872
|
])], 10, du)
|
|
6873
6873
|
]))), 128)),
|
|
6874
|
-
a(S).length ? O("", !0) : (v(), g("div", uu,
|
|
6874
|
+
a(S).length ? O("", !0) : (v(), g("div", uu, x(a(t)("No files selected!")), 1))
|
|
6875
6875
|
]),
|
|
6876
6876
|
a(D).length ? (v(), j(qd, {
|
|
6877
6877
|
key: 0,
|
|
6878
6878
|
error: "",
|
|
6879
|
-
onHidden: $[2] || ($[2] = (
|
|
6879
|
+
onHidden: $[2] || ($[2] = (P) => D.value = "")
|
|
6880
6880
|
}, {
|
|
6881
6881
|
default: oe(() => [
|
|
6882
|
-
de(
|
|
6882
|
+
de(x(a(D)), 1)
|
|
6883
6883
|
]),
|
|
6884
6884
|
_: 1
|
|
6885
6885
|
})) : O("", !0)
|
|
@@ -6932,7 +6932,7 @@ const No = { render: gu }, wu = { class: "vuefinder__unarchive-modal__content" }
|
|
|
6932
6932
|
viewBox: "0 0 24 24",
|
|
6933
6933
|
stroke: "currentColor",
|
|
6934
6934
|
"stroke-width": "1"
|
|
6935
|
-
}, xu = { class: "vuefinder__unarchive-modal__item-name" }, $u = { class: "vuefinder__unarchive-modal__info" },
|
|
6935
|
+
}, xu = { class: "vuefinder__unarchive-modal__item-name" }, $u = { class: "vuefinder__unarchive-modal__info" }, Pn = /* @__PURE__ */ te({
|
|
6936
6936
|
__name: "ModalUnarchive",
|
|
6937
6937
|
setup(n) {
|
|
6938
6938
|
const e = se(), t = e.fs, o = J(t.path), { t: s } = e.i18n, l = T(e.modal.data.items[0]), c = T([]), r = () => {
|
|
@@ -6940,23 +6940,23 @@ const No = { render: gu }, wu = { class: "vuefinder__unarchive-modal__content" }
|
|
|
6940
6940
|
item: l.value.path,
|
|
6941
6941
|
path: o.value.path
|
|
6942
6942
|
}).then((d) => {
|
|
6943
|
-
|
|
6943
|
+
fe.success(s("The file unarchived.")), e.fs.setFiles(d.files), e.modal.close();
|
|
6944
6944
|
}).catch((d) => {
|
|
6945
|
-
|
|
6945
|
+
fe.error(Be(d, s("Failed to unarchive")));
|
|
6946
6946
|
});
|
|
6947
6947
|
};
|
|
6948
|
-
return (d, u) => (v(), j(
|
|
6948
|
+
return (d, u) => (v(), j(Re, null, {
|
|
6949
6949
|
buttons: oe(() => [
|
|
6950
6950
|
i("button", {
|
|
6951
6951
|
type: "button",
|
|
6952
6952
|
class: "vf-btn vf-btn-primary",
|
|
6953
6953
|
onClick: r
|
|
6954
|
-
},
|
|
6954
|
+
}, x(a(s)("Unarchive")), 1),
|
|
6955
6955
|
i("button", {
|
|
6956
6956
|
type: "button",
|
|
6957
6957
|
class: "vf-btn vf-btn-secondary",
|
|
6958
6958
|
onClick: u[0] || (u[0] = (p) => a(e).modal.close())
|
|
6959
|
-
},
|
|
6959
|
+
}, x(a(s)("Cancel")), 1)
|
|
6960
6960
|
]),
|
|
6961
6961
|
default: oe(() => [
|
|
6962
6962
|
i("div", null, [
|
|
@@ -6983,9 +6983,9 @@ const No = { render: gu }, wu = { class: "vuefinder__unarchive-modal__content" }
|
|
|
6983
6983
|
d: "M7 21h10a2 2 0 002-2V9.414a1 1 0 00-.293-.707l-5.414-5.414A1 1 0 0012.586 3H7a2 2 0 00-2 2v14a2 2 0 002 2z"
|
|
6984
6984
|
}, null, -1)
|
|
6985
6985
|
])])),
|
|
6986
|
-
i("span", xu,
|
|
6986
|
+
i("span", xu, x(p.basename), 1)
|
|
6987
6987
|
]))), 128)),
|
|
6988
|
-
i("p", $u,
|
|
6988
|
+
i("p", $u, x(a(s)("The archive will be unarchived at")) + " (" + x(a(o).path) + ") ", 1)
|
|
6989
6989
|
])
|
|
6990
6990
|
])
|
|
6991
6991
|
])
|
|
@@ -7004,7 +7004,7 @@ function Cu(n, e) {
|
|
|
7004
7004
|
i("path", { d: "m20.25 7.5-.625 10.632a2.25 2.25 0 0 1-2.247 2.118H6.622a2.25 2.25 0 0 1-2.247-2.118L3.75 7.5M10 11.25h4M3.375 7.5h17.25c.621 0 1.125-.504 1.125-1.125v-1.5c0-.621-.504-1.125-1.125-1.125H3.375c-.621 0-1.125.504-1.125 1.125v1.5c0 .621.504 1.125 1.125 1.125" }, null, -1)
|
|
7005
7005
|
])]);
|
|
7006
7006
|
}
|
|
7007
|
-
const Ho = { render: Cu }, Du = { class: "vuefinder__archive-modal__content" }, Eu = { class: "vuefinder__archive-modal__form" },
|
|
7007
|
+
const Ho = { render: Cu }, Du = { class: "vuefinder__archive-modal__content" }, Eu = { class: "vuefinder__archive-modal__form" }, Fu = { class: "vuefinder__archive-modal__files vf-scrollbar" }, Pu = {
|
|
7008
7008
|
key: 0,
|
|
7009
7009
|
class: "vuefinder__archive-modal__icon vuefinder__archive-modal__icon--dir",
|
|
7010
7010
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -7032,23 +7032,23 @@ const Ho = { render: Cu }, Du = { class: "vuefinder__archive-modal__content" },
|
|
|
7032
7032
|
})),
|
|
7033
7033
|
name: l.value
|
|
7034
7034
|
}).then((d) => {
|
|
7035
|
-
|
|
7035
|
+
fe.success(t("The file(s) archived.")), e.fs.setFiles(d.files), e.modal.close();
|
|
7036
7036
|
}).catch((d) => {
|
|
7037
|
-
|
|
7037
|
+
fe.error(Be(d, t("Failed to archive files")));
|
|
7038
7038
|
});
|
|
7039
7039
|
};
|
|
7040
|
-
return (d, u) => (v(), j(
|
|
7040
|
+
return (d, u) => (v(), j(Re, null, {
|
|
7041
7041
|
buttons: oe(() => [
|
|
7042
7042
|
i("button", {
|
|
7043
7043
|
type: "button",
|
|
7044
7044
|
class: "vf-btn vf-btn-primary",
|
|
7045
7045
|
onClick: r
|
|
7046
|
-
},
|
|
7046
|
+
}, x(a(t)("Archive")), 1),
|
|
7047
7047
|
i("button", {
|
|
7048
7048
|
type: "button",
|
|
7049
7049
|
class: "vf-btn vf-btn-secondary",
|
|
7050
7050
|
onClick: u[1] || (u[1] = (p) => a(e).modal.close())
|
|
7051
|
-
},
|
|
7051
|
+
}, x(a(t)("Cancel")), 1)
|
|
7052
7052
|
]),
|
|
7053
7053
|
default: oe(() => [
|
|
7054
7054
|
i("div", null, [
|
|
@@ -7058,12 +7058,12 @@ const Ho = { render: Cu }, Du = { class: "vuefinder__archive-modal__content" },
|
|
|
7058
7058
|
}, null, 8, ["icon", "title"]),
|
|
7059
7059
|
i("div", Du, [
|
|
7060
7060
|
i("div", Eu, [
|
|
7061
|
-
i("div",
|
|
7061
|
+
i("div", Fu, [
|
|
7062
7062
|
(v(!0), g(re, null, _e(c.value, (p) => (v(), g("p", {
|
|
7063
7063
|
key: p.path,
|
|
7064
7064
|
class: "vuefinder__archive-modal__file"
|
|
7065
7065
|
}, [
|
|
7066
|
-
p.type === "dir" ? (v(), g("svg",
|
|
7066
|
+
p.type === "dir" ? (v(), g("svg", Pu, [...u[2] || (u[2] = [
|
|
7067
7067
|
i("path", {
|
|
7068
7068
|
"stroke-linecap": "round",
|
|
7069
7069
|
"stroke-linejoin": "round",
|
|
@@ -7076,7 +7076,7 @@ const Ho = { render: Cu }, Du = { class: "vuefinder__archive-modal__content" },
|
|
|
7076
7076
|
d: "M7 21h10a2 2 0 002-2V9.414a1 1 0 00-.293-.707l-5.414-5.414A1 1 0 0012.586 3H7a2 2 0 00-2 2v14a2 2 0 002 2z"
|
|
7077
7077
|
}, null, -1)
|
|
7078
7078
|
])])),
|
|
7079
|
-
i("span", Au,
|
|
7079
|
+
i("span", Au, x(p.basename), 1)
|
|
7080
7080
|
]))), 128))
|
|
7081
7081
|
]),
|
|
7082
7082
|
be(i("input", {
|
|
@@ -7123,13 +7123,13 @@ const Ho = { render: Cu }, Du = { class: "vuefinder__archive-modal__content" },
|
|
|
7123
7123
|
__name: "ModalShortcuts",
|
|
7124
7124
|
setup(n) {
|
|
7125
7125
|
const e = se(), { enabled: t } = Ue(), { t: o } = e.i18n;
|
|
7126
|
-
return (s, l) => (v(), j(
|
|
7126
|
+
return (s, l) => (v(), j(Re, null, {
|
|
7127
7127
|
buttons: oe(() => [
|
|
7128
7128
|
i("button", {
|
|
7129
7129
|
type: "button",
|
|
7130
7130
|
class: "vf-btn vf-btn-secondary",
|
|
7131
7131
|
onClick: l[0] || (l[0] = (c) => a(e).modal.close())
|
|
7132
|
-
},
|
|
7132
|
+
}, x(a(o)("Close")), 1)
|
|
7133
7133
|
]),
|
|
7134
7134
|
default: oe(() => [
|
|
7135
7135
|
i("div", Iu, [
|
|
@@ -7140,7 +7140,7 @@ const Ho = { render: Cu }, Du = { class: "vuefinder__archive-modal__content" },
|
|
|
7140
7140
|
i("div", Ou, [
|
|
7141
7141
|
i("div", Bu, [
|
|
7142
7142
|
i("div", Ru, [
|
|
7143
|
-
i("div", null,
|
|
7143
|
+
i("div", null, x(a(o)("Refresh")), 1),
|
|
7144
7144
|
l[1] || (l[1] = i("div", null, [
|
|
7145
7145
|
i("kbd", null, "⌘"),
|
|
7146
7146
|
de(" + "),
|
|
@@ -7148,7 +7148,7 @@ const Ho = { render: Cu }, Du = { class: "vuefinder__archive-modal__content" },
|
|
|
7148
7148
|
], -1))
|
|
7149
7149
|
]),
|
|
7150
7150
|
a(t)("rename") ? (v(), g("div", Lu, [
|
|
7151
|
-
i("div", null,
|
|
7151
|
+
i("div", null, x(a(o)("Rename")), 1),
|
|
7152
7152
|
l[2] || (l[2] = i("div", null, [
|
|
7153
7153
|
i("kbd", null, "⌘"),
|
|
7154
7154
|
de(" + "),
|
|
@@ -7158,15 +7158,15 @@ const Ho = { render: Cu }, Du = { class: "vuefinder__archive-modal__content" },
|
|
|
7158
7158
|
], -1))
|
|
7159
7159
|
])) : O("", !0),
|
|
7160
7160
|
a(t)("delete") ? (v(), g("div", Vu, [
|
|
7161
|
-
i("div", null,
|
|
7161
|
+
i("div", null, x(a(o)("Delete")), 1),
|
|
7162
7162
|
l[3] || (l[3] = i("kbd", null, "Del", -1))
|
|
7163
7163
|
])) : O("", !0),
|
|
7164
7164
|
i("div", zu, [
|
|
7165
|
-
i("div", null,
|
|
7165
|
+
i("div", null, x(a(o)("Escape")), 1),
|
|
7166
7166
|
l[4] || (l[4] = i("kbd", null, "Esc", -1))
|
|
7167
7167
|
]),
|
|
7168
7168
|
i("div", Nu, [
|
|
7169
|
-
i("div", null,
|
|
7169
|
+
i("div", null, x(a(o)("Select All")), 1),
|
|
7170
7170
|
l[5] || (l[5] = i("div", null, [
|
|
7171
7171
|
i("kbd", null, "⌘"),
|
|
7172
7172
|
de(" + "),
|
|
@@ -7174,7 +7174,7 @@ const Ho = { render: Cu }, Du = { class: "vuefinder__archive-modal__content" },
|
|
|
7174
7174
|
], -1))
|
|
7175
7175
|
]),
|
|
7176
7176
|
a(t)("copy") ? (v(), g("div", Hu, [
|
|
7177
|
-
i("div", null,
|
|
7177
|
+
i("div", null, x(a(o)("Cut")), 1),
|
|
7178
7178
|
l[6] || (l[6] = i("div", null, [
|
|
7179
7179
|
i("kbd", null, "⌘"),
|
|
7180
7180
|
de(" + "),
|
|
@@ -7182,7 +7182,7 @@ const Ho = { render: Cu }, Du = { class: "vuefinder__archive-modal__content" },
|
|
|
7182
7182
|
], -1))
|
|
7183
7183
|
])) : O("", !0),
|
|
7184
7184
|
a(t)("copy") ? (v(), g("div", Uu, [
|
|
7185
|
-
i("div", null,
|
|
7185
|
+
i("div", null, x(a(o)("Copy")), 1),
|
|
7186
7186
|
l[7] || (l[7] = i("div", null, [
|
|
7187
7187
|
i("kbd", null, "⌘"),
|
|
7188
7188
|
de(" + "),
|
|
@@ -7190,7 +7190,7 @@ const Ho = { render: Cu }, Du = { class: "vuefinder__archive-modal__content" },
|
|
|
7190
7190
|
], -1))
|
|
7191
7191
|
])) : O("", !0),
|
|
7192
7192
|
a(t)("copy") ? (v(), g("div", ju, [
|
|
7193
|
-
i("div", null,
|
|
7193
|
+
i("div", null, x(a(o)("Paste")), 1),
|
|
7194
7194
|
l[8] || (l[8] = i("div", null, [
|
|
7195
7195
|
i("kbd", null, "⌘"),
|
|
7196
7196
|
de(" + "),
|
|
@@ -7198,7 +7198,7 @@ const Ho = { render: Cu }, Du = { class: "vuefinder__archive-modal__content" },
|
|
|
7198
7198
|
], -1))
|
|
7199
7199
|
])) : O("", !0),
|
|
7200
7200
|
a(t)("search") ? (v(), g("div", Ku, [
|
|
7201
|
-
i("div", null,
|
|
7201
|
+
i("div", null, x(a(o)("Search")), 1),
|
|
7202
7202
|
l[9] || (l[9] = i("div", null, [
|
|
7203
7203
|
i("kbd", null, "⌘"),
|
|
7204
7204
|
de(" + "),
|
|
@@ -7206,7 +7206,7 @@ const Ho = { render: Cu }, Du = { class: "vuefinder__archive-modal__content" },
|
|
|
7206
7206
|
], -1))
|
|
7207
7207
|
])) : O("", !0),
|
|
7208
7208
|
i("div", qu, [
|
|
7209
|
-
i("div", null,
|
|
7209
|
+
i("div", null, x(a(o)("Toggle Sidebar")), 1),
|
|
7210
7210
|
l[10] || (l[10] = i("div", null, [
|
|
7211
7211
|
i("kbd", null, "⌘"),
|
|
7212
7212
|
de(" + "),
|
|
@@ -7214,7 +7214,7 @@ const Ho = { render: Cu }, Du = { class: "vuefinder__archive-modal__content" },
|
|
|
7214
7214
|
], -1))
|
|
7215
7215
|
]),
|
|
7216
7216
|
i("div", Wu, [
|
|
7217
|
-
i("div", null,
|
|
7217
|
+
i("div", null, x(a(o)("Open Settings")), 1),
|
|
7218
7218
|
l[11] || (l[11] = i("div", null, [
|
|
7219
7219
|
i("kbd", null, "⌘"),
|
|
7220
7220
|
de(" + "),
|
|
@@ -7222,7 +7222,7 @@ const Ho = { render: Cu }, Du = { class: "vuefinder__archive-modal__content" },
|
|
|
7222
7222
|
], -1))
|
|
7223
7223
|
]),
|
|
7224
7224
|
a(t)("fullscreen") ? (v(), g("div", Gu, [
|
|
7225
|
-
i("div", null,
|
|
7225
|
+
i("div", null, x(a(o)("Toggle Full Screen")), 1),
|
|
7226
7226
|
l[12] || (l[12] = i("div", null, [
|
|
7227
7227
|
i("kbd", null, "⌘"),
|
|
7228
7228
|
de(" + "),
|
|
@@ -7230,7 +7230,7 @@ const Ho = { render: Cu }, Du = { class: "vuefinder__archive-modal__content" },
|
|
|
7230
7230
|
], -1))
|
|
7231
7231
|
])) : O("", !0),
|
|
7232
7232
|
a(t)("preview") ? (v(), g("div", Yu, [
|
|
7233
|
-
i("div", null,
|
|
7233
|
+
i("div", null, x(a(o)("Preview")), 1),
|
|
7234
7234
|
l[13] || (l[13] = i("kbd", null, "Space", -1))
|
|
7235
7235
|
])) : O("", !0)
|
|
7236
7236
|
])
|
|
@@ -7270,7 +7270,7 @@ const Ho = { render: Cu }, Du = { class: "vuefinder__archive-modal__content" },
|
|
|
7270
7270
|
{
|
|
7271
7271
|
id: "upload",
|
|
7272
7272
|
label: o("Upload"),
|
|
7273
|
-
action: () => e?.modal?.open(
|
|
7273
|
+
action: () => e?.modal?.open(Fn, { items: r.value }),
|
|
7274
7274
|
enabled: () => t("upload")
|
|
7275
7275
|
},
|
|
7276
7276
|
{ type: "separator" },
|
|
@@ -7293,7 +7293,7 @@ const Ho = { render: Cu }, Du = { class: "vuefinder__archive-modal__content" },
|
|
|
7293
7293
|
id: "unarchive",
|
|
7294
7294
|
label: o("Unarchive"),
|
|
7295
7295
|
action: () => {
|
|
7296
|
-
r.value.length === 1 && r.value[0]?.mime_type === "application/zip" && e?.modal?.open(
|
|
7296
|
+
r.value.length === 1 && r.value[0]?.mime_type === "application/zip" && e?.modal?.open(Pn, { items: r.value });
|
|
7297
7297
|
},
|
|
7298
7298
|
enabled: () => r.value.length === 1 && r.value[0]?.mime_type === "application/zip" && t("unarchive")
|
|
7299
7299
|
},
|
|
@@ -7537,8 +7537,8 @@ const Ho = { render: Cu }, Du = { class: "vuefinder__archive-modal__content" },
|
|
|
7537
7537
|
action: () => {
|
|
7538
7538
|
const h = s?.path?.get();
|
|
7539
7539
|
if (h?.breadcrumb && h.breadcrumb.length > 1) {
|
|
7540
|
-
const
|
|
7541
|
-
e?.adapter.open(
|
|
7540
|
+
const k = h.breadcrumb[h.breadcrumb.length - 2]?.path ?? `${h.storage}://`;
|
|
7541
|
+
e?.adapter.open(k);
|
|
7542
7542
|
}
|
|
7543
7543
|
},
|
|
7544
7544
|
enabled: () => {
|
|
@@ -7561,9 +7561,25 @@ const Ho = { render: Cu }, Du = { class: "vuefinder__archive-modal__content" },
|
|
|
7561
7561
|
{
|
|
7562
7562
|
id: "go-to-folder",
|
|
7563
7563
|
label: o("Go to Folder"),
|
|
7564
|
-
action: () => {
|
|
7564
|
+
action: async () => {
|
|
7565
7565
|
const h = prompt(o("Enter folder path:"));
|
|
7566
|
-
|
|
7566
|
+
if (h) {
|
|
7567
|
+
if (!h.includes("://")) {
|
|
7568
|
+
alert(o("Invalid path format. Path must be in format: storage://path/to/folder"));
|
|
7569
|
+
return;
|
|
7570
|
+
}
|
|
7571
|
+
const b = h.indexOf("://"), k = h.slice(0, b);
|
|
7572
|
+
if (!d.value || !d.value.includes(k)) {
|
|
7573
|
+
alert(o('Invalid storage. Storage "%s" is not available.', k));
|
|
7574
|
+
return;
|
|
7575
|
+
}
|
|
7576
|
+
try {
|
|
7577
|
+
await e?.adapter.open(h);
|
|
7578
|
+
} catch (C) {
|
|
7579
|
+
const V = Be(C, o("Failed to navigate to folder"));
|
|
7580
|
+
fe.error(V), e.fs.setLoading(!1);
|
|
7581
|
+
}
|
|
7582
|
+
}
|
|
7567
7583
|
},
|
|
7568
7584
|
enabled: () => !0
|
|
7569
7585
|
}
|
|
@@ -7610,32 +7626,32 @@ const Ho = { render: Cu }, Du = { class: "vuefinder__archive-modal__content" },
|
|
|
7610
7626
|
document.removeEventListener("click", y);
|
|
7611
7627
|
}), (h, b) => (v(), g("div", {
|
|
7612
7628
|
class: "vuefinder__menubar",
|
|
7613
|
-
onClick: b[0] || (b[0] =
|
|
7629
|
+
onClick: b[0] || (b[0] = pe(() => {
|
|
7614
7630
|
}, ["stop"]))
|
|
7615
7631
|
}, [
|
|
7616
7632
|
i("div", Xu, [
|
|
7617
|
-
(v(!0), g(re, null, _e(f.value, (
|
|
7618
|
-
key:
|
|
7619
|
-
class: X(["vuefinder__menubar__item", { "vuefinder__menubar__item--active": u.value ===
|
|
7620
|
-
onClick: (C) => _(
|
|
7621
|
-
onMouseenter: (C) => S(
|
|
7633
|
+
(v(!0), g(re, null, _e(f.value, (k) => (v(), g("div", {
|
|
7634
|
+
key: k.id,
|
|
7635
|
+
class: X(["vuefinder__menubar__item", { "vuefinder__menubar__item--active": u.value === k.id }]),
|
|
7636
|
+
onClick: (C) => _(k.id),
|
|
7637
|
+
onMouseenter: (C) => S(k.id)
|
|
7622
7638
|
}, [
|
|
7623
|
-
i("span", Zu, k
|
|
7624
|
-
u.value ===
|
|
7639
|
+
i("span", Zu, x(k.label), 1),
|
|
7640
|
+
u.value === k.id ? (v(), g("div", {
|
|
7625
7641
|
key: 0,
|
|
7626
7642
|
class: "vuefinder__menubar__dropdown",
|
|
7627
|
-
onMouseenter: (C) => S(
|
|
7643
|
+
onMouseenter: (C) => S(k.id)
|
|
7628
7644
|
}, [
|
|
7629
|
-
(v(!0), g(re, null, _e(
|
|
7645
|
+
(v(!0), g(re, null, _e(k.items, (C) => (v(), g("div", {
|
|
7630
7646
|
key: C.id || C.type,
|
|
7631
7647
|
class: X(["vuefinder__menubar__dropdown__item", {
|
|
7632
7648
|
"vuefinder__menubar__dropdown__item--separator": C.type === "separator",
|
|
7633
7649
|
"vuefinder__menubar__dropdown__item--disabled": C.enabled && !C.enabled(),
|
|
7634
7650
|
"vuefinder__menubar__dropdown__item--checked": C.checked && C.checked()
|
|
7635
7651
|
}]),
|
|
7636
|
-
onClick:
|
|
7652
|
+
onClick: pe((V) => C.type !== "separator" && C.enabled && C.enabled() ? w(C.action) : null, ["stop"])
|
|
7637
7653
|
}, [
|
|
7638
|
-
C.type !== "separator" ? (v(), g("span", nf,
|
|
7654
|
+
C.type !== "separator" ? (v(), g("span", nf, x(C.label), 1)) : O("", !0),
|
|
7639
7655
|
C.checked && C.checked() ? (v(), g("span", of, " ✓ ")) : O("", !0)
|
|
7640
7656
|
], 10, tf))), 128))
|
|
7641
7657
|
], 40, ef)) : O("", !0)
|
|
@@ -7705,7 +7721,7 @@ function wf(n, e) {
|
|
|
7705
7721
|
}, null, -1)
|
|
7706
7722
|
])]);
|
|
7707
7723
|
}
|
|
7708
|
-
const yf = { render: wf }, bf = { class: "vuefinder__toolbar" }, kf = { class: "vuefinder__toolbar__actions" }, xf = ["title"], $f = ["title"], Sf = ["title"], Cf = ["title"], Df = ["title"], Ef = ["title"],
|
|
7724
|
+
const yf = { render: wf }, bf = { class: "vuefinder__toolbar" }, kf = { class: "vuefinder__toolbar__actions" }, xf = ["title"], $f = ["title"], Sf = ["title"], Cf = ["title"], Df = ["title"], Ef = ["title"], Ff = ["title"], Pf = { class: "vuefinder__toolbar__controls" }, Tf = ["title"], Af = { class: "vuefinder__toolbar__control vuefinder__toolbar__dropdown-container" }, Mf = ["title"], If = { class: "relative" }, Of = {
|
|
7709
7725
|
key: 0,
|
|
7710
7726
|
class: "vuefinder__toolbar__filter-indicator"
|
|
7711
7727
|
}, Bf = {
|
|
@@ -7849,7 +7865,7 @@ const yf = { render: wf }, bf = { class: "vuefinder__toolbar" }, kf = { class: "
|
|
|
7849
7865
|
key: 4,
|
|
7850
7866
|
class: "mx-1.5",
|
|
7851
7867
|
title: a(o)("Upload"),
|
|
7852
|
-
onClick: y[4] || (y[4] = (h) => a(e).modal.open(
|
|
7868
|
+
onClick: y[4] || (y[4] = (h) => a(e).modal.open(Fn, { items: a(r) }))
|
|
7853
7869
|
}, [
|
|
7854
7870
|
L(a(zo))
|
|
7855
7871
|
], 8, Df)) : O("", !0),
|
|
@@ -7857,7 +7873,7 @@ const yf = { render: wf }, bf = { class: "vuefinder__toolbar" }, kf = { class: "
|
|
|
7857
7873
|
key: 5,
|
|
7858
7874
|
class: "mx-1.5",
|
|
7859
7875
|
title: a(o)("Unarchive"),
|
|
7860
|
-
onClick: y[5] || (y[5] = (h) => !a(r).length || a(e).modal.open(
|
|
7876
|
+
onClick: y[5] || (y[5] = (h) => !a(r).length || a(e).modal.open(Pn, { items: a(r) }))
|
|
7861
7877
|
}, [
|
|
7862
7878
|
L(a(No), {
|
|
7863
7879
|
class: X(a(r).length ? "vf-toolbar-icon" : "vf-toolbar-icon-disabled")
|
|
@@ -7872,9 +7888,9 @@ const yf = { render: wf }, bf = { class: "vuefinder__toolbar" }, kf = { class: "
|
|
|
7872
7888
|
L(a(Ho), {
|
|
7873
7889
|
class: X(a(r).length ? "vf-toolbar-icon" : "vf-toolbar-icon-disabled")
|
|
7874
7890
|
}, null, 8, ["class"])
|
|
7875
|
-
], 8,
|
|
7891
|
+
], 8, Ff)) : O("", !0)
|
|
7876
7892
|
]),
|
|
7877
|
-
i("div",
|
|
7893
|
+
i("div", Pf, [
|
|
7878
7894
|
a(t)("search") ? (v(), g("div", {
|
|
7879
7895
|
key: 0,
|
|
7880
7896
|
class: "mx-1.5",
|
|
@@ -7897,15 +7913,15 @@ const yf = { render: wf }, bf = { class: "vuefinder__toolbar" }, kf = { class: "
|
|
|
7897
7913
|
p.value ? (v(), g("div", Bf, [
|
|
7898
7914
|
i("div", Rf, [
|
|
7899
7915
|
i("div", Lf, [
|
|
7900
|
-
i("div", Vf,
|
|
7916
|
+
i("div", Vf, x(a(o)("Sorting")), 1),
|
|
7901
7917
|
i("div", zf, [
|
|
7902
7918
|
be(i("select", {
|
|
7903
7919
|
"onUpdate:modelValue": y[9] || (y[9] = (h) => f.value.sortBy = h),
|
|
7904
7920
|
class: "vuefinder__toolbar__dropdown-select"
|
|
7905
7921
|
}, [
|
|
7906
|
-
i("option", Nf,
|
|
7907
|
-
i("option", Hf,
|
|
7908
|
-
i("option", Uf,
|
|
7922
|
+
i("option", Nf, x(a(o)("Name")), 1),
|
|
7923
|
+
i("option", Hf, x(a(o)("Size")), 1),
|
|
7924
|
+
i("option", Uf, x(a(o)("Date")), 1)
|
|
7909
7925
|
], 512), [
|
|
7910
7926
|
[an, f.value.sortBy]
|
|
7911
7927
|
]),
|
|
@@ -7913,16 +7929,16 @@ const yf = { render: wf }, bf = { class: "vuefinder__toolbar" }, kf = { class: "
|
|
|
7913
7929
|
"onUpdate:modelValue": y[10] || (y[10] = (h) => f.value.sortOrder = h),
|
|
7914
7930
|
class: "vuefinder__toolbar__dropdown-select"
|
|
7915
7931
|
}, [
|
|
7916
|
-
i("option", jf,
|
|
7917
|
-
i("option", Kf,
|
|
7918
|
-
i("option", qf,
|
|
7932
|
+
i("option", jf, x(a(o)("None")), 1),
|
|
7933
|
+
i("option", Kf, x(a(o)("Asc")), 1),
|
|
7934
|
+
i("option", qf, x(a(o)("Desc")), 1)
|
|
7919
7935
|
], 512), [
|
|
7920
7936
|
[an, f.value.sortOrder]
|
|
7921
7937
|
])
|
|
7922
7938
|
])
|
|
7923
7939
|
]),
|
|
7924
7940
|
i("div", Wf, [
|
|
7925
|
-
i("div", Gf,
|
|
7941
|
+
i("div", Gf, x(a(o)("Show")), 1),
|
|
7926
7942
|
i("div", Yf, [
|
|
7927
7943
|
i("label", Qf, [
|
|
7928
7944
|
be(i("input", {
|
|
@@ -7934,7 +7950,7 @@ const yf = { render: wf }, bf = { class: "vuefinder__toolbar" }, kf = { class: "
|
|
|
7934
7950
|
}, null, 512), [
|
|
7935
7951
|
[nn, f.value.filterKind]
|
|
7936
7952
|
]),
|
|
7937
|
-
i("span", Xf,
|
|
7953
|
+
i("span", Xf, x(a(o)("All items")), 1)
|
|
7938
7954
|
]),
|
|
7939
7955
|
i("label", Jf, [
|
|
7940
7956
|
be(i("input", {
|
|
@@ -7946,7 +7962,7 @@ const yf = { render: wf }, bf = { class: "vuefinder__toolbar" }, kf = { class: "
|
|
|
7946
7962
|
}, null, 512), [
|
|
7947
7963
|
[nn, f.value.filterKind]
|
|
7948
7964
|
]),
|
|
7949
|
-
i("span", Zf,
|
|
7965
|
+
i("span", Zf, x(a(o)("Files only")), 1)
|
|
7950
7966
|
]),
|
|
7951
7967
|
i("label", ev, [
|
|
7952
7968
|
be(i("input", {
|
|
@@ -7958,12 +7974,12 @@ const yf = { render: wf }, bf = { class: "vuefinder__toolbar" }, kf = { class: "
|
|
|
7958
7974
|
}, null, 512), [
|
|
7959
7975
|
[nn, f.value.filterKind]
|
|
7960
7976
|
]),
|
|
7961
|
-
i("span", tv,
|
|
7977
|
+
i("span", tv, x(a(o)("Folders only")), 1)
|
|
7962
7978
|
])
|
|
7963
7979
|
])
|
|
7964
7980
|
]),
|
|
7965
7981
|
i("div", nv, [
|
|
7966
|
-
i("label", ov,
|
|
7982
|
+
i("label", ov, x(a(o)("Show hidden files")), 1),
|
|
7967
7983
|
be(i("input", {
|
|
7968
7984
|
id: "showHidden",
|
|
7969
7985
|
"onUpdate:modelValue": y[14] || (y[14] = (h) => f.value.showHidden = h),
|
|
@@ -7977,7 +7993,7 @@ const yf = { render: wf }, bf = { class: "vuefinder__toolbar" }, kf = { class: "
|
|
|
7977
7993
|
i("button", {
|
|
7978
7994
|
class: "vuefinder__toolbar__reset-button",
|
|
7979
7995
|
onClick: D
|
|
7980
|
-
},
|
|
7996
|
+
}, x(a(o)("Reset")), 1)
|
|
7981
7997
|
])
|
|
7982
7998
|
])
|
|
7983
7999
|
])) : O("", !0)
|
|
@@ -8121,14 +8137,14 @@ function Dv(n, e) {
|
|
|
8121
8137
|
}, null, -1)
|
|
8122
8138
|
])]);
|
|
8123
8139
|
}
|
|
8124
|
-
const Ev = { render: Dv },
|
|
8140
|
+
const Ev = { render: Dv }, Fv = {
|
|
8125
8141
|
xmlns: "http://www.w3.org/2000/svg",
|
|
8126
8142
|
fill: "none",
|
|
8127
8143
|
stroke: "currentColor",
|
|
8128
8144
|
viewBox: "0 0 24 24"
|
|
8129
8145
|
};
|
|
8130
|
-
function
|
|
8131
|
-
return v(), g("svg",
|
|
8146
|
+
function Pv(n, e) {
|
|
8147
|
+
return v(), g("svg", Fv, [...e[0] || (e[0] = [
|
|
8132
8148
|
i("path", {
|
|
8133
8149
|
"stroke-linecap": "round",
|
|
8134
8150
|
"stroke-linejoin": "round",
|
|
@@ -8137,7 +8153,7 @@ function Fv(n, e) {
|
|
|
8137
8153
|
}, null, -1)
|
|
8138
8154
|
])]);
|
|
8139
8155
|
}
|
|
8140
|
-
const Tv = { render:
|
|
8156
|
+
const Tv = { render: Pv };
|
|
8141
8157
|
function Ct(n, e = []) {
|
|
8142
8158
|
const t = "vfDragEnterCounter", o = n.fs, s = J(o.selectedItems);
|
|
8143
8159
|
function l(p, m) {
|
|
@@ -8204,15 +8220,15 @@ const Av = { class: "vuefinder__breadcrumb__container" }, Mv = ["title"], Iv = [
|
|
|
8204
8220
|
if (!d.value) return;
|
|
8205
8221
|
const Q = d.value.children;
|
|
8206
8222
|
let E = 0, $ = 0;
|
|
8207
|
-
const
|
|
8208
|
-
p.value =
|
|
8223
|
+
const P = 5, M = 1;
|
|
8224
|
+
p.value = P, Oe(() => {
|
|
8209
8225
|
for (let W = Q.length - 1; W >= 0; W--) {
|
|
8210
8226
|
const ee = Q[W];
|
|
8211
8227
|
if (E + ee.offsetWidth > u.value - 40)
|
|
8212
8228
|
break;
|
|
8213
8229
|
E += parseInt(ee.offsetWidth.toString(), 10), $++;
|
|
8214
8230
|
}
|
|
8215
|
-
$ < M && ($ = M), $ >
|
|
8231
|
+
$ < M && ($ = M), $ > P && ($ = P), p.value = $;
|
|
8216
8232
|
});
|
|
8217
8233
|
});
|
|
8218
8234
|
const y = () => {
|
|
@@ -8224,7 +8240,7 @@ const Av = { class: "vuefinder__breadcrumb__container" }, Mv = ["title"], Iv = [
|
|
|
8224
8240
|
h.value && h.value.disconnect();
|
|
8225
8241
|
});
|
|
8226
8242
|
const b = Ct(e, ["vuefinder__drag-over"]);
|
|
8227
|
-
function
|
|
8243
|
+
function k(Q = null) {
|
|
8228
8244
|
Q ??= _.value.length - 2;
|
|
8229
8245
|
const E = {
|
|
8230
8246
|
basename: c.value?.storage ?? "local",
|
|
@@ -8258,21 +8274,21 @@ const Av = { class: "vuefinder__breadcrumb__container" }, Mv = ["title"], Iv = [
|
|
|
8258
8274
|
beforeUnmount(Q) {
|
|
8259
8275
|
document.body.removeEventListener("click", Q.clickOutsideEvent);
|
|
8260
8276
|
}
|
|
8261
|
-
},
|
|
8277
|
+
}, F = () => {
|
|
8262
8278
|
s.toggle("showTreeView");
|
|
8263
8279
|
}, K = T({
|
|
8264
8280
|
x: 0,
|
|
8265
8281
|
y: 0
|
|
8266
8282
|
}), Y = (Q, E = null) => {
|
|
8267
8283
|
if (Q.currentTarget instanceof HTMLElement) {
|
|
8268
|
-
const { x: $, y:
|
|
8269
|
-
K.value = { x: $, y:
|
|
8284
|
+
const { x: $, y: P, height: M } = Q.currentTarget.getBoundingClientRect();
|
|
8285
|
+
K.value = { x: $, y: P + M };
|
|
8270
8286
|
}
|
|
8271
8287
|
m.value = E ?? !m.value;
|
|
8272
8288
|
}, z = () => {
|
|
8273
8289
|
f.value = !f.value;
|
|
8274
8290
|
}, Z = async () => {
|
|
8275
|
-
await bt(c.value?.path || ""),
|
|
8291
|
+
await bt(c.value?.path || ""), fe.success(t("Path copied to clipboard"));
|
|
8276
8292
|
}, le = () => {
|
|
8277
8293
|
f.value = !1;
|
|
8278
8294
|
};
|
|
@@ -8282,7 +8298,7 @@ const Av = { class: "vuefinder__breadcrumb__container" }, Mv = ["title"], Iv = [
|
|
|
8282
8298
|
}, [
|
|
8283
8299
|
L(a(Sv), {
|
|
8284
8300
|
class: X(["vuefinder__breadcrumb__toggle-tree", a(l).showTreeView ? "vuefinder__breadcrumb__toggle-tree--active" : ""]),
|
|
8285
|
-
onClick:
|
|
8301
|
+
onClick: F
|
|
8286
8302
|
}, null, 8, ["class"])
|
|
8287
8303
|
], 8, Mv),
|
|
8288
8304
|
i("span", {
|
|
@@ -8290,7 +8306,7 @@ const Av = { class: "vuefinder__breadcrumb__container" }, Mv = ["title"], Iv = [
|
|
|
8290
8306
|
}, [
|
|
8291
8307
|
L(a(vv), Ee({
|
|
8292
8308
|
class: _.value.length ? "vuefinder__breadcrumb__go-up--active" : "vuefinder__breadcrumb__go-up--inactive"
|
|
8293
|
-
}, nt(_.value.length ? a(b).events(
|
|
8309
|
+
}, nt(_.value.length ? a(b).events(k()) : {}), { onClick: V }), null, 16, ["class"])
|
|
8294
8310
|
], 8, Iv),
|
|
8295
8311
|
a(o).isLoading() ? (v(), g("span", {
|
|
8296
8312
|
key: 1,
|
|
@@ -8307,8 +8323,8 @@ const Av = { class: "vuefinder__breadcrumb__container" }, Mv = ["title"], Iv = [
|
|
|
8307
8323
|
], 8, Ov)),
|
|
8308
8324
|
be(i("div", Rv, [
|
|
8309
8325
|
i("div", null, [
|
|
8310
|
-
L(a(wv), Ee({ class: "vuefinder__breadcrumb__home-icon" }, nt(a(b).events(
|
|
8311
|
-
onClick: E[1] || (E[1] =
|
|
8326
|
+
L(a(wv), Ee({ class: "vuefinder__breadcrumb__home-icon" }, nt(a(b).events(k(-1))), {
|
|
8327
|
+
onClick: E[1] || (E[1] = pe(($) => a(e).adapter.open(a(c).storage + "://"), ["stop"]))
|
|
8312
8328
|
}), null, 16)
|
|
8313
8329
|
]),
|
|
8314
8330
|
i("div", Lv, [
|
|
@@ -8318,7 +8334,7 @@ const Av = { class: "vuefinder__breadcrumb__container" }, Mv = ["title"], Iv = [
|
|
|
8318
8334
|
i("span", {
|
|
8319
8335
|
class: "vuefinder__breadcrumb__hidden-toggle",
|
|
8320
8336
|
onDragenter: E[2] || (E[2] = ($) => Y($, !0)),
|
|
8321
|
-
onClick:
|
|
8337
|
+
onClick: pe(Y, ["stop"])
|
|
8322
8338
|
}, [
|
|
8323
8339
|
L(a(Oo), { class: "vuefinder__breadcrumb__hidden-toggle-icon" })
|
|
8324
8340
|
], 32)
|
|
@@ -8332,14 +8348,14 @@ const Av = { class: "vuefinder__breadcrumb__container" }, Mv = ["title"], Iv = [
|
|
|
8332
8348
|
ref: d,
|
|
8333
8349
|
class: "vuefinder__breadcrumb__visible-list pointer-events-none"
|
|
8334
8350
|
}, [
|
|
8335
|
-
(v(!0), g(re, null, _e(D.value, ($,
|
|
8351
|
+
(v(!0), g(re, null, _e(D.value, ($, P) => (v(), g("div", { key: P }, [
|
|
8336
8352
|
E[4] || (E[4] = i("span", { class: "vuefinder__breadcrumb__separator" }, "/", -1)),
|
|
8337
8353
|
i("span", Ee({
|
|
8338
8354
|
class: "vuefinder__breadcrumb__item pointer-events-auto",
|
|
8339
8355
|
title: $.basename
|
|
8340
8356
|
}, nt(a(b).events($), !0), {
|
|
8341
|
-
onClick:
|
|
8342
|
-
}),
|
|
8357
|
+
onClick: pe((M) => a(e).adapter.open($.path), ["stop"])
|
|
8358
|
+
}), x($.name), 17, Nv)
|
|
8343
8359
|
]))), 128))
|
|
8344
8360
|
], 512),
|
|
8345
8361
|
a(s).get("loadingIndicator") === "circular" && a(r) ? (v(), j(a(Yt), { key: 0 })) : O("", !0),
|
|
@@ -8362,7 +8378,7 @@ const Av = { class: "vuefinder__breadcrumb__container" }, Mv = ["title"], Iv = [
|
|
|
8362
8378
|
onClick: Z
|
|
8363
8379
|
})
|
|
8364
8380
|
], 8, Kv),
|
|
8365
|
-
i("div", qv,
|
|
8381
|
+
i("div", qv, x(a(c).path), 1),
|
|
8366
8382
|
i("div", {
|
|
8367
8383
|
title: a(t)("Exit")
|
|
8368
8384
|
}, [
|
|
@@ -8386,8 +8402,8 @@ const Av = { class: "vuefinder__breadcrumb__container" }, Mv = ["title"], Iv = [
|
|
|
8386
8402
|
class: "vuefinder__themer vuefinder__breadcrumb__hidden-dropdown",
|
|
8387
8403
|
"data-theme": a(e).theme.current
|
|
8388
8404
|
}, [
|
|
8389
|
-
(v(!0), g(re, null, _e(w.value, ($,
|
|
8390
|
-
key:
|
|
8405
|
+
(v(!0), g(re, null, _e(w.value, ($, P) => (v(), g("div", Ee({
|
|
8406
|
+
key: P,
|
|
8391
8407
|
class: "vuefinder__breadcrumb__hidden-item"
|
|
8392
8408
|
}, nt(a(b).events($), !0), {
|
|
8393
8409
|
onClick: (M) => R($)
|
|
@@ -8396,7 +8412,7 @@ const Av = { class: "vuefinder__breadcrumb__container" }, Mv = ["title"], Iv = [
|
|
|
8396
8412
|
i("span", null, [
|
|
8397
8413
|
L(a(Je), { class: "vuefinder__breadcrumb__hidden-item-icon" })
|
|
8398
8414
|
]),
|
|
8399
|
-
i("span", Xv,
|
|
8415
|
+
i("span", Xv, x($.name), 1)
|
|
8400
8416
|
])
|
|
8401
8417
|
], 16, Yv))), 128))
|
|
8402
8418
|
], 12, Gv), [
|
|
@@ -8418,15 +8434,15 @@ function Zv(n, e) {
|
|
|
8418
8434
|
} = e, d = n, u = () => typeof s == "number" ? s : s.value, p = T(0), m = T(6), f = T(600);
|
|
8419
8435
|
let _ = null;
|
|
8420
8436
|
const S = H(() => Math.ceil(d.value.length / m.value)), D = H(() => S.value * u()), w = H(() => {
|
|
8421
|
-
const B = u(),
|
|
8437
|
+
const B = u(), F = Math.max(0, Math.floor(p.value / B) - l), K = Math.min(
|
|
8422
8438
|
S.value,
|
|
8423
8439
|
Math.ceil((p.value + f.value) / B) + l
|
|
8424
8440
|
);
|
|
8425
|
-
return { start:
|
|
8441
|
+
return { start: F, end: K };
|
|
8426
8442
|
}), y = H(() => {
|
|
8427
|
-
const { start: B, end:
|
|
8428
|
-
return Array.from({ length:
|
|
8429
|
-
}), h = () => f.value, b = () => r.value,
|
|
8443
|
+
const { start: B, end: F } = w.value;
|
|
8444
|
+
return Array.from({ length: F - B }, (K, Y) => B + Y);
|
|
8445
|
+
}), h = () => f.value, b = () => r.value, k = () => {
|
|
8430
8446
|
if (b()) {
|
|
8431
8447
|
m.value = 1;
|
|
8432
8448
|
return;
|
|
@@ -8436,25 +8452,25 @@ function Zv(n, e) {
|
|
|
8436
8452
|
m.value = Math.max(Math.floor(B / o), 2);
|
|
8437
8453
|
}
|
|
8438
8454
|
}, C = (B) => {
|
|
8439
|
-
const
|
|
8440
|
-
p.value =
|
|
8455
|
+
const F = B.target;
|
|
8456
|
+
p.value = F.scrollTop;
|
|
8441
8457
|
};
|
|
8442
8458
|
ue(
|
|
8443
8459
|
() => d.value.length,
|
|
8444
8460
|
() => {
|
|
8445
|
-
|
|
8461
|
+
k();
|
|
8446
8462
|
}
|
|
8447
8463
|
);
|
|
8448
|
-
const V = (B,
|
|
8464
|
+
const V = (B, F) => {
|
|
8449
8465
|
if (!B || !Array.isArray(B))
|
|
8450
8466
|
return [];
|
|
8451
|
-
const K =
|
|
8467
|
+
const K = F * m.value;
|
|
8452
8468
|
return B.slice(K, K + m.value);
|
|
8453
|
-
}, R = (B,
|
|
8469
|
+
}, R = (B, F, K, Y, z) => {
|
|
8454
8470
|
if (!B || !Array.isArray(B))
|
|
8455
8471
|
return [];
|
|
8456
8472
|
const Z = [];
|
|
8457
|
-
for (let le =
|
|
8473
|
+
for (let le = F; le <= K; le++)
|
|
8458
8474
|
for (let Q = Y; Q <= z; Q++) {
|
|
8459
8475
|
const E = le * m.value + Q;
|
|
8460
8476
|
E < B.length && B[E] && Z.push(B[E]);
|
|
@@ -8465,14 +8481,14 @@ function Zv(n, e) {
|
|
|
8465
8481
|
col: B % m.value
|
|
8466
8482
|
});
|
|
8467
8483
|
return he(async () => {
|
|
8468
|
-
await Oe(), t.value && (f.value = t.value.clientHeight || 600),
|
|
8469
|
-
t.value && (f.value = t.value.clientHeight || 600),
|
|
8484
|
+
await Oe(), t.value && (f.value = t.value.clientHeight || 600), k(), window.addEventListener("resize", () => {
|
|
8485
|
+
t.value && (f.value = t.value.clientHeight || 600), k();
|
|
8470
8486
|
}), t.value && "ResizeObserver" in window && (_ = new ResizeObserver((B) => {
|
|
8471
|
-
const
|
|
8472
|
-
|
|
8487
|
+
const F = B[0];
|
|
8488
|
+
F && (f.value = Math.round(F.contentRect.height)), k();
|
|
8473
8489
|
}), _.observe(t.value));
|
|
8474
8490
|
}), Ae(() => {
|
|
8475
|
-
window.removeEventListener("resize",
|
|
8491
|
+
window.removeEventListener("resize", k), _ && (_.disconnect(), _ = null);
|
|
8476
8492
|
}), {
|
|
8477
8493
|
scrollTop: p,
|
|
8478
8494
|
itemsPerRow: m,
|
|
@@ -8480,7 +8496,7 @@ function Zv(n, e) {
|
|
|
8480
8496
|
totalHeight: D,
|
|
8481
8497
|
visibleRange: w,
|
|
8482
8498
|
visibleRows: y,
|
|
8483
|
-
updateItemsPerRow:
|
|
8499
|
+
updateItemsPerRow: k,
|
|
8484
8500
|
handleScroll: C,
|
|
8485
8501
|
getRowItems: V,
|
|
8486
8502
|
getItemsInRange: R,
|
|
@@ -8495,20 +8511,20 @@ function ep(n) {
|
|
|
8495
8511
|
});
|
|
8496
8512
|
}, h = (E) => {
|
|
8497
8513
|
p.value && p.value.forEach(($) => {
|
|
8498
|
-
const
|
|
8499
|
-
|
|
8514
|
+
const P = document.querySelector(`[data-key="${$}"]`);
|
|
8515
|
+
P && b($) && E.selection.select(P, !0);
|
|
8500
8516
|
});
|
|
8501
8517
|
}, b = (E) => {
|
|
8502
8518
|
const $ = m.value?.find((W) => o(W) === E);
|
|
8503
8519
|
if (!$) return !1;
|
|
8504
|
-
const
|
|
8505
|
-
return
|
|
8506
|
-
},
|
|
8520
|
+
const P = d.selectionFilterType, M = d.selectionFilterMimeIncludes;
|
|
8521
|
+
return P === "files" && $.type === "dir" || P === "dirs" && $.type === "file" ? !1 : M && Array.isArray(M) && M.length > 0 ? $.type === "dir" ? !0 : $.mime_type ? M.some((W) => $.mime_type?.startsWith(W)) : !1 : !0;
|
|
8522
|
+
}, k = (E) => {
|
|
8507
8523
|
if (E.size === 0) return null;
|
|
8508
|
-
const
|
|
8509
|
-
const je = m.value?.findIndex((Ke) => o(Ke) ===
|
|
8524
|
+
const P = Array.from(E).map((ve) => {
|
|
8525
|
+
const je = m.value?.findIndex((Ke) => o(Ke) === ve) ?? -1;
|
|
8510
8526
|
return e(je >= 0 ? je : 0);
|
|
8511
|
-
}), M = Math.min(...
|
|
8527
|
+
}), M = Math.min(...P.map((ve) => ve.row)), W = Math.max(...P.map((ve) => ve.row)), ee = Math.min(...P.map((ve) => ve.col)), ge = Math.max(...P.map((ve) => ve.col));
|
|
8512
8528
|
return { minRow: M, maxRow: W, minCol: ee, maxCol: ge };
|
|
8513
8529
|
}, C = (E) => {
|
|
8514
8530
|
if (d.selectionMode === "single")
|
|
@@ -8517,24 +8533,24 @@ function ep(n) {
|
|
|
8517
8533
|
}, V = T(0), R = (E) => {
|
|
8518
8534
|
const $ = E;
|
|
8519
8535
|
if ($ && "touches" in $) {
|
|
8520
|
-
const
|
|
8521
|
-
if (
|
|
8536
|
+
const P = $.touches?.[0];
|
|
8537
|
+
if (P) return { x: P.clientX, y: P.clientY };
|
|
8522
8538
|
}
|
|
8523
8539
|
if ($ && "changedTouches" in $) {
|
|
8524
|
-
const
|
|
8525
|
-
if (
|
|
8540
|
+
const P = $.changedTouches?.[0];
|
|
8541
|
+
if (P) return { x: P.clientX, y: P.clientY };
|
|
8526
8542
|
}
|
|
8527
8543
|
if ($ && "clientX" in $ && "clientY" in $) {
|
|
8528
|
-
const
|
|
8529
|
-
return { x:
|
|
8544
|
+
const P = $;
|
|
8545
|
+
return { x: P.clientX, y: P.clientY };
|
|
8530
8546
|
}
|
|
8531
8547
|
return null;
|
|
8532
8548
|
}, q = ({ event: E, selection: $ }) => {
|
|
8533
8549
|
V.value = (s.value?.getAreaLocation().y1 ?? 0) - (d.root.getBoundingClientRect().top ?? 0);
|
|
8534
|
-
const
|
|
8550
|
+
const P = document.querySelector(
|
|
8535
8551
|
".selection-area-container"
|
|
8536
8552
|
);
|
|
8537
|
-
if (
|
|
8553
|
+
if (P && (P.dataset.theme = d.theme.current), d.selectionMode === "single")
|
|
8538
8554
|
return;
|
|
8539
8555
|
const M = E;
|
|
8540
8556
|
M && "type" in M && M.type === "touchend" && M.preventDefault();
|
|
@@ -8542,9 +8558,9 @@ function ep(n) {
|
|
|
8542
8558
|
if (!W?.ctrlKey && !W?.metaKey && (u.clearSelection(), $.clearSelection(!0, !0)), f.value.clear(), s.value) {
|
|
8543
8559
|
const ee = s.value.getSelectables()[0]?.closest(".scroller-" + r);
|
|
8544
8560
|
if (ee) {
|
|
8545
|
-
const ge = ee.getBoundingClientRect(),
|
|
8546
|
-
if (
|
|
8547
|
-
const je =
|
|
8561
|
+
const ge = ee.getBoundingClientRect(), ve = R(E);
|
|
8562
|
+
if (ve) {
|
|
8563
|
+
const je = ve.y - ge.top + ee.scrollTop, Ke = ve.x - ge.left, A = Math.floor(je / l.value), ye = Math.floor(Ke / c);
|
|
8548
8564
|
D.value = { row: A, col: ye };
|
|
8549
8565
|
}
|
|
8550
8566
|
}
|
|
@@ -8552,22 +8568,22 @@ function ep(n) {
|
|
|
8552
8568
|
}, B = (E) => {
|
|
8553
8569
|
if (d.selectionMode === "single")
|
|
8554
8570
|
return;
|
|
8555
|
-
const $ = E.selection,
|
|
8556
|
-
S.value = !1, _.value = !0,
|
|
8571
|
+
const $ = E.selection, P = w(E.store.changed.added), M = w(E.store.changed.removed);
|
|
8572
|
+
S.value = !1, _.value = !0, P.forEach((W) => {
|
|
8557
8573
|
p.value && !p.value.has(W) && b(W) && (f.value.add(W), u.select(W, d.selectionMode || "multiple"));
|
|
8558
8574
|
}), M.forEach((W) => {
|
|
8559
8575
|
document.querySelector(`[data-key="${W}"]`) && m.value?.find((ge) => o(ge) === W) && f.value.delete(W), u.deselect(W);
|
|
8560
8576
|
}), $.resolveSelectables(), h(E);
|
|
8561
|
-
},
|
|
8577
|
+
}, F = () => {
|
|
8562
8578
|
f.value.clear();
|
|
8563
8579
|
}, K = (E) => {
|
|
8564
8580
|
if (E.event && D.value && f.value.size > 0) {
|
|
8565
|
-
const
|
|
8581
|
+
const P = Array.from(f.value).map((M) => {
|
|
8566
8582
|
const W = m.value?.findIndex((ee) => o(ee) === M) ?? -1;
|
|
8567
8583
|
return W >= 0 ? e(W) : null;
|
|
8568
8584
|
}).filter((M) => M !== null);
|
|
8569
|
-
if (
|
|
8570
|
-
const M = [...
|
|
8585
|
+
if (P.length > 0) {
|
|
8586
|
+
const M = [...P, D.value], W = {
|
|
8571
8587
|
minRow: Math.min(...M.map((ee) => ee.row)),
|
|
8572
8588
|
maxRow: Math.max(...M.map((ee) => ee.row)),
|
|
8573
8589
|
minCol: Math.min(...M.map((ee) => ee.col)),
|
|
@@ -8622,7 +8638,7 @@ function ep(n) {
|
|
|
8622
8638
|
b($) || u.deselect($);
|
|
8623
8639
|
}), Z(), z());
|
|
8624
8640
|
}, Q = (E) => {
|
|
8625
|
-
S.value && (s.value?.clearSelection(),
|
|
8641
|
+
S.value && (s.value?.clearSelection(), F(), S.value = !1);
|
|
8626
8642
|
const $ = E;
|
|
8627
8643
|
!f.value.size && !S.value && !$?.ctrlKey && !$?.metaKey && (u.clearSelection(), s.value?.clearSelection());
|
|
8628
8644
|
};
|
|
@@ -8640,7 +8656,7 @@ function ep(n) {
|
|
|
8640
8656
|
extractIds: w,
|
|
8641
8657
|
cleanupSelection: y,
|
|
8642
8658
|
refreshSelection: h,
|
|
8643
|
-
getSelectionRange:
|
|
8659
|
+
getSelectionRange: k,
|
|
8644
8660
|
selectSelectionRange: K,
|
|
8645
8661
|
initializeSelectionArea: z,
|
|
8646
8662
|
destroySelectionArea: Z,
|
|
@@ -8717,7 +8733,7 @@ const Yn = { render: lp }, cp = { class: "vuefinder__drag-item__container" }, dp
|
|
|
8717
8733
|
class: "vuefinder__drag-item__icon translate-x-1 translate-y-1"
|
|
8718
8734
|
})) : O("", !0),
|
|
8719
8735
|
L(a(Yn), { class: "vuefinder__drag-item__icon" }),
|
|
8720
|
-
i("div", dp,
|
|
8736
|
+
i("div", dp, x(e.count), 1)
|
|
8721
8737
|
]));
|
|
8722
8738
|
}
|
|
8723
8739
|
}), fp = {
|
|
@@ -8747,7 +8763,7 @@ const Yn = { render: lp }, cp = { class: "vuefinder__drag-item__container" }, dp
|
|
|
8747
8763
|
key: 1,
|
|
8748
8764
|
class: "vuefinder__item-icon__file"
|
|
8749
8765
|
})),
|
|
8750
|
-
n.ext && n.item.type !== "dir" && n.item.extension ? (v(), g("div", fp,
|
|
8766
|
+
n.ext && n.item.type !== "dir" && n.item.extension ? (v(), g("div", fp, x(n.item.extension.substring(0, 3)), 1)) : O("", !0)
|
|
8751
8767
|
])
|
|
8752
8768
|
], 2));
|
|
8753
8769
|
}
|
|
@@ -8798,7 +8814,7 @@ const Xn = { render: pp }, hp = ["data-key", "data-row", "data-col", "draggable"
|
|
|
8798
8814
|
return !b || b === "both" ? !0 : b === "files" && t.item.type === "file" || b === "dirs" && t.item.type === "dir";
|
|
8799
8815
|
}), d = H(() => {
|
|
8800
8816
|
const b = s.selectionFilterMimeIncludes;
|
|
8801
|
-
return !b || !b.length || t.item.type === "dir" ? !0 : t.item.mime_type ? b.some((
|
|
8817
|
+
return !b || !b.length || t.item.type === "dir" ? !0 : t.item.mime_type ? b.some((k) => t.item.mime_type?.startsWith(k)) : !1;
|
|
8802
8818
|
}), u = H(() => r.value && d.value), p = H(() => [
|
|
8803
8819
|
"file-item-" + t.explorerId,
|
|
8804
8820
|
t.view === "grid" ? "vf-explorer-item-grid" : "vf-explorer-item-list",
|
|
@@ -8820,37 +8836,37 @@ const Xn = { render: pp }, hp = ["data-key", "data-row", "data-col", "draggable"
|
|
|
8820
8836
|
else
|
|
8821
8837
|
return S = !1, o("dblclick", b), f && clearTimeout(f), !1;
|
|
8822
8838
|
if (b.currentTarget && b.currentTarget instanceof HTMLElement) {
|
|
8823
|
-
const
|
|
8839
|
+
const k = b.currentTarget.getBoundingClientRect();
|
|
8824
8840
|
b.preventDefault(), f = setTimeout(() => {
|
|
8825
|
-
let R =
|
|
8826
|
-
R + 146 > window.innerHeight - 10 && (R =
|
|
8841
|
+
let R = k.y + k.height;
|
|
8842
|
+
R + 146 > window.innerHeight - 10 && (R = k.y - 146), R < 10 && (R = 10);
|
|
8827
8843
|
const q = new MouseEvent("contextmenu", {
|
|
8828
8844
|
bubbles: !0,
|
|
8829
8845
|
cancelable: !0,
|
|
8830
8846
|
view: window,
|
|
8831
8847
|
button: 2,
|
|
8832
8848
|
buttons: 0,
|
|
8833
|
-
clientX:
|
|
8849
|
+
clientX: k.x,
|
|
8834
8850
|
clientY: R
|
|
8835
8851
|
});
|
|
8836
8852
|
b.target?.dispatchEvent(q);
|
|
8837
8853
|
}, 300);
|
|
8838
8854
|
}
|
|
8839
8855
|
};
|
|
8840
|
-
return (b,
|
|
8856
|
+
return (b, k) => (v(), g("div", {
|
|
8841
8857
|
class: X(p.value),
|
|
8842
8858
|
style: Me(m.value),
|
|
8843
8859
|
"data-key": n.item.path,
|
|
8844
8860
|
"data-row": n.rowIndex,
|
|
8845
8861
|
"data-col": n.colIndex,
|
|
8846
8862
|
draggable: w.value,
|
|
8847
|
-
onTouchstart:
|
|
8848
|
-
onTouchend:
|
|
8849
|
-
onClick:
|
|
8850
|
-
onDblclick:
|
|
8851
|
-
onContextmenu:
|
|
8852
|
-
onDragstart:
|
|
8853
|
-
onDragend:
|
|
8863
|
+
onTouchstart: k[1] || (k[1] = (C) => h(C)),
|
|
8864
|
+
onTouchend: k[2] || (k[2] = (C) => y()),
|
|
8865
|
+
onClick: k[3] || (k[3] = (C) => o("click", C)),
|
|
8866
|
+
onDblclick: k[4] || (k[4] = (C) => o("dblclick", C)),
|
|
8867
|
+
onContextmenu: k[5] || (k[5] = pe((C) => o("contextmenu", C), ["prevent", "stop"])),
|
|
8868
|
+
onDragstart: k[6] || (k[6] = (C) => o("dragstart", C)),
|
|
8869
|
+
onDragend: k[7] || (k[7] = (C) => o("dragend", C))
|
|
8854
8870
|
}, [
|
|
8855
8871
|
n.view === "grid" ? (v(), g("div", mp, [
|
|
8856
8872
|
a(l).isReadOnly(n.item) ? (v(), j(a(Xn), {
|
|
@@ -8865,7 +8881,7 @@ const Xn = { render: pp }, hp = ["data-key", "data-row", "data-col", "draggable"
|
|
|
8865
8881
|
class: "vuefinder__explorer__item-thumbnail lazy",
|
|
8866
8882
|
"data-src": n.item.previewUrl ?? a(s).adapter.getPreviewUrl({ path: n.item.path }),
|
|
8867
8883
|
alt: n.item.basename,
|
|
8868
|
-
onTouchstart:
|
|
8884
|
+
onTouchstart: k[0] || (k[0] = (C) => C.preventDefault())
|
|
8869
8885
|
}, null, 40, gp)) : (v(), j(Qn, {
|
|
8870
8886
|
key: 1,
|
|
8871
8887
|
item: n.item,
|
|
@@ -8877,7 +8893,7 @@ const Xn = { render: pp }, hp = ["data-key", "data-row", "data-col", "draggable"
|
|
|
8877
8893
|
_: 3
|
|
8878
8894
|
}, 8, ["item"]))
|
|
8879
8895
|
]),
|
|
8880
|
-
i("span", wp,
|
|
8896
|
+
i("span", wp, x(a(un)(n.item.basename)), 1)
|
|
8881
8897
|
])) : (v(), g("div", yp, [
|
|
8882
8898
|
i("div", bp, [
|
|
8883
8899
|
i("div", kp, [
|
|
@@ -8891,7 +8907,7 @@ const Xn = { render: pp }, hp = ["data-key", "data-row", "data-col", "draggable"
|
|
|
8891
8907
|
_: 3
|
|
8892
8908
|
}, 8, ["item", "small"])
|
|
8893
8909
|
]),
|
|
8894
|
-
i("span", xp,
|
|
8910
|
+
i("span", xp, x(n.item.basename), 1),
|
|
8895
8911
|
i("div", null, [
|
|
8896
8912
|
a(l).isReadOnly(n.item) ? (v(), j(a(Xn), {
|
|
8897
8913
|
key: 0,
|
|
@@ -8900,11 +8916,11 @@ const Xn = { render: pp }, hp = ["data-key", "data-row", "data-col", "draggable"
|
|
|
8900
8916
|
})) : O("", !0)
|
|
8901
8917
|
])
|
|
8902
8918
|
]),
|
|
8903
|
-
n.showPath ? (v(), g("div", $p,
|
|
8919
|
+
n.showPath ? (v(), g("div", $p, x(n.item.path), 1)) : O("", !0),
|
|
8904
8920
|
n.showPath ? O("", !0) : (v(), g("div", Sp, [
|
|
8905
|
-
n.item.file_size ? (v(), g("div", Cp,
|
|
8921
|
+
n.item.file_size ? (v(), g("div", Cp, x(a(s).filesize(n.item.file_size)), 1)) : O("", !0)
|
|
8906
8922
|
])),
|
|
8907
|
-
!n.showPath && n.item.last_modified ? (v(), g("div", Dp,
|
|
8923
|
+
!n.showPath && n.item.last_modified ? (v(), g("div", Dp, x(new Date(n.item.last_modified * 1e3).toLocaleString()), 1)) : O("", !0)
|
|
8908
8924
|
])),
|
|
8909
8925
|
a(D)("pinned") && a(c).get("pinnedFolders").find((C) => C.path === n.item.path) ? (v(), j(a(gn), {
|
|
8910
8926
|
key: 2,
|
|
@@ -8912,7 +8928,7 @@ const Xn = { render: pp }, hp = ["data-key", "data-row", "data-col", "draggable"
|
|
|
8912
8928
|
})) : O("", !0)
|
|
8913
8929
|
], 46, hp));
|
|
8914
8930
|
}
|
|
8915
|
-
}),
|
|
8931
|
+
}), Fp = ["data-row"], Jn = /* @__PURE__ */ te({
|
|
8916
8932
|
__name: "FileRow",
|
|
8917
8933
|
props: {
|
|
8918
8934
|
rowIndex: {},
|
|
@@ -8979,9 +8995,9 @@ const Xn = { render: pp }, hp = ["data-key", "data-row", "data-col", "draggable"
|
|
|
8979
8995
|
_: 3
|
|
8980
8996
|
}, 16, ["item", "view", "compact", "show-thumbnails", "show-path", "is-selected", "is-dragging", "row-index", "col-index", "explorer-id"]))), 128))
|
|
8981
8997
|
], 6)
|
|
8982
|
-
], 14,
|
|
8998
|
+
], 14, Fp));
|
|
8983
8999
|
}
|
|
8984
|
-
}),
|
|
9000
|
+
}), Pp = { class: "vuefinder__explorer__container" }, Tp = {
|
|
8985
9001
|
ref: "customScrollBar",
|
|
8986
9002
|
class: "vuefinder__explorer__scrollbar"
|
|
8987
9003
|
}, Ap = {
|
|
@@ -8999,7 +9015,7 @@ const Xn = { render: pp }, hp = ["data-key", "data-row", "data-col", "draggable"
|
|
|
8999
9015
|
setup(n) {
|
|
9000
9016
|
const e = n, t = se(), o = Ct(t, ["vuefinder__drag-over"]), s = tt("dragImage"), l = Zn(null), c = tt("scrollContainer"), r = tt("scrollContent"), d = t.fs, u = t.config, p = J(u.state), m = J(d.sort), f = J(d.sortedFiles), _ = J(d.selectedKeys), S = J(d.loading), D = (N) => _.value?.has(N) ?? !1;
|
|
9001
9017
|
let w = null;
|
|
9002
|
-
const y = T(null), h = tt("customScrollBar"), b = tt("customScrollBarContainer"),
|
|
9018
|
+
const y = T(null), h = tt("customScrollBar"), b = tt("customScrollBarContainer"), k = H(() => {
|
|
9003
9019
|
const N = p.value.view, ie = p.value.compactListView;
|
|
9004
9020
|
return N === "grid" ? 88 : ie ? 24 : 50;
|
|
9005
9021
|
}), { t: C } = t.i18n, {
|
|
@@ -9007,7 +9023,7 @@ const Xn = { render: pp }, hp = ["data-key", "data-row", "data-col", "draggable"
|
|
|
9007
9023
|
totalHeight: R,
|
|
9008
9024
|
visibleRows: q,
|
|
9009
9025
|
handleScroll: B,
|
|
9010
|
-
getRowItems:
|
|
9026
|
+
getRowItems: F,
|
|
9011
9027
|
getItemsInRange: K,
|
|
9012
9028
|
getItemPosition: Y,
|
|
9013
9029
|
updateItemsPerRow: z
|
|
@@ -9016,7 +9032,7 @@ const Xn = { render: pp }, hp = ["data-key", "data-row", "data-col", "draggable"
|
|
|
9016
9032
|
{
|
|
9017
9033
|
scrollContainer: c,
|
|
9018
9034
|
itemWidth: 104,
|
|
9019
|
-
rowHeight:
|
|
9035
|
+
rowHeight: k,
|
|
9020
9036
|
overscan: 2,
|
|
9021
9037
|
containerPadding: 0,
|
|
9022
9038
|
lockItemsPerRow: H(() => p.value.view === "list")
|
|
@@ -9027,13 +9043,13 @@ const Xn = { render: pp }, hp = ["data-key", "data-row", "data-col", "draggable"
|
|
|
9027
9043
|
initializeSelectionArea: Q,
|
|
9028
9044
|
destroySelectionArea: E,
|
|
9029
9045
|
updateSelectionArea: $,
|
|
9030
|
-
handleContentClick:
|
|
9046
|
+
handleContentClick: P
|
|
9031
9047
|
} = ep({
|
|
9032
9048
|
getItemPosition: Y,
|
|
9033
9049
|
getItemsInRange: K,
|
|
9034
9050
|
getKey: (N) => N.path,
|
|
9035
9051
|
selectionObject: l,
|
|
9036
|
-
rowHeight:
|
|
9052
|
+
rowHeight: k,
|
|
9037
9053
|
itemWidth: 104
|
|
9038
9054
|
}), M = T(null), W = (N) => {
|
|
9039
9055
|
if (!N || !M.value) return !1;
|
|
@@ -9109,12 +9125,12 @@ const Xn = { render: pp }, hp = ["data-key", "data-row", "data-col", "draggable"
|
|
|
9109
9125
|
let ke = !0;
|
|
9110
9126
|
if (ne && Array.isArray(ne) && ne.length > 0 && (U?.type === "dir" ? ke = !0 : U?.mime_type ? ke = ne.some((at) => (U?.mime_type).startsWith(at)) : ke = !1), !xe || !ke)
|
|
9111
9127
|
return;
|
|
9112
|
-
const
|
|
9113
|
-
!ae?.ctrlKey && !ae?.metaKey && (N.type !== "touchstart" || !d.isSelected(I)) && (d.clearSelection(), l.value?.clearSelection(!0, !0)), l.value?.resolveSelectables(), N.type === "touchstart" && d.isSelected(I) ? d.select(I,
|
|
9128
|
+
const Le = t.selectionMode || "multiple";
|
|
9129
|
+
!ae?.ctrlKey && !ae?.metaKey && (N.type !== "touchstart" || !d.isSelected(I)) && (d.clearSelection(), l.value?.clearSelection(!0, !0)), l.value?.resolveSelectables(), N.type === "touchstart" && d.isSelected(I) ? d.select(I, Le) : d.toggleSelect(I, Le);
|
|
9114
9130
|
}
|
|
9115
9131
|
d.setSelectedCount(_.value?.size || 0);
|
|
9116
9132
|
};
|
|
9117
|
-
function
|
|
9133
|
+
function ve(N) {
|
|
9118
9134
|
return {
|
|
9119
9135
|
item: N,
|
|
9120
9136
|
defaultPrevented: !1,
|
|
@@ -9124,7 +9140,7 @@ const Xn = { render: pp }, hp = ["data-key", "data-row", "data-col", "draggable"
|
|
|
9124
9140
|
};
|
|
9125
9141
|
}
|
|
9126
9142
|
const je = (N) => {
|
|
9127
|
-
const ie =
|
|
9143
|
+
const ie = ve(N);
|
|
9128
9144
|
if (N.type === "file" && e.onFileDclick) {
|
|
9129
9145
|
if (t.emitter.emit("vf-file-dclick", ie), ie.defaultPrevented) return;
|
|
9130
9146
|
} else if (N.type === "dir" && e.onFolderDclick && (t.emitter.emit("vf-folder-dclick", ie), ie.defaultPrevented))
|
|
@@ -9181,7 +9197,7 @@ const Xn = { render: pp }, hp = ["data-key", "data-row", "data-col", "draggable"
|
|
|
9181
9197
|
}, Se = () => {
|
|
9182
9198
|
M.value = null;
|
|
9183
9199
|
};
|
|
9184
|
-
return (N, ie) => (v(), g("div",
|
|
9200
|
+
return (N, ie) => (v(), g("div", Pp, [
|
|
9185
9201
|
i("div", {
|
|
9186
9202
|
ref: "customScrollBarContainer",
|
|
9187
9203
|
class: X(["vuefinder__explorer__scrollbar-container", [{ "grid-view": a(p).view === "grid" }]])
|
|
@@ -9193,7 +9209,7 @@ const Xn = { render: pp }, hp = ["data-key", "data-row", "data-col", "draggable"
|
|
|
9193
9209
|
class: "vuefinder__explorer__sort-button vuefinder__explorer__sort-button--name vf-sort-button",
|
|
9194
9210
|
onClick: ie[0] || (ie[0] = (ae) => a(d).toggleSort("basename"))
|
|
9195
9211
|
}, [
|
|
9196
|
-
de(
|
|
9212
|
+
de(x(a(C)("Name")) + " ", 1),
|
|
9197
9213
|
be(L(sn, {
|
|
9198
9214
|
direction: a(m).order
|
|
9199
9215
|
}, null, 8, ["direction"]), [
|
|
@@ -9204,7 +9220,7 @@ const Xn = { render: pp }, hp = ["data-key", "data-row", "data-col", "draggable"
|
|
|
9204
9220
|
class: "vuefinder__explorer__sort-button vuefinder__explorer__sort-button--size vf-sort-button",
|
|
9205
9221
|
onClick: ie[1] || (ie[1] = (ae) => a(d).toggleSort("file_size"))
|
|
9206
9222
|
}, [
|
|
9207
|
-
de(
|
|
9223
|
+
de(x(a(C)("Size")) + " ", 1),
|
|
9208
9224
|
be(L(sn, {
|
|
9209
9225
|
direction: a(m).order
|
|
9210
9226
|
}, null, 8, ["direction"]), [
|
|
@@ -9215,7 +9231,7 @@ const Xn = { render: pp }, hp = ["data-key", "data-row", "data-col", "draggable"
|
|
|
9215
9231
|
class: "vuefinder__explorer__sort-button vuefinder__explorer__sort-button--date vf-sort-button",
|
|
9216
9232
|
onClick: ie[2] || (ie[2] = (ae) => a(d).toggleSort("last_modified"))
|
|
9217
9233
|
}, [
|
|
9218
|
-
de(
|
|
9234
|
+
de(x(a(C)("Date")) + " ", 1),
|
|
9219
9235
|
be(L(sn, {
|
|
9220
9236
|
direction: a(m).order
|
|
9221
9237
|
}, null, 8, ["direction"]), [
|
|
@@ -9236,10 +9252,10 @@ const Xn = { render: pp }, hp = ["data-key", "data-row", "data-col", "draggable"
|
|
|
9236
9252
|
ref: r,
|
|
9237
9253
|
class: "scrollContent vuefinder__explorer__scroll-content",
|
|
9238
9254
|
style: Me({ height: `${a(R)}px`, position: "relative", width: "100%" }),
|
|
9239
|
-
onContextmenu:
|
|
9240
|
-
onClick: ie[3] || (ie[3] =
|
|
9255
|
+
onContextmenu: pe(ce, ["self", "prevent"]),
|
|
9256
|
+
onClick: ie[3] || (ie[3] = pe(
|
|
9241
9257
|
//@ts-ignore
|
|
9242
|
-
(...ae) => a(
|
|
9258
|
+
(...ae) => a(P) && a(P)(...ae),
|
|
9243
9259
|
["self"]
|
|
9244
9260
|
))
|
|
9245
9261
|
}, [
|
|
@@ -9255,10 +9271,10 @@ const Xn = { render: pp }, hp = ["data-key", "data-row", "data-col", "draggable"
|
|
|
9255
9271
|
a(p).view === "grid" ? (v(!0), g(re, { key: 0 }, _e(a(q), (ae) => (v(), j(Jn, {
|
|
9256
9272
|
key: ae,
|
|
9257
9273
|
"row-index": ae,
|
|
9258
|
-
"row-height":
|
|
9274
|
+
"row-height": k.value,
|
|
9259
9275
|
view: "grid",
|
|
9260
9276
|
"items-per-row": a(V),
|
|
9261
|
-
items: a(
|
|
9277
|
+
items: a(F)(a(f), ae),
|
|
9262
9278
|
"show-thumbnails": a(p).showThumbnails,
|
|
9263
9279
|
"is-dragging-item": W,
|
|
9264
9280
|
"is-selected": D,
|
|
@@ -9277,7 +9293,7 @@ const Xn = { render: pp }, hp = ["data-key", "data-row", "data-col", "draggable"
|
|
|
9277
9293
|
}, 8, ["row-index", "row-height", "items-per-row", "items", "show-thumbnails", "drag-n-drop-events", "explorer-id"]))), 128)) : (v(!0), g(re, { key: 1 }, _e(a(q), (ae) => (v(), j(Jn, {
|
|
9278
9294
|
key: ae,
|
|
9279
9295
|
"row-index": ae,
|
|
9280
|
-
"row-height":
|
|
9296
|
+
"row-height": k.value,
|
|
9281
9297
|
view: "list",
|
|
9282
9298
|
items: ee(ae) ? [ee(ae)] : [],
|
|
9283
9299
|
compact: a(p).compactListView,
|
|
@@ -9358,13 +9374,13 @@ const Xn = { render: pp }, hp = ["data-key", "data-row", "data-col", "draggable"
|
|
|
9358
9374
|
download: l(p),
|
|
9359
9375
|
onClick: u[0] || (u[0] = (m) => a(e).emitter.emit("vf-contextmenu-hide"))
|
|
9360
9376
|
}, [
|
|
9361
|
-
i("span", null,
|
|
9377
|
+
i("span", null, x(p.title(a(e).i18n)), 1)
|
|
9362
9378
|
], 8, Op)) : (v(), g("div", {
|
|
9363
9379
|
key: 1,
|
|
9364
9380
|
class: "vuefinder__context-menu__action",
|
|
9365
9381
|
onClick: (m) => c(p)
|
|
9366
9382
|
}, [
|
|
9367
|
-
i("span", null,
|
|
9383
|
+
i("span", null, x(p.title(a(e).i18n)), 1)
|
|
9368
9384
|
], 8, Bp))
|
|
9369
9385
|
]))), 128))
|
|
9370
9386
|
], 6)), [
|
|
@@ -9400,7 +9416,7 @@ const Xn = { render: pp }, hp = ["data-key", "data-row", "data-col", "draggable"
|
|
|
9400
9416
|
(v(!0), g(re, null, _e(f.value, (h) => (v(), g("option", {
|
|
9401
9417
|
key: h,
|
|
9402
9418
|
value: h
|
|
9403
|
-
},
|
|
9419
|
+
}, x(h), 9, Up))), 128))
|
|
9404
9420
|
], 40, Hp),
|
|
9405
9421
|
y[0] || (y[0] = i("span", {
|
|
9406
9422
|
class: "vuefinder__status-bar__storage-caret",
|
|
@@ -9408,9 +9424,9 @@ const Xn = { render: pp }, hp = ["data-key", "data-row", "data-col", "draggable"
|
|
|
9408
9424
|
}, null, -1))
|
|
9409
9425
|
], 8, zp),
|
|
9410
9426
|
i("div", jp, [
|
|
9411
|
-
S.value === 0 ? (v(), g("span", Kp,
|
|
9412
|
-
de(
|
|
9413
|
-
m.value ? (v(), g("span", Wp,
|
|
9427
|
+
S.value === 0 ? (v(), g("span", Kp, x(_.value.length) + " " + x(a(t)("items")), 1)) : (v(), g("span", qp, [
|
|
9428
|
+
de(x(S.value) + " " + x(a(t)("selected")) + " ", 1),
|
|
9429
|
+
m.value ? (v(), g("span", Wp, x(a(e).filesize(m.value)), 1)) : O("", !0)
|
|
9414
9430
|
]))
|
|
9415
9431
|
])
|
|
9416
9432
|
]),
|
|
@@ -9468,7 +9484,7 @@ const Zp = { class: "vuefinder__folder-loader-indicator" }, eh = {
|
|
|
9468
9484
|
const r = (await t.adapter.list(e.path)).files.filter((d) => d.type === "dir");
|
|
9469
9485
|
Uo(t.treeViewData, { path: e.path, type: "dir", folders: r });
|
|
9470
9486
|
} catch (c) {
|
|
9471
|
-
|
|
9487
|
+
Be(c, "Failed to fetch subfolders");
|
|
9472
9488
|
} finally {
|
|
9473
9489
|
s.value = !1;
|
|
9474
9490
|
}
|
|
@@ -9513,7 +9529,7 @@ const Zp = { class: "vuefinder__folder-loader-indicator" }, eh = {
|
|
|
9513
9529
|
class: "vuefinder__treesubfolderlist__container"
|
|
9514
9530
|
}, [
|
|
9515
9531
|
u.value.length ? O("", !0) : (v(), g("li", th, [
|
|
9516
|
-
i("div", nh,
|
|
9532
|
+
i("div", nh, x(a(l)("No folders")), 1)
|
|
9517
9533
|
])),
|
|
9518
9534
|
(v(!0), g(re, null, _e(u.value, (_) => (v(), g("li", {
|
|
9519
9535
|
key: _.path,
|
|
@@ -9562,7 +9578,7 @@ const Zp = { class: "vuefinder__folder-loader-indicator" }, eh = {
|
|
|
9562
9578
|
class: X(["vuefinder__treesubfolderlist__item-text", {
|
|
9563
9579
|
"vuefinder__treesubfolderlist__item-text--active": a(c).path === _.path
|
|
9564
9580
|
}])
|
|
9565
|
-
},
|
|
9581
|
+
}, x(_.basename), 3)
|
|
9566
9582
|
], 16, ih)
|
|
9567
9583
|
]),
|
|
9568
9584
|
i("div", rh, [
|
|
@@ -9611,11 +9627,11 @@ const Zp = { class: "vuefinder__folder-loader-indicator" }, eh = {
|
|
|
9611
9627
|
}, [
|
|
9612
9628
|
L(a(wn))
|
|
9613
9629
|
], 2),
|
|
9614
|
-
i("div", null,
|
|
9630
|
+
i("div", null, x(n.storage), 1)
|
|
9615
9631
|
], 16),
|
|
9616
9632
|
i("div", {
|
|
9617
9633
|
class: "vuefinder__treestorageitem__loader",
|
|
9618
|
-
onClick: m[1] || (m[1] =
|
|
9634
|
+
onClick: m[1] || (m[1] = pe((f) => o.value = !o.value, ["stop"]))
|
|
9619
9635
|
}, [
|
|
9620
9636
|
L(jo, {
|
|
9621
9637
|
modelValue: o.value,
|
|
@@ -9668,15 +9684,15 @@ const Zp = { class: "vuefinder__folder-loader-indicator" }, eh = {
|
|
|
9668
9684
|
const e = se(), { enabled: t } = Ue(), { t: o } = e.i18n, { getStore: s, setStore: l } = e.storage, c = e.fs, r = e.config, d = J(r.state), u = J(c.sortedFiles), p = J(c.storages), m = H(() => p.value || []), f = J(c.path), _ = Ct(e, ["vuefinder__drag-over"]), S = T(190), D = T(s("pinned-folders-opened", !0));
|
|
9669
9685
|
ue(D, (b) => l("pinned-folders-opened", b));
|
|
9670
9686
|
const w = (b) => {
|
|
9671
|
-
const
|
|
9672
|
-
r.set("pinnedFolders",
|
|
9687
|
+
const k = r.get("pinnedFolders");
|
|
9688
|
+
r.set("pinnedFolders", k.filter((C) => C.path !== b.path));
|
|
9673
9689
|
}, y = (b) => {
|
|
9674
|
-
const
|
|
9690
|
+
const k = b.clientX, C = b.target.parentElement;
|
|
9675
9691
|
if (!C) return;
|
|
9676
9692
|
const V = C.getBoundingClientRect().width;
|
|
9677
9693
|
C.classList.remove("transition-[width]"), C.classList.add("transition-none");
|
|
9678
9694
|
const R = (B) => {
|
|
9679
|
-
S.value = V + B.clientX -
|
|
9695
|
+
S.value = V + B.clientX - k, S.value < 50 && (S.value = 0, r.set("showTreeView", !1)), S.value > 50 && r.set("showTreeView", !0);
|
|
9680
9696
|
}, q = () => {
|
|
9681
9697
|
const B = C.getBoundingClientRect();
|
|
9682
9698
|
S.value = B.width, C.classList.add("transition-[width]"), C.classList.remove("transition-none"), window.removeEventListener("mousemove", R), window.removeEventListener("mouseup", q);
|
|
@@ -9693,20 +9709,20 @@ const Zp = { class: "vuefinder__folder-loader-indicator" }, eh = {
|
|
|
9693
9709
|
}
|
|
9694
9710
|
});
|
|
9695
9711
|
}), ue(u, (b) => {
|
|
9696
|
-
const
|
|
9712
|
+
const k = b.filter((C) => C.type === "dir");
|
|
9697
9713
|
Uo(e.treeViewData, {
|
|
9698
9714
|
path: f.value.path || "",
|
|
9699
|
-
folders:
|
|
9715
|
+
folders: k.map((C) => ({
|
|
9700
9716
|
storage: C.storage,
|
|
9701
9717
|
path: C.path,
|
|
9702
9718
|
basename: C.basename,
|
|
9703
9719
|
type: "dir"
|
|
9704
9720
|
}))
|
|
9705
9721
|
});
|
|
9706
|
-
}), (b,
|
|
9722
|
+
}), (b, k) => (v(), g(re, null, [
|
|
9707
9723
|
i("div", {
|
|
9708
9724
|
class: X(["vuefinder__treeview__overlay", a(d).showTreeView ? "vuefinder__treeview__backdrop" : "hidden"]),
|
|
9709
|
-
onClick:
|
|
9725
|
+
onClick: k[0] || (k[0] = (C) => a(r).toggle("showTreeView"))
|
|
9710
9726
|
}, null, 2),
|
|
9711
9727
|
i("div", {
|
|
9712
9728
|
style: Me(
|
|
@@ -9722,15 +9738,15 @@ const Zp = { class: "vuefinder__folder-loader-indicator" }, eh = {
|
|
|
9722
9738
|
a(t)("pinned") ? (v(), g("div", vh, [
|
|
9723
9739
|
i("div", {
|
|
9724
9740
|
class: "vuefinder__treeview__pinned-toggle",
|
|
9725
|
-
onClick:
|
|
9741
|
+
onClick: k[2] || (k[2] = (C) => D.value = !D.value)
|
|
9726
9742
|
}, [
|
|
9727
9743
|
i("div", ph, [
|
|
9728
9744
|
L(a(gn), { class: "vuefinder__treeview__pin-icon" }),
|
|
9729
|
-
i("div", hh,
|
|
9745
|
+
i("div", hh, x(a(o)("Pinned Folders")), 1)
|
|
9730
9746
|
]),
|
|
9731
9747
|
L(fh, {
|
|
9732
9748
|
modelValue: D.value,
|
|
9733
|
-
"onUpdate:modelValue":
|
|
9749
|
+
"onUpdate:modelValue": k[1] || (k[1] = (C) => D.value = C)
|
|
9734
9750
|
}, null, 8, ["modelValue"])
|
|
9735
9751
|
]),
|
|
9736
9752
|
D.value ? (v(), g("ul", mh, [
|
|
@@ -9754,7 +9770,7 @@ const Zp = { class: "vuefinder__folder-loader-indicator" }, eh = {
|
|
|
9754
9770
|
class: X(["vuefinder__treeview__folder-name", {
|
|
9755
9771
|
"vuefinder__treeview__folder-name--active": a(f).path === C.path
|
|
9756
9772
|
}])
|
|
9757
|
-
},
|
|
9773
|
+
}, x(C.basename), 11, gh)
|
|
9758
9774
|
], 16, _h),
|
|
9759
9775
|
i("div", {
|
|
9760
9776
|
class: "vuefinder__treeview__remove-folder",
|
|
@@ -9764,7 +9780,7 @@ const Zp = { class: "vuefinder__folder-loader-indicator" }, eh = {
|
|
|
9764
9780
|
], 8, wh)
|
|
9765
9781
|
]))), 128)),
|
|
9766
9782
|
a(d).pinnedFolders.length ? O("", !0) : (v(), g("li", yh, [
|
|
9767
|
-
i("div", bh,
|
|
9783
|
+
i("div", bh, x(a(o)("No folders pinned")), 1)
|
|
9768
9784
|
]))
|
|
9769
9785
|
])) : O("", !0)
|
|
9770
9786
|
])) : O("", !0),
|
|
@@ -9979,7 +9995,7 @@ const Ko = [
|
|
|
9979
9995
|
{
|
|
9980
9996
|
id: De.unarchive,
|
|
9981
9997
|
title: ({ t: n }) => n("Unarchive"),
|
|
9982
|
-
action: (n, e) => n.modal.open(
|
|
9998
|
+
action: (n, e) => n.modal.open(Pn, { items: e }),
|
|
9983
9999
|
show: $e({ target: "one", feature: "unarchive", mimeType: "application/zip" })
|
|
9984
10000
|
},
|
|
9985
10001
|
{
|
|
@@ -10081,7 +10097,7 @@ const Ko = [
|
|
|
10081
10097
|
});
|
|
10082
10098
|
const D = async (w) => {
|
|
10083
10099
|
const y = await _(w);
|
|
10084
|
-
y.length > 0 && (s.modal.open(
|
|
10100
|
+
y.length > 0 && (s.modal.open(Fn), setTimeout(() => {
|
|
10085
10101
|
s.emitter.emit(
|
|
10086
10102
|
"vf-external-files-dropped",
|
|
10087
10103
|
y.map((h) => h.file)
|
|
@@ -10115,7 +10131,7 @@ const Ko = [
|
|
|
10115
10131
|
onTouchstart: y[1] || (y[1] = (h) => a(s).emitter.emit("vf-contextmenu-hide"))
|
|
10116
10132
|
}, [
|
|
10117
10133
|
a(u) ? (v(), g("div", Sh, [
|
|
10118
|
-
i("div", Ch,
|
|
10134
|
+
i("div", Ch, x(a(s).i18n.t("Drag and drop the files/folders to here.")), 1)
|
|
10119
10135
|
])) : O("", !0),
|
|
10120
10136
|
L(sf),
|
|
10121
10137
|
L(rv),
|
|
@@ -10152,7 +10168,7 @@ const Ko = [
|
|
|
10152
10168
|
], 2)
|
|
10153
10169
|
], 42, $h));
|
|
10154
10170
|
}
|
|
10155
|
-
}),
|
|
10171
|
+
}), Fh = /* @__PURE__ */ te({
|
|
10156
10172
|
__name: "VueFinderProvider",
|
|
10157
10173
|
props: {
|
|
10158
10174
|
id: {},
|
|
@@ -10176,10 +10192,10 @@ const Ko = [
|
|
|
10176
10192
|
customUploader: {}
|
|
10177
10193
|
},
|
|
10178
10194
|
setup(n) {
|
|
10179
|
-
const e = n, t = e.id ??
|
|
10195
|
+
const e = n, t = e.id ?? Ft(rn);
|
|
10180
10196
|
if (!t)
|
|
10181
10197
|
throw new Error('VueFinderProvider requires an "id" prop.');
|
|
10182
|
-
const o = _i(e,
|
|
10198
|
+
const o = _i(e, Ft("VueFinderOptions") || {});
|
|
10183
10199
|
return ls(t, o), es(rn, t), fn(() => {
|
|
10184
10200
|
cs(t);
|
|
10185
10201
|
}), (s, l) => (v(), j(Eh, qe(st(e)), {
|
|
@@ -10196,7 +10212,7 @@ const Ko = [
|
|
|
10196
10212
|
install(n, e = {}) {
|
|
10197
10213
|
e.i18n = e.i18n ?? {};
|
|
10198
10214
|
const [t] = Object.keys(e.i18n);
|
|
10199
|
-
e.locale = e.locale ?? t ?? "en", n.provide("VueFinderOptions", e), n.component("VueFinder",
|
|
10215
|
+
e.locale = e.locale ?? t ?? "en", n.provide("VueFinderOptions", e), n.component("VueFinder", Fh);
|
|
10200
10216
|
}
|
|
10201
10217
|
};
|
|
10202
10218
|
export {
|
|
@@ -10204,9 +10220,9 @@ export {
|
|
|
10204
10220
|
De as ContextMenuIds,
|
|
10205
10221
|
Uh as IndexedDBDriver,
|
|
10206
10222
|
uo as RemoteDriver,
|
|
10207
|
-
|
|
10223
|
+
Fh as VueFinder,
|
|
10208
10224
|
jh as VueFinderPlugin,
|
|
10209
|
-
|
|
10225
|
+
Fh as VueFinderProvider,
|
|
10210
10226
|
Ko as contextMenuItems,
|
|
10211
10227
|
jh as default
|
|
10212
10228
|
};
|