@brftech/filex 0.1.56 → 0.1.60

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/LICENSE +21 -21
  2. package/dist/{ArchiveViewer-CMaBM4yZ.js → ArchiveViewer-BotnnnoW.js} +13 -13
  3. package/dist/ArchiveViewer-BotnnnoW.js.map +1 -0
  4. package/dist/{CsvViewer-D5_c7bkP.js → CsvViewer-CrwZZqmq.js} +3 -3
  5. package/dist/CsvViewer-CrwZZqmq.js.map +1 -0
  6. package/dist/{DrawioViewer-CBOqWzaj.js → DrawioViewer-uEJbt6hj.js} +3 -3
  7. package/dist/DrawioViewer-uEJbt6hj.js.map +1 -0
  8. package/dist/{EpubViewer-Cs6yZIP2.js → EpubViewer-mCV3ZEXb.js} +3 -3
  9. package/dist/EpubViewer-mCV3ZEXb.js.map +1 -0
  10. package/dist/{IpynbViewer-wJhbhUla.js → IpynbViewer-B3g-lJfV.js} +3 -3
  11. package/dist/IpynbViewer-B3g-lJfV.js.map +1 -0
  12. package/dist/{MermaidViewer-k_XVXoc5.js → MermaidViewer-B0Q0ghbV.js} +3 -3
  13. package/dist/MermaidViewer-B0Q0ghbV.js.map +1 -0
  14. package/dist/{PsdViewer-Bo4imBCF.js → PsdViewer-lk6xrjRB.js} +8 -8
  15. package/dist/PsdViewer-lk6xrjRB.js.map +1 -0
  16. package/dist/{TiffViewer-D73-Gyt-.js → TiffViewer-PXjYKqzo.js} +3 -3
  17. package/dist/TiffViewer-PXjYKqzo.js.map +1 -0
  18. package/dist/{Viewer3D-Ba-RPIRz.js → Viewer3D-DtT-hBa3.js} +4 -4
  19. package/dist/Viewer3D-DtT-hBa3.js.map +1 -0
  20. package/dist/filex.js +1 -1
  21. package/dist/filex.umd.cjs +13 -13
  22. package/dist/filex.umd.cjs.map +1 -1
  23. package/dist/{index-idz8Cz5t.js → index-BNs90VaG.js} +378 -378
  24. package/dist/index-BNs90VaG.js.map +1 -0
  25. package/dist/style.css +1 -1
  26. package/dist/useViewerFetch-czqbd2Lj.js.map +1 -1
  27. package/package.json +2 -2
  28. package/dist/ArchiveViewer-CMaBM4yZ.js.map +0 -1
  29. package/dist/CsvViewer-D5_c7bkP.js.map +0 -1
  30. package/dist/DrawioViewer-CBOqWzaj.js.map +0 -1
  31. package/dist/EpubViewer-Cs6yZIP2.js.map +0 -1
  32. package/dist/IpynbViewer-wJhbhUla.js.map +0 -1
  33. package/dist/MermaidViewer-k_XVXoc5.js.map +0 -1
  34. package/dist/PsdViewer-Bo4imBCF.js.map +0 -1
  35. package/dist/TiffViewer-D73-Gyt-.js.map +0 -1
  36. package/dist/Viewer3D-Ba-RPIRz.js.map +0 -1
  37. package/dist/index-idz8Cz5t.js.map +0 -1
@@ -1072,40 +1072,40 @@ function Ql(e, t, r = Ie) {
1072
1072
  lr = x;
1073
1073
  }
1074
1074
  } : h = It, t && o) {
1075
- const x = h, y = o === !0 ? 1 / 0 : o;
1076
- h = () => Ut(x(), y);
1075
+ const x = h, _ = o === !0 ? 1 / 0 : o;
1076
+ h = () => Ut(x(), _);
1077
1077
  }
1078
1078
  const R = kl(), L = () => {
1079
1079
  f.stop(), R && R.active && wo(R.effects, f);
1080
1080
  };
1081
1081
  if (a && t) {
1082
1082
  const x = t;
1083
- t = (...y) => {
1084
- x(...y), L();
1083
+ t = (..._) => {
1084
+ x(..._), L();
1085
1085
  };
1086
1086
  }
1087
1087
  let M = b ? new Array(e.length).fill(sn) : sn;
1088
1088
  const Q = (x) => {
1089
1089
  if (!(!(f.flags & 1) || !f.dirty && !x))
1090
1090
  if (t) {
1091
- const y = f.run();
1092
- if (o || w || (b ? y.some((_, T) => zt(_, M[T])) : zt(y, M))) {
1091
+ const _ = f.run();
1092
+ if (o || w || (b ? _.some((y, $) => zt(y, M[$])) : zt(_, M))) {
1093
1093
  g && g();
1094
- const _ = lr;
1094
+ const y = lr;
1095
1095
  lr = f;
1096
1096
  try {
1097
- const T = [
1098
- y,
1097
+ const $ = [
1098
+ _,
1099
1099
  // pass undefined as the old value when it's changed for the first time
1100
1100
  M === sn ? void 0 : b && M[0] === sn ? [] : M,
1101
1101
  C
1102
1102
  ];
1103
- M = y, l ? l(t, 3, T) : (
1103
+ M = _, l ? l(t, 3, $) : (
1104
1104
  // @ts-expect-error
1105
- t(...T)
1105
+ t(...$)
1106
1106
  );
1107
1107
  } finally {
1108
- lr = _;
1108
+ lr = y;
1109
1109
  }
1110
1110
  }
1111
1111
  } else
@@ -1117,7 +1117,7 @@ function Ql(e, t, r = Ie) {
1117
1117
  if (l)
1118
1118
  l(x, 4);
1119
1119
  else
1120
- for (const y of x) y();
1120
+ for (const _ of x) _();
1121
1121
  hn.delete(f);
1122
1122
  }
1123
1123
  }, t ? n ? Q(!0) : M = f.run() : i ? i(Q.bind(null, !0), !0) : f.run(), L.pause = f.pause.bind(f), L.resume = f.resume.bind(f), L.stop = L, L;
@@ -1406,10 +1406,10 @@ const Xt = /* @__PURE__ */ new WeakMap(), Mi = /* @__PURE__ */ Symbol("_vte"), D
1406
1406
  o: { insert: C, querySelector: w, createText: b, createComment: R, parentNode: L }
1407
1407
  } = c, M = cr(t.props);
1408
1408
  let { dynamicChildren: Q } = t;
1409
- const x = (T, $, O) => {
1410
- T.shapeFlag & 16 && f(
1411
- T.children,
1412
- $,
1409
+ const x = ($, T, O) => {
1410
+ $.shapeFlag & 16 && f(
1411
+ $.children,
1412
+ T,
1413
1413
  O,
1414
1414
  o,
1415
1415
  a,
@@ -1417,37 +1417,37 @@ const Xt = /* @__PURE__ */ new WeakMap(), Mi = /* @__PURE__ */ Symbol("_vte"), D
1417
1417
  s,
1418
1418
  l
1419
1419
  );
1420
- }, y = (T = t) => {
1421
- const $ = cr(T.props), O = T.target = uo(T.props, w), U = po(O, T, b, C);
1422
- O && (i !== "svg" && sa(O) ? i = "svg" : i !== "mathml" && la(O) && (i = "mathml"), o && o.isCE && (o.ce._teleportTargets || (o.ce._teleportTargets = /* @__PURE__ */ new Set())).add(O), $ || (x(T, O, U), Rr(T, !1)));
1423
- }, _ = (T) => {
1424
- const $ = () => {
1425
- if (Xt.get(T) === $) {
1426
- if (Xt.delete(T), cr(T.props)) {
1427
- const O = L(T.el) || r;
1428
- x(T, O, T.anchor), Rr(T, !0);
1420
+ }, _ = ($ = t) => {
1421
+ const T = cr($.props), O = $.target = uo($.props, w), U = po(O, $, b, C);
1422
+ O && (i !== "svg" && sa(O) ? i = "svg" : i !== "mathml" && la(O) && (i = "mathml"), o && o.isCE && (o.ce._teleportTargets || (o.ce._teleportTargets = /* @__PURE__ */ new Set())).add(O), T || (x($, O, U), Rr($, !1)));
1423
+ }, y = ($) => {
1424
+ const T = () => {
1425
+ if (Xt.get($) === T) {
1426
+ if (Xt.delete($), cr($.props)) {
1427
+ const O = L($.el) || r;
1428
+ x($, O, $.anchor), Rr($, !0);
1429
1429
  }
1430
- y(T);
1430
+ _($);
1431
1431
  }
1432
1432
  };
1433
- Xt.set(T, $), ut($, a);
1433
+ Xt.set($, T), ut(T, a);
1434
1434
  };
1435
1435
  if (e == null) {
1436
- const T = t.el = b(""), $ = t.anchor = b("");
1437
- if (C(T, r, n), C($, r, n), ic(t.props) || a && a.pendingBranch) {
1438
- _(t);
1436
+ const $ = t.el = b(""), T = t.anchor = b("");
1437
+ if (C($, r, n), C(T, r, n), ic(t.props) || a && a.pendingBranch) {
1438
+ y(t);
1439
1439
  return;
1440
1440
  }
1441
- M && (x(t, r, $), Rr(t, !0)), y();
1441
+ M && (x(t, r, T), Rr(t, !0)), _();
1442
1442
  } else {
1443
1443
  t.el = e.el;
1444
- const T = t.anchor = e.anchor, $ = Xt.get(e);
1445
- if ($) {
1446
- $.flags |= 8, Xt.delete(e), _(t);
1444
+ const $ = t.anchor = e.anchor, T = Xt.get(e);
1445
+ if (T) {
1446
+ T.flags |= 8, Xt.delete(e), y(t);
1447
1447
  return;
1448
1448
  }
1449
1449
  t.targetStart = e.targetStart;
1450
- const O = t.target = e.target, U = t.targetAnchor = e.targetAnchor, ee = cr(e.props), X = ee ? r : O, ue = ee ? T : U;
1450
+ const O = t.target = e.target, U = t.targetAnchor = e.targetAnchor, ee = cr(e.props), X = ee ? r : O, ue = ee ? $ : U;
1451
1451
  if (i === "svg" || sa(O) ? i = "svg" : (i === "mathml" || la(O)) && (i = "mathml"), Q ? (g(
1452
1452
  e.dynamicChildren,
1453
1453
  Q,
@@ -1470,7 +1470,7 @@ const Xt = /* @__PURE__ */ new WeakMap(), Mi = /* @__PURE__ */ Symbol("_vte"), D
1470
1470
  ee ? t.props && e.props && t.props.to !== e.props.to && (t.props.to = e.props.to) : ln(
1471
1471
  t,
1472
1472
  r,
1473
- T,
1473
+ $,
1474
1474
  c,
1475
1475
  1
1476
1476
  );
@@ -1730,17 +1730,17 @@ function Yr(e, t, r, n, o) {
1730
1730
  onAppear: L,
1731
1731
  onAfterAppear: M,
1732
1732
  onAppearCancelled: Q
1733
- } = t, x = String(e.key), y = Li(r, e), _ = (O, U) => {
1733
+ } = t, x = String(e.key), _ = Li(r, e), y = (O, U) => {
1734
1734
  O && $t(
1735
1735
  O,
1736
1736
  n,
1737
1737
  9,
1738
1738
  U
1739
1739
  );
1740
- }, T = (O, U) => {
1740
+ }, $ = (O, U) => {
1741
1741
  const ee = U[1];
1742
- _(O, U), ve(O) ? O.every((X) => X.length <= 1) && ee() : O.length <= 1 && ee();
1743
- }, $ = {
1742
+ y(O, U), ve(O) ? O.every((X) => X.length <= 1) && ee() : O.length <= 1 && ee();
1743
+ }, T = {
1744
1744
  mode: i,
1745
1745
  persisted: s,
1746
1746
  beforeEnter(O) {
@@ -1754,11 +1754,11 @@ function Yr(e, t, r, n, o) {
1754
1754
  !0
1755
1755
  /* cancelled */
1756
1756
  );
1757
- const ee = y[x];
1758
- ee && fr(e, ee) && ee.el[Mt] && ee.el[Mt](), _(U, [O]);
1757
+ const ee = _[x];
1758
+ ee && fr(e, ee) && ee.el[Mt] && ee.el[Mt](), y(U, [O]);
1759
1759
  },
1760
1760
  enter(O) {
1761
- if (y[x] === e) return;
1761
+ if (_[x] === e) return;
1762
1762
  let U = c, ee = f, X = h;
1763
1763
  if (!r.isMounted)
1764
1764
  if (a)
@@ -1767,10 +1767,10 @@ function Yr(e, t, r, n, o) {
1767
1767
  return;
1768
1768
  let ue = !1;
1769
1769
  O[Dr] = (Se) => {
1770
- ue || (ue = !0, Se ? _(X, [O]) : _(ee, [O]), $.delayedLeave && $.delayedLeave(), O[Dr] = void 0);
1770
+ ue || (ue = !0, Se ? y(X, [O]) : y(ee, [O]), T.delayedLeave && T.delayedLeave(), O[Dr] = void 0);
1771
1771
  };
1772
1772
  const fe = O[Dr].bind(null, !1);
1773
- U ? T(U, [O, fe]) : fe();
1773
+ U ? $(U, [O, fe]) : fe();
1774
1774
  },
1775
1775
  leave(O, U) {
1776
1776
  const ee = String(e.key);
@@ -1779,13 +1779,13 @@ function Yr(e, t, r, n, o) {
1779
1779
  /* cancelled */
1780
1780
  ), r.isUnmounting)
1781
1781
  return U();
1782
- _(g, [O]);
1782
+ y(g, [O]);
1783
1783
  let X = !1;
1784
1784
  O[Mt] = (fe) => {
1785
- X || (X = !0, U(), fe ? _(b, [O]) : _(w, [O]), O[Mt] = void 0, y[ee] === e && delete y[ee]);
1785
+ X || (X = !0, U(), fe ? y(b, [O]) : y(w, [O]), O[Mt] = void 0, _[ee] === e && delete _[ee]);
1786
1786
  };
1787
1787
  const ue = O[Mt].bind(null, !1);
1788
- y[ee] = e, C ? T(C, [O, ue]) : ue();
1788
+ _[ee] = e, C ? $(C, [O, ue]) : ue();
1789
1789
  },
1790
1790
  clone(O) {
1791
1791
  const U = Yr(
@@ -1798,7 +1798,7 @@ function Yr(e, t, r, n, o) {
1798
1798
  return o && o(U), U;
1799
1799
  }
1800
1800
  };
1801
- return $;
1801
+ return T;
1802
1802
  }
1803
1803
  function Gn(e) {
1804
1804
  if (Rn(e))
@@ -2178,10 +2178,10 @@ function kc(e) {
2178
2178
  beforeUnmount: M,
2179
2179
  destroyed: Q,
2180
2180
  unmounted: x,
2181
- render: y,
2182
- renderTracked: _,
2183
- renderTriggered: T,
2184
- errorCaptured: $,
2181
+ render: _,
2182
+ renderTracked: y,
2183
+ renderTriggered: $,
2184
+ errorCaptured: T,
2185
2185
  serverPrefetch: O,
2186
2186
  // public API
2187
2187
  expose: U,
@@ -2226,7 +2226,7 @@ function kc(e) {
2226
2226
  function ge(pe, he) {
2227
2227
  ve(he) ? he.forEach((Pe) => pe(Pe.bind(r))) : he && pe(he.bind(r));
2228
2228
  }
2229
- if (ge(hc, h), ge(Tt, g), ge(mc, C), ge(Bi, w), ge(uc, b), ge(pc, R), ge(_c, $), ge(xc, _), ge(bc, T), ge(Lt, M), ge(Fi, x), ge(gc, O), ve(U))
2229
+ if (ge(hc, h), ge(Tt, g), ge(mc, C), ge(Bi, w), ge(uc, b), ge(pc, R), ge(_c, T), ge(xc, y), ge(bc, $), ge(Lt, M), ge(Fi, x), ge(gc, O), ve(U))
2230
2230
  if (U.length) {
2231
2231
  const pe = e.exposed || (e.exposed = {});
2232
2232
  U.forEach((he) => {
@@ -2237,7 +2237,7 @@ function kc(e) {
2237
2237
  });
2238
2238
  });
2239
2239
  } else e.exposed || (e.exposed = {});
2240
- y && e.render === It && (e.render = y), ee != null && (e.inheritAttrs = ee), X && (e.components = X), ue && (e.directives = ue), O && Ni(e);
2240
+ _ && e.render === It && (e.render = _), ee != null && (e.inheritAttrs = ee), X && (e.components = X), ue && (e.directives = ue), O && Ni(e);
2241
2241
  }
2242
2242
  function Cc(e, t, r = It) {
2243
2243
  ve(e) && (e = mo(e));
@@ -2527,10 +2527,10 @@ function ba(e) {
2527
2527
  let L, M;
2528
2528
  try {
2529
2529
  if (r.shapeFlag & 4) {
2530
- const x = o || n, y = x;
2530
+ const x = o || n, _ = x;
2531
2531
  L = Ot(
2532
2532
  c.call(
2533
- y,
2533
+ _,
2534
2534
  x,
2535
2535
  f,
2536
2536
  h,
@@ -2556,8 +2556,8 @@ function ba(e) {
2556
2556
  }
2557
2557
  let Q = L;
2558
2558
  if (M && b !== !1) {
2559
- const x = Object.keys(M), { shapeFlag: y } = Q;
2560
- x.length && y & 7 && (a && x.some(Tn) && (M = zc(
2559
+ const x = Object.keys(M), { shapeFlag: _ } = Q;
2560
+ x.length && _ & 7 && (a && x.some(Tn) && (M = zc(
2561
2561
  M,
2562
2562
  a
2563
2563
  )), Q = tr(Q, M, !1, !0));
@@ -2889,7 +2889,7 @@ function Vc(e, t) {
2889
2889
  );
2890
2890
  break;
2891
2891
  default:
2892
- re & 1 ? y(
2892
+ re & 1 ? _(
2893
2893
  p,
2894
2894
  m,
2895
2895
  E,
@@ -2959,9 +2959,9 @@ function Vc(e, t) {
2959
2959
  for (; p && p !== m; )
2960
2960
  E = g(p), o(p), p = E;
2961
2961
  o(m);
2962
- }, y = (p, m, E, F, z, N, te, Z, G) => {
2962
+ }, _ = (p, m, E, F, z, N, te, Z, G) => {
2963
2963
  if (m.type === "svg" ? te = "svg" : m.type === "math" && (te = "mathml"), p == null)
2964
- _(
2964
+ y(
2965
2965
  m,
2966
2966
  E,
2967
2967
  F,
@@ -2987,7 +2987,7 @@ function Vc(e, t) {
2987
2987
  K && K._endPatch();
2988
2988
  }
2989
2989
  }
2990
- }, _ = (p, m, E, F, z, N, te, Z) => {
2990
+ }, y = (p, m, E, F, z, N, te, Z) => {
2991
2991
  let G, K;
2992
2992
  const { props: ce, shapeFlag: re, transition: se, dirs: de } = p;
2993
2993
  if (G = p.el = i(
@@ -2995,7 +2995,7 @@ function Vc(e, t) {
2995
2995
  N,
2996
2996
  ce && ce.is,
2997
2997
  ce
2998
- ), re & 8 ? f(G, p.children) : re & 16 && $(
2998
+ ), re & 8 ? f(G, p.children) : re & 16 && T(
2999
2999
  p.children,
3000
3000
  G,
3001
3001
  null,
@@ -3004,7 +3004,7 @@ function Vc(e, t) {
3004
3004
  Xn(p, N),
3005
3005
  te,
3006
3006
  Z
3007
- ), de && ar(p, null, F, "created"), T(G, p, p.scopeId, te, F), ce) {
3007
+ ), de && ar(p, null, F, "created"), $(G, p, p.scopeId, te, F), ce) {
3008
3008
  for (const Ce in ce)
3009
3009
  Ce !== "value" && !jr(Ce) && a(G, Ce, null, ce[Ce], N, F);
3010
3010
  "value" in ce && a(G, "value", null, ce.value, N), (K = ce.onVnodeBeforeMount) && Et(K, F, p);
@@ -3017,7 +3017,7 @@ function Vc(e, t) {
3017
3017
  } finally {
3018
3018
  }
3019
3019
  }, z);
3020
- }, T = (p, m, E, F, z) => {
3020
+ }, $ = (p, m, E, F, z) => {
3021
3021
  if (E && C(p, E), F)
3022
3022
  for (let N = 0; N < F.length; N++)
3023
3023
  C(p, F[N]);
@@ -3025,7 +3025,7 @@ function Vc(e, t) {
3025
3025
  let N = z.subTree;
3026
3026
  if (m === N || ss(N.type) && (N.ssContent === m || N.ssFallback === m)) {
3027
3027
  const te = z.vnode;
3028
- T(
3028
+ $(
3029
3029
  p,
3030
3030
  te,
3031
3031
  te.scopeId,
@@ -3034,7 +3034,7 @@ function Vc(e, t) {
3034
3034
  );
3035
3035
  }
3036
3036
  }
3037
- }, $ = (p, m, E, F, z, N, te, Z, G = 0) => {
3037
+ }, T = (p, m, E, F, z, N, te, Z, G = 0) => {
3038
3038
  for (let K = G; K < p.length; K++) {
3039
3039
  const ce = p[K] = Z ? Bt(p[K]) : Ot(p[K]);
3040
3040
  b(
@@ -3138,7 +3138,7 @@ function Vc(e, t) {
3138
3138
  }, X = (p, m, E, F, z, N, te, Z, G) => {
3139
3139
  const K = m.el = p ? p.el : s(""), ce = m.anchor = p ? p.anchor : s("");
3140
3140
  let { patchFlag: re, dynamicChildren: se, slotScopeIds: de } = m;
3141
- de && (Z = Z ? Z.concat(de) : de), p == null ? (n(K, E, F), n(ce, E, F), $(
3141
+ de && (Z = Z ? Z.concat(de) : de), p == null ? (n(K, E, F), n(ce, E, F), T(
3142
3142
  // #10007
3143
3143
  // such fragment like `<></>` will be compiled into
3144
3144
  // a fragment which doesn't have a children.
@@ -3340,7 +3340,7 @@ function Vc(e, t) {
3340
3340
  te,
3341
3341
  Z,
3342
3342
  G
3343
- ) : Je(K, z, N, !0) : (ce & 8 && f(E, ""), de & 16 && $(
3343
+ ) : Je(K, z, N, !0) : (ce & 8 && f(E, ""), de & 16 && T(
3344
3344
  re,
3345
3345
  E,
3346
3346
  F,
@@ -3375,7 +3375,7 @@ function Vc(e, t) {
3375
3375
  !0,
3376
3376
  !1,
3377
3377
  re
3378
- ) : $(
3378
+ ) : T(
3379
3379
  m,
3380
3380
  E,
3381
3381
  F,
@@ -3652,7 +3652,7 @@ function Vc(e, t) {
3652
3652
  m: qe,
3653
3653
  r: Ye,
3654
3654
  mt: fe,
3655
- mc: $,
3655
+ mc: T,
3656
3656
  pc: he,
3657
3657
  pbc: U,
3658
3658
  n: ze,
@@ -4282,16 +4282,16 @@ function gs(e) {
4282
4282
  onEnter: M,
4283
4283
  onEnterCancelled: Q,
4284
4284
  onLeave: x,
4285
- onLeaveCancelled: y,
4286
- onBeforeAppear: _ = L,
4287
- onAppear: T = M,
4288
- onAppearCancelled: $ = Q
4285
+ onLeaveCancelled: _,
4286
+ onBeforeAppear: y = L,
4287
+ onAppear: $ = M,
4288
+ onAppearCancelled: T = Q
4289
4289
  } = t, O = (X, ue, fe, Se) => {
4290
4290
  X._enterCancelled = Se, Qt(X, ue ? f : s), Qt(X, ue ? c : i), fe && fe();
4291
4291
  }, U = (X, ue) => {
4292
4292
  X._isLeaving = !1, Qt(X, h), Qt(X, C), Qt(X, g), ue && ue();
4293
4293
  }, ee = (X) => (ue, fe) => {
4294
- const Se = X ? T : M, ge = () => O(ue, X, fe);
4294
+ const Se = X ? $ : M, ge = () => O(ue, X, fe);
4295
4295
  sr(Se, [ue, ge]), Ta(() => {
4296
4296
  Qt(ue, X ? l : a), At(ue, X ? f : s), $a(Se) || Ea(ue, n, b, ge);
4297
4297
  });
@@ -4301,7 +4301,7 @@ function gs(e) {
4301
4301
  sr(L, [X]), At(X, a), At(X, i);
4302
4302
  },
4303
4303
  onBeforeAppear(X) {
4304
- sr(_, [X]), At(X, l), At(X, c);
4304
+ sr(y, [X]), At(X, l), At(X, c);
4305
4305
  },
4306
4306
  onEnter: ee(!1),
4307
4307
  onAppear: ee(!0),
@@ -4316,10 +4316,10 @@ function gs(e) {
4316
4316
  O(X, !1, void 0, !0), sr(Q, [X]);
4317
4317
  },
4318
4318
  onAppearCancelled(X) {
4319
- O(X, !0, void 0, !0), sr($, [X]);
4319
+ O(X, !0, void 0, !0), sr(T, [X]);
4320
4320
  },
4321
4321
  onLeaveCancelled(X) {
4322
- U(X), sr(y, [X]);
4322
+ U(X), sr(_, [X]);
4323
4323
  }
4324
4324
  });
4325
4325
  }
@@ -5307,24 +5307,24 @@ function Jf(e) {
5307
5307
  async function x(H, J) {
5308
5308
  return s(M("search", { path: H, filter: J }));
5309
5309
  }
5310
- async function y(H) {
5310
+ async function _(H) {
5311
5311
  return s(M("subfolders", { path: H }));
5312
5312
  }
5313
- async function _(H, J) {
5313
+ async function y(H, J) {
5314
5314
  return s(M("newfolder"), {
5315
5315
  method: "POST",
5316
5316
  headers: { "Content-Type": "application/json" },
5317
5317
  body: JSON.stringify({ path: H, name: J })
5318
5318
  });
5319
5319
  }
5320
- async function T(H, J, ae) {
5320
+ async function $(H, J, ae) {
5321
5321
  return s(M("rename"), {
5322
5322
  method: "POST",
5323
5323
  headers: { "Content-Type": "application/json" },
5324
5324
  body: JSON.stringify({ path: H, item: J, name: ae })
5325
5325
  });
5326
5326
  }
5327
- async function $(H, J, ae) {
5327
+ async function T(H, J, ae) {
5328
5328
  return s(M("move"), {
5329
5329
  method: "POST",
5330
5330
  headers: { "Content-Type": "application/json" },
@@ -5519,10 +5519,10 @@ function Jf(e) {
5519
5519
  // Manager
5520
5520
  index: Q,
5521
5521
  search: x,
5522
- subfolders: y,
5523
- newFolder: _,
5524
- rename: T,
5525
- move: $,
5522
+ subfolders: _,
5523
+ newFolder: y,
5524
+ rename: $,
5525
+ move: T,
5526
5526
  copy: U,
5527
5527
  moveAsync: ee,
5528
5528
  deleteAsync: X,
@@ -5631,7 +5631,7 @@ function Xf(e, t) {
5631
5631
  });
5632
5632
  }
5633
5633
  const x = 2;
5634
- async function y(O, U = 0) {
5634
+ async function _(O, U = 0) {
5635
5635
  try {
5636
5636
  await Q(O);
5637
5637
  } catch (ee) {
@@ -5641,28 +5641,28 @@ function Xf(e, t) {
5641
5641
  const ue = R.get(O.partNumber) ?? 0;
5642
5642
  ue > 0 && (l.uploadedBytes = Math.max(0, l.uploadedBytes - ue), R.delete(O.partNumber), h());
5643
5643
  const fe = 500 * (U + 1) + Math.floor(Math.random() * 250);
5644
- return await new Promise((Se) => setTimeout(Se, fe)), y(O, U + 1);
5644
+ return await new Promise((Se) => setTimeout(Se, fe)), _(O, U + 1);
5645
5645
  }
5646
5646
  }
5647
- async function _() {
5647
+ async function y() {
5648
5648
  for (; !c && M < w.parts.length; ) {
5649
5649
  const O = w.parts[M++];
5650
- await y(O);
5650
+ await _(O);
5651
5651
  }
5652
5652
  }
5653
- const T = [];
5653
+ const $ = [];
5654
5654
  for (let O = 0; O < s; O++)
5655
- T.push(_());
5656
- if (await Promise.all(T), c)
5655
+ $.push(y());
5656
+ if (await Promise.all($), c)
5657
5657
  throw new DOMException("Aborted by user", "AbortError");
5658
5658
  if (!t.endpoints.uploadFinalize) throw new Error("uploadFinalize not configured");
5659
5659
  l.status = "finalizing", L.sort((O, U) => O.partNumber - U.partNumber);
5660
- const $ = await t.jsonFetch(t.endpoints.uploadFinalize, {
5660
+ const T = await t.jsonFetch(t.endpoints.uploadFinalize, {
5661
5661
  method: "POST",
5662
5662
  headers: { "Content-Type": "application/json" },
5663
5663
  body: JSON.stringify({ uploadId: w.uploadId, parts: L })
5664
5664
  });
5665
- return l.status = "done", l.uploadedBytes = l.totalBytes, l.percent = 100, h(), (g = a.onDone) == null || g.call(a, l, $), $;
5665
+ return l.status = "done", l.uploadedBytes = l.totalBytes, l.percent = 100, h(), (g = a.onDone) == null || g.call(a, l, T), T;
5666
5666
  } catch (w) {
5667
5667
  const b = w instanceof Error ? w : new Error(String(w));
5668
5668
  if (l.status = b.name === "AbortError" ? "aborted" : "error", l.error = b.message, h(), l.uploadId && t.endpoints.uploadAbort && l.status === "aborted")
@@ -6072,16 +6072,16 @@ function od(e, t, r = {}) {
6072
6072
  if (t.endpoints.opsList)
6073
6073
  try {
6074
6074
  const R = ((await t.jsonFetch(t.endpoints.opsList)).ops || []).map(Ga);
6075
- for (const $ of R)
6076
- ($.status === "done" || $.status === "error") && !o.has($.id) && (o.add($.id), a.set($.id, Date.now()), i && ((w = r.onSettled) == null || w.call(r, $)));
6077
- const L = new Set(n.value.map(($) => $.id)), M = R.filter(($) => $.status === "pending" || $.status === "running" ? !0 : i ? L.has($.id) : !1), Q = new Set(M.map(($) => $.id)), x = n.value.filter(($) => !Q.has($.id)), y = [...M, ...x];
6075
+ for (const T of R)
6076
+ (T.status === "done" || T.status === "error") && !o.has(T.id) && (o.add(T.id), a.set(T.id, Date.now()), i && ((w = r.onSettled) == null || w.call(r, T)));
6077
+ const L = new Set(n.value.map((T) => T.id)), M = R.filter((T) => T.status === "pending" || T.status === "running" ? !0 : i ? L.has(T.id) : !1), Q = new Set(M.map((T) => T.id)), x = n.value.filter((T) => !Q.has(T.id)), _ = [...M, ...x];
6078
6078
  i = !0;
6079
- const _ = Date.now(), T = y.filter(($) => {
6080
- if ($.status === "pending" || $.status === "running") return !0;
6081
- const O = a.get($.id);
6082
- return O !== void 0 && _ - O < nd;
6079
+ const y = Date.now(), $ = _.filter((T) => {
6080
+ if (T.status === "pending" || T.status === "running") return !0;
6081
+ const O = a.get(T.id);
6082
+ return O !== void 0 && y - O < nd;
6083
6083
  });
6084
- n.value = T, !s.value && T.length === 0 && f();
6084
+ n.value = $, !s.value && $.length === 0 && f();
6085
6085
  } catch (b) {
6086
6086
  console.warn("[usePendingOps] poll failed:", b);
6087
6087
  }
@@ -6381,7 +6381,7 @@ const sd = { class: "fe-toolbar" }, ld = { class: "fe-toolbar__primary" }, cd =
6381
6381
  for (const [n, o] of t)
6382
6382
  r[n] = o;
6383
6383
  return r;
6384
- }, Ed = /* @__PURE__ */ rn(Td, [["__scopeId", "data-v-0cce6f92"]]), Ad = { class: "filex-recent" }, Pd = ["disabled"], Md = { key: 0 }, Dd = ["onClick"], Od = { class: "filex-recent-name" }, zd = { class: "filex-recent-meta" }, Id = {
6384
+ }, Ed = /* @__PURE__ */ rn(Td, [["__scopeId", "data-v-f2104118"]]), Ad = { class: "filex-recent" }, Pd = ["disabled"], Md = { key: 0 }, Dd = ["onClick"], Od = { class: "filex-recent-name" }, zd = { class: "filex-recent-meta" }, Id = {
6385
6385
  key: 1,
6386
6386
  class: "filex-recent-empty"
6387
6387
  }, Rd = {
@@ -6448,7 +6448,7 @@ const sd = { class: "fe-toolbar" }, ld = { class: "fe-toolbar__primary" }, cd =
6448
6448
  ])) : a.value ? (k(), A("p", Rd, "Loading…")) : (k(), A("p", Id, "Nothing here yet."))
6449
6449
  ]));
6450
6450
  }
6451
- }), Nd = /* @__PURE__ */ rn(Ld, [["__scopeId", "data-v-b6b9b1f3"]]), jd = {
6451
+ }), Nd = /* @__PURE__ */ rn(Ld, [["__scopeId", "data-v-ff50baed"]]), jd = {
6452
6452
  class: "fe-breadcrumb",
6453
6453
  "aria-label": "Breadcrumb"
6454
6454
  }, Bd = ["aria-current", "onClick", "onContextmenu", "onDrop"], Fd = {
@@ -6477,26 +6477,26 @@ const sd = { class: "fe-toolbar" }, ld = { class: "fe-toolbar__primary" }, cd =
6477
6477
  const Q = M.split("/");
6478
6478
  return Q[Q.length - 1] || r.rootLabel || r.adapter;
6479
6479
  }), { t: a } = wt(() => r.locale), i = t, s = xe(() => {
6480
- const M = `${r.adapter}://`, Q = r.dirname.startsWith(M) ? r.dirname.slice(M.length) : r.dirname, x = Q.split("/").filter(Boolean), y = [];
6480
+ const M = `${r.adapter}://`, Q = r.dirname.startsWith(M) ? r.dirname.slice(M.length) : r.dirname, x = Q.split("/").filter(Boolean), _ = [];
6481
6481
  if (r.rootPath) {
6482
- const T = n.value, $ = Q.replace(/^\/+|\/+$/g, ""), O = T && ($ === T || $.startsWith(T + "/")) ? $.slice(T.length).replace(/^\/+/, "") : "";
6483
- y.push({ label: o.value, adapterPath: r.rootPath });
6484
- let U = T;
6482
+ const $ = n.value, T = Q.replace(/^\/+|\/+$/g, ""), O = $ && (T === $ || T.startsWith($ + "/")) ? T.slice($.length).replace(/^\/+/, "") : "";
6483
+ _.push({ label: o.value, adapterPath: r.rootPath });
6484
+ let U = $;
6485
6485
  for (const ee of O.split("/").filter(Boolean))
6486
- U = U ? `${U}/${ee}` : ee, y.push({ label: ee === ".trash" ? a("node.trash") : ee, adapterPath: `${M}${U}` });
6487
- return y;
6486
+ U = U ? `${U}/${ee}` : ee, _.push({ label: ee === ".trash" ? a("node.trash") : ee, adapterPath: `${M}${U}` });
6487
+ return _;
6488
6488
  }
6489
- r.multiStorageRoot ? (y.push({ label: "/", adapterPath: "" }), r.adapter && y.push({ label: r.rootLabel || r.adapter, adapterPath: M })) : y.push({
6489
+ r.multiStorageRoot ? (_.push({ label: "/", adapterPath: "" }), r.adapter && _.push({ label: r.rootLabel || r.adapter, adapterPath: M })) : _.push({
6490
6490
  label: r.rootLabel || r.adapter,
6491
6491
  adapterPath: M
6492
6492
  });
6493
- let _ = "";
6494
- for (const T of x) {
6495
- _ = _ ? `${_}/${T}` : T;
6496
- const $ = T === ".trash" ? a("node.trash") : T;
6497
- y.push({ label: $, adapterPath: `${M}${_}` });
6493
+ let y = "";
6494
+ for (const $ of x) {
6495
+ y = y ? `${y}/${$}` : $;
6496
+ const T = $ === ".trash" ? a("node.trash") : $;
6497
+ _.push({ label: T, adapterPath: `${M}${y}` });
6498
6498
  }
6499
- return y;
6499
+ return _;
6500
6500
  });
6501
6501
  function l(M) {
6502
6502
  i("navigate", M.adapterPath);
@@ -6521,10 +6521,10 @@ const sd = { class: "fe-toolbar" }, ld = { class: "fe-toolbar__primary" }, cd =
6521
6521
  function b() {
6522
6522
  const M = `${r.adapter}://`, Q = r.dirname.startsWith(M) ? r.dirname.slice(M.length) : r.dirname;
6523
6523
  if (r.rootPath) {
6524
- const x = n.value, y = Q.replace(/^\/+|\/+$/g, ""), _ = x && (y === x || y.startsWith(x + "/")) ? y.slice(x.length).replace(/^\/+/, "") : "";
6525
- C.value = _ ? `/${_}` : "/", g.value = !0, qt(() => {
6526
- var T, $;
6527
- (T = w.value) == null || T.focus(), ($ = w.value) == null || $.select();
6524
+ const x = n.value, _ = Q.replace(/^\/+|\/+$/g, ""), y = x && (_ === x || _.startsWith(x + "/")) ? _.slice(x.length).replace(/^\/+/, "") : "";
6525
+ C.value = y ? `/${y}` : "/", g.value = !0, qt(() => {
6526
+ var $, T;
6527
+ ($ = w.value) == null || $.focus(), (T = w.value) == null || T.select();
6528
6528
  });
6529
6529
  return;
6530
6530
  }
@@ -6538,15 +6538,15 @@ const sd = { class: "fe-toolbar" }, ld = { class: "fe-toolbar__primary" }, cd =
6538
6538
  else
6539
6539
  C.value = Q;
6540
6540
  g.value = !0, qt(() => {
6541
- var x, y;
6542
- (x = w.value) == null || x.focus(), (y = w.value) == null || y.select();
6541
+ var x, _;
6542
+ (x = w.value) == null || x.focus(), (_ = w.value) == null || _.select();
6543
6543
  });
6544
6544
  }
6545
6545
  function R() {
6546
6546
  const M = C.value.trim();
6547
6547
  if (g.value = !1, r.rootPath) {
6548
- const x = M.replace(/^\/+|\/+$/g, ""), y = n.value, _ = x ? y ? `${y}/${x}` : x : y;
6549
- i("navigate", _ ? `${r.adapter}://${_}` : `${r.adapter}://`);
6548
+ const x = M.replace(/^\/+|\/+$/g, ""), _ = n.value, y = x ? _ ? `${_}/${x}` : x : _;
6549
+ i("navigate", y ? `${r.adapter}://${y}` : `${r.adapter}://`);
6550
6550
  return;
6551
6551
  }
6552
6552
  if (r.multiStorageRoot) {
@@ -6555,8 +6555,8 @@ const sd = { class: "fe-toolbar" }, ld = { class: "fe-toolbar__primary" }, cd =
6555
6555
  i("navigate", "");
6556
6556
  return;
6557
6557
  }
6558
- const y = x.indexOf("/"), _ = y === -1 ? x : x.slice(0, y), T = y === -1 ? "" : x.slice(y + 1);
6559
- i("navigate", T ? `${_}://${T}` : `${_}://`);
6558
+ const _ = x.indexOf("/"), y = _ === -1 ? x : x.slice(0, _), $ = _ === -1 ? "" : x.slice(_ + 1);
6559
+ i("navigate", $ ? `${y}://${$}` : `${y}://`);
6560
6560
  return;
6561
6561
  }
6562
6562
  const Q = M.replace(/^\/+|\/+$/g, "");
@@ -6584,18 +6584,18 @@ const sd = { class: "fe-toolbar" }, ld = { class: "fe-toolbar__primary" }, cd =
6584
6584
  }, null, 40, Kd)), [
6585
6585
  [mt, C.value]
6586
6586
  ]) : (k(), A(ke, { key: 0 }, [
6587
- (k(!0), A(ke, null, Qe(s.value, (x, y) => (k(), A("button", {
6587
+ (k(!0), A(ke, null, Qe(s.value, (x, _) => (k(), A("button", {
6588
6588
  key: x.adapterPath,
6589
- class: Re(["fe-breadcrumb__crumb", { "is-last": y === s.value.length - 1 }]),
6589
+ class: Re(["fe-breadcrumb__crumb", { "is-last": _ === s.value.length - 1 }]),
6590
6590
  type: "button",
6591
- "aria-current": y === s.value.length - 1 ? "page" : void 0,
6592
- onClick: (_) => l(x),
6593
- onContextmenu: (_) => c(_, x),
6591
+ "aria-current": _ === s.value.length - 1 ? "page" : void 0,
6592
+ onClick: (y) => l(x),
6593
+ onContextmenu: (y) => c(y, x),
6594
6594
  onDragover: f,
6595
- onDrop: (_) => h(_, x)
6595
+ onDrop: (y) => h(y, x)
6596
6596
  }, [
6597
6597
  v("span", null, S(x.label), 1),
6598
- y < s.value.length - 1 ? (k(), A("span", Fd, "›")) : le("", !0)
6598
+ _ < s.value.length - 1 ? (k(), A("span", Fd, "›")) : le("", !0)
6599
6599
  ], 42, Bd))), 128)),
6600
6600
  v("button", {
6601
6601
  type: "button",
@@ -6668,7 +6668,7 @@ const sd = { class: "fe-toolbar" }, ld = { class: "fe-toolbar__primary" }, cd =
6668
6668
  e.compact ? le("", !0) : (k(), A("span", Yd, S(o.value ? "Starred" : "Star"), 1))
6669
6669
  ], 10, Hd));
6670
6670
  }
6671
- }), Jd = /* @__PURE__ */ rn(Gd, [["__scopeId", "data-v-d5f804ca"]]), Xd = {
6671
+ }), Jd = /* @__PURE__ */ rn(Gd, [["__scopeId", "data-v-1b788147"]]), Xd = {
6672
6672
  class: "fe-list__head",
6673
6673
  role: "row"
6674
6674
  }, Qd = {
@@ -6705,37 +6705,37 @@ const sd = { class: "fe-toolbar" }, ld = { class: "fe-toolbar__primary" }, cd =
6705
6705
  emits: ["click-row", "dbl-row", "context-row", "item-drag-start", "item-drop-into", "star-change"],
6706
6706
  setup(e, { emit: t }) {
6707
6707
  const r = e, n = t, { t: o, formatSize: a, nodeDisplayName: i } = wt(() => r.locale);
6708
- function s(_) {
6709
- return r.selected.has(_.path);
6708
+ function s(y) {
6709
+ return r.selected.has(y.path);
6710
6710
  }
6711
- function l(_, T) {
6712
- n("click-row", _, { ctrl: T.ctrlKey || T.metaKey, shift: T.shiftKey });
6711
+ function l(y, $) {
6712
+ n("click-row", y, { ctrl: $.ctrlKey || $.metaKey, shift: $.shiftKey });
6713
6713
  }
6714
- function c(_) {
6715
- n("dbl-row", _);
6714
+ function c(y) {
6715
+ n("dbl-row", y);
6716
6716
  }
6717
- function f(_, T) {
6718
- T.preventDefault(), T.stopPropagation(), n("context-row", _, T);
6717
+ function f(y, $) {
6718
+ $.preventDefault(), $.stopPropagation(), n("context-row", y, $);
6719
6719
  }
6720
- function h(_, T) {
6721
- n("item-drag-start", _, T);
6720
+ function h(y, $) {
6721
+ n("item-drag-start", y, $);
6722
6722
  }
6723
- function g(_, T) {
6724
- var $;
6725
- _.type === "dir" && ($ = T.dataTransfer) != null && $.types.includes("application/x-brf-files") && (T.preventDefault(), T.stopPropagation(), T.dataTransfer && (T.dataTransfer.dropEffect = "move"));
6723
+ function g(y, $) {
6724
+ var T;
6725
+ y.type === "dir" && (T = $.dataTransfer) != null && T.types.includes("application/x-brf-files") && ($.preventDefault(), $.stopPropagation(), $.dataTransfer && ($.dataTransfer.dropEffect = "move"));
6726
6726
  }
6727
- function C(_, T) {
6728
- var $;
6729
- _.type === "dir" && ($ = T.dataTransfer) != null && $.types.includes("application/x-brf-files") && (T.preventDefault(), T.stopPropagation(), n("item-drop-into", _, T));
6727
+ function C(y, $) {
6728
+ var T;
6729
+ y.type === "dir" && (T = $.dataTransfer) != null && T.types.includes("application/x-brf-files") && ($.preventDefault(), $.stopPropagation(), n("item-drop-into", y, $));
6730
6730
  }
6731
6731
  let w, b = null;
6732
- function R(_, T) {
6733
- b = _, w && clearTimeout(w), w = setTimeout(() => {
6732
+ function R(y, $) {
6733
+ b = y, w && clearTimeout(w), w = setTimeout(() => {
6734
6734
  if (b) {
6735
- const $ = T.touches[0];
6735
+ const T = $.touches[0];
6736
6736
  n("context-row", b, {
6737
- clientX: $.clientX,
6738
- clientY: $.clientY,
6737
+ clientX: T.clientX,
6738
+ clientY: T.clientY,
6739
6739
  preventDefault: () => {
6740
6740
  }
6741
6741
  });
@@ -6745,25 +6745,25 @@ const sd = { class: "fe-toolbar" }, ld = { class: "fe-toolbar__primary" }, cd =
6745
6745
  function L() {
6746
6746
  w && clearTimeout(w), b = null;
6747
6747
  }
6748
- function M(_) {
6749
- if (_.mime_type === "inode/storage") return "💾";
6750
- if (_.type === "dir") return "📁";
6751
- const T = (_.extension || "").toLowerCase();
6752
- return ["jpg", "jpeg", "png", "webp", "gif", "bmp", "avif", "heic", "svg"].includes(T) ? "🖼" : ["mp4", "webm", "mov", "mkv", "avi", "ogv", "m4v"].includes(T) ? "🎞" : ["mp3", "wav", "flac", "ogg", "m4a", "aac", "opus"].includes(T) ? "🎵" : T === "pdf" ? "📕" : ["doc", "docx", "odt", "rtf"].includes(T) ? "📄" : ["xls", "xlsx", "ods", "csv"].includes(T) ? "📊" : ["ppt", "pptx", "odp"].includes(T) ? "📽" : ["zip", "tar", "gz", "bz2", "7z", "rar"].includes(T) ? "🗜" : ["txt", "md", "log", "json", "yml", "yaml", "xml"].includes(T) ? "📝" : "📎";
6748
+ function M(y) {
6749
+ if (y.mime_type === "inode/storage") return "💾";
6750
+ if (y.type === "dir") return "📁";
6751
+ const $ = (y.extension || "").toLowerCase();
6752
+ return ["jpg", "jpeg", "png", "webp", "gif", "bmp", "avif", "heic", "svg"].includes($) ? "🖼" : ["mp4", "webm", "mov", "mkv", "avi", "ogv", "m4v"].includes($) ? "🎞" : ["mp3", "wav", "flac", "ogg", "m4a", "aac", "opus"].includes($) ? "🎵" : $ === "pdf" ? "📕" : ["doc", "docx", "odt", "rtf"].includes($) ? "📄" : ["xls", "xlsx", "ods", "csv"].includes($) ? "📊" : ["ppt", "pptx", "odp"].includes($) ? "📽" : ["zip", "tar", "gz", "bz2", "7z", "rar"].includes($) ? "🗜" : ["txt", "md", "log", "json", "yml", "yaml", "xml"].includes($) ? "📝" : "📎";
6753
6753
  }
6754
- function Q(_) {
6755
- return _ ? new Date(_ * (_ < 1e12 ? 1e3 : 1)).toLocaleString() : "—";
6754
+ function Q(y) {
6755
+ return y ? new Date(y * (y < 1e12 ? 1e3 : 1)).toLocaleString() : "—";
6756
6756
  }
6757
- function x(_) {
6758
- const T = _.replace(/^[a-z][a-z0-9+.-]*:\/\//i, ""), $ = T.lastIndexOf("/");
6759
- return $ === -1 ? "" : T.slice(0, $);
6757
+ function x(y) {
6758
+ const $ = y.replace(/^[a-z][a-z0-9+.-]*:\/\//i, ""), T = $.lastIndexOf("/");
6759
+ return T === -1 ? "" : $.slice(0, T);
6760
6760
  }
6761
- const y = xe(() => r.files);
6762
- return (_, T) => (k(), A("div", {
6761
+ const _ = xe(() => r.files);
6762
+ return (y, $) => (k(), A("div", {
6763
6763
  class: Re(["fe-list", { "is-loading": e.loading, "has-star-col": !!e.apiBase || e.apiBase === "" }])
6764
6764
  }, [
6765
6765
  v("div", Xd, [
6766
- T[1] || (T[1] = v("div", {
6766
+ $[1] || ($[1] = v("div", {
6767
6767
  class: "fe-list__col fe-list__col--star",
6768
6768
  role: "columnheader",
6769
6769
  "aria-label": "Star"
@@ -6773,63 +6773,63 @@ const sd = { class: "fe-toolbar" }, ld = { class: "fe-toolbar__primary" }, cd =
6773
6773
  v("div", eu, S(ne(o)("col.modified")), 1)
6774
6774
  ]),
6775
6775
  v("div", tu, [
6776
- (k(!0), A(ke, null, Qe(y.value, ($) => {
6776
+ (k(!0), A(ke, null, Qe(_.value, (T) => {
6777
6777
  var O, U;
6778
6778
  return k(), A("div", {
6779
- key: $.path,
6779
+ key: T.path,
6780
6780
  class: Re(["fe-list__row", {
6781
- "is-selected": s($),
6782
- "is-dir": $.type === "dir",
6783
- "is-trash": $.trashed,
6784
- "is-clipped": (O = e.clipped) == null ? void 0 : O.has($.path)
6781
+ "is-selected": s(T),
6782
+ "is-dir": T.type === "dir",
6783
+ "is-trash": T.trashed,
6784
+ "is-clipped": (O = e.clipped) == null ? void 0 : O.has(T.path)
6785
6785
  }]),
6786
6786
  role: "row",
6787
6787
  tabindex: "0",
6788
6788
  draggable: "true",
6789
- onClick: (ee) => l($, ee),
6790
- onDblclick: (ee) => c($),
6791
- onContextmenu: (ee) => f($, ee),
6792
- onDragstart: (ee) => h($, ee),
6793
- onDragover: (ee) => g($, ee),
6794
- onDrop: (ee) => C($, ee),
6795
- onTouchstartPassive: (ee) => R($, ee),
6789
+ onClick: (ee) => l(T, ee),
6790
+ onDblclick: (ee) => c(T),
6791
+ onContextmenu: (ee) => f(T, ee),
6792
+ onDragstart: (ee) => h(T, ee),
6793
+ onDragover: (ee) => g(T, ee),
6794
+ onDrop: (ee) => C(T, ee),
6795
+ onTouchstartPassive: (ee) => R(T, ee),
6796
6796
  onTouchend: L,
6797
6797
  onTouchmove: L
6798
6798
  }, [
6799
6799
  v("div", {
6800
6800
  class: "fe-list__col fe-list__col--star",
6801
- onClick: T[0] || (T[0] = He(() => {
6801
+ onClick: $[0] || ($[0] = He(() => {
6802
6802
  }, ["stop"]))
6803
6803
  }, [
6804
- typeof $.id == "number" && $.type === "file" ? (k(), Ze(Jd, {
6804
+ typeof T.id == "number" && T.type === "file" ? (k(), Ze(Jd, {
6805
6805
  key: 0,
6806
- starred: !!((U = e.starredIds) != null && U.has($.id)),
6807
- "node-id": $.id,
6806
+ starred: !!((U = e.starredIds) != null && U.has(T.id)),
6807
+ "node-id": T.id,
6808
6808
  "api-base": e.apiBase,
6809
6809
  "auth-headers": e.authHeaders,
6810
6810
  compact: "",
6811
- onChange: (ee) => n("star-change", $, ee)
6811
+ onChange: (ee) => n("star-change", T, ee)
6812
6812
  }, null, 8, ["starred", "node-id", "api-base", "auth-headers", "onChange"])) : le("", !0)
6813
6813
  ]),
6814
6814
  v("div", nu, [
6815
- v("span", ou, S(M($)), 1),
6815
+ v("span", ou, S(M(T)), 1),
6816
6816
  v("div", au, [
6817
6817
  v("span", {
6818
6818
  class: "fe-list__name",
6819
- title: $.basename
6820
- }, S(ne(i)($)), 9, iu),
6819
+ title: T.basename
6820
+ }, S(ne(i)(T)), 9, iu),
6821
6821
  e.showParentPath ? (k(), A("span", {
6822
6822
  key: 0,
6823
6823
  class: "fe-list__parent",
6824
- title: x($.path)
6825
- }, S(x($.path) || "—"), 9, su)) : le("", !0)
6824
+ title: x(T.path)
6825
+ }, S(x(T.path) || "—"), 9, su)) : le("", !0)
6826
6826
  ])
6827
6827
  ]),
6828
- v("div", lu, S($.type === "dir" ? "—" : ne(a)($.size)), 1),
6829
- v("div", cu, S(Q($.last_modified)), 1)
6828
+ v("div", lu, S(ne(a)(T.size)), 1),
6829
+ v("div", cu, S(Q(T.last_modified)), 1)
6830
6830
  ], 42, ru);
6831
6831
  }), 128)),
6832
- !e.loading && y.value.length === 0 ? (k(), A("div", fu, S(ne(o)("empty.folder")), 1)) : le("", !0)
6832
+ !e.loading && _.value.length === 0 ? (k(), A("div", fu, S(ne(o)("empty.folder")), 1)) : le("", !0)
6833
6833
  ])
6834
6834
  ], 2));
6835
6835
  }
@@ -6855,34 +6855,34 @@ const sd = { class: "fe-toolbar" }, ld = { class: "fe-toolbar__primary" }, cd =
6855
6855
  function s(x) {
6856
6856
  return r.selected.has(x.path);
6857
6857
  }
6858
- function l(x, y) {
6859
- n("click-card", x, { ctrl: y.ctrlKey || y.metaKey, shift: y.shiftKey });
6858
+ function l(x, _) {
6859
+ n("click-card", x, { ctrl: _.ctrlKey || _.metaKey, shift: _.shiftKey });
6860
6860
  }
6861
6861
  function c(x) {
6862
6862
  n("dbl-card", x);
6863
6863
  }
6864
- function f(x, y) {
6865
- y.preventDefault(), y.stopPropagation(), n("context-card", x, y);
6864
+ function f(x, _) {
6865
+ _.preventDefault(), _.stopPropagation(), n("context-card", x, _);
6866
6866
  }
6867
- function h(x, y) {
6868
- n("item-drag-start", x, y);
6867
+ function h(x, _) {
6868
+ n("item-drag-start", x, _);
6869
6869
  }
6870
- function g(x, y) {
6871
- var _;
6872
- x.type === "dir" && (_ = y.dataTransfer) != null && _.types.includes("application/x-brf-files") && (y.preventDefault(), y.stopPropagation(), y.dataTransfer && (y.dataTransfer.dropEffect = "move"));
6870
+ function g(x, _) {
6871
+ var y;
6872
+ x.type === "dir" && (y = _.dataTransfer) != null && y.types.includes("application/x-brf-files") && (_.preventDefault(), _.stopPropagation(), _.dataTransfer && (_.dataTransfer.dropEffect = "move"));
6873
6873
  }
6874
- function C(x, y) {
6875
- var _;
6876
- x.type === "dir" && (_ = y.dataTransfer) != null && _.types.includes("application/x-brf-files") && (y.preventDefault(), y.stopPropagation(), n("item-drop-into", x, y));
6874
+ function C(x, _) {
6875
+ var y;
6876
+ x.type === "dir" && (y = _.dataTransfer) != null && y.types.includes("application/x-brf-files") && (_.preventDefault(), _.stopPropagation(), n("item-drop-into", x, _));
6877
6877
  }
6878
6878
  let w, b = null;
6879
- function R(x, y) {
6879
+ function R(x, _) {
6880
6880
  b = x, w && clearTimeout(w), w = setTimeout(() => {
6881
6881
  if (b) {
6882
- const _ = y.touches[0];
6882
+ const y = _.touches[0];
6883
6883
  n("context-card", b, {
6884
- clientX: _.clientX,
6885
- clientY: _.clientY,
6884
+ clientX: y.clientX,
6885
+ clientY: y.clientY,
6886
6886
  preventDefault: () => {
6887
6887
  }
6888
6888
  });
@@ -6893,59 +6893,59 @@ const sd = { class: "fe-toolbar" }, ld = { class: "fe-toolbar__primary" }, cd =
6893
6893
  w && clearTimeout(w), b = null;
6894
6894
  }
6895
6895
  function M(x) {
6896
- const y = x.replace(/^[a-z][a-z0-9+.-]*:\/\//i, ""), _ = y.lastIndexOf("/");
6897
- return _ === -1 ? "" : y.slice(0, _);
6896
+ const _ = x.replace(/^[a-z][a-z0-9+.-]*:\/\//i, ""), y = _.lastIndexOf("/");
6897
+ return y === -1 ? "" : _.slice(0, y);
6898
6898
  }
6899
6899
  function Q(x) {
6900
6900
  if (x.mime_type === "inode/storage") return "💾";
6901
6901
  if (x.type === "dir") return "📁";
6902
- const y = (x.extension || "").toLowerCase();
6903
- return ["jpg", "jpeg", "png", "webp", "gif", "bmp", "svg"].includes(y) ? "🖼" : ["mp4", "webm", "mov", "mkv"].includes(y) ? "🎞" : ["mp3", "wav", "flac", "ogg"].includes(y) ? "🎵" : y === "pdf" ? "📕" : ["doc", "docx", "odt"].includes(y) ? "📄" : ["xls", "xlsx", "csv"].includes(y) ? "📊" : ["ppt", "pptx"].includes(y) ? "📽" : ["zip", "tar", "gz", "7z"].includes(y) ? "🗜" : "📎";
6902
+ const _ = (x.extension || "").toLowerCase();
6903
+ return ["jpg", "jpeg", "png", "webp", "gif", "bmp", "svg"].includes(_) ? "🖼" : ["mp4", "webm", "mov", "mkv"].includes(_) ? "🎞" : ["mp3", "wav", "flac", "ogg"].includes(_) ? "🎵" : _ === "pdf" ? "📕" : ["doc", "docx", "odt"].includes(_) ? "📄" : ["xls", "xlsx", "csv"].includes(_) ? "📊" : ["ppt", "pptx"].includes(_) ? "📽" : ["zip", "tar", "gz", "7z"].includes(_) ? "🗜" : "📎";
6904
6904
  }
6905
- return (x, y) => (k(), A("div", {
6905
+ return (x, _) => (k(), A("div", {
6906
6906
  class: Re(["fe-grid", { "is-loading": e.loading }])
6907
6907
  }, [
6908
- (k(!0), A(ke, null, Qe(e.files, (_) => {
6909
- var T;
6908
+ (k(!0), A(ke, null, Qe(e.files, (y) => {
6909
+ var $;
6910
6910
  return k(), A("div", {
6911
- key: _.path,
6911
+ key: y.path,
6912
6912
  class: Re(["fe-grid__card", {
6913
- "is-selected": s(_),
6914
- "is-dir": _.type === "dir",
6915
- "is-trash": _.trashed,
6916
- "is-clipped": (T = e.clipped) == null ? void 0 : T.has(_.path)
6913
+ "is-selected": s(y),
6914
+ "is-dir": y.type === "dir",
6915
+ "is-trash": y.trashed,
6916
+ "is-clipped": ($ = e.clipped) == null ? void 0 : $.has(y.path)
6917
6917
  }]),
6918
6918
  tabindex: "0",
6919
6919
  draggable: "true",
6920
- onClick: ($) => l(_, $),
6921
- onDblclick: ($) => c(_),
6922
- onContextmenu: ($) => f(_, $),
6923
- onDragstart: ($) => h(_, $),
6924
- onDragover: ($) => g(_, $),
6925
- onDrop: ($) => C(_, $),
6926
- onTouchstartPassive: ($) => R(_, $),
6920
+ onClick: (T) => l(y, T),
6921
+ onDblclick: (T) => c(y),
6922
+ onContextmenu: (T) => f(y, T),
6923
+ onDragstart: (T) => h(y, T),
6924
+ onDragover: (T) => g(y, T),
6925
+ onDrop: (T) => C(y, T),
6926
+ onTouchstartPassive: (T) => R(y, T),
6927
6927
  onTouchend: L,
6928
6928
  onTouchmove: L
6929
6929
  }, [
6930
6930
  v("div", pu, [
6931
- _.thumb_url ? (k(), A("img", {
6931
+ y.thumb_url ? (k(), A("img", {
6932
6932
  key: 0,
6933
- src: _.thumb_url,
6934
- alt: _.basename,
6933
+ src: y.thumb_url,
6934
+ alt: y.basename,
6935
6935
  loading: "lazy",
6936
6936
  draggable: "false"
6937
- }, null, 8, vu)) : (k(), A("span", hu, S(Q(_)), 1))
6937
+ }, null, 8, vu)) : (k(), A("span", hu, S(Q(y)), 1))
6938
6938
  ]),
6939
6939
  v("div", {
6940
6940
  class: "fe-grid__label",
6941
- title: _.basename
6942
- }, S(ne(i)(_)), 9, mu),
6941
+ title: y.basename
6942
+ }, S(ne(i)(y)), 9, mu),
6943
6943
  e.showParentPath ? (k(), A("div", {
6944
6944
  key: 0,
6945
6945
  class: "fe-grid__parent",
6946
- title: M(_.path)
6947
- }, S(M(_.path) || "—"), 9, gu)) : le("", !0),
6948
- v("div", bu, S(_.type === "dir" ? "—" : ne(a)(_.size)), 1)
6946
+ title: M(y.path)
6947
+ }, S(M(y.path) || "—"), 9, gu)) : le("", !0),
6948
+ v("div", bu, S(ne(a)(y.size)), 1)
6949
6949
  ], 42, uu);
6950
6950
  }), 128)),
6951
6951
  !e.loading && e.files.length === 0 ? (k(), A("div", xu, S(ne(o)("empty.folder")), 1)) : le("", !0)
@@ -6968,14 +6968,14 @@ const sd = { class: "fe-toolbar" }, ld = { class: "fe-toolbar__primary" }, cd =
6968
6968
  emits: ["select"],
6969
6969
  setup(e, { expose: t, emit: r }) {
6970
6970
  const n = e, o = r, a = /* @__PURE__ */ D(!1), i = /* @__PURE__ */ D(0), s = /* @__PURE__ */ D(0), l = /* @__PURE__ */ D([]), c = /* @__PURE__ */ D(null);
6971
- async function f(x, y) {
6972
- a.value = !0, i.value = x.clientX, s.value = x.clientY, l.value = y, await qt(), h();
6971
+ async function f(x, _) {
6972
+ a.value = !0, i.value = x.clientX, s.value = x.clientY, l.value = _, await qt(), h();
6973
6973
  }
6974
6974
  function h() {
6975
6975
  const x = c.value;
6976
6976
  if (!x || typeof window > "u") return;
6977
- const y = x.getBoundingClientRect(), _ = 8, T = window.innerWidth, $ = window.innerHeight;
6978
- s.value + y.height > $ - _ && (s.value = Math.max(_, $ - y.height - _)), i.value + y.width > T - _ && (i.value = Math.max(_, T - y.width - _));
6977
+ const _ = x.getBoundingClientRect(), y = 8, $ = window.innerWidth, T = window.innerHeight;
6978
+ s.value + _.height > T - y && (s.value = Math.max(y, T - _.height - y)), i.value + _.width > $ - y && (i.value = Math.max(y, $ - _.width - y));
6979
6979
  }
6980
6980
  function g() {
6981
6981
  a.value = !1;
@@ -6999,7 +6999,7 @@ const sd = { class: "fe-toolbar" }, ld = { class: "fe-toolbar__primary" }, cd =
6999
6999
  (x = L == null ? void 0 : L.removeEventListener) == null || x.call(L, "change", M);
7000
7000
  });
7001
7001
  const Q = xe(() => `fe-ctx-backdrop--theme-${n.theme || "auto"}`);
7002
- return t({ show: f, hide: g }), (x, y) => (k(), Ze(cc, { to: "body" }, [
7002
+ return t({ show: f, hide: g }), (x, _) => (k(), Ze(cc, { to: "body" }, [
7003
7003
  Ee(Cr, { name: "fe-ctx" }, {
7004
7004
  default: tt(() => [
7005
7005
  a.value ? (k(), A("div", {
@@ -7016,22 +7016,22 @@ const sd = { class: "fe-toolbar" }, ld = { class: "fe-toolbar__primary" }, cd =
7016
7016
  class: "fe-ctx",
7017
7017
  role: "menu",
7018
7018
  style: vr({ top: s.value + "px", left: i.value + "px" }),
7019
- onClick: y[0] || (y[0] = He(() => {
7019
+ onClick: _[0] || (_[0] = He(() => {
7020
7020
  }, ["stop"]))
7021
7021
  }, [
7022
- (k(!0), A(ke, null, Qe(b.value, (_, T) => (k(), A(ke, {
7023
- key: _.key || T
7022
+ (k(!0), A(ke, null, Qe(b.value, (y, $) => (k(), A(ke, {
7023
+ key: y.key || $
7024
7024
  }, [
7025
- _.divider ? (k(), A("div", wu)) : (k(), A("button", {
7025
+ y.divider ? (k(), A("div", wu)) : (k(), A("button", {
7026
7026
  key: 1,
7027
7027
  type: "button",
7028
- class: Re(["fe-ctx__item", { "is-danger": _.danger, "is-disabled": _.disabled }]),
7029
- disabled: _.disabled,
7028
+ class: Re(["fe-ctx__item", { "is-danger": y.danger, "is-disabled": y.disabled }]),
7029
+ disabled: y.disabled,
7030
7030
  role: "menuitem",
7031
- onClick: ($) => C(_)
7031
+ onClick: (T) => C(y)
7032
7032
  }, [
7033
- _.icon ? (k(), A("span", Cu, S(_.icon), 1)) : le("", !0),
7034
- v("span", Su, S(_.label), 1)
7033
+ y.icon ? (k(), A("span", Cu, S(y.icon), 1)) : le("", !0),
7034
+ v("span", Su, S(y.label), 1)
7035
7035
  ], 10, ku))
7036
7036
  ], 64))), 128))
7037
7037
  ], 4)
@@ -7696,28 +7696,28 @@ const sd = { class: "fe-toolbar" }, ld = { class: "fe-toolbar__primary" }, cd =
7696
7696
  diff: "diff",
7697
7697
  patch: "diff"
7698
7698
  }, f = ["txt", "log"], h = ["docx", "doc", "xlsx", "xls", "pptx", "ppt", "odt", "ods", "odp", "rtf"], g = {
7699
- glb: () => import("./Viewer3D-Ba-RPIRz.js"),
7700
- gltf: () => import("./Viewer3D-Ba-RPIRz.js"),
7701
- obj: () => import("./Viewer3D-Ba-RPIRz.js"),
7702
- stl: () => import("./Viewer3D-Ba-RPIRz.js"),
7703
- fbx: () => import("./Viewer3D-Ba-RPIRz.js"),
7704
- "3ds": () => import("./Viewer3D-Ba-RPIRz.js"),
7705
- epub: () => import("./EpubViewer-Cs6yZIP2.js"),
7706
- mmd: () => import("./MermaidViewer-k_XVXoc5.js"),
7707
- mermaid: () => import("./MermaidViewer-k_XVXoc5.js"),
7708
- drawio: () => import("./DrawioViewer-CBOqWzaj.js"),
7709
- dio: () => import("./DrawioViewer-CBOqWzaj.js"),
7710
- tif: () => import("./TiffViewer-D73-Gyt-.js"),
7711
- tiff: () => import("./TiffViewer-D73-Gyt-.js"),
7712
- psd: () => import("./PsdViewer-Bo4imBCF.js"),
7699
+ glb: () => import("./Viewer3D-DtT-hBa3.js"),
7700
+ gltf: () => import("./Viewer3D-DtT-hBa3.js"),
7701
+ obj: () => import("./Viewer3D-DtT-hBa3.js"),
7702
+ stl: () => import("./Viewer3D-DtT-hBa3.js"),
7703
+ fbx: () => import("./Viewer3D-DtT-hBa3.js"),
7704
+ "3ds": () => import("./Viewer3D-DtT-hBa3.js"),
7705
+ epub: () => import("./EpubViewer-mCV3ZEXb.js"),
7706
+ mmd: () => import("./MermaidViewer-B0Q0ghbV.js"),
7707
+ mermaid: () => import("./MermaidViewer-B0Q0ghbV.js"),
7708
+ drawio: () => import("./DrawioViewer-uEJbt6hj.js"),
7709
+ dio: () => import("./DrawioViewer-uEJbt6hj.js"),
7710
+ tif: () => import("./TiffViewer-PXjYKqzo.js"),
7711
+ tiff: () => import("./TiffViewer-PXjYKqzo.js"),
7712
+ psd: () => import("./PsdViewer-lk6xrjRB.js"),
7713
7713
  // PDF deliberately uses the native browser viewer (`kind === 'pdf'`
7714
7714
  // branch in the template). PdfViewer.vue still exists for callers
7715
7715
  // that want the rich custom UI but the SFC default keeps things
7716
7716
  // minimal — the browser already paints search/zoom/page UI for free.
7717
- ipynb: () => import("./IpynbViewer-wJhbhUla.js"),
7718
- csv: () => import("./CsvViewer-D5_c7bkP.js"),
7719
- tsv: () => import("./CsvViewer-D5_c7bkP.js"),
7720
- zip: () => import("./ArchiveViewer-CMaBM4yZ.js")
7717
+ ipynb: () => import("./IpynbViewer-B3g-lJfV.js"),
7718
+ csv: () => import("./CsvViewer-CrwZZqmq.js"),
7719
+ tsv: () => import("./CsvViewer-CrwZZqmq.js"),
7720
+ zip: () => import("./ArchiveViewer-BotnnnoW.js")
7721
7721
  }, C = xe(() => {
7722
7722
  const V = a(r.file);
7723
7723
  if (!V) return "other";
@@ -7755,17 +7755,17 @@ const sd = { class: "fe-toolbar" }, ld = { class: "fe-toolbar__primary" }, cd =
7755
7755
  return r.file && (P.filePath = ee(r.file.path), (V === "zip" || V === "rar" || V === "7z" || V === "tar" || V === "gz" || V === "tgz") && (P.filePath = r.file.path)), (V === "drawio" || V === "dio") && (P.drawioUrl = r.drawioUrl ?? void 0, P.saveUrl = r.saveTextEndpoint ?? void 0, P.readOnly = r.openMode === "view"), V === "pdf" && (P.pdfWorkerUrl = r.pdfWorkerUrl ?? void 0, P.pdfSaveUrl = r.pdfSaveUrl ?? void 0), P;
7756
7756
  });
7757
7757
  function x() {
7758
- _(r.openMode || "edit");
7758
+ y(r.openMode || "edit");
7759
7759
  }
7760
- function y() {
7761
- _("edit");
7760
+ function _() {
7761
+ y("edit");
7762
7762
  }
7763
- function _(V) {
7763
+ function y(V) {
7764
7764
  if (!r.file) return;
7765
7765
  const P = a(r.file), W = r.viewerBaseUrl || "/files/edit", be = W.includes("?") ? "&" : "?", we = `${W}${be}path=${encodeURIComponent(r.file.path)}&type=${encodeURIComponent(P)}&mode=${encodeURIComponent(V)}`;
7766
7766
  window.open(we, "_blank", "noopener");
7767
7767
  }
7768
- const T = /* @__PURE__ */ new Set([
7768
+ const $ = /* @__PURE__ */ new Set([
7769
7769
  // OnlyOffice — open the in-page office editor (or new tab) with
7770
7770
  // edit permissions.
7771
7771
  "docx",
@@ -7833,8 +7833,8 @@ const sd = { class: "fe-toolbar" }, ld = { class: "fe-toolbar__primary" }, cd =
7833
7833
  "dockerfile",
7834
7834
  "graphql",
7835
7835
  "gql"
7836
- ]), $ = xe(
7837
- () => !!r.file && T.has(a(r.file))
7836
+ ]), T = xe(
7837
+ () => !!r.file && $.has(a(r.file))
7838
7838
  ), O = xe(() => r.file ? r.previewUrl(r.file.path) : ""), U = xe(() => r.file ? r.downloadUrl(r.file.path) : "");
7839
7839
  function ee(V) {
7840
7840
  const P = V.indexOf("://");
@@ -8231,11 +8231,11 @@ const sd = { class: "fe-toolbar" }, ld = { class: "fe-toolbar__primary" }, cd =
8231
8231
  onClose: P[2] || (P[2] = (be) => n("close"))
8232
8232
  }, {
8233
8233
  actions: tt(() => [
8234
- e.file && e.openMode === "view" && $.value ? (k(), A("button", {
8234
+ e.file && e.openMode === "view" && T.value ? (k(), A("button", {
8235
8235
  key: 0,
8236
8236
  type: "button",
8237
8237
  class: "fe-btn fe-btn--primary",
8238
- onClick: y
8238
+ onClick: _
8239
8239
  }, "✏ Düzenle")) : le("", !0),
8240
8240
  e.file ? (k(), A("button", {
8241
8241
  key: 1,
@@ -8454,83 +8454,83 @@ const sd = { class: "fe-toolbar" }, ld = { class: "fe-toolbar__primary" }, cd =
8454
8454
  emits: ["close", "done"],
8455
8455
  setup(e, { emit: t }) {
8456
8456
  const r = e, n = t, o = /* @__PURE__ */ D(null), a = /* @__PURE__ */ D("loading"), i = /* @__PURE__ */ D(null), s = /* @__PURE__ */ D([]), l = /* @__PURE__ */ D(""), c = /* @__PURE__ */ D(null), f = xe(() => (r.fileName.split(".").pop() || "").toLowerCase()), h = xe(() => {
8457
- const y = s.value.filter((_) => _.from);
8458
- return y.find((_) => (_.ext || "").toLowerCase() === f.value) || y.find((_) => (_.format || "").toLowerCase() === f.value) || null;
8457
+ const _ = s.value.filter((y) => y.from);
8458
+ return _.find((y) => (y.ext || "").toLowerCase() === f.value) || _.find((y) => (y.format || "").toLowerCase() === f.value) || null;
8459
8459
  }), g = xe(() => {
8460
- const y = l.value.trim().toLowerCase(), _ = /* @__PURE__ */ new Set(), T = [];
8461
- for (const $ of s.value) {
8462
- if (!$.to) continue;
8463
- const O = ($.ext || $.format || "").toLowerCase();
8464
- !O || _.has(O) || (_.add(O), T.push($));
8465
- }
8466
- return T.sort(($, O) => ($.ext || $.format).localeCompare(O.ext || O.format)), y ? T.filter(
8467
- ($) => ($.ext || "").toLowerCase().includes(y) || ($.format || "").toLowerCase().includes(y) || ($.name || "").toLowerCase().includes(y) || ($.mime || "").toLowerCase().includes(y)
8468
- ) : T;
8460
+ const _ = l.value.trim().toLowerCase(), y = /* @__PURE__ */ new Set(), $ = [];
8461
+ for (const T of s.value) {
8462
+ if (!T.to) continue;
8463
+ const O = (T.ext || T.format || "").toLowerCase();
8464
+ !O || y.has(O) || (y.add(O), $.push(T));
8465
+ }
8466
+ return $.sort((T, O) => (T.ext || T.format).localeCompare(O.ext || O.format)), _ ? $.filter(
8467
+ (T) => (T.ext || "").toLowerCase().includes(_) || (T.format || "").toLowerCase().includes(_) || (T.name || "").toLowerCase().includes(_) || (T.mime || "").toLowerCase().includes(_)
8468
+ ) : $;
8469
8469
  }), C = xe(() => `${r.convertUrl.replace(/\/$/, "")}/?embed=1`);
8470
8470
  let w = 0;
8471
8471
  const b = /* @__PURE__ */ new Map();
8472
- function R(y, _ = {}, T = []) {
8473
- const $ = ++w;
8472
+ function R(_, y = {}, $ = []) {
8473
+ const T = ++w;
8474
8474
  return new Promise((O, U) => {
8475
8475
  var ee, X;
8476
- b.set($, { resolve: O, reject: U }), (X = (ee = o.value) == null ? void 0 : ee.contentWindow) == null || X.postMessage({ target: "convert-embed", id: $, cmd: y, ..._ }, "*", T), setTimeout(() => {
8477
- b.has($) && (b.delete($), U(new Error("convert timeout")));
8476
+ b.set(T, { resolve: O, reject: U }), (X = (ee = o.value) == null ? void 0 : ee.contentWindow) == null || X.postMessage({ target: "convert-embed", id: T, cmd: _, ...y }, "*", $), setTimeout(() => {
8477
+ b.has(T) && (b.delete(T), U(new Error("convert timeout")));
8478
8478
  }, 18e4);
8479
8479
  });
8480
8480
  }
8481
- function L(y) {
8482
- const _ = y.data;
8483
- if (!_ || _.source !== "convert-embed") return;
8484
- if (_.event === "ready") {
8481
+ function L(_) {
8482
+ const y = _.data;
8483
+ if (!y || y.source !== "convert-embed") return;
8484
+ if (y.event === "ready") {
8485
8485
  M();
8486
8486
  return;
8487
8487
  }
8488
- const T = b.get(_.id);
8489
- T && (b.delete(_.id), _.ok ? T.resolve(_) : T.reject(new Error(_.error || "convert error")));
8488
+ const $ = b.get(y.id);
8489
+ $ && (b.delete(y.id), y.ok ? $.resolve(y) : $.reject(new Error(y.error || "convert error")));
8490
8490
  }
8491
8491
  async function M() {
8492
8492
  try {
8493
- const y = await R("listFormats");
8494
- s.value = y.formats || [], a.value = "ready", h.value || (i.value = x("convert.unsupportedInput", "Bu dosya tipi için kaynak format bulunamadı."));
8495
- } catch (y) {
8496
- i.value = y.message, a.value = "error";
8493
+ const _ = await R("listFormats");
8494
+ s.value = _.formats || [], a.value = "ready", h.value || (i.value = x("convert.unsupportedInput", "Bu dosya tipi için kaynak format bulunamadı."));
8495
+ } catch (_) {
8496
+ i.value = _.message, a.value = "error";
8497
8497
  }
8498
8498
  }
8499
8499
  async function Q() {
8500
8500
  if (!(!c.value || !h.value)) {
8501
8501
  a.value = "converting", i.value = null;
8502
8502
  try {
8503
- const y = await r.fetchBytes(), _ = await R(
8503
+ const _ = await r.fetchBytes(), y = await R(
8504
8504
  "convert",
8505
- { name: r.fileName, bytes: y, fromIndex: h.value.index, toIndex: c.value.index },
8506
- [y]
8507
- ), T = r.fileName.replace(/\.[^.]+$/, ""), $ = _.ext || c.value.ext || c.value.format, O = `${T}.${$}`, U = new File([_.bytes], O, { type: c.value.mime || "application/octet-stream" });
8505
+ { name: r.fileName, bytes: _, fromIndex: h.value.index, toIndex: c.value.index },
8506
+ [_]
8507
+ ), $ = r.fileName.replace(/\.[^.]+$/, ""), T = y.ext || c.value.ext || c.value.format, O = `${$}.${T}`, U = new File([y.bytes], O, { type: c.value.mime || "application/octet-stream" });
8508
8508
  await r.upload(U), a.value = "done", n("done", O);
8509
- } catch (y) {
8510
- i.value = y.message, a.value = "error";
8509
+ } catch (_) {
8510
+ i.value = _.message, a.value = "error";
8511
8511
  }
8512
8512
  }
8513
8513
  }
8514
- function x(y, _) {
8515
- return r.t ? r.t(y, _) : _;
8514
+ function x(_, y) {
8515
+ return r.t ? r.t(_, y) : y;
8516
8516
  }
8517
- return Tt(() => window.addEventListener("message", L)), Lt(() => window.removeEventListener("message", L)), (y, _) => (k(), A("div", {
8517
+ return Tt(() => window.addEventListener("message", L)), Lt(() => window.removeEventListener("message", L)), (_, y) => (k(), A("div", {
8518
8518
  class: "filex-cv__bg",
8519
- onClick: _[3] || (_[3] = He((T) => n("close"), ["self"]))
8519
+ onClick: y[3] || (y[3] = He(($) => n("close"), ["self"]))
8520
8520
  }, [
8521
8521
  v("div", av, [
8522
8522
  v("header", iv, [
8523
8523
  v("h3", null, S(x("convert.title", "Dönüştür")) + " — " + S(e.fileName), 1),
8524
8524
  v("button", {
8525
8525
  class: "filex-cv__x",
8526
- onClick: _[0] || (_[0] = (T) => n("close"))
8526
+ onClick: y[0] || (y[0] = ($) => n("close"))
8527
8527
  }, "✕")
8528
8528
  ]),
8529
8529
  a.value === "loading" ? (k(), A("div", sv, S(x("convert.loading", "Dönüştürücü yükleniyor…")), 1)) : a.value === "done" ? (k(), A("div", lv, [
8530
8530
  v("p", null, "✓ " + S(x("convert.done", "Dönüştürüldü ve klasöre yüklendi.")), 1),
8531
8531
  v("button", {
8532
8532
  class: "filex-cv__convert",
8533
- onClick: _[1] || (_[1] = (T) => n("close"))
8533
+ onClick: y[1] || (y[1] = ($) => n("close"))
8534
8534
  }, S(x("convert.close", "Kapat")), 1)
8535
8535
  ])) : (k(), A(ke, { key: 2 }, [
8536
8536
  v("p", cv, [
@@ -8538,22 +8538,22 @@ const sd = { class: "fe-toolbar" }, ld = { class: "fe-toolbar__primary" }, cd =
8538
8538
  v("b", null, S(f.value || "?"), 1)
8539
8539
  ]),
8540
8540
  Ke(v("input", {
8541
- "onUpdate:modelValue": _[2] || (_[2] = (T) => l.value = T),
8541
+ "onUpdate:modelValue": y[2] || (y[2] = ($) => l.value = $),
8542
8542
  class: "filex-cv__search",
8543
8543
  placeholder: x("convert.searchFmt", "Hedef format ara (pdf, mp4, png…)")
8544
8544
  }, null, 8, fv), [
8545
8545
  [mt, l.value]
8546
8546
  ]),
8547
8547
  v("div", dv, [
8548
- (k(!0), A(ke, null, Qe(g.value, (T) => {
8549
- var $;
8548
+ (k(!0), A(ke, null, Qe(g.value, ($) => {
8549
+ var T;
8550
8550
  return k(), A("button", {
8551
- key: T.index,
8552
- class: Re(["filex-cv__fmt", { "is-sel": (($ = c.value) == null ? void 0 : $.index) === T.index }]),
8553
- onClick: (O) => c.value = T
8551
+ key: $.index,
8552
+ class: Re(["filex-cv__fmt", { "is-sel": ((T = c.value) == null ? void 0 : T.index) === $.index }]),
8553
+ onClick: (O) => c.value = $
8554
8554
  }, [
8555
- v("b", null, S((T.ext || T.format).toUpperCase()), 1),
8556
- v("small", null, S(T.name), 1)
8555
+ v("b", null, S(($.ext || $.format).toUpperCase()), 1),
8556
+ v("small", null, S($.name), 1)
8557
8557
  ], 10, uv);
8558
8558
  }), 128)),
8559
8559
  g.value.length === 0 ? (k(), A("div", pv, S(x("convert.noFmt", "Eşleşen format yok.")), 1)) : le("", !0)
@@ -8658,16 +8658,16 @@ const sd = { class: "fe-toolbar" }, ld = { class: "fe-toolbar__primary" }, cd =
8658
8658
  const i = xe(() => {
8659
8659
  const j = /^([^:]+):\/\/(.*)$/.exec(r.path), I = j ? j[1] : "", oe = j ? j[2] : r.path, Te = oe.split("/").filter(Boolean);
8660
8660
  return { adapter: I, name: Te.length ? Te[Te.length - 1] : I, rel: oe };
8661
- }), s = /* @__PURE__ */ D("perms"), l = /* @__PURE__ */ D(!1), c = /* @__PURE__ */ D(!0), f = /* @__PURE__ */ D(""), h = /* @__PURE__ */ D([]), g = /* @__PURE__ */ D([]), C = /* @__PURE__ */ D(!0), w = /* @__PURE__ */ D(""), b = /* @__PURE__ */ D("viewer"), R = /* @__PURE__ */ D(!1), L = /* @__PURE__ */ D(""), M = /* @__PURE__ */ D(!1), Q = /* @__PURE__ */ D("user"), x = /* @__PURE__ */ D(null), y = /* @__PURE__ */ D([]), _ = /* @__PURE__ */ D(!1);
8662
- let T;
8663
- const $ = [
8661
+ }), s = /* @__PURE__ */ D("perms"), l = /* @__PURE__ */ D(!1), c = /* @__PURE__ */ D(!0), f = /* @__PURE__ */ D(""), h = /* @__PURE__ */ D([]), g = /* @__PURE__ */ D([]), C = /* @__PURE__ */ D(!0), w = /* @__PURE__ */ D(""), b = /* @__PURE__ */ D("viewer"), R = /* @__PURE__ */ D(!1), L = /* @__PURE__ */ D(""), M = /* @__PURE__ */ D(!1), Q = /* @__PURE__ */ D("user"), x = /* @__PURE__ */ D(null), _ = /* @__PURE__ */ D([]), y = /* @__PURE__ */ D(!1);
8662
+ let $;
8663
+ const T = [
8664
8664
  { v: "viewer", l: a("Görüntüleyen", "Viewer"), d: a("görüntüle + indir", "view + download") },
8665
8665
  { v: "editor", l: a("Düzenleyen", "Editor"), d: a("oku + yaz + sil", "read + write + delete") },
8666
8666
  { v: "owner", l: a("Sahip", "Owner"), d: a("düzenle + izin yönet", "edit + manage access") }
8667
8667
  ];
8668
8668
  function O(j) {
8669
8669
  var I;
8670
- return ((I = $.find((oe) => oe.v === j)) == null ? void 0 : I.l) ?? j;
8670
+ return ((I = T.find((oe) => oe.v === j)) == null ? void 0 : I.l) ?? j;
8671
8671
  }
8672
8672
  const U = /* @__PURE__ */ D([]), ee = /* @__PURE__ */ D(!1), X = /* @__PURE__ */ D(!1), ue = /* @__PURE__ */ D(0), fe = /* @__PURE__ */ D(null), Se = /* @__PURE__ */ D(""), ge = /* @__PURE__ */ D(""), pe = /* @__PURE__ */ D(""), he = /* @__PURE__ */ D(!1), Pe = /* @__PURE__ */ D(""), We = [
8673
8673
  { v: 0, l: a("Süresiz", "Never") },
@@ -8710,30 +8710,30 @@ const sd = { class: "fe-toolbar" }, ld = { class: "fe-toolbar__primary" }, cd =
8710
8710
  Tt(async () => {
8711
8711
  await z(), await N();
8712
8712
  }), Lt(() => {
8713
- T && clearTimeout(T);
8713
+ $ && clearTimeout($);
8714
8714
  });
8715
8715
  function te() {
8716
8716
  M.value = !1, x.value = null, L.value = "";
8717
8717
  const j = w.value.trim();
8718
- if (T && clearTimeout(T), j.length < 1) {
8719
- y.value = [], _.value = !1;
8718
+ if ($ && clearTimeout($), j.length < 1) {
8719
+ _.value = [], y.value = !1;
8720
8720
  return;
8721
8721
  }
8722
- T = setTimeout(async () => {
8722
+ $ = setTimeout(async () => {
8723
8723
  try {
8724
8724
  const I = await r.api.searchUsers(j);
8725
- y.value = I.users ?? [], _.value = y.value.length > 0;
8725
+ _.value = I.users ?? [], y.value = _.value.length > 0;
8726
8726
  } catch {
8727
- _.value = !1;
8727
+ y.value = !1;
8728
8728
  }
8729
8729
  }, 180);
8730
8730
  }
8731
8731
  async function Z(j) {
8732
- _.value = !1, w.value = j.email;
8732
+ y.value = !1, w.value = j.email;
8733
8733
  let I = b.value;
8734
8734
  j.role === "viewer" && I !== "viewer" && (I = "viewer"), R.value = !0, L.value = "";
8735
8735
  try {
8736
- await r.api.addPermission({ path: r.path, user_id: j.id, level: I, is_dir: !!r.isDir }), w.value = "", y.value = [], await z(), L.value = a("Yetki verildi.", "Access granted.");
8736
+ await r.api.addPermission({ path: r.path, user_id: j.id, level: I, is_dir: !!r.isDir }), w.value = "", _.value = [], await z(), L.value = a("Yetki verildi.", "Access granted.");
8737
8737
  } catch (oe) {
8738
8738
  L.value = oe instanceof Error ? oe.message : String(oe);
8739
8739
  } finally {
@@ -8746,7 +8746,7 @@ const sd = { class: "fe-toolbar" }, ld = { class: "fe-toolbar__primary" }, cd =
8746
8746
  L.value = a("Geçerli bir e-posta girin.", "Enter a valid email.");
8747
8747
  return;
8748
8748
  }
8749
- _.value = !1, R.value = !0, L.value = "", x.value = null;
8749
+ y.value = !1, R.value = !0, L.value = "", x.value = null;
8750
8750
  try {
8751
8751
  const I = await r.api.resolveEmail(j);
8752
8752
  if (I.found && I.user) {
@@ -8988,8 +8988,8 @@ const sd = { class: "fe-toolbar" }, ld = { class: "fe-toolbar__primary" }, cd =
8988
8988
  }, null, 40, Iv), [
8989
8989
  [mt, w.value]
8990
8990
  ]),
8991
- _.value ? (k(), A("ul", Rv, [
8992
- (k(!0), A(ke, null, Qe(y.value, (Y) => (k(), A("li", {
8991
+ y.value ? (k(), A("ul", Rv, [
8992
+ (k(!0), A(ke, null, Qe(_.value, (Y) => (k(), A("li", {
8993
8993
  key: Y.id,
8994
8994
  onMousedown: He((Le) => Z(Y), ["prevent"])
8995
8995
  }, [
@@ -9004,9 +9004,9 @@ const sd = { class: "fe-toolbar" }, ld = { class: "fe-toolbar__primary" }, cd =
9004
9004
  Ke(v("select", {
9005
9005
  "onUpdate:modelValue": I[5] || (I[5] = (Y) => b.value = Y),
9006
9006
  class: "fx-perm-sel",
9007
- title: (oe = $.find((Y) => Y.v === b.value)) == null ? void 0 : oe.d
9007
+ title: (oe = T.find((Y) => Y.v === b.value)) == null ? void 0 : oe.d
9008
9008
  }, [
9009
- (k(), A(ke, null, Qe($, (Y) => v("option", {
9009
+ (k(), A(ke, null, Qe(T, (Y) => v("option", {
9010
9010
  key: Y.v,
9011
9011
  value: Y.v
9012
9012
  }, S(Y.l), 9, Kv)), 64))
@@ -9068,7 +9068,7 @@ const sd = { class: "fe-toolbar" }, ld = { class: "fe-toolbar__primary" }, cd =
9068
9068
  value: Y.level,
9069
9069
  onChange: (Le) => re(Y, Le.target.value)
9070
9070
  }, [
9071
- (k(), A(ke, null, Qe($, (Le) => v("option", {
9071
+ (k(), A(ke, null, Qe(T, (Le) => v("option", {
9072
9072
  key: Le.v,
9073
9073
  value: Le.v
9074
9074
  }, S(Le.l), 9, ih)), 64))
@@ -9344,7 +9344,7 @@ const sd = { class: "fe-toolbar" }, ld = { class: "fe-toolbar__primary" }, cd =
9344
9344
  ]);
9345
9345
  };
9346
9346
  }
9347
- }), sm = /* @__PURE__ */ rn(im, [["__scopeId", "data-v-4228dd5b"]]), lm = {
9347
+ }), sm = /* @__PURE__ */ rn(im, [["__scopeId", "data-v-2f29f6ce"]]), lm = {
9348
9348
  key: 0,
9349
9349
  class: "fe__loading"
9350
9350
  }, cm = { class: "fe__loading-text" }, fm = {
@@ -9394,11 +9394,11 @@ const sd = { class: "fe-toolbar" }, ld = { class: "fe-toolbar__primary" }, cd =
9394
9394
  }
9395
9395
  }
9396
9396
  };
9397
- }), L = /* @__PURE__ */ D(""), M = /* @__PURE__ */ D(!1), Q = /* @__PURE__ */ D(""), x = xe(() => M.value), y = xe(() => r.config.locale || "tr"), _ = xe(() => {
9397
+ }), L = /* @__PURE__ */ D(""), M = /* @__PURE__ */ D(!1), Q = /* @__PURE__ */ D(""), x = xe(() => M.value), _ = xe(() => r.config.locale || "tr"), y = xe(() => {
9398
9398
  const d = (h.value ?? "").replace(/^\/+|\/+$/g, "");
9399
9399
  return c && d === c ? !1 : d.length > 0;
9400
- }), T = xe(() => W.value ? !(h.value ?? "").replace(/^\/+|\/+$/g, "") : !1);
9401
- function $() {
9400
+ }), $ = xe(() => W.value ? !(h.value ?? "").replace(/^\/+|\/+$/g, "") : !1);
9401
+ function T() {
9402
9402
  if (M.value) {
9403
9403
  oe(Q.value);
9404
9404
  return;
@@ -9409,7 +9409,7 @@ const sd = { class: "fe-toolbar" }, ld = { class: "fe-toolbar__primary" }, cd =
9409
9409
  let B = u === -1 ? "" : d.slice(0, u);
9410
9410
  c && !(B === c || B.startsWith(c + "/")) && (B = c), oe(B);
9411
9411
  }
9412
- const { t: O } = wt(y), U = Qf(() => w.value);
9412
+ const { t: O } = wt(_), U = Qf(() => w.value);
9413
9413
  ct(
9414
9414
  () => [...U.selected.value],
9415
9415
  () => {
@@ -9673,7 +9673,7 @@ const sd = { class: "fe-toolbar" }, ld = { class: "fe-toolbar__primary" }, cd =
9673
9673
  onCut: () => Bs(),
9674
9674
  onCopy: () => Fs(),
9675
9675
  onPaste: () => Wo(),
9676
- onGoUp: () => $(),
9676
+ onGoUp: () => T(),
9677
9677
  hasSelection: () => !U.isEmpty.value
9678
9678
  });
9679
9679
  const Ts = /* @__PURE__ */ new Set([
@@ -9834,7 +9834,7 @@ const sd = { class: "fe-toolbar" }, ld = { class: "fe-toolbar__primary" }, cd =
9834
9834
  });
9835
9835
  function Vo(d) {
9836
9836
  var ea, ta;
9837
- const u = d.length > 0, B = d.length === 1, q = B && ((ea = d[0]) == null ? void 0 : ea.type) === "file", me = y.value === "en" ? "Tags…" : "Etiketler…", ie = B && typeof ((ta = d[0]) == null ? void 0 : ta.id) == "number", Ve = y.value === "en" ? "Copy node id" : "Node id'yi kopyala", rt = se(d), Xe = re(rt), fl = y.value === "en" ? "Share / Permissions" : "Paylaş / İzinler";
9837
+ const u = d.length > 0, B = d.length === 1, q = B && ((ea = d[0]) == null ? void 0 : ea.type) === "file", me = _.value === "en" ? "Tags…" : "Etiketler…", ie = B && typeof ((ta = d[0]) == null ? void 0 : ta.id) == "number", Ve = _.value === "en" ? "Copy node id" : "Node id'yi kopyala", rt = se(d), Xe = re(rt), fl = _.value === "en" ? "Share / Permissions" : "Paylaş / İzinler";
9838
9838
  return [
9839
9839
  { key: "open", label: O("ctx.open"), icon: "↗", hidden: !B },
9840
9840
  { key: "preview", label: O("ctx.preview"), icon: "👁", hidden: !B, disabled: !q },
@@ -9895,7 +9895,7 @@ const sd = { class: "fe-toolbar" }, ld = { class: "fe-toolbar__primary" }, cd =
9895
9895
  if (u[0] && typeof u[0].id == "number") {
9896
9896
  const q = u[0].id;
9897
9897
  (B = navigator.clipboard) == null || B.writeText(String(q)).then(
9898
- () => P(y.value === "en" ? `Node id ${q} copied` : `Node id ${q} kopyalandı`),
9898
+ () => P(_.value === "en" ? `Node id ${q} copied` : `Node id ${q} kopyalandı`),
9899
9899
  () => P(`#${q}`)
9900
9900
  );
9901
9901
  }
@@ -10012,7 +10012,7 @@ const sd = { class: "fe-toolbar" }, ld = { class: "fe-toolbar__primary" }, cd =
10012
10012
  G.value = d, Z.value = !0;
10013
10013
  }
10014
10014
  function Gs(d) {
10015
- P(y.value === "en" ? `Converted → ${d}` : `Dönüştürüldü → ${d}`), oe();
10015
+ P(_.value === "en" ? `Converted → ${d}` : `Dönüştürüldü → ${d}`), oe();
10016
10016
  }
10017
10017
  async function Js(d) {
10018
10018
  const u = F.value;
@@ -10036,7 +10036,7 @@ const sd = { class: "fe-toolbar" }, ld = { class: "fe-toolbar__primary" }, cd =
10036
10036
  function Qs() {
10037
10037
  var d;
10038
10038
  if (!de.value) {
10039
- P(y.value === "en" ? "Read-only here" : "Burada yazma yetkiniz yok");
10039
+ P(_.value === "en" ? "Read-only here" : "Burada yazma yetkiniz yok");
10040
10040
  return;
10041
10041
  }
10042
10042
  (d = Ue.value) == null || d.click();
@@ -10140,7 +10140,7 @@ const sd = { class: "fe-toolbar" }, ld = { class: "fe-toolbar__primary" }, cd =
10140
10140
  return;
10141
10141
  }
10142
10142
  if (d.preventDefault(), nr.value = 0, or.value = !1, !de.value) {
10143
- P(y.value === "en" ? "Read-only here" : "Burada yazma yetkiniz yok");
10143
+ P(_.value === "en" ? "Read-only here" : "Burada yazma yetkiniz yok");
10144
10144
  return;
10145
10145
  }
10146
10146
  const u = (q = d.dataTransfer) != null && q.files ? Array.from(d.dataTransfer.files) : [];
@@ -10269,16 +10269,16 @@ const sd = { class: "fe-toolbar" }, ld = { class: "fe-toolbar__primary" }, cd =
10269
10269
  "selection-mode": Os.value,
10270
10270
  "paste-enabled": !!ee.value.mode,
10271
10271
  "convert-enabled": !!Je.value,
10272
- "can-go-up": _.value,
10273
- "at-virtual-root": T.value,
10272
+ "can-go-up": y.value,
10273
+ "at-virtual-root": $.value,
10274
10274
  "can-write": de.value,
10275
- locale: y.value,
10275
+ locale: _.value,
10276
10276
  "onUpdate:viewMode": u[0] || (u[0] = (ie) => R.value = ie),
10277
10277
  "onUpdate:searchQuery": u[1] || (u[1] = (ie) => L.value = ie),
10278
10278
  onNewFolder: u[2] || (u[2] = (ie) => H.value = !0),
10279
10279
  onUpload: Qs,
10280
10280
  onRefresh: u[3] || (u[3] = () => oe()),
10281
- onGoUp: $,
10281
+ onGoUp: T,
10282
10282
  onAction: zs,
10283
10283
  onOpenRecents: u[4] || (u[4] = (ie) => fe.value = !0)
10284
10284
  }, null, 8, ["view-mode", "search-query", "trash-active", "actions", "selection-mode", "paste-enabled", "convert-enabled", "can-go-up", "at-virtual-root", "can-write", "locale"]),
@@ -10286,7 +10286,7 @@ const sd = { class: "fe-toolbar" }, ld = { class: "fe-toolbar__primary" }, cd =
10286
10286
  dirname: C.value,
10287
10287
  adapter: g.value,
10288
10288
  "root-label": g.value,
10289
- locale: y.value,
10289
+ locale: _.value,
10290
10290
  "multi-storage-root": W.value,
10291
10291
  "root-path": ne(l),
10292
10292
  onNavigate: cl,
@@ -10310,7 +10310,7 @@ const sd = { class: "fe-toolbar" }, ld = { class: "fe-toolbar__primary" }, cd =
10310
10310
  selected: ne(U).selected.value,
10311
10311
  clipped: Kn.value,
10312
10312
  "show-parent-path": !!L.value,
10313
- locale: y.value,
10313
+ locale: _.value,
10314
10314
  loading: s.value,
10315
10315
  "starred-ids": ue.value,
10316
10316
  "api-base": r.config.apiBase ?? "",
@@ -10327,7 +10327,7 @@ const sd = { class: "fe-toolbar" }, ld = { class: "fe-toolbar__primary" }, cd =
10327
10327
  selected: ne(U).selected.value,
10328
10328
  clipped: Kn.value,
10329
10329
  "show-parent-path": !!L.value,
10330
- locale: y.value,
10330
+ locale: _.value,
10331
10331
  loading: s.value,
10332
10332
  onClickCard: u[6] || (u[6] = (ie, Ve) => ne(U).click(ie.path, Ve)),
10333
10333
  onDblCard: hr,
@@ -10344,46 +10344,46 @@ const sd = { class: "fe-toolbar" }, ld = { class: "fe-toolbar__primary" }, cd =
10344
10344
  ])])) : le("", !0),
10345
10345
  Ee(Ru, {
10346
10346
  jobs: ze.value,
10347
- locale: y.value,
10347
+ locale: _.value,
10348
10348
  onCancel: sl,
10349
10349
  onDismiss: ll
10350
10350
  }, null, 8, ["jobs", "locale"]),
10351
10351
  Ee(Uu, {
10352
10352
  ops: ne(i).ops.value,
10353
- locale: y.value,
10353
+ locale: _.value,
10354
10354
  onDismiss: u[8] || (u[8] = (ie) => ne(i).dismiss(ie))
10355
10355
  }, null, 8, ["ops", "locale"]),
10356
10356
  Ee($u, {
10357
10357
  ref_key: "ctxRef",
10358
10358
  ref: ye,
10359
- locale: y.value,
10359
+ locale: _.value,
10360
10360
  theme: e.config.theme || "auto",
10361
10361
  actions: Ls.value,
10362
10362
  onSelect: js
10363
10363
  }, null, 8, ["locale", "theme", "actions"]),
10364
10364
  Ee(Gu, {
10365
10365
  open: H.value,
10366
- locale: y.value,
10366
+ locale: _.value,
10367
10367
  onClose: u[9] || (u[9] = (ie) => H.value = !1),
10368
10368
  onSubmit: Vs
10369
10369
  }, null, 8, ["open", "locale"]),
10370
10370
  Ee(Xu, {
10371
10371
  open: J.value,
10372
- locale: y.value,
10372
+ locale: _.value,
10373
10373
  "current-name": ((B = E.value) == null ? void 0 : B.basename) || "",
10374
10374
  onClose: u[10] || (u[10] = (ie) => J.value = !1),
10375
10375
  onSubmit: Hs
10376
10376
  }, null, 8, ["open", "locale", "current-name"]),
10377
10377
  Ee(Qu, {
10378
10378
  open: ae.value,
10379
- locale: y.value,
10379
+ locale: _.value,
10380
10380
  count: ne(U).size.value,
10381
10381
  onClose: u[11] || (u[11] = (ie) => ae.value = !1),
10382
10382
  onConfirm: Ws
10383
10383
  }, null, 8, ["open", "locale", "count"]),
10384
10384
  Ee(up, {
10385
10385
  open: p.value,
10386
- locale: y.value,
10386
+ locale: _.value,
10387
10387
  share: z.value,
10388
10388
  onClose: Xs,
10389
10389
  onSubmit: Js,
@@ -10391,7 +10391,7 @@ const sd = { class: "fe-toolbar" }, ld = { class: "fe-toolbar__primary" }, cd =
10391
10391
  }, null, 8, ["open", "locale", "share"]),
10392
10392
  Ee(ov, {
10393
10393
  open: m.value,
10394
- locale: y.value,
10394
+ locale: _.value,
10395
10395
  file: N.value,
10396
10396
  theme: e.config.theme || "auto",
10397
10397
  "preview-url": (ie) => ne(o).previewUrl(ie),
@@ -10427,7 +10427,7 @@ const sd = { class: "fe-toolbar" }, ld = { class: "fe-toolbar__primary" }, cd =
10427
10427
  path: ce.value.path,
10428
10428
  "is-dir": ce.value.type === "dir",
10429
10429
  size: typeof ce.value.size == "number" ? ce.value.size : void 0,
10430
- locale: y.value === "en" ? "en" : "tr",
10430
+ locale: _.value === "en" ? "en" : "tr",
10431
10431
  onClose: u[14] || (u[14] = (ie) => K.value = !1)
10432
10432
  }, null, 8, ["api", "path", "is-dir", "size", "locale"])) : le("", !0),
10433
10433
  Ee(Cr, { name: "fe-modal" }, {
@@ -10446,7 +10446,7 @@ const sd = { class: "fe-toolbar" }, ld = { class: "fe-toolbar__primary" }, cd =
10446
10446
  }, ["stop"]))
10447
10447
  }, [
10448
10448
  v("div", dm, [
10449
- v("strong", null, S(y.value === "en" ? "Recently opened" : "Son açılanlar"), 1),
10449
+ v("strong", null, S(_.value === "en" ? "Recently opened" : "Son açılanlar"), 1),
10450
10450
  v("button", {
10451
10451
  class: "fe-recents__close",
10452
10452
  "aria-label": "Close",
@@ -10479,7 +10479,7 @@ const sd = { class: "fe-toolbar" }, ld = { class: "fe-toolbar__primary" }, cd =
10479
10479
  }, ["stop"]))
10480
10480
  }, [
10481
10481
  v("header", um, [
10482
- v("h2", pm, S(y.value === "en" ? "Tags" : "Etiketler") + " — " + S(ge.value.basename), 1),
10482
+ v("h2", pm, S(_.value === "en" ? "Tags" : "Etiketler") + " — " + S(ge.value.basename), 1),
10483
10483
  v("button", {
10484
10484
  class: "fe-modal__close",
10485
10485
  "aria-label": "Close",
@@ -10516,7 +10516,7 @@ const sd = { class: "fe-toolbar" }, ld = { class: "fe-toolbar__primary" }, cd =
10516
10516
  ], 34);
10517
10517
  };
10518
10518
  }
10519
- }), gm = '.filex-tag-picker[data-v-629745b7]{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.filex-tag-picker.is-loading[data-v-629745b7]{opacity:.6;pointer-events:none}.filex-tag[data-v-629745b7]{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:500;color:#fff;background:var(--filex-tag-color)}.filex-tag-x[data-v-629745b7]{background:transparent;border:none;color:#ffffffd9;cursor:pointer;padding:0 2px;font-size:14px;line-height:1}.filex-tag-x[data-v-629745b7]:hover{color:#fff}.filex-tag-add input[data-v-629745b7]{border:1px solid var(--filex-border, #d1d5db);border-radius:12px;padding:2px 10px;font-size:12px;width:110px}.filex-tag-add-btn[data-v-629745b7]{border:1px dashed var(--filex-border, #d1d5db);background:transparent;border-radius:999px;padding:2px 10px;font-size:12px;color:var(--filex-text-muted, #6b7280);cursor:pointer}.filex-tag-add-btn[data-v-629745b7]:hover{border-color:var(--filex-accent, #6366f1);color:var(--filex-accent, #6366f1)}.filex-recent[data-v-be8c9080]{background:var(--fe-bg-elev, var(--filex-bg-card, #ffffff));border:1px solid var(--fe-border, var(--filex-border, #e5e7eb));border-radius:8px;padding:12px;font-size:13px}.filex-recent header[data-v-be8c9080]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.filex-recent h3[data-v-be8c9080]{margin:0;font-size:13px;font-weight:600;color:var(--fe-text, var(--filex-text, #111827))}.filex-recent-refresh[data-v-be8c9080]{background:transparent;border:none;color:var(--fe-text-muted, var(--filex-text-muted, #9ca3af));cursor:pointer;font-size:14px;padding:2px 6px}.filex-recent ul[data-v-be8c9080]{list-style:none;margin:0;padding:0}.filex-recent-item[data-v-be8c9080]{display:flex;justify-content:space-between;align-items:center;width:100%;background:transparent;border:none;padding:6px 8px;cursor:pointer;border-radius:4px;text-align:left}.filex-recent-item[data-v-be8c9080]:hover{background:var(--fe-bg-hover, var(--filex-bg-soft, #f3f4f6))}.filex-recent-name[data-v-be8c9080]{color:var(--fe-text, var(--filex-text, #111827));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filex-recent-meta[data-v-be8c9080]{color:var(--fe-text-muted, var(--filex-text-muted, #9ca3af));font-size:11px;margin-left:8px;flex-shrink:0}.filex-recent-empty[data-v-be8c9080]{color:var(--fe-text-muted, var(--filex-text-muted, #9ca3af));margin:4px 0 0}.filex-star-btn[data-v-bf2ee8db]{display:inline-flex;align-items:center;gap:6px;background:transparent;border:1px solid transparent;border-radius:6px;padding:4px 8px;color:var(--filex-text-muted, #9ca3af);cursor:pointer;transition:color .12s,background .12s}.filex-star-btn[data-v-bf2ee8db]:hover{color:var(--filex-accent-amber, #f59e0b);background:var(--filex-bg-soft, rgba(0, 0, 0, .04))}.filex-star-btn.is-starred[data-v-bf2ee8db]{color:var(--filex-accent-amber, #f59e0b)}.filex-star-btn.is-compact[data-v-bf2ee8db]{padding:4px}.filex-star-label[data-v-bf2ee8db]{font-size:13px}.fe-preview__code-editor.is-hidden{display:none}.fe-preview__viewer{width:100%;height:100%;min-height:70vh;display:flex;flex-direction:column}.fe-preview .fe-preview__viewer{align-self:stretch}.fe-preview__md-mermaid{display:flex;justify-content:center;margin:16px 0}.fe-preview__md-mermaid svg{max-width:100%;height:auto}.fe-preview__md-math{margin:16px 0;text-align:center;overflow-x:auto}.filex-cv__bg[data-v-4363f1ac]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#0000008c;display:flex;align-items:center;justify-content:center}.filex-cv[data-v-4363f1ac]{width:min(560px,92vw);max-height:80vh;overflow:hidden;display:flex;flex-direction:column;background:var(--fe-bg, #fff);color:var(--fe-text, #1a1f29);border:1px solid var(--fe-border, #e2e6ed);border-radius:12px;box-shadow:0 20px 60px #00000059}.filex-cv__head[data-v-4363f1ac]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--fe-border, #e2e6ed)}.filex-cv__head h3[data-v-4363f1ac]{margin:0;font-size:14px;font-weight:600}.filex-cv__x[data-v-4363f1ac]{border:0;background:none;cursor:pointer;font-size:16px;color:var(--fe-text-muted, #5a6475)}.filex-cv__msg[data-v-4363f1ac]{padding:28px;text-align:center;color:var(--fe-text-muted, #5a6475)}.filex-cv__ok[data-v-4363f1ac]{color:#059669}.filex-cv__src[data-v-4363f1ac]{padding:12px 16px 0;font-size:13px;color:var(--fe-text-muted, #5a6475)}.filex-cv__search[data-v-4363f1ac]{margin:8px 16px;padding:8px 10px;border:1px solid var(--fe-border, #e2e6ed);border-radius:8px;background:var(--fe-bg-elev, #f7f8fa);color:inherit;font-size:13px}.filex-cv__list[data-v-4363f1ac]{flex:1;overflow-y:auto;padding:4px 12px 12px;display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}.filex-cv__fmt[data-v-4363f1ac]{display:flex;flex-direction:column;gap:2px;align-items:flex-start;padding:8px 10px;cursor:pointer;text-align:left;border:1px solid var(--fe-border, #e2e6ed);border-radius:8px;background:var(--fe-bg-elev, #f7f8fa);color:inherit}.filex-cv__fmt small[data-v-4363f1ac]{color:var(--fe-text-muted, #5a6475);font-size:11px}.filex-cv__fmt.is-sel[data-v-4363f1ac]{border-color:#44c878;background:#44c8781f}.filex-cv__empty[data-v-4363f1ac]{grid-column:1 / -1;text-align:center;color:var(--fe-text-muted, #5a6475);padding:16px}.filex-cv__err[data-v-4363f1ac]{padding:0 16px;color:var(--fe-danger, #dc2626);font-size:13px}.filex-cv__foot[data-v-4363f1ac]{padding:12px 16px;border-top:1px solid var(--fe-border, #e2e6ed);text-align:right}.filex-cv__convert[data-v-4363f1ac]{padding:8px 18px;border:0;border-radius:8px;cursor:pointer;background:#44c878;color:#03200f;font-weight:600;font-size:13px}.filex-cv__convert[data-v-4363f1ac]:disabled{opacity:.5;cursor:default}.filex-cv__frame[data-v-4363f1ac]{position:absolute;width:0;height:0;border:0;left:-9999px}.fx-perm-overlay[data-v-4c90f457]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;font-family:var(--fe-font)}.fx-perm-modal[data-v-4c90f457]{display:flex;flex-direction:column;background:var(--fe-bg);color:var(--fe-text);width:min(520px,94vw);max-height:86vh;border:1px solid var(--fe-border);border-radius:var(--fe-radius-lg, 14px);box-shadow:var(--fe-shadow);font-size:14px;overflow:hidden}.fx-perm-head[data-v-4c90f457]{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 18px 12px;flex:none}.fx-perm-title[data-v-4c90f457]{display:flex;align-items:center;gap:10px;min-width:0}.fx-perm-ico[data-v-4c90f457]{font-size:22px;line-height:1}.fx-perm-titletext[data-v-4c90f457]{display:flex;flex-direction:column;min-width:0}.fx-perm-title h3[data-v-4c90f457]{margin:0;font-size:15px;font-weight:600;color:var(--fe-text)}.fx-perm-sub[data-v-4c90f457]{font-size:12px;color:var(--fe-text);max-width:340px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fx-perm-subdim[data-v-4c90f457]{color:var(--fe-text-muted)}.fx-perm-x[data-v-4c90f457]{background:none;border:none;font-size:17px;cursor:pointer;color:var(--fe-text-muted);flex:none;line-height:1;padding:2px 4px;border-radius:6px}.fx-perm-x[data-v-4c90f457]:hover{color:var(--fe-text);background:var(--fe-bg-hover)}.fx-perm-tabs[data-v-4c90f457]{display:flex;gap:2px;padding:0 18px;border-bottom:1px solid var(--fe-border);flex:none}.fx-perm-tab[data-v-4c90f457]{background:none;border:none;border-bottom:2px solid transparent;padding:8px 12px;cursor:pointer;color:var(--fe-text-muted);font-size:13px;font-family:inherit;font-weight:500}.fx-perm-tab[data-v-4c90f457]:hover{color:var(--fe-text)}.fx-perm-tab.is-active[data-v-4c90f457]{color:var(--fe-primary);border-bottom-color:var(--fe-primary)}.fx-perm-body[data-v-4c90f457]{flex:1 1 auto;overflow-y:auto;padding:14px 18px 18px}.fx-perm-addcard[data-v-4c90f457]{padding:12px;border-radius:var(--fe-radius-md, 10px);background:var(--fe-bg-elev);border:1px solid var(--fe-border)}.fx-perm-section[data-v-4c90f457]{margin-top:16px}.fx-perm-section h4[data-v-4c90f457]{margin:0 0 8px;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--fe-text-muted)}.fx-perm-empty[data-v-4c90f457]{color:var(--fe-text-muted);font-size:13px;padding:8px 2px}.fx-perm-person[data-v-4c90f457]{display:flex;align-items:center;gap:10px;padding:7px 2px}.fx-perm-person+.fx-perm-person[data-v-4c90f457]{border-top:1px solid var(--fe-border)}.fx-perm-inh[data-v-4c90f457]{color:var(--fe-text-muted)}.fx-perm-av[data-v-4c90f457]{width:28px;height:28px;flex:none;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--fe-primary);color:var(--fe-text-on-primary, #fff);font-size:12px;font-weight:600}.fx-perm-av--dim[data-v-4c90f457]{background:var(--fe-bg-hover);color:var(--fe-text-muted)}.fx-perm-user[data-v-4c90f457]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--fe-text);min-width:0}.fx-perm-from[data-v-4c90f457]{font-size:11px;color:var(--fe-text-muted);white-space:nowrap}.fx-perm-badge[data-v-4c90f457]{font-size:11px;padding:2px 9px;border-radius:999px;background:var(--fe-bg-hover);color:var(--fe-text)}.fx-perm-sel[data-v-4c90f457],.fx-perm-input[data-v-4c90f457]{padding:7px 9px;border-radius:var(--fe-radius-sm, 7px);border:1px solid var(--fe-border);background:var(--fe-bg);color:var(--fe-text);font-size:13px;font-family:inherit}.fx-perm-sel--sm[data-v-4c90f457]{padding:5px 7px;font-size:12px}.fx-perm-sel[data-v-4c90f457]:focus,.fx-perm-input[data-v-4c90f457]:focus{outline:none;border-color:var(--fe-primary)}.fx-perm-add[data-v-4c90f457]{display:flex;gap:8px;align-items:stretch}.fx-perm-emailwrap[data-v-4c90f457]{position:relative;flex:1;min-width:120px}.fx-perm-input[data-v-4c90f457]{width:100%;box-sizing:border-box}.fx-perm-suggest[data-v-4c90f457]{position:absolute;top:calc(100% + 3px);left:0;right:0;z-index:5;margin:0;padding:4px;list-style:none;background:var(--fe-bg);border:1px solid var(--fe-border);border-radius:var(--fe-radius-sm, 7px);box-shadow:var(--fe-shadow);max-height:210px;overflow:auto}.fx-perm-suggest li[data-v-4c90f457]{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;cursor:pointer}.fx-perm-suggest li[data-v-4c90f457]:hover{background:var(--fe-bg-hover)}.fx-perm-suggest-av[data-v-4c90f457]{width:24px;height:24px;flex:none;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--fe-bg-hover);color:var(--fe-text);font-size:11px;font-weight:600}.fx-perm-suggest-txt[data-v-4c90f457]{display:flex;flex-direction:column;min-width:0}.fx-perm-suggest-name[data-v-4c90f457]{color:var(--fe-text);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fx-perm-suggest-meta[data-v-4c90f457]{color:var(--fe-text-muted);font-size:11px}.fx-perm-check[data-v-4c90f457]{display:inline-flex;gap:6px;align-items:center;font-size:13px;color:var(--fe-text);cursor:pointer}.fx-perm-btn[data-v-4c90f457]{padding:7px 13px;border-radius:var(--fe-radius-sm, 7px);border:1px solid var(--fe-border);background:var(--fe-bg);color:var(--fe-text);font-size:13px;font-family:inherit;cursor:pointer;white-space:nowrap}.fx-perm-btn[data-v-4c90f457]:hover:not(:disabled){background:var(--fe-bg-hover)}.fx-perm-btn[data-v-4c90f457]:disabled{opacity:.55;cursor:default}.fx-perm-btn--sm[data-v-4c90f457]{padding:5px 10px;font-size:12px}.fx-perm-btn--primary[data-v-4c90f457]{background:var(--fe-primary);border-color:var(--fe-primary);color:var(--fe-text-on-primary, #fff)}.fx-perm-btn--primary[data-v-4c90f457]:hover:not(:disabled){background:var(--fe-primary-hover, var(--fe-primary));filter:brightness(1.05)}.fx-perm-btn--ghost[data-v-4c90f457]{background:none;border-color:transparent;color:var(--fe-primary);padding-left:2px}.fx-perm-btn--ghost[data-v-4c90f457]:hover:not(:disabled){background:none;text-decoration:underline}.fx-perm-del[data-v-4c90f457]{background:none;border:none;color:var(--fe-danger);cursor:pointer;font-size:14px;flex:none;padding:2px 4px}.fx-perm-del[data-v-4c90f457]:hover:not(:disabled){filter:brightness(1.15)}.fx-perm-invite[data-v-4c90f457]{margin-top:10px;padding-top:10px;border-top:1px dashed var(--fe-border)}.fx-perm-invite-actions[data-v-4c90f457]{display:flex;flex-direction:column;gap:8px;margin-top:6px}.fx-perm-invite-row[data-v-4c90f457]{display:flex;gap:8px;align-items:stretch}.fx-perm-invite-row .fx-perm-btn--primary[data-v-4c90f457]{flex:1}.fx-perm-share-opts[data-v-4c90f457]{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.fx-perm-expiry[data-v-4c90f457]{display:inline-flex;gap:6px;align-items:center;font-size:13px}.fx-perm-share-opts .fx-perm-btn--primary[data-v-4c90f457]{margin-left:auto}.fx-perm-result[data-v-4c90f457]{margin-top:12px;padding-top:12px;border-top:1px solid var(--fe-border)}.fx-perm-linkrow[data-v-4c90f457]{display:flex;gap:8px;align-items:center}.fx-perm-link[data-v-4c90f457]{color:var(--fe-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;text-decoration:none}.fx-perm-link[data-v-4c90f457]:hover{text-decoration:underline}.fx-perm-pin[data-v-4c90f457]{margin:8px 0 0;font-size:13px;color:var(--fe-text);display:flex;align-items:center;gap:8px}.fx-perm-pin code[data-v-4c90f457],.fx-perm-reveal code[data-v-4c90f457]{font-family:var(--fe-font-mono, monospace);background:var(--fe-bg-hover);padding:1px 6px;border-radius:5px}.fx-perm-mailrow[data-v-4c90f457]{display:flex;gap:8px;margin-top:10px}.fx-perm-mailrow .fx-perm-input[data-v-4c90f457]{flex:1}.fx-perm-hint[data-v-4c90f457]{font-size:13px;color:var(--fe-text-muted);margin:10px 0 0}.fx-perm-dropintro[data-v-4c90f457]{margin:0 0 12px;line-height:1.4}.fx-perm-advtoggle[data-v-4c90f457]{margin-top:10px;padding-left:2px}.fx-perm-adv[data-v-4c90f457]{margin-top:8px;padding-top:10px;border-top:1px dashed var(--fe-border);display:flex;flex-direction:column;gap:8px}.fx-perm-adv-row[data-v-4c90f457]{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px}.fx-perm-input--sm[data-v-4c90f457]{width:130px;padding:5px 8px;font-size:12px}.fx-perm-warn[data-v-4c90f457]{background:#f59e0b24;border:1px solid rgba(245,158,11,.4);border-radius:var(--fe-radius-sm, 7px);padding:8px 10px;font-size:13px;margin-bottom:10px;color:var(--fe-text)}.fx-perm-notice[data-v-4c90f457]{margin-top:8px;font-size:13px;color:var(--fe-text-muted)}.fx-perm-reveal[data-v-4c90f457]{margin-top:8px;font-size:13px;word-break:break-all;color:var(--fe-text)}.fx-perm-muted[data-v-4c90f457]{color:var(--fe-text-muted);font-size:13px}:root{--fe-bg: #ffffff;--fe-bg-elev: #f7f8fa;--fe-bg-hover: #edf0f5;--fe-bg-selected: #dfe8ff;--fe-border: #e2e6ed;--fe-border-strong: #c7ced9;--fe-text: #1a1e27;--fe-text-muted: #5a6475;--fe-text-on-primary: #ffffff;--fe-primary: #3b82f6;--fe-primary-hover: #2563eb;--fe-danger: #dc2626;--fe-danger-hover: #b91c1c;--fe-shadow: 0 10px 32px rgba(15, 23, 42, .14);--fe-shadow-sm: 0 2px 6px rgba(15, 23, 42, .08);--fe-radius: 8px;--fe-radius-sm: 4px;--fe-radius-lg: 12px;--fe-font: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--fe-font-mono: ui-monospace, "SF Mono", Consolas, Menlo, monospace;--fe-gap: 12px}.fe--theme-dark,:root[data-theme=dark] .fe,.fe.fe--theme-dark,:root.dark,.dark,:root.dark .fe,.dark .fe,.fe-ctx-backdrop--theme-dark,.fe-ctx-backdrop--theme-auto[data-prefers-dark="1"]{--fe-bg: #0f1419;--fe-bg-elev: #161c25;--fe-bg-hover: #1f2733;--fe-bg-selected: #23324a;--fe-border: #2a323e;--fe-border-strong: #3a4453;--fe-text: #e5e9f0;--fe-text-muted: #8b95a7;--fe-primary: #60a5fa;--fe-primary-hover: #3b82f6;--fe-danger: #f87171;--fe-danger-hover: #ef4444;--fe-shadow: 0 12px 32px rgba(0, 0, 0, .45);--fe-shadow-sm: 0 2px 6px rgba(0, 0, 0, .25)}@media (prefers-color-scheme: dark){.fe:not(.fe--theme-light),.fe-ctx-backdrop--theme-auto:not(.fe-ctx-backdrop--theme-light){--fe-bg: #0f1419;--fe-bg-elev: #161c25;--fe-bg-hover: #1f2733;--fe-bg-selected: #23324a;--fe-border: #2a323e;--fe-border-strong: #3a4453;--fe-text: #e5e9f0;--fe-text-muted: #8b95a7;--fe-primary: #60a5fa;--fe-primary-hover: #3b82f6;--fe-danger: #f87171;--fe-danger-hover: #ef4444;--fe-shadow: 0 12px 32px rgba(0, 0, 0, .45);--fe-shadow-sm: 0 2px 6px rgba(0, 0, 0, .25)}}.fe{position:relative;display:flex;flex-direction:column;min-height:420px;height:100%;background:var(--fe-bg);color:var(--fe-text);font-family:var(--fe-font);font-size:14px;border:1px solid var(--fe-border);border-radius:var(--fe-radius);overflow:hidden;outline:none}.fe *{box-sizing:border-box}.fe__body{flex:1 1 auto;overflow:auto;background:var(--fe-bg)}.fe__loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-height:240px;height:100%;color:var(--fe-text-muted)}.fe__spinner{width:34px;height:34px;border-radius:50%;border:3px solid color-mix(in srgb,var(--fe-text-muted) 30%,transparent);border-top-color:var(--fe-primary);animation:fe-spin .7s linear infinite}.fe__loading-text{margin:0;font-size:13px}@keyframes fe-spin{to{transform:rotate(360deg)}}.fe__file-input{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}.fe-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--fe-bg-elev);border:1px solid var(--fe-border);border-radius:var(--fe-radius-sm);color:var(--fe-text);font:inherit;cursor:pointer;transition:background .12s,border-color .12s;white-space:nowrap}.fe-btn:hover:not(:disabled){background:var(--fe-bg-hover);border-color:var(--fe-border-strong)}.fe-btn:disabled{opacity:.5;cursor:not-allowed}.fe-btn--primary{background:var(--fe-primary);border-color:var(--fe-primary);color:var(--fe-text-on-primary)}.fe-btn--primary:hover:not(:disabled){background:var(--fe-primary-hover);border-color:var(--fe-primary-hover)}.fe-btn--danger{background:var(--fe-danger);border-color:var(--fe-danger);color:var(--fe-text-on-primary)}.fe-btn--danger:hover:not(:disabled){background:var(--fe-danger-hover);border-color:var(--fe-danger-hover)}.fe-btn--icon-only{padding:6px 8px}.fe-btn.is-active{background:var(--fe-bg-selected);border-color:var(--fe-primary)}.fe-btn__label{line-height:1}.fe-icon{font-size:1.05em;line-height:1}.fe-toolbar{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--fe-bg-elev);border-bottom:1px solid var(--fe-border);flex-wrap:wrap}.fe-toolbar__primary{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.fe-toolbar__spacer{flex:1 1 auto}.fe-toolbar__search-group{display:inline-flex;align-items:center;gap:4px;background:var(--fe-bg);border:1px solid var(--fe-border);border-radius:var(--fe-radius-sm);padding:2px}.fe-toolbar__search-group .fe-search__input{border:0;background:transparent;padding:4px 8px}.fe-toolbar__search-group .fe-btn{border:0;background:transparent;padding:4px 6px}.fe-toolbar__search-group .fe-btn:hover:not(:disabled){background:var(--fe-bg-hover)}.fe-toolbar__view{display:inline-flex;gap:2px;padding:2px;background:var(--fe-bg);border:1px solid var(--fe-border);border-radius:var(--fe-radius-sm)}.fe-toolbar__view .fe-btn{border:0;background:transparent}.fe-toolbar__view .fe-btn.is-active{background:var(--fe-bg-selected)}.fe-search{position:relative}.fe-search__input{background:var(--fe-bg);border:1px solid var(--fe-border);border-radius:var(--fe-radius-sm);padding:6px 10px;font:inherit;color:var(--fe-text);min-width:200px}.fe-search__input:focus-visible{outline:2px solid var(--fe-primary);outline-offset:1px}.fe-breadcrumb{display:flex;align-items:center;gap:4px;flex-wrap:wrap;padding:6px 12px;background:var(--fe-bg);border-bottom:1px solid var(--fe-border);font-size:13px;color:var(--fe-text-muted)}.fe-breadcrumb__crumb{display:inline-flex;align-items:center;gap:4px;background:transparent;border:0;color:inherit;padding:2px 6px;border-radius:var(--fe-radius-sm);cursor:pointer;font:inherit}.fe-breadcrumb__crumb:hover{background:var(--fe-bg-hover);color:var(--fe-text)}.fe-breadcrumb__crumb.is-last{color:var(--fe-text);font-weight:600}.fe-breadcrumb__sep{color:var(--fe-text-muted)}.fe-breadcrumb__edit{margin-left:auto;background:none;border:1px solid transparent;color:var(--fe-text-muted);cursor:pointer;font-size:14px;line-height:1;padding:4px 8px;border-radius:4px}.fe-breadcrumb__edit:hover{background:var(--fe-bg-hover);color:var(--fe-text);border-color:var(--fe-border)}.fe-breadcrumb__input{flex:1;background:var(--fe-bg);color:var(--fe-text);border:1px solid var(--fe-accent, #2563eb);border-radius:4px;padding:4px 8px;font-family:var(--fe-mono, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);font-size:13px;outline:none}.fe-list{display:flex;flex-direction:column}.fe-list__head{display:grid;grid-template-columns:32px minmax(0,1fr) 120px 180px;gap:8px;padding:8px 12px;font-weight:600;color:var(--fe-text-muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em;background:var(--fe-bg-elev);border-bottom:1px solid var(--fe-border)}.fe-list__body{display:flex;flex-direction:column}.fe-list__row{display:grid;grid-template-columns:32px minmax(0,1fr) 120px 180px;gap:8px;padding:8px 12px;align-items:center;cursor:pointer;border-bottom:1px solid var(--fe-border);transition:background .08s;-webkit-user-select:none;user-select:none}.fe-list__row:hover{background:var(--fe-bg-hover)}.fe-list__row.is-selected{background:var(--fe-bg-selected)}.fe-list__row.is-trash{opacity:.7}.fe-list__row.is-clipped,.fe-grid__card.is-clipped{opacity:.45;font-style:italic}.fe-list__row:focus-visible{outline:2px solid var(--fe-primary);outline-offset:-2px}.fe-list__col--star{display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .12s}.fe-list__row:hover .fe-list__col--star,.fe-list__row:focus-within .fe-list__col--star,.fe-list__col--star:has(.is-starred){opacity:1}.fe-list__col--star .filex-star-btn.is-starred{color:var(--fe-warning, #f59e0b)}.fe-list__col--name{display:flex;align-items:center;gap:8px;min-width:0}.fe-list__icon{flex-shrink:0;font-size:16px}.fe-list__name-wrap{display:flex;flex-direction:column;min-width:0;flex:1 1 auto}.fe-list__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fe-list__parent{font-size:11px;color:var(--fe-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px}.fe-list__col--size,.fe-list__col--mod{color:var(--fe-text-muted);font-size:13px}.fe-list__empty{padding:40px 20px;text-align:center;color:var(--fe-text-muted)}.fe-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--fe-gap);padding:var(--fe-gap)}.fe-grid__card{display:flex;flex-direction:column;align-items:stretch;padding:8px;border:1px solid var(--fe-border);border-radius:var(--fe-radius);background:var(--fe-bg-elev);cursor:pointer;transition:background .08s,border-color .08s;-webkit-user-select:none;user-select:none}.fe-grid__card:hover{background:var(--fe-bg-hover);border-color:var(--fe-border-strong)}.fe-grid__card.is-selected{background:var(--fe-bg-selected);border-color:var(--fe-primary)}.fe-grid__card.is-trash{opacity:.7}.fe-grid__thumb{display:flex;align-items:center;justify-content:center;aspect-ratio:1 / 1;background:var(--fe-bg);border-radius:var(--fe-radius-sm);margin-bottom:8px;overflow:hidden}.fe-grid__thumb img{width:100%;height:100%;object-fit:cover}.fe-grid__icon{font-size:32px}.fe-grid__label{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fe-grid__meta{font-size:11px;color:var(--fe-text-muted);margin-top:2px}.fe-grid__parent{font-size:11px;color:var(--fe-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-style:italic}.fe-grid__empty{grid-column:1 / -1;padding:40px 20px;text-align:center;color:var(--fe-text-muted)}.fe__dragover{position:absolute;top:0;right:0;bottom:0;left:0;z-index:30;display:flex;align-items:center;justify-content:center;background:#3b82f61f;border:3px dashed var(--fe-primary);pointer-events:none}.fe__dragover-card{background:var(--fe-bg);border-radius:var(--fe-radius-lg);padding:24px 40px;box-shadow:var(--fe-shadow);text-align:center}.fe__dragover-card .fe-icon{font-size:32px;display:block;margin-bottom:8px}.fe-upload{position:absolute;right:16px;bottom:16px;width:min(360px,calc(100% - 32px));background:var(--fe-bg);border:1px solid var(--fe-border);border-radius:var(--fe-radius);box-shadow:var(--fe-shadow);z-index:40;max-height:40vh;display:flex;flex-direction:column;overflow:hidden}.fe-upload__header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--fe-bg-elev);border-bottom:1px solid var(--fe-border);font-size:13px}.fe-upload__count{background:var(--fe-primary);color:var(--fe-text-on-primary);font-size:12px;padding:1px 7px;border-radius:999px}.fe-upload__list{list-style:none;padding:0;margin:0;overflow:auto}.fe-upload__item{padding:10px 14px;border-bottom:1px solid var(--fe-border)}.fe-upload__item:last-child{border-bottom:0}.fe-upload__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;margin-bottom:4px}.fe-upload__bar{background:var(--fe-bg-elev);border-radius:99px;height:6px;overflow:hidden;margin-bottom:4px}.fe-upload__bar-fill{background:var(--fe-primary);height:100%;transition:width .2s}.fe-upload__item.is-error .fe-upload__bar-fill,.fe-upload__item.is-aborted .fe-upload__bar-fill{background:var(--fe-danger)}.fe-upload__item.is-done .fe-upload__bar-fill{background:#16a34a}.fe-upload__meta{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:11px;color:var(--fe-text-muted)}.fe-upload__cancel{background:transparent;border:0;color:var(--fe-primary);cursor:pointer;font:inherit}.fe-upload-slide-enter-active,.fe-upload-slide-leave-active{transition:transform .2s,opacity .2s}.fe-upload-slide-enter-from,.fe-upload-slide-leave-to{opacity:0;transform:translateY(10px)}.fe-ops{position:absolute;left:16px;bottom:16px;width:min(320px,calc(100% - 32px));display:flex;flex-direction:column;gap:8px;z-index:40}.fe-ops__item{background:var(--fe-bg);border:1px solid var(--fe-border);border-radius:var(--fe-radius);box-shadow:var(--fe-shadow);padding:10px 14px;font-size:13px}.fe-ops__item.is-done{border-color:#16a34a}.fe-ops__item.is-error{border-color:var(--fe-danger)}.fe-ops__row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.fe-ops__title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1 auto}.fe-ops__dismiss{background:transparent;border:0;color:var(--fe-text-muted);cursor:pointer;font-size:18px;line-height:1;padding:0 4px}.fe-ops__bar{background:var(--fe-bg-elev);border-radius:99px;height:6px;overflow:hidden}.fe-ops__bar-fill{background:var(--fe-primary);height:100%;transition:width .25s}.fe-ops__item.is-done .fe-ops__bar-fill{background:#16a34a}.fe-ops__item.is-error .fe-ops__bar-fill{background:var(--fe-danger)}.fe-ops__error{margin-top:6px;font-size:11px;color:var(--fe-danger)}.fe-ops-slide-enter-active,.fe-ops-slide-leave-active{transition:transform .2s,opacity .2s}.fe-ops-slide-enter-from,.fe-ops-slide-leave-to{opacity:0;transform:translateY(10px)}.fe-ctx-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;color:var(--fe-text);font-family:var(--fe-font);font-size:14px}.fe-ctx{position:absolute;min-width:180px;background:var(--fe-bg);border:1px solid var(--fe-border);border-radius:var(--fe-radius);box-shadow:var(--fe-shadow);padding:4px;z-index:90;color:var(--fe-text)}.fe-ctx__item{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:var(--fe-radius-sm);border:0;background:transparent;color:var(--fe-text);font:inherit;width:100%;text-align:left;cursor:pointer}.fe-ctx__item:hover:not(.is-disabled){background:var(--fe-bg-hover)}.fe-ctx__item.is-danger{color:var(--fe-danger)}.fe-ctx__item.is-disabled{opacity:.45;cursor:not-allowed}.fe-ctx__icon{width:1.2em;text-align:center}.fe-ctx__sep{height:1px;background:var(--fe-border);margin:4px 0}.fe-ctx-enter-active,.fe-ctx-leave-active{transition:opacity .1s}.fe-ctx-enter-from,.fe-ctx-leave-to{opacity:0}.fe-modal__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:flex;align-items:center;justify-content:center;background:#0d131b7a;padding:16px}.fe-modal__card{background:var(--fe-bg);border-radius:var(--fe-radius);box-shadow:var(--fe-shadow);width:100%;max-height:calc(100vh - 32px);display:flex;flex-direction:column;overflow:hidden}.fe-modal__card--sm{max-width:420px}.fe-modal__card--md{max-width:560px}.fe-modal__card--lg{max-width:800px}.fe-modal__card--xl{max-width:1080px;height:calc(100vh - 64px)}.fe-recents__backdrop{align-items:flex-start!important;padding-top:60px}.fe-recents__panel{background:var(--fe-bg, #fff);border-radius:var(--fe-radius, 8px);box-shadow:var(--fe-shadow, 0 6px 24px rgba(0, 0, 0, .18));width:min(480px,calc(100vw - 32px));max-height:calc(100vh - 96px);display:flex;flex-direction:column;overflow:hidden}.fe-recents__header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--fe-border, #e2e6ed)}.fe-recents__close{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;font-size:22px;line-height:1;cursor:pointer;color:var(--fe-text-muted, #6b7280);padding:0 4px}.fe-recents__close:hover{color:var(--fe-text, #111)}.fe-preview__md-split{display:flex;flex-direction:column;height:100%;width:100%;min-height:0}.fe-preview__md-split-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 14px;background:var(--fe-bg-elev, #f6f7f9);border-bottom:1px solid var(--fe-border, #e2e6ed);flex:0 0 auto}.fe-preview__md-split-label{font-family:var(--fe-font-mono, ui-monospace, monospace);font-size:11px;letter-spacing:.06em;color:var(--fe-text-muted, #6b7280)}.fe-preview__md-split-error{flex:1 1 auto;font-size:12px;color:var(--fe-danger, #dc2626);text-align:center}.fe-preview__md-split-body{flex:1 1 auto;display:grid;grid-template-columns:1fr 1fr;min-height:0}.fe-preview__md-split-input{resize:none;border:0;outline:0;padding:16px 20px;font-family:var(--fe-font-mono, ui-monospace, monospace);font-size:13px;line-height:1.6;background:var(--fe-bg, #fff);color:var(--fe-text, #111);border-right:1px solid var(--fe-border, #e2e6ed);overflow:auto;-moz-tab-size:2;tab-size:2}.fe-preview__md-split-output{overflow:auto;padding:16px 24px;background:var(--fe-bg, #fff)}.fe-preview__md-split-output.fe-preview__md{max-height:none;min-height:0;height:100%}@media (max-width: 900px){.fe-preview__md-split-body{grid-template-columns:1fr;grid-template-rows:1fr 1fr}.fe-preview__md-split-input{border-right:0;border-bottom:1px solid var(--fe-border, #e2e6ed)}}.fe-modal__backdrop--chromeless{background:transparent;padding:0}.fe-modal__card--chromeless{max-width:none;width:100vw;height:100vh;max-height:100vh;border-radius:0;box-shadow:none}.fe-modal__card--chromeless .fe-modal__body{flex:1 1 auto;min-height:0;padding:0}.fe-modal__card--chromeless .fe-preview{align-items:stretch;justify-content:stretch;min-height:0;flex:1 1 auto}.fe-modal__card--chromeless .fe-preview>*{width:100%;height:100%}.fe-modal__head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--fe-border)}.fe-modal__title{font-size:16px;font-weight:600;margin:0}.fe-modal__close{background:transparent;border:0;color:var(--fe-text-muted);font-size:22px;cursor:pointer;padding:0 4px;line-height:1}.fe-modal__body{padding:16px;overflow:auto;flex:1 1 auto}.fe-modal__actions{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--fe-border);background:var(--fe-bg-elev)}.fe-modal-enter-active,.fe-modal-leave-active{transition:opacity .15s}.fe-modal-enter-from,.fe-modal-leave-to{opacity:0}.fe-input{width:100%;padding:8px 10px;background:var(--fe-bg);border:1px solid var(--fe-border);border-radius:var(--fe-radius-sm);font:inherit;color:var(--fe-text)}.fe-input:focus-visible{outline:2px solid var(--fe-primary);outline-offset:1px}.fe-input--mono{font-family:var(--fe-font-mono);letter-spacing:.1em}.fe-form{display:flex;flex-direction:column;gap:12px}.fe-form__row{display:flex;align-items:center;gap:8px}.fe-form__row--stack{flex-direction:column;align-items:stretch}.fe-form__error{color:var(--fe-danger);font-size:12px;margin:6px 0 0}.fe-share-result{display:flex;flex-direction:column;gap:12px}.fe-share-result__row label{display:block;font-size:12px;font-weight:600;color:var(--fe-text-muted);margin-bottom:4px}.fe-share-result__copy{display:flex;gap:6px}.fe-preview{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:50vh;background:var(--fe-bg-elev)}.fe-preview__image{max-width:100%;max-height:70vh;object-fit:contain}.fe-preview__video,.fe-preview__audio{max-width:100%;max-height:70vh}.fe-preview__iframe{width:100%;height:70vh;border:0;background:#fff}.fe-preview__office{width:100%;height:78vh;background:var(--fe-bg)}.fe-preview__code-wrap{display:flex;flex-direction:column;width:100%;height:78vh}.fe-preview__code-toolbar{display:flex;align-items:center;gap:12px;padding:8px 12px;background:var(--fe-bg-hover, #f3f4f6);border-bottom:1px solid var(--fe-border, #e5e7eb);font-size:12px}.fe-preview__code-lang{font-family:var(--fe-font-mono, ui-monospace, monospace);color:var(--fe-text-muted);text-transform:uppercase;letter-spacing:.04em}.fe-preview__code-toolbar>.fe-btn{margin-left:auto}.fe-preview__code-status{font-size:12px;font-weight:500}.fe-preview__code-status--ok{color:#059669}.fe-preview__code-status--err{color:#dc2626;cursor:help}.fe-preview__code-editor{flex:1;min-height:0;overflow:hidden}.fe-preview__code-editor .cm-editor{height:100%;font-size:13px}.fe-preview__code-editor .cm-scroller{font-family:var(--fe-font-mono, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace)}.fe-preview__fallback{text-align:center;color:var(--fe-text-muted);padding:40px 20px}.fe-preview__fallback-icon{font-size:48px;display:block;margin-bottom:12px}.fe-preview__pre{margin:0;padding:16px;width:100%;max-height:70vh;overflow:auto;background:var(--fe-bg);color:var(--fe-text);font-family:var(--fe-font-mono);font-size:13px;line-height:1.5;white-space:pre-wrap;word-wrap:break-word}.fe-preview__code{white-space:pre;word-wrap:normal}.hljs{background:var(--fe-bg);color:var(--fe-text)}.hljs-comment,.hljs-quote{color:var(--fe-text-muted);font-style:italic}.hljs-keyword,.hljs-selector-tag,.hljs-built_in,.hljs-section,.hljs-meta{color:#c678dd}.hljs-string,.hljs-attr,.hljs-symbol,.hljs-bullet,.hljs-addition,.hljs-link{color:#98c379}.hljs-number,.hljs-literal,.hljs-deletion{color:#d19a66}.hljs-title,.hljs-name,.hljs-selector-id,.hljs-selector-class,.hljs-template-tag,.hljs-template-variable{color:#61aeee}.hljs-type,.hljs-tag{color:#e06c75}.hljs-variable,.hljs-attribute{color:#d19a66}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.fe-preview__md{width:100%;max-height:70vh;overflow:auto;padding:24px 32px;background:var(--fe-bg);color:var(--fe-text);line-height:1.6;font-size:15px}.fe-preview__md h1,.fe-preview__md h2,.fe-preview__md h3,.fe-preview__md h4{margin:1.2em 0 .6em;font-weight:600}.fe-preview__md h1{font-size:1.8em;border-bottom:1px solid var(--fe-border);padding-bottom:.3em}.fe-preview__md h2{font-size:1.4em;border-bottom:1px solid var(--fe-border);padding-bottom:.3em}.fe-preview__md h3{font-size:1.2em}.fe-preview__md p{margin:.8em 0}.fe-preview__md a{color:var(--fe-primary);text-decoration:underline}.fe-preview__md code{font-family:var(--fe-font-mono);background:var(--fe-bg-elev);padding:1px 5px;border-radius:3px;font-size:.92em}.fe-preview__md pre{background:var(--fe-bg-elev);border:1px solid var(--fe-border);border-radius:var(--fe-radius-sm);padding:12px 16px;overflow:auto;font-size:.9em}.fe-preview__md pre code{background:transparent;padding:0}.fe-preview__md ul,.fe-preview__md ol{padding-left:2em;margin:.8em 0}.fe-preview__md li{margin:.3em 0}.fe-preview__md blockquote{border-left:3px solid var(--fe-border-strong);padding:0 1em;color:var(--fe-text-muted);margin:.8em 0}.fe-preview__md table{border-collapse:collapse;margin:1em 0;width:100%}.fe-preview__md th,.fe-preview__md td{border:1px solid var(--fe-border);padding:6px 10px;text-align:left}.fe-preview__md th{background:var(--fe-bg-elev)}.fe-preview__md img{max-width:100%}.fe-toast{position:absolute;bottom:24px;left:50%;transform:translate(-50%);background:var(--fe-text);color:var(--fe-bg);padding:8px 14px;border-radius:var(--fe-radius);font-size:13px;box-shadow:var(--fe-shadow-sm);z-index:95}.fe-toast-enter-active,.fe-toast-leave-active{transition:opacity .2s,transform .2s}.fe-toast-enter-from,.fe-toast-leave-to{opacity:0;transform:translate(-50%,10px)}@media (max-width: 640px){.fe-list__head,.fe-list__row{grid-template-columns:28px minmax(0,1fr) 90px}.fe-list__col--mod{display:none}.fe-toolbar{padding:8px}.fe-search__input{min-width:120px}}.filex-viewer-3d[data-v-78bcf18b]{width:100%;height:100%;min-height:480px;background:#1a1a1a;display:flex;align-items:center;justify-content:center}.filex-viewer-3d[data-v-78bcf18b] model-viewer{width:100%;height:100%;min-height:480px;background:#1a1a1a;display:block}.filex-viewer-fallback[data-v-78bcf18b]{text-align:center;color:#c8cdd6;padding:32px;max-width:480px}.filex-viewer-fallback__icon[data-v-78bcf18b]{font-size:48px;display:block;margin-bottom:12px}.filex-viewer-epub__nav[data-v-f9b72a2c]{position:absolute;bottom:12px;left:50%;transform:translate(-50%);display:flex;gap:8px;padding:4px 8px;background:var(--fe-bg-elev, rgba(255, 255, 255, .9));border:1px solid var(--fe-border, #e2e6ed);border-radius:6px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.filex-viewer-epub[data-v-f9b72a2c]{display:flex;flex-direction:column;width:100%;height:100%;min-height:70vh;background:var(--fe-bg, #fff);color:var(--fe-text, #1a1e27);position:relative}.filex-viewer-epub__bar[data-v-f9b72a2c]{display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--fe-bg-elev, #f7f8fa);border-bottom:1px solid var(--fe-border, #e2e6ed);font-size:13px}.filex-viewer-spacer[data-v-f9b72a2c]{flex:1}.filex-viewer-epub__fs[data-v-f9b72a2c]{display:inline-block;min-width:40px;text-align:center;font-variant-numeric:tabular-nums;font-size:12px;color:var(--fe-text-muted, #5a6475)}.filex-viewer-epub__main[data-v-f9b72a2c]{flex:1;min-height:0;display:flex}.filex-viewer-epub__rendition[data-v-f9b72a2c]{flex:1;min-height:0}.filex-viewer-epub__toc[data-v-f9b72a2c]{width:260px;border-right:1px solid var(--fe-border, #e2e6ed);overflow-y:auto;padding:12px 0;background:var(--fe-bg-elev, #f7f8fa)}.filex-viewer-epub__toc ul[data-v-f9b72a2c]{list-style:none;margin:0;padding:0}.filex-viewer-epub__toc-link[data-v-f9b72a2c]{display:block;width:100%;text-align:left;background:transparent;border:0;padding:6px 14px;font:inherit;color:inherit;cursor:pointer}.filex-viewer-epub__toc-link[data-v-f9b72a2c]:hover{background:var(--fe-bg-hover, #edf0f5)}.filex-viewer-epub__toc-link.is-child[data-v-f9b72a2c]{padding-left:28px;color:var(--fe-text-muted, #5a6475);font-size:12px}.filex-viewer-epub__loading[data-v-f9b72a2c]{position:absolute;inset:auto 0 0 0;text-align:center;padding:6px;background:#0000000d;font-size:12px;color:var(--fe-text-muted, #5a6475)}.filex-viewer-fallback[data-v-f9b72a2c]{text-align:center;padding:32px;color:var(--fe-text-muted, #5a6475)}.filex-viewer-fallback__icon[data-v-f9b72a2c]{font-size:48px;display:block;margin-bottom:12px}.filex-viewer-btn[data-v-f9b72a2c]{border:1px solid var(--fe-border, #e2e6ed);background:var(--fe-bg, #fff);color:var(--fe-text, #1a1e27);padding:4px 10px;border-radius:4px;cursor:pointer;font:inherit;font-size:12px}.filex-viewer-btn[data-v-f9b72a2c]:hover:not(:disabled){background:var(--fe-bg-hover, #edf0f5)}.filex-viewer-btn[data-v-f9b72a2c]:disabled{opacity:.5;cursor:not-allowed}.filex-viewer-mermaid[data-v-fe0bf99e]{display:flex;flex-direction:column;width:100%;height:100%;min-height:70vh;background:var(--fe-bg, #fff);color:var(--fe-text, #1a1e27)}.filex-viewer-mermaid__bar[data-v-fe0bf99e]{display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--fe-bg-elev, #f7f8fa);border-bottom:1px solid var(--fe-border, #e2e6ed);font-size:13px}.filex-viewer-mermaid__zoom[data-v-fe0bf99e]{min-width:50px;text-align:center;font-variant-numeric:tabular-nums;font-size:12px}.filex-viewer-mermaid__pane[data-v-fe0bf99e]{flex:1;overflow:hidden;position:relative;cursor:grab;background:var(--fe-bg-elev, #f7f8fa);touch-action:none}.filex-viewer-mermaid__pane[data-v-fe0bf99e]:active{cursor:grabbing}.filex-viewer-mermaid__surface[data-v-fe0bf99e]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;transform-origin:center center;transition:transform .05s linear;-webkit-user-select:none;user-select:none}.filex-viewer-mermaid__surface[data-v-fe0bf99e] svg{max-width:90%;max-height:90%}.filex-viewer-fallback[data-v-fe0bf99e]{text-align:center;padding:32px;color:var(--fe-text-muted, #5a6475);width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.filex-viewer-fallback__icon[data-v-fe0bf99e]{font-size:48px;display:block;margin-bottom:12px}.filex-viewer-btn[data-v-fe0bf99e]{border:1px solid var(--fe-border, #e2e6ed);background:var(--fe-bg, #fff);color:var(--fe-text, #1a1e27);padding:4px 10px;border-radius:4px;cursor:pointer;font:inherit;font-size:12px}.filex-viewer-btn[data-v-fe0bf99e]:hover:not(:disabled){background:var(--fe-bg-hover, #edf0f5)}.filex-viewer-drawio[data-v-2a88618e]{display:flex;flex-direction:column;width:100%;height:100%;min-height:70vh;background:var(--fe-bg, #fff)}.filex-viewer-drawio__bar[data-v-2a88618e]{display:flex;align-items:center;gap:12px;padding:6px 12px;background:var(--fe-bg-elev, #f7f8fa);border-bottom:1px solid var(--fe-border, #e2e6ed);font-size:12px;color:var(--fe-text-muted, #5a6475)}.filex-viewer-drawio__status[data-state=error][data-v-2a88618e]{color:var(--fe-danger, #dc2626)}.filex-viewer-drawio__status[data-state=saved][data-v-2a88618e]{color:#059669}.filex-viewer-drawio__readonly[data-v-2a88618e]{font-style:italic;margin-left:auto}.filex-viewer-drawio__frame[data-v-2a88618e]{flex:1;width:100%;border:0;background:#fafafa;min-height:0}.filex-viewer-fallback[data-v-2a88618e]{text-align:center;padding:32px;color:var(--fe-text-muted, #5a6475)}.filex-viewer-fallback__icon[data-v-2a88618e]{font-size:48px;display:block;margin-bottom:12px}.filex-viewer-tiff__pager[data-v-e6d0bdb2]{position:absolute;bottom:12px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;padding:4px 8px;background:var(--fe-bg-elev, rgba(255, 255, 255, .9));border:1px solid var(--fe-border, #e2e6ed);border-radius:6px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.filex-viewer-tiff__pages[data-v-e6d0bdb2]{font-size:12px;font-variant-numeric:tabular-nums}.filex-viewer-tiff[data-v-e6d0bdb2]{display:flex;flex-direction:column;width:100%;height:100%;min-height:70vh;background:var(--fe-bg, #fff)}.filex-viewer-tiff__bar[data-v-e6d0bdb2]{display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--fe-bg-elev, #f7f8fa);border-bottom:1px solid var(--fe-border, #e2e6ed);font-size:13px}.filex-viewer-tiff__pages[data-v-e6d0bdb2]{min-width:110px;text-align:center;font-variant-numeric:tabular-nums;font-size:12px}.filex-viewer-tiff__zoom[data-v-e6d0bdb2]{min-width:50px;text-align:center;font-variant-numeric:tabular-nums;font-size:12px}.filex-viewer-spacer[data-v-e6d0bdb2]{flex:1}.filex-viewer-tiff__pane[data-v-e6d0bdb2]{flex:1;overflow:auto;padding:16px;background:#2a2d33;display:flex;align-items:flex-start;justify-content:flex-start}.filex-viewer-tiff__pane canvas[data-v-e6d0bdb2]{background:#fff;box-shadow:0 4px 16px #0000004d}.filex-viewer-fallback[data-v-e6d0bdb2]{text-align:center;padding:32px;color:#c8cdd6;margin:auto}.filex-viewer-fallback__icon[data-v-e6d0bdb2]{font-size:48px;display:block;margin-bottom:12px}.filex-viewer-btn[data-v-e6d0bdb2]{border:1px solid var(--fe-border, #e2e6ed);background:var(--fe-bg, #fff);color:var(--fe-text, #1a1e27);padding:4px 10px;border-radius:4px;cursor:pointer;font:inherit;font-size:12px}.filex-viewer-btn[data-v-e6d0bdb2]:hover:not(:disabled){background:var(--fe-bg-hover, #edf0f5)}.filex-viewer-btn[data-v-e6d0bdb2]:disabled{opacity:.4;cursor:not-allowed}.filex-viewer-psd[data-v-d23e4974]{display:flex;flex-direction:column;width:100%;height:100%;min-height:70vh;background:var(--fe-bg, #fff)}.filex-viewer-psd__bar[data-v-d23e4974]{display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--fe-bg-elev, #f7f8fa);border-bottom:1px solid var(--fe-border, #e2e6ed);font-size:13px}.filex-viewer-spacer[data-v-d23e4974]{flex:1}.filex-viewer-psd__dim[data-v-d23e4974]{font-size:12px;color:var(--fe-text-muted, #5a6475)}.filex-viewer-psd__zoom[data-v-d23e4974]{min-width:50px;text-align:center;font-variant-numeric:tabular-nums;font-size:12px}.filex-viewer-psd__main[data-v-d23e4974]{flex:1;display:flex;min-height:0}.filex-viewer-psd__layers[data-v-d23e4974]{width:240px;border-right:1px solid var(--fe-border, #e2e6ed);overflow-y:auto;padding:8px 0;background:var(--fe-bg-elev, #f7f8fa)}.filex-viewer-psd__layers ul[data-v-d23e4974]{list-style:none;margin:0;padding:0}.filex-viewer-psd__layers li[data-v-d23e4974]{display:flex;align-items:center;gap:6px;padding:4px 12px;font-size:12px}.filex-viewer-psd__layer-vis[data-v-d23e4974]{width:14px;text-align:center;color:var(--fe-text-muted, #5a6475)}.filex-viewer-psd__layer-vis[data-hidden="1"][data-v-d23e4974]{color:var(--fe-border-strong, #c7ced9)}.filex-viewer-psd__layer-name[data-v-d23e4974]{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.filex-viewer-psd__pane[data-v-d23e4974]{flex:1;overflow:auto;padding:16px;background:#2a2d33;display:flex;align-items:flex-start;justify-content:flex-start}.filex-viewer-psd__pane canvas[data-v-d23e4974]{background:#fff repeating-conic-gradient(#e0e0e0 0% 25%,transparent 0% 50%) 50% / 16px 16px;box-shadow:0 4px 16px #0000004d}.filex-viewer-fallback[data-v-d23e4974]{text-align:center;padding:32px;color:#c8cdd6;margin:auto}.filex-viewer-fallback__icon[data-v-d23e4974]{font-size:48px;display:block;margin-bottom:12px}.filex-viewer-btn[data-v-d23e4974]{border:1px solid var(--fe-border, #e2e6ed);background:var(--fe-bg, #fff);color:var(--fe-text, #1a1e27);padding:4px 10px;border-radius:4px;cursor:pointer;font:inherit;font-size:12px}.filex-viewer-btn[data-v-d23e4974]:hover:not(:disabled){background:var(--fe-bg-hover, #edf0f5)}.filex-viewer-btn.is-active[data-v-d23e4974]{background:var(--fe-bg-selected, #dfe8ff);border-color:var(--fe-primary, #3b82f6)}.filex-viewer-ipynb[data-v-631b8223]{display:flex;flex-direction:column;width:100%;height:100%;min-height:70vh;background:var(--fe-bg, #fff);color:var(--fe-text, #1a1e27)}.filex-viewer-ipynb__bar[data-v-631b8223]{display:flex;align-items:center;gap:12px;padding:8px 12px;background:var(--fe-bg-elev, #f7f8fa);border-bottom:1px solid var(--fe-border, #e2e6ed);font-size:12px;color:var(--fe-text-muted, #5a6475)}.filex-viewer-ipynb__lang[data-v-631b8223]{font-family:var(--fe-font-mono, monospace);text-transform:uppercase;letter-spacing:.04em}.filex-viewer-ipynb__pane[data-v-631b8223]{flex:1;overflow:auto;padding:16px 24px}.filex-viewer-ipynb__cell[data-v-631b8223]{border:1px solid var(--fe-border, #e2e6ed);border-radius:6px;margin-bottom:16px;overflow:hidden}.filex-viewer-ipynb__cell[data-type=code][data-v-631b8223]{background:var(--fe-bg-elev, #f7f8fa)}.filex-viewer-ipynb__exec[data-v-631b8223]{padding:4px 12px;font-family:var(--fe-font-mono, monospace);font-size:11px;color:var(--fe-text-muted, #5a6475);background:#0000000a}.filex-viewer-ipynb__src[data-v-631b8223]{margin:0;padding:12px;font-family:var(--fe-font-mono, monospace);font-size:12px;line-height:1.5;white-space:pre;overflow-x:auto}.filex-viewer-ipynb__outputs[data-v-631b8223]{border-top:1px dashed var(--fe-border, #e2e6ed);background:var(--fe-bg, #fff);padding:8px 12px}.filex-viewer-ipynb__out[data-v-631b8223]{margin:0;padding:4px 0;font-family:var(--fe-font-mono, monospace);font-size:12px;white-space:pre-wrap;word-wrap:break-word}.filex-viewer-ipynb__out[data-type=error][data-v-631b8223]{color:var(--fe-danger, #dc2626)}.filex-viewer-ipynb__img[data-v-631b8223]{display:block;max-width:100%;height:auto;margin:8px 0}.filex-viewer-ipynb__html[data-v-631b8223]{font-size:13px}.filex-viewer-ipynb__md[data-v-631b8223]{padding:12px 16px;font-size:14px;line-height:1.6}.filex-viewer-ipynb__md-raw[data-v-631b8223]{padding:12px;margin:0;font-family:var(--fe-font-mono, monospace);font-size:12px;white-space:pre-wrap}.filex-viewer-fallback[data-v-631b8223]{text-align:center;padding:32px;color:var(--fe-text-muted, #5a6475)}.filex-viewer-fallback__icon[data-v-631b8223]{font-size:48px;display:block;margin-bottom:12px}.filex-viewer-csv[data-v-fc457b26]{display:flex;flex-direction:column;width:100%;height:100%;min-height:70vh;background:var(--fe-bg, #fff);color:var(--fe-text, #1a1e27)}.filex-viewer-csv__bar[data-v-fc457b26]{display:flex;align-items:center;gap:12px;padding:8px 12px;background:var(--fe-bg-elev, #f7f8fa);border-bottom:1px solid var(--fe-border, #e2e6ed);font-size:12px}.filex-viewer-csv__check[data-v-fc457b26]{display:flex;align-items:center;gap:4px;font-size:12px}.filex-viewer-csv__select[data-v-fc457b26],.filex-viewer-csv__filter[data-v-fc457b26]{border:1px solid var(--fe-border, #e2e6ed);background:var(--fe-bg, #fff);color:inherit;padding:4px 8px;border-radius:4px;font:inherit;font-size:12px}.filex-viewer-csv__filter[data-v-fc457b26]{flex:0 1 240px}.filex-viewer-spacer[data-v-fc457b26]{flex:1}.filex-viewer-csv__count[data-v-fc457b26]{font-size:11px;color:var(--fe-text-muted, #5a6475);font-variant-numeric:tabular-nums}.filex-viewer-csv__pane[data-v-fc457b26]{flex:1;overflow:auto}.filex-viewer-csv__table[data-v-fc457b26]{border-collapse:collapse;width:max-content;min-width:100%;font-size:12px;font-family:var(--fe-font-mono, monospace)}.filex-viewer-csv__table th[data-v-fc457b26],.filex-viewer-csv__table td[data-v-fc457b26]{padding:4px 10px;border:1px solid var(--fe-border, #e2e6ed);white-space:nowrap;max-width:320px;overflow:hidden;text-overflow:ellipsis}.filex-viewer-csv__table th[data-v-fc457b26]{background:var(--fe-bg-elev, #f7f8fa);position:sticky;top:0;font-weight:600;text-align:left}.filex-viewer-csv__table tbody tr[data-v-fc457b26]:nth-child(2n){background:var(--fe-bg-hover, rgba(0, 0, 0, .02))}.filex-viewer-csv__rownum[data-v-fc457b26]{color:var(--fe-text-muted, #5a6475);text-align:right;background:var(--fe-bg-elev, #f7f8fa);font-variant-numeric:tabular-nums;position:sticky;left:0}.filex-viewer-csv__pager[data-v-fc457b26]{display:flex;justify-content:center;align-items:center;gap:8px;padding:6px;background:var(--fe-bg-elev, #f7f8fa);border-top:1px solid var(--fe-border, #e2e6ed);font-size:12px}.filex-viewer-csv__pageno[data-v-fc457b26]{font-variant-numeric:tabular-nums;font-size:12px}.filex-viewer-fallback[data-v-fc457b26]{text-align:center;padding:32px;color:var(--fe-text-muted, #5a6475)}.filex-viewer-fallback__icon[data-v-fc457b26]{font-size:48px;display:block;margin-bottom:12px}.filex-viewer-btn[data-v-fc457b26]{border:1px solid var(--fe-border, #e2e6ed);background:var(--fe-bg, #fff);color:var(--fe-text, #1a1e27);padding:4px 10px;border-radius:4px;cursor:pointer;font:inherit;font-size:12px}.filex-viewer-btn[data-v-fc457b26]:hover:not(:disabled){background:var(--fe-bg-hover, #edf0f5)}.filex-viewer-btn[data-v-fc457b26]:disabled{opacity:.4;cursor:not-allowed}.filex-viewer-archive[data-v-6b42eacd]{display:flex;flex-direction:column;width:100%;height:100%;min-height:70vh;background:var(--fe-bg, #fff);color:var(--fe-text, #1a1e27)}.filex-viewer-archive__pane[data-v-6b42eacd]{flex:1;overflow:auto;padding:16px 20px}.filex-viewer-archive__summary[data-v-6b42eacd]{font-size:12px;color:var(--fe-text-muted, #5a6475);margin-bottom:12px;font-variant-numeric:tabular-nums}.filex-viewer-archive__table[data-v-6b42eacd]{width:100%;border-collapse:collapse;font-size:13px;font-family:var(--fe-font-mono, monospace)}.filex-viewer-archive__table th[data-v-6b42eacd],.filex-viewer-archive__table td[data-v-6b42eacd]{padding:6px 12px;border-bottom:1px solid var(--fe-border, #e2e6ed);text-align:left}.filex-viewer-archive__table th[data-v-6b42eacd]{background:var(--fe-bg-elev, #f7f8fa);font-weight:600;position:sticky;top:0}.filex-viewer-archive__size[data-v-6b42eacd]{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--fe-text-muted, #5a6475)}.filex-viewer-archive__icon[data-v-6b42eacd]{margin-right:6px}.filex-viewer-archive__table tr[data-dir="1"][data-v-6b42eacd]{color:var(--fe-text-muted, #5a6475)}.filex-viewer-fallback[data-v-6b42eacd]{text-align:center;padding:32px;color:var(--fe-text-muted, #5a6475)}.filex-viewer-fallback__icon[data-v-6b42eacd]{font-size:48px;display:block;margin-bottom:12px}';
10519
+ }), gm = '.filex-tag-picker[data-v-7040583c]{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.filex-tag-picker.is-loading[data-v-7040583c]{opacity:.6;pointer-events:none}.filex-tag[data-v-7040583c]{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:500;color:#fff;background:var(--filex-tag-color)}.filex-tag-x[data-v-7040583c]{background:transparent;border:none;color:#ffffffd9;cursor:pointer;padding:0 2px;font-size:14px;line-height:1}.filex-tag-x[data-v-7040583c]:hover{color:#fff}.filex-tag-add input[data-v-7040583c]{border:1px solid var(--filex-border, #d1d5db);border-radius:12px;padding:2px 10px;font-size:12px;width:110px}.filex-tag-add-btn[data-v-7040583c]{border:1px dashed var(--filex-border, #d1d5db);background:transparent;border-radius:999px;padding:2px 10px;font-size:12px;color:var(--filex-text-muted, #6b7280);cursor:pointer}.filex-tag-add-btn[data-v-7040583c]:hover{border-color:var(--filex-accent, #6366f1);color:var(--filex-accent, #6366f1)}.filex-recent[data-v-559f2c71]{background:var(--fe-bg-elev, var(--filex-bg-card, #ffffff));border:1px solid var(--fe-border, var(--filex-border, #e5e7eb));border-radius:8px;padding:12px;font-size:13px}.filex-recent header[data-v-559f2c71]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.filex-recent h3[data-v-559f2c71]{margin:0;font-size:13px;font-weight:600;color:var(--fe-text, var(--filex-text, #111827))}.filex-recent-refresh[data-v-559f2c71]{background:transparent;border:none;color:var(--fe-text-muted, var(--filex-text-muted, #9ca3af));cursor:pointer;font-size:14px;padding:2px 6px}.filex-recent ul[data-v-559f2c71]{list-style:none;margin:0;padding:0}.filex-recent-item[data-v-559f2c71]{display:flex;justify-content:space-between;align-items:center;width:100%;background:transparent;border:none;padding:6px 8px;cursor:pointer;border-radius:4px;text-align:left}.filex-recent-item[data-v-559f2c71]:hover{background:var(--fe-bg-hover, var(--filex-bg-soft, #f3f4f6))}.filex-recent-name[data-v-559f2c71]{color:var(--fe-text, var(--filex-text, #111827));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filex-recent-meta[data-v-559f2c71]{color:var(--fe-text-muted, var(--filex-text-muted, #9ca3af));font-size:11px;margin-left:8px;flex-shrink:0}.filex-recent-empty[data-v-559f2c71]{color:var(--fe-text-muted, var(--filex-text-muted, #9ca3af));margin:4px 0 0}.filex-star-btn[data-v-12a2f9c5]{display:inline-flex;align-items:center;gap:6px;background:transparent;border:1px solid transparent;border-radius:6px;padding:4px 8px;color:var(--filex-text-muted, #9ca3af);cursor:pointer;transition:color .12s,background .12s}.filex-star-btn[data-v-12a2f9c5]:hover{color:var(--filex-accent-amber, #f59e0b);background:var(--filex-bg-soft, rgba(0, 0, 0, .04))}.filex-star-btn.is-starred[data-v-12a2f9c5]{color:var(--filex-accent-amber, #f59e0b)}.filex-star-btn.is-compact[data-v-12a2f9c5]{padding:4px}.filex-star-label[data-v-12a2f9c5]{font-size:13px}.fe-preview__code-editor.is-hidden{display:none}.fe-preview__viewer{width:100%;height:100%;min-height:70vh;display:flex;flex-direction:column}.fe-preview .fe-preview__viewer{align-self:stretch}.fe-preview__md-mermaid{display:flex;justify-content:center;margin:16px 0}.fe-preview__md-mermaid svg{max-width:100%;height:auto}.fe-preview__md-math{margin:16px 0;text-align:center;overflow-x:auto}.filex-cv__bg[data-v-4363f1ac]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#0000008c;display:flex;align-items:center;justify-content:center}.filex-cv[data-v-4363f1ac]{width:min(560px,92vw);max-height:80vh;overflow:hidden;display:flex;flex-direction:column;background:var(--fe-bg, #fff);color:var(--fe-text, #1a1f29);border:1px solid var(--fe-border, #e2e6ed);border-radius:12px;box-shadow:0 20px 60px #00000059}.filex-cv__head[data-v-4363f1ac]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--fe-border, #e2e6ed)}.filex-cv__head h3[data-v-4363f1ac]{margin:0;font-size:14px;font-weight:600}.filex-cv__x[data-v-4363f1ac]{border:0;background:none;cursor:pointer;font-size:16px;color:var(--fe-text-muted, #5a6475)}.filex-cv__msg[data-v-4363f1ac]{padding:28px;text-align:center;color:var(--fe-text-muted, #5a6475)}.filex-cv__ok[data-v-4363f1ac]{color:#059669}.filex-cv__src[data-v-4363f1ac]{padding:12px 16px 0;font-size:13px;color:var(--fe-text-muted, #5a6475)}.filex-cv__search[data-v-4363f1ac]{margin:8px 16px;padding:8px 10px;border:1px solid var(--fe-border, #e2e6ed);border-radius:8px;background:var(--fe-bg-elev, #f7f8fa);color:inherit;font-size:13px}.filex-cv__list[data-v-4363f1ac]{flex:1;overflow-y:auto;padding:4px 12px 12px;display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}.filex-cv__fmt[data-v-4363f1ac]{display:flex;flex-direction:column;gap:2px;align-items:flex-start;padding:8px 10px;cursor:pointer;text-align:left;border:1px solid var(--fe-border, #e2e6ed);border-radius:8px;background:var(--fe-bg-elev, #f7f8fa);color:inherit}.filex-cv__fmt small[data-v-4363f1ac]{color:var(--fe-text-muted, #5a6475);font-size:11px}.filex-cv__fmt.is-sel[data-v-4363f1ac]{border-color:#44c878;background:#44c8781f}.filex-cv__empty[data-v-4363f1ac]{grid-column:1 / -1;text-align:center;color:var(--fe-text-muted, #5a6475);padding:16px}.filex-cv__err[data-v-4363f1ac]{padding:0 16px;color:var(--fe-danger, #dc2626);font-size:13px}.filex-cv__foot[data-v-4363f1ac]{padding:12px 16px;border-top:1px solid var(--fe-border, #e2e6ed);text-align:right}.filex-cv__convert[data-v-4363f1ac]{padding:8px 18px;border:0;border-radius:8px;cursor:pointer;background:#44c878;color:#03200f;font-weight:600;font-size:13px}.filex-cv__convert[data-v-4363f1ac]:disabled{opacity:.5;cursor:default}.filex-cv__frame[data-v-4363f1ac]{position:absolute;width:0;height:0;border:0;left:-9999px}.fx-perm-overlay[data-v-cc43fc18]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;font-family:var(--fe-font)}.fx-perm-modal[data-v-cc43fc18]{display:flex;flex-direction:column;background:var(--fe-bg);color:var(--fe-text);width:min(520px,94vw);max-height:86vh;border:1px solid var(--fe-border);border-radius:var(--fe-radius-lg, 14px);box-shadow:var(--fe-shadow);font-size:14px;overflow:hidden}.fx-perm-head[data-v-cc43fc18]{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 18px 12px;flex:none}.fx-perm-title[data-v-cc43fc18]{display:flex;align-items:center;gap:10px;min-width:0}.fx-perm-ico[data-v-cc43fc18]{font-size:22px;line-height:1}.fx-perm-titletext[data-v-cc43fc18]{display:flex;flex-direction:column;min-width:0}.fx-perm-title h3[data-v-cc43fc18]{margin:0;font-size:15px;font-weight:600;color:var(--fe-text)}.fx-perm-sub[data-v-cc43fc18]{font-size:12px;color:var(--fe-text);max-width:340px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fx-perm-subdim[data-v-cc43fc18]{color:var(--fe-text-muted)}.fx-perm-x[data-v-cc43fc18]{background:none;border:none;font-size:17px;cursor:pointer;color:var(--fe-text-muted);flex:none;line-height:1;padding:2px 4px;border-radius:6px}.fx-perm-x[data-v-cc43fc18]:hover{color:var(--fe-text);background:var(--fe-bg-hover)}.fx-perm-tabs[data-v-cc43fc18]{display:flex;gap:2px;padding:0 18px;border-bottom:1px solid var(--fe-border);flex:none}.fx-perm-tab[data-v-cc43fc18]{background:none;border:none;border-bottom:2px solid transparent;padding:8px 12px;cursor:pointer;color:var(--fe-text-muted);font-size:13px;font-family:inherit;font-weight:500}.fx-perm-tab[data-v-cc43fc18]:hover{color:var(--fe-text)}.fx-perm-tab.is-active[data-v-cc43fc18]{color:var(--fe-primary);border-bottom-color:var(--fe-primary)}.fx-perm-body[data-v-cc43fc18]{flex:1 1 auto;overflow-y:auto;padding:14px 18px 18px}.fx-perm-addcard[data-v-cc43fc18]{padding:12px;border-radius:var(--fe-radius-md, 10px);background:var(--fe-bg-elev);border:1px solid var(--fe-border)}.fx-perm-section[data-v-cc43fc18]{margin-top:16px}.fx-perm-section h4[data-v-cc43fc18]{margin:0 0 8px;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--fe-text-muted)}.fx-perm-empty[data-v-cc43fc18]{color:var(--fe-text-muted);font-size:13px;padding:8px 2px}.fx-perm-person[data-v-cc43fc18]{display:flex;align-items:center;gap:10px;padding:7px 2px}.fx-perm-person+.fx-perm-person[data-v-cc43fc18]{border-top:1px solid var(--fe-border)}.fx-perm-inh[data-v-cc43fc18]{color:var(--fe-text-muted)}.fx-perm-av[data-v-cc43fc18]{width:28px;height:28px;flex:none;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--fe-primary);color:var(--fe-text-on-primary, #fff);font-size:12px;font-weight:600}.fx-perm-av--dim[data-v-cc43fc18]{background:var(--fe-bg-hover);color:var(--fe-text-muted)}.fx-perm-user[data-v-cc43fc18]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--fe-text);min-width:0}.fx-perm-from[data-v-cc43fc18]{font-size:11px;color:var(--fe-text-muted);white-space:nowrap}.fx-perm-badge[data-v-cc43fc18]{font-size:11px;padding:2px 9px;border-radius:999px;background:var(--fe-bg-hover);color:var(--fe-text)}.fx-perm-sel[data-v-cc43fc18],.fx-perm-input[data-v-cc43fc18]{padding:7px 9px;border-radius:var(--fe-radius-sm, 7px);border:1px solid var(--fe-border);background:var(--fe-bg);color:var(--fe-text);font-size:13px;font-family:inherit}.fx-perm-sel--sm[data-v-cc43fc18]{padding:5px 7px;font-size:12px}.fx-perm-sel[data-v-cc43fc18]:focus,.fx-perm-input[data-v-cc43fc18]:focus{outline:none;border-color:var(--fe-primary)}.fx-perm-add[data-v-cc43fc18]{display:flex;gap:8px;align-items:stretch}.fx-perm-emailwrap[data-v-cc43fc18]{position:relative;flex:1;min-width:120px}.fx-perm-input[data-v-cc43fc18]{width:100%;box-sizing:border-box}.fx-perm-suggest[data-v-cc43fc18]{position:absolute;top:calc(100% + 3px);left:0;right:0;z-index:5;margin:0;padding:4px;list-style:none;background:var(--fe-bg);border:1px solid var(--fe-border);border-radius:var(--fe-radius-sm, 7px);box-shadow:var(--fe-shadow);max-height:210px;overflow:auto}.fx-perm-suggest li[data-v-cc43fc18]{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;cursor:pointer}.fx-perm-suggest li[data-v-cc43fc18]:hover{background:var(--fe-bg-hover)}.fx-perm-suggest-av[data-v-cc43fc18]{width:24px;height:24px;flex:none;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--fe-bg-hover);color:var(--fe-text);font-size:11px;font-weight:600}.fx-perm-suggest-txt[data-v-cc43fc18]{display:flex;flex-direction:column;min-width:0}.fx-perm-suggest-name[data-v-cc43fc18]{color:var(--fe-text);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fx-perm-suggest-meta[data-v-cc43fc18]{color:var(--fe-text-muted);font-size:11px}.fx-perm-check[data-v-cc43fc18]{display:inline-flex;gap:6px;align-items:center;font-size:13px;color:var(--fe-text);cursor:pointer}.fx-perm-btn[data-v-cc43fc18]{padding:7px 13px;border-radius:var(--fe-radius-sm, 7px);border:1px solid var(--fe-border);background:var(--fe-bg);color:var(--fe-text);font-size:13px;font-family:inherit;cursor:pointer;white-space:nowrap}.fx-perm-btn[data-v-cc43fc18]:hover:not(:disabled){background:var(--fe-bg-hover)}.fx-perm-btn[data-v-cc43fc18]:disabled{opacity:.55;cursor:default}.fx-perm-btn--sm[data-v-cc43fc18]{padding:5px 10px;font-size:12px}.fx-perm-btn--primary[data-v-cc43fc18]{background:var(--fe-primary);border-color:var(--fe-primary);color:var(--fe-text-on-primary, #fff)}.fx-perm-btn--primary[data-v-cc43fc18]:hover:not(:disabled){background:var(--fe-primary-hover, var(--fe-primary));filter:brightness(1.05)}.fx-perm-btn--ghost[data-v-cc43fc18]{background:none;border-color:transparent;color:var(--fe-primary);padding-left:2px}.fx-perm-btn--ghost[data-v-cc43fc18]:hover:not(:disabled){background:none;text-decoration:underline}.fx-perm-del[data-v-cc43fc18]{background:none;border:none;color:var(--fe-danger);cursor:pointer;font-size:14px;flex:none;padding:2px 4px}.fx-perm-del[data-v-cc43fc18]:hover:not(:disabled){filter:brightness(1.15)}.fx-perm-invite[data-v-cc43fc18]{margin-top:10px;padding-top:10px;border-top:1px dashed var(--fe-border)}.fx-perm-invite-actions[data-v-cc43fc18]{display:flex;flex-direction:column;gap:8px;margin-top:6px}.fx-perm-invite-row[data-v-cc43fc18]{display:flex;gap:8px;align-items:stretch}.fx-perm-invite-row .fx-perm-btn--primary[data-v-cc43fc18]{flex:1}.fx-perm-share-opts[data-v-cc43fc18]{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.fx-perm-expiry[data-v-cc43fc18]{display:inline-flex;gap:6px;align-items:center;font-size:13px}.fx-perm-share-opts .fx-perm-btn--primary[data-v-cc43fc18]{margin-left:auto}.fx-perm-result[data-v-cc43fc18]{margin-top:12px;padding-top:12px;border-top:1px solid var(--fe-border)}.fx-perm-linkrow[data-v-cc43fc18]{display:flex;gap:8px;align-items:center}.fx-perm-link[data-v-cc43fc18]{color:var(--fe-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;text-decoration:none}.fx-perm-link[data-v-cc43fc18]:hover{text-decoration:underline}.fx-perm-pin[data-v-cc43fc18]{margin:8px 0 0;font-size:13px;color:var(--fe-text);display:flex;align-items:center;gap:8px}.fx-perm-pin code[data-v-cc43fc18],.fx-perm-reveal code[data-v-cc43fc18]{font-family:var(--fe-font-mono, monospace);background:var(--fe-bg-hover);padding:1px 6px;border-radius:5px}.fx-perm-mailrow[data-v-cc43fc18]{display:flex;gap:8px;margin-top:10px}.fx-perm-mailrow .fx-perm-input[data-v-cc43fc18]{flex:1}.fx-perm-hint[data-v-cc43fc18]{font-size:13px;color:var(--fe-text-muted);margin:10px 0 0}.fx-perm-dropintro[data-v-cc43fc18]{margin:0 0 12px;line-height:1.4}.fx-perm-advtoggle[data-v-cc43fc18]{margin-top:10px;padding-left:2px}.fx-perm-adv[data-v-cc43fc18]{margin-top:8px;padding-top:10px;border-top:1px dashed var(--fe-border);display:flex;flex-direction:column;gap:8px}.fx-perm-adv-row[data-v-cc43fc18]{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px}.fx-perm-input--sm[data-v-cc43fc18]{width:130px;padding:5px 8px;font-size:12px}.fx-perm-warn[data-v-cc43fc18]{background:#f59e0b24;border:1px solid rgba(245,158,11,.4);border-radius:var(--fe-radius-sm, 7px);padding:8px 10px;font-size:13px;margin-bottom:10px;color:var(--fe-text)}.fx-perm-notice[data-v-cc43fc18]{margin-top:8px;font-size:13px;color:var(--fe-text-muted)}.fx-perm-reveal[data-v-cc43fc18]{margin-top:8px;font-size:13px;word-break:break-all;color:var(--fe-text)}.fx-perm-muted[data-v-cc43fc18]{color:var(--fe-text-muted);font-size:13px}:root{--fe-bg: #ffffff;--fe-bg-elev: #f7f8fa;--fe-bg-hover: #edf0f5;--fe-bg-selected: #dfe8ff;--fe-border: #e2e6ed;--fe-border-strong: #c7ced9;--fe-text: #1a1e27;--fe-text-muted: #5a6475;--fe-text-on-primary: #ffffff;--fe-primary: #3b82f6;--fe-primary-hover: #2563eb;--fe-danger: #dc2626;--fe-danger-hover: #b91c1c;--fe-shadow: 0 10px 32px rgba(15, 23, 42, .14);--fe-shadow-sm: 0 2px 6px rgba(15, 23, 42, .08);--fe-radius: 8px;--fe-radius-sm: 4px;--fe-radius-lg: 12px;--fe-font: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--fe-font-mono: ui-monospace, "SF Mono", Consolas, Menlo, monospace;--fe-gap: 12px}.fe--theme-dark,:root[data-theme=dark] .fe,.fe.fe--theme-dark,:root.dark,.dark,:root.dark .fe,.dark .fe,.fe-ctx-backdrop--theme-dark,.fe-ctx-backdrop--theme-auto[data-prefers-dark="1"]{--fe-bg: #0f1419;--fe-bg-elev: #161c25;--fe-bg-hover: #1f2733;--fe-bg-selected: #23324a;--fe-border: #2a323e;--fe-border-strong: #3a4453;--fe-text: #e5e9f0;--fe-text-muted: #8b95a7;--fe-primary: #60a5fa;--fe-primary-hover: #3b82f6;--fe-danger: #f87171;--fe-danger-hover: #ef4444;--fe-shadow: 0 12px 32px rgba(0, 0, 0, .45);--fe-shadow-sm: 0 2px 6px rgba(0, 0, 0, .25)}@media (prefers-color-scheme: dark){.fe:not(.fe--theme-light),.fe-ctx-backdrop--theme-auto:not(.fe-ctx-backdrop--theme-light){--fe-bg: #0f1419;--fe-bg-elev: #161c25;--fe-bg-hover: #1f2733;--fe-bg-selected: #23324a;--fe-border: #2a323e;--fe-border-strong: #3a4453;--fe-text: #e5e9f0;--fe-text-muted: #8b95a7;--fe-primary: #60a5fa;--fe-primary-hover: #3b82f6;--fe-danger: #f87171;--fe-danger-hover: #ef4444;--fe-shadow: 0 12px 32px rgba(0, 0, 0, .45);--fe-shadow-sm: 0 2px 6px rgba(0, 0, 0, .25)}}.fe{position:relative;display:flex;flex-direction:column;min-height:420px;height:100%;background:var(--fe-bg);color:var(--fe-text);font-family:var(--fe-font);font-size:14px;border:1px solid var(--fe-border);border-radius:var(--fe-radius);overflow:hidden;outline:none}.fe *{box-sizing:border-box}.fe__body{flex:1 1 auto;overflow:auto;background:var(--fe-bg)}.fe__loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-height:240px;height:100%;color:var(--fe-text-muted)}.fe__spinner{width:34px;height:34px;border-radius:50%;border:3px solid color-mix(in srgb,var(--fe-text-muted) 30%,transparent);border-top-color:var(--fe-primary);animation:fe-spin .7s linear infinite}.fe__loading-text{margin:0;font-size:13px}@keyframes fe-spin{to{transform:rotate(360deg)}}.fe__file-input{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}.fe-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--fe-bg-elev);border:1px solid var(--fe-border);border-radius:var(--fe-radius-sm);color:var(--fe-text);font:inherit;cursor:pointer;transition:background .12s,border-color .12s;white-space:nowrap}.fe-btn:hover:not(:disabled){background:var(--fe-bg-hover);border-color:var(--fe-border-strong)}.fe-btn:disabled{opacity:.5;cursor:not-allowed}.fe-btn--primary{background:var(--fe-primary);border-color:var(--fe-primary);color:var(--fe-text-on-primary)}.fe-btn--primary:hover:not(:disabled){background:var(--fe-primary-hover);border-color:var(--fe-primary-hover)}.fe-btn--danger{background:var(--fe-danger);border-color:var(--fe-danger);color:var(--fe-text-on-primary)}.fe-btn--danger:hover:not(:disabled){background:var(--fe-danger-hover);border-color:var(--fe-danger-hover)}.fe-btn--icon-only{padding:6px 8px}.fe-btn.is-active{background:var(--fe-bg-selected);border-color:var(--fe-primary)}.fe-btn__label{line-height:1}.fe-icon{font-size:1.05em;line-height:1}.fe-toolbar{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--fe-bg-elev);border-bottom:1px solid var(--fe-border);flex-wrap:wrap}.fe-toolbar__primary{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.fe-toolbar__spacer{flex:1 1 auto}.fe-toolbar__search-group{display:inline-flex;align-items:center;gap:4px;background:var(--fe-bg);border:1px solid var(--fe-border);border-radius:var(--fe-radius-sm);padding:2px}.fe-toolbar__search-group .fe-search__input{border:0;background:transparent;padding:4px 8px}.fe-toolbar__search-group .fe-btn{border:0;background:transparent;padding:4px 6px}.fe-toolbar__search-group .fe-btn:hover:not(:disabled){background:var(--fe-bg-hover)}.fe-toolbar__view{display:inline-flex;gap:2px;padding:2px;background:var(--fe-bg);border:1px solid var(--fe-border);border-radius:var(--fe-radius-sm)}.fe-toolbar__view .fe-btn{border:0;background:transparent}.fe-toolbar__view .fe-btn.is-active{background:var(--fe-bg-selected)}.fe-search{position:relative}.fe-search__input{background:var(--fe-bg);border:1px solid var(--fe-border);border-radius:var(--fe-radius-sm);padding:6px 10px;font:inherit;color:var(--fe-text);min-width:200px}.fe-search__input:focus-visible{outline:2px solid var(--fe-primary);outline-offset:1px}.fe-breadcrumb{display:flex;align-items:center;gap:4px;flex-wrap:wrap;padding:6px 12px;background:var(--fe-bg);border-bottom:1px solid var(--fe-border);font-size:13px;color:var(--fe-text-muted)}.fe-breadcrumb__crumb{display:inline-flex;align-items:center;gap:4px;background:transparent;border:0;color:inherit;padding:2px 6px;border-radius:var(--fe-radius-sm);cursor:pointer;font:inherit}.fe-breadcrumb__crumb:hover{background:var(--fe-bg-hover);color:var(--fe-text)}.fe-breadcrumb__crumb.is-last{color:var(--fe-text);font-weight:600}.fe-breadcrumb__sep{color:var(--fe-text-muted)}.fe-breadcrumb__edit{margin-left:auto;background:none;border:1px solid transparent;color:var(--fe-text-muted);cursor:pointer;font-size:14px;line-height:1;padding:4px 8px;border-radius:4px}.fe-breadcrumb__edit:hover{background:var(--fe-bg-hover);color:var(--fe-text);border-color:var(--fe-border)}.fe-breadcrumb__input{flex:1;background:var(--fe-bg);color:var(--fe-text);border:1px solid var(--fe-accent, #2563eb);border-radius:4px;padding:4px 8px;font-family:var(--fe-mono, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);font-size:13px;outline:none}.fe-list{display:flex;flex-direction:column}.fe-list__head{display:grid;grid-template-columns:32px minmax(0,1fr) 120px 180px;gap:8px;padding:8px 12px;font-weight:600;color:var(--fe-text-muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em;background:var(--fe-bg-elev);border-bottom:1px solid var(--fe-border)}.fe-list__body{display:flex;flex-direction:column}.fe-list__row{display:grid;grid-template-columns:32px minmax(0,1fr) 120px 180px;gap:8px;padding:8px 12px;align-items:center;cursor:pointer;border-bottom:1px solid var(--fe-border);transition:background .08s;-webkit-user-select:none;user-select:none}.fe-list__row:hover{background:var(--fe-bg-hover)}.fe-list__row.is-selected{background:var(--fe-bg-selected)}.fe-list__row.is-trash{opacity:.7}.fe-list__row.is-clipped,.fe-grid__card.is-clipped{opacity:.45;font-style:italic}.fe-list__row:focus-visible{outline:2px solid var(--fe-primary);outline-offset:-2px}.fe-list__col--star{display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .12s}.fe-list__row:hover .fe-list__col--star,.fe-list__row:focus-within .fe-list__col--star,.fe-list__col--star:has(.is-starred){opacity:1}.fe-list__col--star .filex-star-btn.is-starred{color:var(--fe-warning, #f59e0b)}.fe-list__col--name{display:flex;align-items:center;gap:8px;min-width:0}.fe-list__icon{flex-shrink:0;font-size:16px}.fe-list__name-wrap{display:flex;flex-direction:column;min-width:0;flex:1 1 auto}.fe-list__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fe-list__parent{font-size:11px;color:var(--fe-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px}.fe-list__col--size,.fe-list__col--mod{color:var(--fe-text-muted);font-size:13px}.fe-list__empty{padding:40px 20px;text-align:center;color:var(--fe-text-muted)}.fe-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--fe-gap);padding:var(--fe-gap)}.fe-grid__card{display:flex;flex-direction:column;align-items:stretch;padding:8px;border:1px solid var(--fe-border);border-radius:var(--fe-radius);background:var(--fe-bg-elev);cursor:pointer;transition:background .08s,border-color .08s;-webkit-user-select:none;user-select:none}.fe-grid__card:hover{background:var(--fe-bg-hover);border-color:var(--fe-border-strong)}.fe-grid__card.is-selected{background:var(--fe-bg-selected);border-color:var(--fe-primary)}.fe-grid__card.is-trash{opacity:.7}.fe-grid__thumb{display:flex;align-items:center;justify-content:center;aspect-ratio:1 / 1;background:var(--fe-bg);border-radius:var(--fe-radius-sm);margin-bottom:8px;overflow:hidden}.fe-grid__thumb img{width:100%;height:100%;object-fit:cover}.fe-grid__icon{font-size:32px}.fe-grid__label{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fe-grid__meta{font-size:11px;color:var(--fe-text-muted);margin-top:2px}.fe-grid__parent{font-size:11px;color:var(--fe-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-style:italic}.fe-grid__empty{grid-column:1 / -1;padding:40px 20px;text-align:center;color:var(--fe-text-muted)}.fe__dragover{position:absolute;top:0;right:0;bottom:0;left:0;z-index:30;display:flex;align-items:center;justify-content:center;background:#3b82f61f;border:3px dashed var(--fe-primary);pointer-events:none}.fe__dragover-card{background:var(--fe-bg);border-radius:var(--fe-radius-lg);padding:24px 40px;box-shadow:var(--fe-shadow);text-align:center}.fe__dragover-card .fe-icon{font-size:32px;display:block;margin-bottom:8px}.fe-upload{position:absolute;right:16px;bottom:16px;width:min(360px,calc(100% - 32px));background:var(--fe-bg);border:1px solid var(--fe-border);border-radius:var(--fe-radius);box-shadow:var(--fe-shadow);z-index:40;max-height:40vh;display:flex;flex-direction:column;overflow:hidden}.fe-upload__header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--fe-bg-elev);border-bottom:1px solid var(--fe-border);font-size:13px}.fe-upload__count{background:var(--fe-primary);color:var(--fe-text-on-primary);font-size:12px;padding:1px 7px;border-radius:999px}.fe-upload__list{list-style:none;padding:0;margin:0;overflow:auto}.fe-upload__item{padding:10px 14px;border-bottom:1px solid var(--fe-border)}.fe-upload__item:last-child{border-bottom:0}.fe-upload__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;margin-bottom:4px}.fe-upload__bar{background:var(--fe-bg-elev);border-radius:99px;height:6px;overflow:hidden;margin-bottom:4px}.fe-upload__bar-fill{background:var(--fe-primary);height:100%;transition:width .2s}.fe-upload__item.is-error .fe-upload__bar-fill,.fe-upload__item.is-aborted .fe-upload__bar-fill{background:var(--fe-danger)}.fe-upload__item.is-done .fe-upload__bar-fill{background:#16a34a}.fe-upload__meta{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:11px;color:var(--fe-text-muted)}.fe-upload__cancel{background:transparent;border:0;color:var(--fe-primary);cursor:pointer;font:inherit}.fe-upload-slide-enter-active,.fe-upload-slide-leave-active{transition:transform .2s,opacity .2s}.fe-upload-slide-enter-from,.fe-upload-slide-leave-to{opacity:0;transform:translateY(10px)}.fe-ops{position:absolute;left:16px;bottom:16px;width:min(320px,calc(100% - 32px));display:flex;flex-direction:column;gap:8px;z-index:40}.fe-ops__item{background:var(--fe-bg);border:1px solid var(--fe-border);border-radius:var(--fe-radius);box-shadow:var(--fe-shadow);padding:10px 14px;font-size:13px}.fe-ops__item.is-done{border-color:#16a34a}.fe-ops__item.is-error{border-color:var(--fe-danger)}.fe-ops__row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.fe-ops__title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1 auto}.fe-ops__dismiss{background:transparent;border:0;color:var(--fe-text-muted);cursor:pointer;font-size:18px;line-height:1;padding:0 4px}.fe-ops__bar{background:var(--fe-bg-elev);border-radius:99px;height:6px;overflow:hidden}.fe-ops__bar-fill{background:var(--fe-primary);height:100%;transition:width .25s}.fe-ops__item.is-done .fe-ops__bar-fill{background:#16a34a}.fe-ops__item.is-error .fe-ops__bar-fill{background:var(--fe-danger)}.fe-ops__error{margin-top:6px;font-size:11px;color:var(--fe-danger)}.fe-ops-slide-enter-active,.fe-ops-slide-leave-active{transition:transform .2s,opacity .2s}.fe-ops-slide-enter-from,.fe-ops-slide-leave-to{opacity:0;transform:translateY(10px)}.fe-ctx-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;color:var(--fe-text);font-family:var(--fe-font);font-size:14px}.fe-ctx{position:absolute;min-width:180px;background:var(--fe-bg);border:1px solid var(--fe-border);border-radius:var(--fe-radius);box-shadow:var(--fe-shadow);padding:4px;z-index:90;color:var(--fe-text)}.fe-ctx__item{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:var(--fe-radius-sm);border:0;background:transparent;color:var(--fe-text);font:inherit;width:100%;text-align:left;cursor:pointer}.fe-ctx__item:hover:not(.is-disabled){background:var(--fe-bg-hover)}.fe-ctx__item.is-danger{color:var(--fe-danger)}.fe-ctx__item.is-disabled{opacity:.45;cursor:not-allowed}.fe-ctx__icon{width:1.2em;text-align:center}.fe-ctx__sep{height:1px;background:var(--fe-border);margin:4px 0}.fe-ctx-enter-active,.fe-ctx-leave-active{transition:opacity .1s}.fe-ctx-enter-from,.fe-ctx-leave-to{opacity:0}.fe-modal__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:flex;align-items:center;justify-content:center;background:#0d131b7a;padding:16px}.fe-modal__card{background:var(--fe-bg);border-radius:var(--fe-radius);box-shadow:var(--fe-shadow);width:100%;max-height:calc(100vh - 32px);display:flex;flex-direction:column;overflow:hidden}.fe-modal__card--sm{max-width:420px}.fe-modal__card--md{max-width:560px}.fe-modal__card--lg{max-width:800px}.fe-modal__card--xl{max-width:1080px;height:calc(100vh - 64px)}.fe-recents__backdrop{align-items:flex-start!important;padding-top:60px}.fe-recents__panel{background:var(--fe-bg, #fff);border-radius:var(--fe-radius, 8px);box-shadow:var(--fe-shadow, 0 6px 24px rgba(0, 0, 0, .18));width:min(480px,calc(100vw - 32px));max-height:calc(100vh - 96px);display:flex;flex-direction:column;overflow:hidden}.fe-recents__header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--fe-border, #e2e6ed)}.fe-recents__close{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;font-size:22px;line-height:1;cursor:pointer;color:var(--fe-text-muted, #6b7280);padding:0 4px}.fe-recents__close:hover{color:var(--fe-text, #111)}.fe-preview__md-split{display:flex;flex-direction:column;height:100%;width:100%;min-height:0}.fe-preview__md-split-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 14px;background:var(--fe-bg-elev, #f6f7f9);border-bottom:1px solid var(--fe-border, #e2e6ed);flex:0 0 auto}.fe-preview__md-split-label{font-family:var(--fe-font-mono, ui-monospace, monospace);font-size:11px;letter-spacing:.06em;color:var(--fe-text-muted, #6b7280)}.fe-preview__md-split-error{flex:1 1 auto;font-size:12px;color:var(--fe-danger, #dc2626);text-align:center}.fe-preview__md-split-body{flex:1 1 auto;display:grid;grid-template-columns:1fr 1fr;min-height:0}.fe-preview__md-split-input{resize:none;border:0;outline:0;padding:16px 20px;font-family:var(--fe-font-mono, ui-monospace, monospace);font-size:13px;line-height:1.6;background:var(--fe-bg, #fff);color:var(--fe-text, #111);border-right:1px solid var(--fe-border, #e2e6ed);overflow:auto;-moz-tab-size:2;tab-size:2}.fe-preview__md-split-output{overflow:auto;padding:16px 24px;background:var(--fe-bg, #fff)}.fe-preview__md-split-output.fe-preview__md{max-height:none;min-height:0;height:100%}@media (max-width: 900px){.fe-preview__md-split-body{grid-template-columns:1fr;grid-template-rows:1fr 1fr}.fe-preview__md-split-input{border-right:0;border-bottom:1px solid var(--fe-border, #e2e6ed)}}.fe-modal__backdrop--chromeless{background:transparent;padding:0}.fe-modal__card--chromeless{max-width:none;width:100vw;height:100vh;max-height:100vh;border-radius:0;box-shadow:none}.fe-modal__card--chromeless .fe-modal__body{flex:1 1 auto;min-height:0;padding:0}.fe-modal__card--chromeless .fe-preview{align-items:stretch;justify-content:stretch;min-height:0;flex:1 1 auto}.fe-modal__card--chromeless .fe-preview>*{width:100%;height:100%}.fe-modal__head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--fe-border)}.fe-modal__title{font-size:16px;font-weight:600;margin:0}.fe-modal__close{background:transparent;border:0;color:var(--fe-text-muted);font-size:22px;cursor:pointer;padding:0 4px;line-height:1}.fe-modal__body{padding:16px;overflow:auto;flex:1 1 auto}.fe-modal__actions{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--fe-border);background:var(--fe-bg-elev)}.fe-modal-enter-active,.fe-modal-leave-active{transition:opacity .15s}.fe-modal-enter-from,.fe-modal-leave-to{opacity:0}.fe-input{width:100%;padding:8px 10px;background:var(--fe-bg);border:1px solid var(--fe-border);border-radius:var(--fe-radius-sm);font:inherit;color:var(--fe-text)}.fe-input:focus-visible{outline:2px solid var(--fe-primary);outline-offset:1px}.fe-input--mono{font-family:var(--fe-font-mono);letter-spacing:.1em}.fe-form{display:flex;flex-direction:column;gap:12px}.fe-form__row{display:flex;align-items:center;gap:8px}.fe-form__row--stack{flex-direction:column;align-items:stretch}.fe-form__error{color:var(--fe-danger);font-size:12px;margin:6px 0 0}.fe-share-result{display:flex;flex-direction:column;gap:12px}.fe-share-result__row label{display:block;font-size:12px;font-weight:600;color:var(--fe-text-muted);margin-bottom:4px}.fe-share-result__copy{display:flex;gap:6px}.fe-preview{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:50vh;background:var(--fe-bg-elev)}.fe-preview__image{max-width:100%;max-height:70vh;object-fit:contain}.fe-preview__video,.fe-preview__audio{max-width:100%;max-height:70vh}.fe-preview__iframe{width:100%;height:70vh;border:0;background:#fff}.fe-preview__office{width:100%;height:78vh;background:var(--fe-bg)}.fe-preview__code-wrap{display:flex;flex-direction:column;width:100%;height:78vh}.fe-preview__code-toolbar{display:flex;align-items:center;gap:12px;padding:8px 12px;background:var(--fe-bg-hover, #f3f4f6);border-bottom:1px solid var(--fe-border, #e5e7eb);font-size:12px}.fe-preview__code-lang{font-family:var(--fe-font-mono, ui-monospace, monospace);color:var(--fe-text-muted);text-transform:uppercase;letter-spacing:.04em}.fe-preview__code-toolbar>.fe-btn{margin-left:auto}.fe-preview__code-status{font-size:12px;font-weight:500}.fe-preview__code-status--ok{color:#059669}.fe-preview__code-status--err{color:#dc2626;cursor:help}.fe-preview__code-editor{flex:1;min-height:0;overflow:hidden}.fe-preview__code-editor .cm-editor{height:100%;font-size:13px}.fe-preview__code-editor .cm-scroller{font-family:var(--fe-font-mono, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace)}.fe-preview__fallback{text-align:center;color:var(--fe-text-muted);padding:40px 20px}.fe-preview__fallback-icon{font-size:48px;display:block;margin-bottom:12px}.fe-preview__pre{margin:0;padding:16px;width:100%;max-height:70vh;overflow:auto;background:var(--fe-bg);color:var(--fe-text);font-family:var(--fe-font-mono);font-size:13px;line-height:1.5;white-space:pre-wrap;word-wrap:break-word}.fe-preview__code{white-space:pre;word-wrap:normal}.hljs{background:var(--fe-bg);color:var(--fe-text)}.hljs-comment,.hljs-quote{color:var(--fe-text-muted);font-style:italic}.hljs-keyword,.hljs-selector-tag,.hljs-built_in,.hljs-section,.hljs-meta{color:#c678dd}.hljs-string,.hljs-attr,.hljs-symbol,.hljs-bullet,.hljs-addition,.hljs-link{color:#98c379}.hljs-number,.hljs-literal,.hljs-deletion{color:#d19a66}.hljs-title,.hljs-name,.hljs-selector-id,.hljs-selector-class,.hljs-template-tag,.hljs-template-variable{color:#61aeee}.hljs-type,.hljs-tag{color:#e06c75}.hljs-variable,.hljs-attribute{color:#d19a66}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.fe-preview__md{width:100%;max-height:70vh;overflow:auto;padding:24px 32px;background:var(--fe-bg);color:var(--fe-text);line-height:1.6;font-size:15px}.fe-preview__md h1,.fe-preview__md h2,.fe-preview__md h3,.fe-preview__md h4{margin:1.2em 0 .6em;font-weight:600}.fe-preview__md h1{font-size:1.8em;border-bottom:1px solid var(--fe-border);padding-bottom:.3em}.fe-preview__md h2{font-size:1.4em;border-bottom:1px solid var(--fe-border);padding-bottom:.3em}.fe-preview__md h3{font-size:1.2em}.fe-preview__md p{margin:.8em 0}.fe-preview__md a{color:var(--fe-primary);text-decoration:underline}.fe-preview__md code{font-family:var(--fe-font-mono);background:var(--fe-bg-elev);padding:1px 5px;border-radius:3px;font-size:.92em}.fe-preview__md pre{background:var(--fe-bg-elev);border:1px solid var(--fe-border);border-radius:var(--fe-radius-sm);padding:12px 16px;overflow:auto;font-size:.9em}.fe-preview__md pre code{background:transparent;padding:0}.fe-preview__md ul,.fe-preview__md ol{padding-left:2em;margin:.8em 0}.fe-preview__md li{margin:.3em 0}.fe-preview__md blockquote{border-left:3px solid var(--fe-border-strong);padding:0 1em;color:var(--fe-text-muted);margin:.8em 0}.fe-preview__md table{border-collapse:collapse;margin:1em 0;width:100%}.fe-preview__md th,.fe-preview__md td{border:1px solid var(--fe-border);padding:6px 10px;text-align:left}.fe-preview__md th{background:var(--fe-bg-elev)}.fe-preview__md img{max-width:100%}.fe-toast{position:absolute;bottom:24px;left:50%;transform:translate(-50%);background:var(--fe-text);color:var(--fe-bg);padding:8px 14px;border-radius:var(--fe-radius);font-size:13px;box-shadow:var(--fe-shadow-sm);z-index:95}.fe-toast-enter-active,.fe-toast-leave-active{transition:opacity .2s,transform .2s}.fe-toast-enter-from,.fe-toast-leave-to{opacity:0;transform:translate(-50%,10px)}@media (max-width: 640px){.fe-list__head,.fe-list__row{grid-template-columns:28px minmax(0,1fr) 90px}.fe-list__col--mod{display:none}.fe-toolbar{padding:8px}.fe-search__input{min-width:120px}}.filex-viewer-3d[data-v-f9492fd4]{width:100%;height:100%;min-height:480px;background:#1a1a1a;display:flex;align-items:center;justify-content:center}.filex-viewer-3d[data-v-f9492fd4] model-viewer{width:100%;height:100%;min-height:480px;background:#1a1a1a;display:block}.filex-viewer-fallback[data-v-f9492fd4]{text-align:center;color:#c8cdd6;padding:32px;max-width:480px}.filex-viewer-fallback__icon[data-v-f9492fd4]{font-size:48px;display:block;margin-bottom:12px}.filex-viewer-epub__nav[data-v-12eb7133]{position:absolute;bottom:12px;left:50%;transform:translate(-50%);display:flex;gap:8px;padding:4px 8px;background:var(--fe-bg-elev, rgba(255, 255, 255, .9));border:1px solid var(--fe-border, #e2e6ed);border-radius:6px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.filex-viewer-epub[data-v-12eb7133]{display:flex;flex-direction:column;width:100%;height:100%;min-height:70vh;background:var(--fe-bg, #fff);color:var(--fe-text, #1a1e27);position:relative}.filex-viewer-epub__bar[data-v-12eb7133]{display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--fe-bg-elev, #f7f8fa);border-bottom:1px solid var(--fe-border, #e2e6ed);font-size:13px}.filex-viewer-spacer[data-v-12eb7133]{flex:1}.filex-viewer-epub__fs[data-v-12eb7133]{display:inline-block;min-width:40px;text-align:center;font-variant-numeric:tabular-nums;font-size:12px;color:var(--fe-text-muted, #5a6475)}.filex-viewer-epub__main[data-v-12eb7133]{flex:1;min-height:0;display:flex}.filex-viewer-epub__rendition[data-v-12eb7133]{flex:1;min-height:0}.filex-viewer-epub__toc[data-v-12eb7133]{width:260px;border-right:1px solid var(--fe-border, #e2e6ed);overflow-y:auto;padding:12px 0;background:var(--fe-bg-elev, #f7f8fa)}.filex-viewer-epub__toc ul[data-v-12eb7133]{list-style:none;margin:0;padding:0}.filex-viewer-epub__toc-link[data-v-12eb7133]{display:block;width:100%;text-align:left;background:transparent;border:0;padding:6px 14px;font:inherit;color:inherit;cursor:pointer}.filex-viewer-epub__toc-link[data-v-12eb7133]:hover{background:var(--fe-bg-hover, #edf0f5)}.filex-viewer-epub__toc-link.is-child[data-v-12eb7133]{padding-left:28px;color:var(--fe-text-muted, #5a6475);font-size:12px}.filex-viewer-epub__loading[data-v-12eb7133]{position:absolute;inset:auto 0 0 0;text-align:center;padding:6px;background:#0000000d;font-size:12px;color:var(--fe-text-muted, #5a6475)}.filex-viewer-fallback[data-v-12eb7133]{text-align:center;padding:32px;color:var(--fe-text-muted, #5a6475)}.filex-viewer-fallback__icon[data-v-12eb7133]{font-size:48px;display:block;margin-bottom:12px}.filex-viewer-btn[data-v-12eb7133]{border:1px solid var(--fe-border, #e2e6ed);background:var(--fe-bg, #fff);color:var(--fe-text, #1a1e27);padding:4px 10px;border-radius:4px;cursor:pointer;font:inherit;font-size:12px}.filex-viewer-btn[data-v-12eb7133]:hover:not(:disabled){background:var(--fe-bg-hover, #edf0f5)}.filex-viewer-btn[data-v-12eb7133]:disabled{opacity:.5;cursor:not-allowed}.filex-viewer-mermaid[data-v-939eea2b]{display:flex;flex-direction:column;width:100%;height:100%;min-height:70vh;background:var(--fe-bg, #fff);color:var(--fe-text, #1a1e27)}.filex-viewer-mermaid__bar[data-v-939eea2b]{display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--fe-bg-elev, #f7f8fa);border-bottom:1px solid var(--fe-border, #e2e6ed);font-size:13px}.filex-viewer-mermaid__zoom[data-v-939eea2b]{min-width:50px;text-align:center;font-variant-numeric:tabular-nums;font-size:12px}.filex-viewer-mermaid__pane[data-v-939eea2b]{flex:1;overflow:hidden;position:relative;cursor:grab;background:var(--fe-bg-elev, #f7f8fa);touch-action:none}.filex-viewer-mermaid__pane[data-v-939eea2b]:active{cursor:grabbing}.filex-viewer-mermaid__surface[data-v-939eea2b]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;transform-origin:center center;transition:transform .05s linear;-webkit-user-select:none;user-select:none}.filex-viewer-mermaid__surface[data-v-939eea2b] svg{max-width:90%;max-height:90%}.filex-viewer-fallback[data-v-939eea2b]{text-align:center;padding:32px;color:var(--fe-text-muted, #5a6475);width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.filex-viewer-fallback__icon[data-v-939eea2b]{font-size:48px;display:block;margin-bottom:12px}.filex-viewer-btn[data-v-939eea2b]{border:1px solid var(--fe-border, #e2e6ed);background:var(--fe-bg, #fff);color:var(--fe-text, #1a1e27);padding:4px 10px;border-radius:4px;cursor:pointer;font:inherit;font-size:12px}.filex-viewer-btn[data-v-939eea2b]:hover:not(:disabled){background:var(--fe-bg-hover, #edf0f5)}.filex-viewer-drawio[data-v-2e4b5f3b]{display:flex;flex-direction:column;width:100%;height:100%;min-height:70vh;background:var(--fe-bg, #fff)}.filex-viewer-drawio__bar[data-v-2e4b5f3b]{display:flex;align-items:center;gap:12px;padding:6px 12px;background:var(--fe-bg-elev, #f7f8fa);border-bottom:1px solid var(--fe-border, #e2e6ed);font-size:12px;color:var(--fe-text-muted, #5a6475)}.filex-viewer-drawio__status[data-state=error][data-v-2e4b5f3b]{color:var(--fe-danger, #dc2626)}.filex-viewer-drawio__status[data-state=saved][data-v-2e4b5f3b]{color:#059669}.filex-viewer-drawio__readonly[data-v-2e4b5f3b]{font-style:italic;margin-left:auto}.filex-viewer-drawio__frame[data-v-2e4b5f3b]{flex:1;width:100%;border:0;background:#fafafa;min-height:0}.filex-viewer-fallback[data-v-2e4b5f3b]{text-align:center;padding:32px;color:var(--fe-text-muted, #5a6475)}.filex-viewer-fallback__icon[data-v-2e4b5f3b]{font-size:48px;display:block;margin-bottom:12px}.filex-viewer-tiff__pager[data-v-c6b84f5d]{position:absolute;bottom:12px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;padding:4px 8px;background:var(--fe-bg-elev, rgba(255, 255, 255, .9));border:1px solid var(--fe-border, #e2e6ed);border-radius:6px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.filex-viewer-tiff__pages[data-v-c6b84f5d]{font-size:12px;font-variant-numeric:tabular-nums}.filex-viewer-tiff[data-v-c6b84f5d]{display:flex;flex-direction:column;width:100%;height:100%;min-height:70vh;background:var(--fe-bg, #fff)}.filex-viewer-tiff__bar[data-v-c6b84f5d]{display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--fe-bg-elev, #f7f8fa);border-bottom:1px solid var(--fe-border, #e2e6ed);font-size:13px}.filex-viewer-tiff__pages[data-v-c6b84f5d]{min-width:110px;text-align:center;font-variant-numeric:tabular-nums;font-size:12px}.filex-viewer-tiff__zoom[data-v-c6b84f5d]{min-width:50px;text-align:center;font-variant-numeric:tabular-nums;font-size:12px}.filex-viewer-spacer[data-v-c6b84f5d]{flex:1}.filex-viewer-tiff__pane[data-v-c6b84f5d]{flex:1;overflow:auto;padding:16px;background:#2a2d33;display:flex;align-items:flex-start;justify-content:flex-start}.filex-viewer-tiff__pane canvas[data-v-c6b84f5d]{background:#fff;box-shadow:0 4px 16px #0000004d}.filex-viewer-fallback[data-v-c6b84f5d]{text-align:center;padding:32px;color:#c8cdd6;margin:auto}.filex-viewer-fallback__icon[data-v-c6b84f5d]{font-size:48px;display:block;margin-bottom:12px}.filex-viewer-btn[data-v-c6b84f5d]{border:1px solid var(--fe-border, #e2e6ed);background:var(--fe-bg, #fff);color:var(--fe-text, #1a1e27);padding:4px 10px;border-radius:4px;cursor:pointer;font:inherit;font-size:12px}.filex-viewer-btn[data-v-c6b84f5d]:hover:not(:disabled){background:var(--fe-bg-hover, #edf0f5)}.filex-viewer-btn[data-v-c6b84f5d]:disabled{opacity:.4;cursor:not-allowed}.filex-viewer-psd[data-v-001123c3]{display:flex;flex-direction:column;width:100%;height:100%;min-height:70vh;background:var(--fe-bg, #fff)}.filex-viewer-psd__bar[data-v-001123c3]{display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--fe-bg-elev, #f7f8fa);border-bottom:1px solid var(--fe-border, #e2e6ed);font-size:13px}.filex-viewer-spacer[data-v-001123c3]{flex:1}.filex-viewer-psd__dim[data-v-001123c3]{font-size:12px;color:var(--fe-text-muted, #5a6475)}.filex-viewer-psd__zoom[data-v-001123c3]{min-width:50px;text-align:center;font-variant-numeric:tabular-nums;font-size:12px}.filex-viewer-psd__main[data-v-001123c3]{flex:1;display:flex;min-height:0}.filex-viewer-psd__layers[data-v-001123c3]{width:240px;border-right:1px solid var(--fe-border, #e2e6ed);overflow-y:auto;padding:8px 0;background:var(--fe-bg-elev, #f7f8fa)}.filex-viewer-psd__layers ul[data-v-001123c3]{list-style:none;margin:0;padding:0}.filex-viewer-psd__layers li[data-v-001123c3]{display:flex;align-items:center;gap:6px;padding:4px 12px;font-size:12px}.filex-viewer-psd__layer-vis[data-v-001123c3]{width:14px;text-align:center;color:var(--fe-text-muted, #5a6475)}.filex-viewer-psd__layer-vis[data-hidden="1"][data-v-001123c3]{color:var(--fe-border-strong, #c7ced9)}.filex-viewer-psd__layer-name[data-v-001123c3]{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.filex-viewer-psd__pane[data-v-001123c3]{flex:1;overflow:auto;padding:16px;background:#2a2d33;display:flex;align-items:flex-start;justify-content:flex-start}.filex-viewer-psd__pane canvas[data-v-001123c3]{background:#fff repeating-conic-gradient(#e0e0e0 0% 25%,transparent 0% 50%) 50% / 16px 16px;box-shadow:0 4px 16px #0000004d}.filex-viewer-fallback[data-v-001123c3]{text-align:center;padding:32px;color:#c8cdd6;margin:auto}.filex-viewer-fallback__icon[data-v-001123c3]{font-size:48px;display:block;margin-bottom:12px}.filex-viewer-btn[data-v-001123c3]{border:1px solid var(--fe-border, #e2e6ed);background:var(--fe-bg, #fff);color:var(--fe-text, #1a1e27);padding:4px 10px;border-radius:4px;cursor:pointer;font:inherit;font-size:12px}.filex-viewer-btn[data-v-001123c3]:hover:not(:disabled){background:var(--fe-bg-hover, #edf0f5)}.filex-viewer-btn.is-active[data-v-001123c3]{background:var(--fe-bg-selected, #dfe8ff);border-color:var(--fe-primary, #3b82f6)}.filex-viewer-ipynb[data-v-eece712d]{display:flex;flex-direction:column;width:100%;height:100%;min-height:70vh;background:var(--fe-bg, #fff);color:var(--fe-text, #1a1e27)}.filex-viewer-ipynb__bar[data-v-eece712d]{display:flex;align-items:center;gap:12px;padding:8px 12px;background:var(--fe-bg-elev, #f7f8fa);border-bottom:1px solid var(--fe-border, #e2e6ed);font-size:12px;color:var(--fe-text-muted, #5a6475)}.filex-viewer-ipynb__lang[data-v-eece712d]{font-family:var(--fe-font-mono, monospace);text-transform:uppercase;letter-spacing:.04em}.filex-viewer-ipynb__pane[data-v-eece712d]{flex:1;overflow:auto;padding:16px 24px}.filex-viewer-ipynb__cell[data-v-eece712d]{border:1px solid var(--fe-border, #e2e6ed);border-radius:6px;margin-bottom:16px;overflow:hidden}.filex-viewer-ipynb__cell[data-type=code][data-v-eece712d]{background:var(--fe-bg-elev, #f7f8fa)}.filex-viewer-ipynb__exec[data-v-eece712d]{padding:4px 12px;font-family:var(--fe-font-mono, monospace);font-size:11px;color:var(--fe-text-muted, #5a6475);background:#0000000a}.filex-viewer-ipynb__src[data-v-eece712d]{margin:0;padding:12px;font-family:var(--fe-font-mono, monospace);font-size:12px;line-height:1.5;white-space:pre;overflow-x:auto}.filex-viewer-ipynb__outputs[data-v-eece712d]{border-top:1px dashed var(--fe-border, #e2e6ed);background:var(--fe-bg, #fff);padding:8px 12px}.filex-viewer-ipynb__out[data-v-eece712d]{margin:0;padding:4px 0;font-family:var(--fe-font-mono, monospace);font-size:12px;white-space:pre-wrap;word-wrap:break-word}.filex-viewer-ipynb__out[data-type=error][data-v-eece712d]{color:var(--fe-danger, #dc2626)}.filex-viewer-ipynb__img[data-v-eece712d]{display:block;max-width:100%;height:auto;margin:8px 0}.filex-viewer-ipynb__html[data-v-eece712d]{font-size:13px}.filex-viewer-ipynb__md[data-v-eece712d]{padding:12px 16px;font-size:14px;line-height:1.6}.filex-viewer-ipynb__md-raw[data-v-eece712d]{padding:12px;margin:0;font-family:var(--fe-font-mono, monospace);font-size:12px;white-space:pre-wrap}.filex-viewer-fallback[data-v-eece712d]{text-align:center;padding:32px;color:var(--fe-text-muted, #5a6475)}.filex-viewer-fallback__icon[data-v-eece712d]{font-size:48px;display:block;margin-bottom:12px}.filex-viewer-csv[data-v-db55a104]{display:flex;flex-direction:column;width:100%;height:100%;min-height:70vh;background:var(--fe-bg, #fff);color:var(--fe-text, #1a1e27)}.filex-viewer-csv__bar[data-v-db55a104]{display:flex;align-items:center;gap:12px;padding:8px 12px;background:var(--fe-bg-elev, #f7f8fa);border-bottom:1px solid var(--fe-border, #e2e6ed);font-size:12px}.filex-viewer-csv__check[data-v-db55a104]{display:flex;align-items:center;gap:4px;font-size:12px}.filex-viewer-csv__select[data-v-db55a104],.filex-viewer-csv__filter[data-v-db55a104]{border:1px solid var(--fe-border, #e2e6ed);background:var(--fe-bg, #fff);color:inherit;padding:4px 8px;border-radius:4px;font:inherit;font-size:12px}.filex-viewer-csv__filter[data-v-db55a104]{flex:0 1 240px}.filex-viewer-spacer[data-v-db55a104]{flex:1}.filex-viewer-csv__count[data-v-db55a104]{font-size:11px;color:var(--fe-text-muted, #5a6475);font-variant-numeric:tabular-nums}.filex-viewer-csv__pane[data-v-db55a104]{flex:1;overflow:auto}.filex-viewer-csv__table[data-v-db55a104]{border-collapse:collapse;width:max-content;min-width:100%;font-size:12px;font-family:var(--fe-font-mono, monospace)}.filex-viewer-csv__table th[data-v-db55a104],.filex-viewer-csv__table td[data-v-db55a104]{padding:4px 10px;border:1px solid var(--fe-border, #e2e6ed);white-space:nowrap;max-width:320px;overflow:hidden;text-overflow:ellipsis}.filex-viewer-csv__table th[data-v-db55a104]{background:var(--fe-bg-elev, #f7f8fa);position:sticky;top:0;font-weight:600;text-align:left}.filex-viewer-csv__table tbody tr[data-v-db55a104]:nth-child(2n){background:var(--fe-bg-hover, rgba(0, 0, 0, .02))}.filex-viewer-csv__rownum[data-v-db55a104]{color:var(--fe-text-muted, #5a6475);text-align:right;background:var(--fe-bg-elev, #f7f8fa);font-variant-numeric:tabular-nums;position:sticky;left:0}.filex-viewer-csv__pager[data-v-db55a104]{display:flex;justify-content:center;align-items:center;gap:8px;padding:6px;background:var(--fe-bg-elev, #f7f8fa);border-top:1px solid var(--fe-border, #e2e6ed);font-size:12px}.filex-viewer-csv__pageno[data-v-db55a104]{font-variant-numeric:tabular-nums;font-size:12px}.filex-viewer-fallback[data-v-db55a104]{text-align:center;padding:32px;color:var(--fe-text-muted, #5a6475)}.filex-viewer-fallback__icon[data-v-db55a104]{font-size:48px;display:block;margin-bottom:12px}.filex-viewer-btn[data-v-db55a104]{border:1px solid var(--fe-border, #e2e6ed);background:var(--fe-bg, #fff);color:var(--fe-text, #1a1e27);padding:4px 10px;border-radius:4px;cursor:pointer;font:inherit;font-size:12px}.filex-viewer-btn[data-v-db55a104]:hover:not(:disabled){background:var(--fe-bg-hover, #edf0f5)}.filex-viewer-btn[data-v-db55a104]:disabled{opacity:.4;cursor:not-allowed}.filex-viewer-archive[data-v-93df7b13]{display:flex;flex-direction:column;width:100%;height:100%;min-height:70vh;background:var(--fe-bg, #fff);color:var(--fe-text, #1a1e27)}.filex-viewer-archive__pane[data-v-93df7b13]{flex:1;overflow:auto;padding:16px 20px}.filex-viewer-archive__summary[data-v-93df7b13]{font-size:12px;color:var(--fe-text-muted, #5a6475);margin-bottom:12px;font-variant-numeric:tabular-nums}.filex-viewer-archive__table[data-v-93df7b13]{width:100%;border-collapse:collapse;font-size:13px;font-family:var(--fe-font-mono, monospace)}.filex-viewer-archive__table th[data-v-93df7b13],.filex-viewer-archive__table td[data-v-93df7b13]{padding:6px 12px;border-bottom:1px solid var(--fe-border, #e2e6ed);text-align:left}.filex-viewer-archive__table th[data-v-93df7b13]{background:var(--fe-bg-elev, #f7f8fa);font-weight:600;position:sticky;top:0}.filex-viewer-archive__size[data-v-93df7b13]{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--fe-text-muted, #5a6475)}.filex-viewer-archive__icon[data-v-93df7b13]{margin-right:6px}.filex-viewer-archive__table tr[data-dir="1"][data-v-93df7b13]{color:var(--fe-text-muted, #5a6475)}.filex-viewer-fallback[data-v-93df7b13]{text-align:center;padding:32px;color:var(--fe-text-muted, #5a6475)}.filex-viewer-fallback__icon[data-v-93df7b13]{font-size:48px;display:block;margin-bottom:12px}';
10520
10520
  let Za = !1;
10521
10521
  function bm() {
10522
10522
  if (Za || typeof document > "u") return;
@@ -10620,4 +10620,4 @@ export {
10620
10620
  _m as v,
10621
10621
  ct as w
10622
10622
  };
10623
- //# sourceMappingURL=index-idz8Cz5t.js.map
10623
+ //# sourceMappingURL=index-BNs90VaG.js.map