bilitoolkit-ui 0.1.5 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { reactive as Pe, watch as Z, ref as E, onMounted as ne, onUnmounted as _e, computed as C, toValue as G, shallowRef as oe, useTemplateRef as ce, onBeforeUnmount as nt, defineComponent as $, withDirectives as ee, openBlock as u, createElementBlock as _, createElementVNode as c, vShow as he, toDisplayString as h, createApp as Re, renderSlot as I, normalizeClass as N, createVNode as p, createCommentVNode as z, useModel as we, createBlock as x, withCtx as v, unref as w, createTextVNode as A, mergeModels as te, Fragment as F, renderList as J, normalizeStyle as me, toRaw as st, render as ie, useCssVars as Zt, mergeProps as ae, nextTick as fe, getCurrentScope as Gt, onScopeDispose as Jt, getCurrentInstance as lt, normalizeProps as at, guardReactiveProps as ot, triggerRef as ye, withModifiers as Ie, useSlots as it, useAttrs as Kt, h as Yt } from "vue";
1
+ import { reactive as Pe, watch as Z, ref as B, onMounted as ne, onUnmounted as _e, computed as C, toValue as G, shallowRef as oe, useTemplateRef as ce, onBeforeUnmount as nt, defineComponent as $, withDirectives as ee, openBlock as u, createElementBlock as _, createElementVNode as c, vShow as he, toDisplayString as h, createApp as Re, renderSlot as I, normalizeClass as N, createVNode as p, createCommentVNode as D, useModel as we, createBlock as x, withCtx as v, unref as w, createTextVNode as A, mergeModels as te, Fragment as F, renderList as J, normalizeStyle as me, toRaw as st, render as ie, useCssVars as Zt, mergeProps as ae, nextTick as fe, getCurrentScope as Gt, onScopeDispose as Jt, getCurrentInstance as lt, normalizeProps as at, guardReactiveProps as ot, triggerRef as ye, withModifiers as Ie, useSlots as it, useAttrs as Kt, h as Yt } from "vue";
2
2
  import { defineStore as ct, storeToRefs as Xt } from "pinia";
3
3
  import { defaultAppThemeState as rt, APP_THEME_STATE as Ne, UI_DB_KEYS as Ze } from "./common.js";
4
4
  import { setupToolkitApi as en } from "bilitoolkit-runtime";
@@ -11,7 +11,7 @@ import { ElMessageBox as tn, ElMessage as nn } from "element-plus";
11
11
  import { BiliApiBusinessError as sn, BiliClient as ln, audioQualityMap as an, videoQualityMap as on, videoCodecIdMap as cn, parseVideoZoneV1 as rn, parseVideoZoneV2 as un } from "@ybgnb/bili-api";
12
12
  import { isCanceledError as dn, getErrorMessage as vn, createAbortError as dt, serializeError as pn, resolveValue as Ge, getFormattedDateTime as mn, unwrapBizResult as fn, inArray as gn, formatFileSizeFromKB as hn, formatDuration as Le, formatTime as Ae } from "@ybgnb/utils";
13
13
  import { AppError as _n, downloadTaskStatusMap as vt, downloadResourceNameMap as wn } from "bilitoolkit-types";
14
- import { ElLoadingDirective as xe, ElDialog as re, ElButton as K, ElTooltip as Oe, ElDatePicker as yn, ElRow as bn, ElCol as kn, ElInput as pt, ElProgress as mt, ElIcon as Ue, ElPopconfirm as An, ElMenuItem as ft, ElSubMenu as Cn, ElMenu as xn, ElPopover as Sn, ElDropdown as En, ElDropdownMenu as Bn, ElDropdownItem as $n, ElTable as Dn, ElTableColumn as zn, ElEmpty as gt, ElPagination as ht, ElCheckbox as Vn, ElTag as _t, ElText as Pn, ElImage as wt, ElDescriptions as In, ElDescriptionsItem as Mn, ElRadioGroup as Tn, ElRadioButton as Qn } from "element-plus/es";
14
+ import { ElLoadingDirective as xe, ElDialog as re, ElButton as K, ElTooltip as Oe, ElDatePicker as yn, ElRow as bn, ElCol as kn, ElInput as pt, ElProgress as mt, ElIcon as Ue, ElPopconfirm as An, ElMenuItem as ft, ElSubMenu as Cn, ElMenu as xn, ElPopover as Sn, ElDropdown as Bn, ElDropdownMenu as En, ElDropdownItem as $n, ElTable as Dn, ElTableColumn as zn, ElEmpty as gt, ElPagination as ht, ElCheckbox as Vn, ElTag as _t, ElText as Pn, ElImage as wt, ElDescriptions as In, ElDescriptionsItem as Mn, ElRadioGroup as Tn, ElRadioButton as Qn } from "element-plus/es";
15
15
  import "element-plus/es/components/base/style/css";
16
16
  import "element-plus/es/components/loading/style/css";
17
17
  import "element-plus/es/components/dialog/style/css";
@@ -115,7 +115,7 @@ const Je = "#ffffff", Ke = "#000000", ze = (e, s, t) => {
115
115
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
116
116
  }
117
117
  ), je = ct("biliToolkit-ui-selected-user", () => {
118
- const e = E(null), s = async () => {
118
+ const e = B(null), s = async () => {
119
119
  try {
120
120
  e.value = (await window.toolkitApi.db.init(Ze.UI_SELECTED_USER))?.user ?? null;
121
121
  } catch {
@@ -211,10 +211,10 @@ async function bi(e) {
211
211
  for (const [s, t, n] of e)
212
212
  await Ln(s, t, n);
213
213
  }
214
- const Ee = (e) => {
215
- const s = e?.loading ?? E(!1);
214
+ const Be = (e) => {
215
+ const s = e?.loading ?? B(!1);
216
216
  let t = null;
217
- const n = E(!1);
217
+ const n = B(!1);
218
218
  return {
219
219
  loading: s,
220
220
  hasLoaded: n,
@@ -228,7 +228,7 @@ const Ee = (e) => {
228
228
  })()), t)
229
229
  };
230
230
  }, ki = (e, s = 3e3) => {
231
- const { loading: t, loadingData: n } = Ee({ singleFlight: !0 }), o = n(e);
231
+ const { loading: t, loadingData: n } = Be({ singleFlight: !0 }), o = n(e);
232
232
  let l = null;
233
233
  return ne(async () => {
234
234
  l = setInterval(o, s);
@@ -246,7 +246,7 @@ const Ee = (e) => {
246
246
  totalPages: 0,
247
247
  total: 0
248
248
  };
249
- }), a = E(i.value), r = E([]), { loading: d, loadingData: g } = Ee(), m = g(async () => {
249
+ }), a = B(i.value), r = B([]), { loading: d, loadingData: g } = Be(), m = g(async () => {
250
250
  const P = G(n), Q = {
251
251
  pageNum: a.value.pageNum,
252
252
  pageSize: a.value.pageSize
@@ -317,7 +317,7 @@ const Ee = (e) => {
317
317
  select: m
318
318
  };
319
319
  }, On = (e) => {
320
- const s = ce(e), t = E(0), n = () => {
320
+ const s = ce(e), t = B(0), n = () => {
321
321
  s.value?.clientHeight && (t.value = s.value.clientHeight);
322
322
  };
323
323
  let o, l = 0;
@@ -334,7 +334,7 @@ const Ee = (e) => {
334
334
  };
335
335
  };
336
336
  function Un(e) {
337
- const s = E(!1), t = E(!1), n = E(!1);
337
+ const s = B(!1), t = B(!1), n = B(!1);
338
338
  let o = null, l = null;
339
339
  const i = () => {
340
340
  const a = G(e);
@@ -372,7 +372,7 @@ function Un(e) {
372
372
  const Fn = { class: "loading-mask el-overlay" }, qn = { class: "loading-content" }, jn = { class: "loading-spinner" }, Wn = { class: "loading-text" }, Nn = /* @__PURE__ */ $({
373
373
  __name: "LoadingDialog",
374
374
  setup(e, { expose: s }) {
375
- const t = E(!1), n = E(""), o = E(!1);
375
+ const t = B(!1), n = B(""), o = B(!1);
376
376
  let l;
377
377
  const i = (g = {}) => {
378
378
  typeof g == "string" ? n.value = g || "加载中" : (n.value = g.message ?? "加载中", o.value = g.showCancel ?? !1, l = g.onCancel, g?.autoCloseDelay && setTimeout(() => {
@@ -432,7 +432,7 @@ const Xe = {
432
432
  Ve().close();
433
433
  }
434
434
  }, Ci = (e, s) => {
435
- const t = s?.loading ?? E(!1), n = E(!1), o = je();
435
+ const t = s?.loading ?? B(!1), n = B(!1), o = je();
436
436
  return {
437
437
  loading: t,
438
438
  execTask: async (...i) => {
@@ -492,7 +492,7 @@ const Xe = {
492
492
  iconClass: {}
493
493
  },
494
494
  setup(e) {
495
- const s = e, t = E("equalizer-2");
495
+ const s = e, t = B("equalizer-2");
496
496
  return (n, o) => {
497
497
  const l = X;
498
498
  return u(), _("div", Yn, [
@@ -502,7 +502,7 @@ const Xe = {
502
502
  }, null, 8, ["icon"]),
503
503
  c("div", Xn, [
504
504
  c("div", es, h(s.title), 1),
505
- s.desc ? (u(), _("div", ts, h(s.desc), 1)) : z("", !0)
505
+ s.desc ? (u(), _("div", ts, h(s.desc), 1)) : D("", !0)
506
506
  ]),
507
507
  c("div", ns, [
508
508
  I(n.$slots, "default", {}, void 0, !0)
@@ -512,7 +512,7 @@ const Xe = {
512
512
  }
513
513
  }), Si = /* @__PURE__ */ H(ss, [["__scopeId", "data-v-bb581bf5"]]);
514
514
  function ls(e) {
515
- const s = E(e), t = E(null), n = (l) => {
515
+ const s = B(e), t = B(null), n = (l) => {
516
516
  s.value = e, t.value = setInterval(() => {
517
517
  s.value > 1 ? s.value-- : (o(), l());
518
518
  }, 1e3);
@@ -521,7 +521,7 @@ function ls(e) {
521
521
  };
522
522
  return _e(o), { countdown: s, start: n, stop: o };
523
523
  }
524
- const as = { class: "dialog-footer" }, Ei = /* @__PURE__ */ $({
524
+ const as = { class: "dialog-footer" }, Bi = /* @__PURE__ */ $({
525
525
  __name: "CountdownDialog",
526
526
  props: /* @__PURE__ */ te({
527
527
  content: {},
@@ -605,20 +605,20 @@ const as = { class: "dialog-footer" }, Ei = /* @__PURE__ */ $({
605
605
  }),
606
606
  emits: /* @__PURE__ */ te(["confirm"], ["update:modelValue"]),
607
607
  setup(e, { emit: s }) {
608
- const t = e, n = we(e, "modelValue"), o = Pe([]), l = Pe([]), i = E(0), a = ce("listRef"), { loading: r, loadingData: d } = Ee(), g = E(!1), m = d(async (k) => {
608
+ const t = e, n = we(e, "modelValue"), o = Pe([]), l = Pe([]), i = B(0), a = ce("listRef"), { loading: r, loadingData: d } = Be(), g = B(!1), m = d(async (k) => {
609
609
  l.splice(0, l.length, ...t.defaultSelectedList);
610
- let D = !1;
610
+ let z = !1;
611
611
  k(() => {
612
- D = !0;
612
+ z = !0;
613
613
  });
614
614
  const q = typeof t.options == "function" ? await t.options() : t.options;
615
- D || o.splice(0, o.length, ...q);
615
+ z || o.splice(0, o.length, ...q);
616
616
  }), f = () => {
617
617
  i.value = a.value?.clientWidth ?? 0, g.value = !0;
618
618
  };
619
619
  Z(
620
620
  n,
621
- async (k, D, q) => {
621
+ async (k, z, q) => {
622
622
  if (!k) {
623
623
  g.value = !1;
624
624
  return;
@@ -636,18 +636,18 @@ const as = { class: "dialog-footer" }, Ei = /* @__PURE__ */ $({
636
636
  }
637
637
  y("confirm", st(l)), n.value = !1;
638
638
  }, S = C(() => t.showCurrentSelection && g.value && !r.value && l.length > 0), P = (k) => l.includes(k), Q = (k) => {
639
- const D = l.indexOf(k);
640
- D > -1 ? l.splice(D, 1) : t.multiple ? l.push(k) : l.splice(0, l.length, k);
639
+ const z = l.indexOf(k);
640
+ z > -1 ? l.splice(z, 1) : t.multiple ? l.push(k) : l.splice(0, l.length, k);
641
641
  }, j = C(() => o.every((k) => l.includes(k))), T = () => {
642
642
  j.value ? l.splice(0, l.length) : l.splice(0, l.length, ...o);
643
643
  };
644
- return (k, D) => {
644
+ return (k, z) => {
645
645
  const q = K, se = re, le = xe;
646
646
  return u(), _("div", os, [
647
647
  p(se, {
648
648
  title: e.title,
649
649
  modelValue: n.value,
650
- "onUpdate:modelValue": D[0] || (D[0] = (W) => n.value = W),
650
+ "onUpdate:modelValue": z[0] || (z[0] = (W) => n.value = W),
651
651
  style: { width: "fit-content", "min-width": "300px", "max-width": "800px", "max-height": "88vh", overflow: "auto" },
652
652
  "close-on-click-modal": !1,
653
653
  "close-on-press-escape": !1,
@@ -660,10 +660,10 @@ const as = { class: "dialog-footer" }, Ei = /* @__PURE__ */ $({
660
660
  key: 0,
661
661
  class: N(["select-all", j.value ? "selected" : ""]),
662
662
  onClick: T
663
- }, [...D[1] || (D[1] = [
663
+ }, [...z[1] || (z[1] = [
664
664
  c("span", { class: "select-icon" }, null, -1),
665
665
  A("全选", -1)
666
- ])], 2)) : z("", !0),
666
+ ])], 2)) : D("", !0),
667
667
  p(q, { onClick: b }, {
668
668
  default: v(() => [
669
669
  A(h(e.cancelText), 1)
@@ -723,7 +723,7 @@ const as = { class: "dialog-footer" }, Ei = /* @__PURE__ */ $({
723
723
  key: e.getDataId(W)
724
724
  }, h(e.getDataLabel(W)), 1))), 128))
725
725
  ], 4)
726
- ], 4)) : z("", !0)
726
+ ], 4)) : D("", !0)
727
727
  ], 2)), [
728
728
  [le, w(r)]
729
729
  ])
@@ -733,7 +733,7 @@ const as = { class: "dialog-footer" }, Ei = /* @__PURE__ */ $({
733
733
  ]);
734
734
  };
735
735
  }
736
- }), vs = /* @__PURE__ */ H(ds, [["__scopeId", "data-v-ca2fb384"]]), Bi = (e) => new Promise((s) => {
736
+ }), vs = /* @__PURE__ */ H(ds, [["__scopeId", "data-v-ca2fb384"]]), Ei = (e) => new Promise((s) => {
737
737
  let t = document.createElement("div");
738
738
  const n = (l) => {
739
739
  s(l), t && (ie(null, t), t.remove(), t = null);
@@ -764,7 +764,7 @@ const as = { class: "dialog-footer" }, Ei = /* @__PURE__ */ $({
764
764
  "txt-ellipsis-right": s.ellipsis === "right",
765
765
  "txt-ellipsis-left": s.ellipsis === "left",
766
766
  "single-line": s.lines === 1
767
- }), o = E(!1), l = ce("refContent"), i = new ResizeObserver(() => {
767
+ }), o = B(!1), l = ce("refContent"), i = new ResizeObserver(() => {
768
768
  l.value && (s.lines === 1 ? o.value = l.value.scrollWidth > l.value.clientWidth : o.value = l.value.scrollHeight > l.value.clientHeight);
769
769
  });
770
770
  return ne(() => {
@@ -778,7 +778,7 @@ const as = { class: "dialog-footer" }, Ei = /* @__PURE__ */ $({
778
778
  e.iconClass ? (u(), x(X, {
779
779
  key: 0,
780
780
  icon: e.iconClass
781
- }, null, 8, ["icon"])) : z("", !0)
781
+ }, null, 8, ["icon"])) : D("", !0)
782
782
  ]),
783
783
  e.content ? (u(), x(d, {
784
784
  key: 0,
@@ -806,7 +806,7 @@ const as = { class: "dialog-footer" }, Ei = /* @__PURE__ */ $({
806
806
  ], 16)
807
807
  ]),
808
808
  _: 3
809
- }, 8, ["content", "disabled"])) : z("", !0)
809
+ }, 8, ["content", "disabled"])) : D("", !0)
810
810
  ]);
811
811
  };
812
812
  }
@@ -911,7 +911,7 @@ function As(e, s = { width: 0, height: 0 }, t = {}) {
911
911
  };
912
912
  }
913
913
  function Cs(e, s) {
914
- const { containerStyle: t, wrapperProps: n, scrollTo: o, calculateRange: l, currentList: i, containerRef: a } = "itemHeight" in s ? Es(s, e) : Ss(s, e);
914
+ const { containerStyle: t, wrapperProps: n, scrollTo: o, calculateRange: l, currentList: i, containerRef: a } = "itemHeight" in s ? Bs(s, e) : Ss(s, e);
915
915
  return {
916
916
  list: i,
917
917
  scrollTo: o,
@@ -926,8 +926,8 @@ function Cs(e, s) {
926
926
  };
927
927
  }
928
928
  function At(e) {
929
- const s = oe(null), t = As(s), n = E([]), o = oe(e);
930
- return { state: E({ start: 0, end: 10 }), source: o, currentList: n, size: t, containerRef: s };
929
+ const s = oe(null), t = As(s), n = B([]), o = oe(e);
930
+ return { state: B({ start: 0, end: 10 }), source: o, currentList: n, size: t, containerRef: s };
931
931
  }
932
932
  function Ct(e, s, t) {
933
933
  return (n) => {
@@ -973,10 +973,10 @@ function St(e, s, t, n, { containerRef: o, state: l, currentList: i, source: a }
973
973
  }
974
974
  };
975
975
  }
976
- function Et(e, s) {
976
+ function Bt(e, s) {
977
977
  return (t) => typeof e == "number" ? t * e : s.value.slice(0, t).reduce((o, l, i) => o + e(i), 0);
978
978
  }
979
- function Bt(e, s, t, n) {
979
+ function Et(e, s, t, n) {
980
980
  Z([e.width, e.height, () => G(s), t], () => {
981
981
  n();
982
982
  });
@@ -994,8 +994,8 @@ function Dt(e, s, t, n) {
994
994
  };
995
995
  }
996
996
  function Ss(e, s) {
997
- const t = At(s), { state: n, source: o, currentList: l, size: i, containerRef: a } = t, r = { overflowX: "auto" }, { itemWidth: d, overscan: g = 5 } = e, m = Ct(n, o, d), f = xt(o, d), y = St("horizontal", g, f, m, t), b = Et(d, o), V = C(() => b(n.value.start)), S = $t(d, o);
998
- Bt(i, s, a, y);
997
+ const t = At(s), { state: n, source: o, currentList: l, size: i, containerRef: a } = t, r = { overflowX: "auto" }, { itemWidth: d, overscan: g = 5 } = e, m = Ct(n, o, d), f = xt(o, d), y = St("horizontal", g, f, m, t), b = Bt(d, o), V = C(() => b(n.value.start)), S = $t(d, o);
998
+ Et(i, s, a, y);
999
999
  const P = Dt("horizontal", y, b, a), Q = C(() => ({
1000
1000
  style: {
1001
1001
  height: "100%",
@@ -1013,9 +1013,9 @@ function Ss(e, s) {
1013
1013
  containerRef: a
1014
1014
  };
1015
1015
  }
1016
- function Es(e, s) {
1017
- const t = At(s), { state: n, source: o, currentList: l, size: i, containerRef: a } = t, r = { overflowY: "auto" }, { itemHeight: d, overscan: g = 5 } = e, m = Ct(n, o, d), f = xt(o, d), y = St("vertical", g, f, m, t), b = Et(d, o), V = C(() => b(n.value.start)), S = $t(d, o);
1018
- Bt(i, s, a, y);
1016
+ function Bs(e, s) {
1017
+ const t = At(s), { state: n, source: o, currentList: l, size: i, containerRef: a } = t, r = { overflowY: "auto" }, { itemHeight: d, overscan: g = 5 } = e, m = Ct(n, o, d), f = xt(o, d), y = St("vertical", g, f, m, t), b = Bt(d, o), V = C(() => b(n.value.start)), S = $t(d, o);
1018
+ Et(i, s, a, y);
1019
1019
  const P = Dt("vertical", y, b, a), Q = C(() => ({
1020
1020
  style: {
1021
1021
  width: "100%",
@@ -1032,7 +1032,7 @@ function Es(e, s) {
1032
1032
  containerRef: a
1033
1033
  };
1034
1034
  }
1035
- const Bs = { class: "virtual-select-dialog" }, $s = { class: "list-wrapper" }, Ds = ["onClick"], zs = { class: "option-item-label" }, Vs = { class: "current-selection" }, Ps = { key: 0 }, Is = /* @__PURE__ */ $({
1035
+ const Es = { class: "virtual-select-dialog" }, $s = { class: "list-wrapper" }, Ds = ["onClick"], zs = { class: "option-item-label" }, Vs = { class: "current-selection" }, Ps = { key: 0 }, Is = /* @__PURE__ */ $({
1036
1036
  __name: "VirtualSelectDialog",
1037
1037
  props: /* @__PURE__ */ te({
1038
1038
  title: { default: "请选择" },
@@ -1053,9 +1053,9 @@ const Bs = { class: "virtual-select-dialog" }, $s = { class: "list-wrapper" }, D
1053
1053
  }),
1054
1054
  emits: /* @__PURE__ */ te(["confirm"], ["update:modelValue"]),
1055
1055
  setup(e, { expose: s, emit: t }) {
1056
- const n = e, o = t, l = we(e, "modelValue"), i = oe([]), a = oe(/* @__PURE__ */ new Set()), { loading: r, loadingData: d } = Ee(), g = E(!1), m = (M) => {
1057
- const B = i.value[M];
1058
- return typeof n.itemHeight == "function" ? B == null ? 0 : n.itemHeight(B) : n.itemHeight;
1056
+ const n = e, o = t, l = we(e, "modelValue"), i = oe([]), a = oe(/* @__PURE__ */ new Set()), { loading: r, loadingData: d } = Be(), g = B(!1), m = (M) => {
1057
+ const E = i.value[M];
1058
+ return typeof n.itemHeight == "function" ? E == null ? 0 : n.itemHeight(E) : n.itemHeight;
1059
1059
  }, {
1060
1060
  list: f,
1061
1061
  containerProps: y,
@@ -1064,18 +1064,18 @@ const Bs = { class: "virtual-select-dialog" }, $s = { class: "list-wrapper" }, D
1064
1064
  itemHeight: m
1065
1065
  }), { hasVerticalScrollbar: V } = Un(C(() => y.ref.value ?? void 0)), S = d(async (M) => {
1066
1066
  a.value.clear();
1067
- let B = !1;
1067
+ let E = !1;
1068
1068
  M(() => {
1069
- B = !0;
1069
+ E = !0;
1070
1070
  });
1071
1071
  const R = new Set(await Ge(n.defaultSelectedIds)), Y = await Ge(n.options);
1072
- B || (a.value = R, i.value = Y);
1072
+ E || (a.value = R, i.value = Y);
1073
1073
  }), P = () => {
1074
1074
  g.value = !0;
1075
1075
  };
1076
1076
  Z(
1077
1077
  l,
1078
- async (M, B, R) => {
1078
+ async (M, E, R) => {
1079
1079
  if (!M) {
1080
1080
  g.value = !1;
1081
1081
  return;
@@ -1092,14 +1092,14 @@ const Bs = { class: "virtual-select-dialog" }, $s = { class: "list-wrapper" }, D
1092
1092
  return;
1093
1093
  }
1094
1094
  const M = [];
1095
- for (const B of i.value)
1096
- a.value.has(B[n.idKey]) && M.push(st(B));
1095
+ for (const E of i.value)
1096
+ a.value.has(E[n.idKey]) && M.push(st(E));
1097
1097
  o("confirm", M), l.value = !1;
1098
1098
  }), T = (M) => a.value.has(M[n.idKey]), k = (M) => {
1099
- const B = a.value, R = M[n.idKey];
1100
- B.has(R) ? B.delete(R) : B.add(R), ye(a);
1101
- }, D = C(() => i.value.every((M) => T(M))), q = d(() => {
1102
- D.value ? a.value = /* @__PURE__ */ new Set() : a.value = new Set(i.value.map((M) => M[n.idKey])), ye(a);
1099
+ const E = a.value, R = M[n.idKey];
1100
+ E.has(R) ? E.delete(R) : E.add(R), ye(a);
1101
+ }, z = C(() => i.value.every((M) => T(M))), q = d(() => {
1102
+ z.value ? a.value = /* @__PURE__ */ new Set() : a.value = new Set(i.value.map((M) => M[n.idKey])), ye(a);
1103
1103
  }), se = d(() => {
1104
1104
  a.value = /* @__PURE__ */ new Set(), ye(a);
1105
1105
  }), le = d((M) => {
@@ -1110,13 +1110,13 @@ const Bs = { class: "virtual-select-dialog" }, $s = { class: "list-wrapper" }, D
1110
1110
  getSelectionIds: () => a.value,
1111
1111
  setSelectionIds: le,
1112
1112
  toggleAllSelection: q
1113
- }), (M, B) => {
1114
- const R = de, Y = K, Be = re, $e = xe;
1115
- return u(), _("div", Bs, [
1116
- p(Be, {
1113
+ }), (M, E) => {
1114
+ const R = de, Y = K, Ee = re, $e = xe;
1115
+ return u(), _("div", Es, [
1116
+ p(Ee, {
1117
1117
  title: e.title,
1118
1118
  modelValue: l.value,
1119
- "onUpdate:modelValue": B[1] || (B[1] = (U) => l.value = U),
1119
+ "onUpdate:modelValue": E[1] || (E[1] = (U) => l.value = U),
1120
1120
  style: me([{ width: "fit-content", height: "88vh" }, {
1121
1121
  width: w(V) ? `calc(${e.itemWidth}px + var(--app-scrollbar-width, 8px))` : `${e.itemWidth}px`
1122
1122
  }]),
@@ -1129,13 +1129,13 @@ const Bs = { class: "virtual-select-dialog" }, $s = { class: "list-wrapper" }, D
1129
1129
  footer: v(() => [
1130
1130
  e.multiple && e.canSelectAll ? (u(), _("span", {
1131
1131
  key: 0,
1132
- class: N(["select-all", D.value ? "selected" : ""]),
1133
- onClick: B[0] || (B[0] = //@ts-ignore
1132
+ class: N(["select-all", z.value ? "selected" : ""]),
1133
+ onClick: E[0] || (E[0] = //@ts-ignore
1134
1134
  (...U) => w(q) && w(q)(...U))
1135
- }, [...B[2] || (B[2] = [
1135
+ }, [...E[2] || (E[2] = [
1136
1136
  c("span", { class: "select-icon" }, null, -1),
1137
1137
  A(" 全选 ", -1)
1138
- ])], 2)) : z("", !0),
1138
+ ])], 2)) : D("", !0),
1139
1139
  I(M.$slots, "footer-prepend", {
1140
1140
  allOptions: i.value,
1141
1141
  selectOptionIds: a.value
@@ -1218,7 +1218,7 @@ const Bs = { class: "virtual-select-dialog" }, $s = { class: "list-wrapper" }, D
1218
1218
  ], !0)
1219
1219
  ]),
1220
1220
  c("div", Vs, [
1221
- e.multiple ? (u(), _("span", Ps, " 已选择(" + h(a.value.size) + ") ", 1)) : z("", !0)
1221
+ e.multiple ? (u(), _("span", Ps, " 已选择(" + h(a.value.size) + ") ", 1)) : D("", !0)
1222
1222
  ])
1223
1223
  ], 2)), [
1224
1224
  [$e, w(r)]
@@ -1251,7 +1251,7 @@ const Bs = { class: "virtual-select-dialog" }, $s = { class: "list-wrapper" }, D
1251
1251
  },
1252
1252
  emits: ["update:modelValue", "confirm", "cancel"],
1253
1253
  setup(e, { emit: s }) {
1254
- const t = s, n = E(null);
1254
+ const t = s, n = B(null);
1255
1255
  function o() {
1256
1256
  !n.value || n.value.length !== 2 || t("confirm", n.value);
1257
1257
  }
@@ -1358,7 +1358,7 @@ const Di = async (e = {}) => new Promise((s) => {
1358
1358
  }),
1359
1359
  emits: /* @__PURE__ */ te(["confirm"], ["update:modelValue"]),
1360
1360
  setup(e, { emit: s }) {
1361
- const t = e, n = we(e, "modelValue"), o = C(() => t.total != null && t.maxPage != null ? Math.min(t.maxPage, Math.ceil(t.total / t.pageSize)) : t.total != null ? Math.ceil(t.total / t.pageSize) : t.maxPage), l = E(1), i = E(1), a = C(() => `共有 ${t.total} 条数据`), r = C(() => `每页可获取 ${t.pageSize} 条数据`), d = C(() => {
1361
+ const t = e, n = we(e, "modelValue"), o = C(() => t.total != null && t.maxPage != null ? Math.min(t.maxPage, Math.ceil(t.total / t.pageSize)) : t.total != null ? Math.ceil(t.total / t.pageSize) : t.maxPage), l = B(1), i = B(1), a = C(() => `共有 ${t.total} 条数据`), r = C(() => `每页可获取 ${t.pageSize} 条数据`), d = C(() => {
1362
1362
  if (t.total != null) {
1363
1363
  const y = t.pageSize - Math.max(i.value * t.pageSize - t.total, 0);
1364
1364
  return `共选择 ${(i.value - l.value) * t.pageSize + y} 条数据`;
@@ -1409,7 +1409,7 @@ const Di = async (e = {}) => new Promise((s) => {
1409
1409
  default: v(() => [
1410
1410
  c("div", Qs, [
1411
1411
  c("div", Hs, [
1412
- e.total ? (u(), _("div", Rs, h(a.value), 1)) : z("", !0),
1412
+ e.total ? (u(), _("div", Rs, h(a.value), 1)) : D("", !0),
1413
1413
  c("div", Ls, h(r.value), 1)
1414
1414
  ]),
1415
1415
  p(P, { class: "page-range" }, {
@@ -1531,7 +1531,7 @@ var qs = /* @__PURE__ */ $({
1531
1531
  const Gs = { class: "loading-mask el-overlay" }, Js = { class: "loading-content" }, Ks = { class: "status-icon" }, Ys = { class: "loading-text" }, Xs = { class: "actions" }, el = /* @__PURE__ */ $({
1532
1532
  __name: "ProcessDialog",
1533
1533
  setup(e, { expose: s }) {
1534
- const t = E(!1), n = E(""), o = E(0), l = E("loading"), i = E(!1);
1534
+ const t = B(!1), n = B(""), o = B(0), l = B("loading"), i = B(!1);
1535
1535
  let a, r;
1536
1536
  const d = (S = {}) => {
1537
1537
  n.value = S.message ?? "加载中", i.value = S.showCancel ?? !1, o.value = S.percentage ?? 0, l.value = "loading", a = S.onCancel, r = S.onConfirm, t.value = !0;
@@ -1598,7 +1598,7 @@ const Gs = { class: "loading-mask el-overlay" }, Js = { class: "loading-content"
1598
1598
  A(" 取消 ", -1)
1599
1599
  ])]),
1600
1600
  _: 1
1601
- })) : z("", !0),
1601
+ })) : D("", !0),
1602
1602
  l.value !== "loading" ? (u(), x(T, {
1603
1603
  key: 1,
1604
1604
  type: "primary",
@@ -1608,7 +1608,7 @@ const Gs = { class: "loading-mask el-overlay" }, Js = { class: "loading-content"
1608
1608
  A(" 确定 ", -1)
1609
1609
  ])]),
1610
1610
  _: 1
1611
- })) : z("", !0)
1611
+ })) : D("", !0)
1612
1612
  ])
1613
1613
  ])
1614
1614
  ], 512)), [
@@ -1749,7 +1749,7 @@ const Vi = {
1749
1749
  }), sl = ["innerHTML"], Mi = /* @__PURE__ */ $({
1750
1750
  __name: "LogPrint",
1751
1751
  setup(e, { expose: s }) {
1752
- const t = E([]), n = ce("logBoxRef");
1752
+ const t = B([]), n = ce("logBoxRef");
1753
1753
  function o(i) {
1754
1754
  t.value.push(`[${mn()}] ${i}`), t.value.length > 500 && t.value.shift(), fe(() => {
1755
1755
  n.value && (n.value.scrollTop = n.value.scrollHeight);
@@ -1792,7 +1792,7 @@ const Vi = {
1792
1792
  alt: "face",
1793
1793
  src: t.value
1794
1794
  }, null, 8, ol),
1795
- e.user.silence === 1 ? (u(), _("span", il, "账号已封禁")) : z("", !0)
1795
+ e.user.silence === 1 ? (u(), _("span", il, "账号已封禁")) : D("", !0)
1796
1796
  ]),
1797
1797
  c("div", cl, [
1798
1798
  c("div", rl, [
@@ -1842,7 +1842,7 @@ const Vi = {
1842
1842
  class: "bili-user-info__face",
1843
1843
  src: e.user.face,
1844
1844
  alt: "face"
1845
- }, null, 8, kl)) : z("", !0),
1845
+ }, null, 8, kl)) : D("", !0),
1846
1846
  c("div", Al, [
1847
1847
  p(n, {
1848
1848
  class: "bili-user-info__name",
@@ -1889,7 +1889,7 @@ const Vi = {
1889
1889
  }, 8, ["index"]));
1890
1890
  };
1891
1891
  }
1892
- }), El = /* @__PURE__ */ $({
1892
+ }), Bl = /* @__PURE__ */ $({
1893
1893
  __name: "PluginMenus",
1894
1894
  props: {
1895
1895
  menus: {},
@@ -1923,7 +1923,7 @@ const Vi = {
1923
1923
  ]),
1924
1924
  _: 3
1925
1925
  })
1926
- ], !0) : z("", !0),
1926
+ ], !0) : D("", !0),
1927
1927
  (u(!0), _(F, null, J(e.menus, (b) => (u(), x(Lt, {
1928
1928
  key: b.path,
1929
1929
  menu: b,
@@ -1939,13 +1939,13 @@ const Vi = {
1939
1939
  ]),
1940
1940
  _: 3
1941
1941
  })
1942
- ], !0) : z("", !0)
1942
+ ], !0) : D("", !0)
1943
1943
  ]),
1944
1944
  _: 3
1945
1945
  }, 8, ["default-active"]);
1946
1946
  };
1947
1947
  }
1948
- }), Bl = /* @__PURE__ */ H(El, [["__scopeId", "data-v-6dfc7821"]]);
1948
+ }), El = /* @__PURE__ */ H(Bl, [["__scopeId", "data-v-6dfc7821"]]);
1949
1949
  new ln();
1950
1950
  var Te = /* @__PURE__ */ new Map(), Ot = async (e, s) => {
1951
1951
  const t = await window.toolkitApi.bili.createBiliClient({
@@ -2024,7 +2024,7 @@ const Il = { class: "plugin-page-header" }, Ml = { class: "plugin-page-header__u
2024
2024
  pe("当前用户 cookie 已失效"), t.deleteUser();
2025
2025
  }
2026
2026
  }), (g, m) => {
2027
- const f = Bl, y = de, b = yl, V = Sn, S = $n, P = Bn, Q = En;
2027
+ const f = El, y = de, b = yl, V = Sn, S = $n, P = En, Q = Bn;
2028
2028
  return u(), _("div", Il, [
2029
2029
  p(f, {
2030
2030
  class: "plugin-page-header__menus",
@@ -2091,7 +2091,7 @@ const Il = { class: "plugin-page-header" }, Ml = { class: "plugin-page-header__u
2091
2091
  A("取消选择", -1)
2092
2092
  ])]),
2093
2093
  _: 1
2094
- })) : z("", !0)
2094
+ })) : D("", !0)
2095
2095
  ]),
2096
2096
  _: 1
2097
2097
  })
@@ -2132,9 +2132,9 @@ const Hi = /* @__PURE__ */ H(Ll, [["render", Ul], ["__scopeId", "data-v-ddcb3392
2132
2132
  class: n.class,
2133
2133
  style: n.style
2134
2134
  })), l = C(() => {
2135
- const { class: B, style: R, ...Y } = n;
2135
+ const { class: E, style: R, ...Y } = n;
2136
2136
  return Y;
2137
- }), i = e, a = E(!1), r = C(() => i.pageParams ? i.pageParams : {
2137
+ }), i = e, a = B(!1), r = C(() => i.pageParams ? i.pageParams : {
2138
2138
  pageNum: 1,
2139
2139
  pageSize: i.pageSizes[0]
2140
2140
  }), {
@@ -2152,39 +2152,39 @@ const Hi = /* @__PURE__ */ H(Ll, [["render", Ul], ["__scopeId", "data-v-ddcb3392
2152
2152
  queryParams: i.queryParams ? () => i.queryParams : void 0,
2153
2153
  autoLoad: i.autoLoad,
2154
2154
  onLoaded: () => {
2155
- a.value = !0, D.value?.setScrollTop(0);
2155
+ a.value = !0, z.value?.setScrollTop(0);
2156
2156
  }
2157
2157
  }), P = t, Q = () => {
2158
2158
  P("search"), f();
2159
2159
  }, j = async () => {
2160
2160
  P("reset"), await fe(), await y();
2161
- }, { elementRef: T, height: k } = On("tableWrapperRef"), D = ce("tableRef"), q = C(() => i.tableHeight ? i.tableHeight : k.value), se = C(() => ({
2161
+ }, { elementRef: T, height: k } = On("tableWrapperRef"), z = ce("tableRef"), q = C(() => i.tableHeight ? i.tableHeight : k.value), se = C(() => ({
2162
2162
  search: i.actions.includes("search"),
2163
2163
  resetQuery: i.actions.includes("resetQuery")
2164
2164
  })), le = C(() => i.pageSizes && i.pageSizes.length > 1 ? "total, sizes, prev, pager, next, jumper" : "total, prev, pager, next, jumper"), M = !!it().query;
2165
2165
  return s({
2166
2166
  loading: m,
2167
- tableRef: D,
2167
+ tableRef: z,
2168
2168
  tableData: g,
2169
2169
  pageData: d,
2170
2170
  refresh: f,
2171
2171
  resetAndRefresh: y,
2172
2172
  resetPageAndRefresh: b,
2173
- getSelectionRows: D.value?.getSelectionRows,
2174
- toggleRowSelection: D.value?.toggleRowSelection,
2175
- setCurrentRow: D.value?.setCurrentRow,
2176
- clearSelection: D.value?.clearSelection,
2177
- scrollTo: D.value?.scrollTo
2178
- }), (B, R) => {
2179
- const Y = K, Be = zn, $e = gt, U = Dn, We = ht, Nt = xe;
2173
+ getSelectionRows: z.value?.getSelectionRows,
2174
+ toggleRowSelection: z.value?.toggleRowSelection,
2175
+ setCurrentRow: z.value?.setCurrentRow,
2176
+ clearSelection: z.value?.clearSelection,
2177
+ scrollTo: z.value?.scrollTo
2178
+ }), (E, R) => {
2179
+ const Y = K, Ee = zn, $e = gt, U = Dn, We = ht, Nt = xe;
2180
2180
  return ee((u(), _("div", ae({ class: "page-table" }, o.value), [
2181
2181
  c("div", Fl, [
2182
2182
  c("div", {
2183
2183
  class: N(["page-table__query", M ? "has-query" : ""])
2184
2184
  }, [
2185
- I(B.$slots, "query", {}, void 0, !0),
2185
+ I(E.$slots, "query", {}, void 0, !0),
2186
2186
  c("div", ql, [
2187
- I(B.$slots, "actions", {}, void 0, !0),
2187
+ I(E.$slots, "actions", {}, void 0, !0),
2188
2188
  se.value.search ? (u(), x(Y, {
2189
2189
  key: 0,
2190
2190
  type: "primary",
@@ -2194,7 +2194,7 @@ const Hi = /* @__PURE__ */ H(Ll, [["render", Ul], ["__scopeId", "data-v-ddcb3392
2194
2194
  A(h(e.searchActionLabel), 1)
2195
2195
  ]),
2196
2196
  _: 1
2197
- })) : z("", !0),
2197
+ })) : D("", !0),
2198
2198
  se.value.resetQuery ? (u(), x(Y, {
2199
2199
  key: 1,
2200
2200
  onClick: j
@@ -2203,7 +2203,7 @@ const Hi = /* @__PURE__ */ H(Ll, [["render", Ul], ["__scopeId", "data-v-ddcb3392
2203
2203
  A("重置", -1)
2204
2204
  ])]),
2205
2205
  _: 1
2206
- })) : z("", !0)
2206
+ })) : D("", !0)
2207
2207
  ])
2208
2208
  ], 2)
2209
2209
  ]),
@@ -2215,7 +2215,7 @@ const Hi = /* @__PURE__ */ H(Ll, [["render", Ul], ["__scopeId", "data-v-ddcb3392
2215
2215
  a.value ? (u(), x(U, ae({
2216
2216
  key: 0,
2217
2217
  ref_key: "tableRef",
2218
- ref: D
2218
+ ref: z
2219
2219
  }, l.value, {
2220
2220
  class: "page-table__table",
2221
2221
  data: w(g),
@@ -2225,20 +2225,20 @@ const Hi = /* @__PURE__ */ H(Ll, [["render", Ul], ["__scopeId", "data-v-ddcb3392
2225
2225
  "highlight-current-row": e.selectionMode === "single"
2226
2226
  }), {
2227
2227
  empty: v(() => [
2228
- I(B.$slots, "empty", {}, () => [
2228
+ I(E.$slots, "empty", {}, () => [
2229
2229
  p($e, { description: "没有数据" })
2230
2230
  ], !0)
2231
2231
  ]),
2232
2232
  default: v(() => [
2233
- e.selectionMode === "multiple" ? (u(), x(Be, {
2233
+ e.selectionMode === "multiple" ? (u(), x(Ee, {
2234
2234
  key: 0,
2235
2235
  type: "selection",
2236
2236
  width: "55"
2237
- })) : z("", !0),
2238
- I(B.$slots, "default", {}, void 0, !0)
2237
+ })) : D("", !0),
2238
+ I(E.$slots, "default", {}, void 0, !0)
2239
2239
  ]),
2240
2240
  _: 3
2241
- }, 16, ["data", "height", "table-layout", "highlight-current-row"])) : z("", !0)
2241
+ }, 16, ["data", "height", "table-layout", "highlight-current-row"])) : D("", !0)
2242
2242
  ], 512),
2243
2243
  p(We, {
2244
2244
  class: "page-table__pagination",
@@ -2268,7 +2268,7 @@ const Hi = /* @__PURE__ */ H(Ll, [["render", Ul], ["__scopeId", "data-v-ddcb3392
2268
2268
  },
2269
2269
  emits: ["confirm", "cancel"],
2270
2270
  setup(e, { emit: s }) {
2271
- const t = s, n = E(localStorage.getItem(tt) === "true");
2271
+ const t = s, n = B(localStorage.getItem(tt) === "true");
2272
2272
  function o() {
2273
2273
  localStorage.setItem(tt, String(n.value));
2274
2274
  }
@@ -2392,7 +2392,13 @@ const Hi = /* @__PURE__ */ H(Ll, [["render", Ul], ["__scopeId", "data-v-ddcb3392
2392
2392
  }, null, 8, ["percentage", "status", "striped", "striped-flow"]);
2393
2393
  };
2394
2394
  }
2395
- }), Qe = (e) => hn(e / 1024), Nl = (e) => e === 0 ? "0 KB/s" : e < 1024 ? e.toFixed(1) + " KB/s" : (e / 1024).toFixed(1) + " MB/s", He = (e) => e <= 1e4 ? String(e) : e < 1e8 ? (e / 1e4).toFixed(1) + "万" : (e / 1e8).toFixed(1) + "亿", Zl = { class: "detail-item" }, Gl = { class: "value" }, Jl = { class: "detail-item" }, Kl = { class: "value" }, Yl = { class: "detail-item" }, Xl = { class: "value" }, ea = /* @__PURE__ */ $({
2395
+ }), Qe = (e) => hn(e / 1024), Nl = (e) => e === 0 ? "0 KB/s" : e < 1024 ? e.toFixed(1) + " KB/s" : (e / 1024).toFixed(1) + " MB/s", He = (e) => e <= 1e4 ? String(e) : e < 1e8 ? (e / 1e4).toFixed(1) + "万" : (e / 1e8).toFixed(1) + "亿", Zl = {
2396
+ key: 0,
2397
+ class: "detail-item"
2398
+ }, Gl = { class: "value" }, Jl = { class: "detail-item" }, Kl = { class: "value" }, Yl = {
2399
+ key: 1,
2400
+ class: "detail-item"
2401
+ }, Xl = { class: "value" }, ea = /* @__PURE__ */ $({
2396
2402
  __name: "DownloadProgressDetails",
2397
2403
  props: {
2398
2404
  task: {},
@@ -2405,10 +2411,10 @@ const Hi = /* @__PURE__ */ H(Ll, [["render", Ul], ["__scopeId", "data-v-ddcb3392
2405
2411
  style: me({ gap: e.isCompact ? "10px" : "20px" })
2406
2412
  }, [
2407
2413
  e.task.progress ? (u(), _(F, { key: 0 }, [
2408
- c("div", Zl, [
2414
+ e.task.progress.speedKBps ? (u(), _("div", Zl, [
2409
2415
  t[0] || (t[0] = c("span", { class: "label" }, "速度:", -1)),
2410
2416
  c("span", Gl, h(w(Nl)(e.task.progress.speedKBps)), 1)
2411
- ]),
2417
+ ])) : D("", !0),
2412
2418
  c("div", Jl, [
2413
2419
  t[2] || (t[2] = c("span", { class: "label" }, "文件:", -1)),
2414
2420
  c("div", Kl, [
@@ -2417,18 +2423,18 @@ const Hi = /* @__PURE__ */ H(Ll, [["render", Ul], ["__scopeId", "data-v-ddcb3392
2417
2423
  c("span", null, h(e.resourceCount), 1)
2418
2424
  ])
2419
2425
  ]),
2420
- c("div", Yl, [
2426
+ e.task.progress.completedBytes && e.task.progress.totalBytes ? (u(), _("div", Yl, [
2421
2427
  t[4] || (t[4] = c("span", { class: "label" }, "已完成:", -1)),
2422
2428
  c("div", Xl, [
2423
2429
  c("span", null, h(w(Qe)(e.task.progress.completedBytes)), 1),
2424
2430
  t[3] || (t[3] = c("span", null, " / ", -1)),
2425
2431
  c("span", null, h(w(Qe)(e.task.progress.totalBytes)), 1)
2426
2432
  ])
2427
- ])
2428
- ], 64)) : z("", !0)
2433
+ ])) : D("", !0)
2434
+ ], 64)) : D("", !0)
2429
2435
  ], 4));
2430
2436
  }
2431
- }), jt = /* @__PURE__ */ H(ea, [["__scopeId", "data-v-1923a35f"]]), ta = { class: "download-result" }, na = {
2437
+ }), jt = /* @__PURE__ */ H(ea, [["__scopeId", "data-v-6e1cba24"]]), ta = { class: "download-result" }, na = {
2432
2438
  key: 0,
2433
2439
  class: "detail-item"
2434
2440
  }, sa = { class: "detail-item" }, la = { class: "detail-item" }, aa = /* @__PURE__ */ $({
@@ -2445,7 +2451,7 @@ const Hi = /* @__PURE__ */ H(Ll, [["render", Ul], ["__scopeId", "data-v-ddcb3392
2445
2451
  t[0] || (t[0] = c("span", { class: "hint" }, "总共:", -1)),
2446
2452
  e.task.result ? (u(), _("span", na, [
2447
2453
  c("span", null, h(w(Qe)(e.task.result.totalBytes)), 1)
2448
- ])) : z("", !0),
2454
+ ])) : D("", !0),
2449
2455
  c("span", sa, [
2450
2456
  p(n, { icon: "video" }),
2451
2457
  c("span", null, h(e.videoCount) + " 个视频", 1)
@@ -2560,7 +2566,7 @@ const Hi = /* @__PURE__ */ H(Ll, [["render", Ul], ["__scopeId", "data-v-ddcb3392
2560
2566
  A(h(w(an)[t.value]), 1)
2561
2567
  ]),
2562
2568
  _: 1
2563
- })) : z("", !0),
2569
+ })) : D("", !0),
2564
2570
  n.value ? (u(), x(r, {
2565
2571
  key: 1,
2566
2572
  type: "info",
@@ -2570,7 +2576,7 @@ const Hi = /* @__PURE__ */ H(Ll, [["render", Ul], ["__scopeId", "data-v-ddcb3392
2570
2576
  A(h(w(on)[n.value]), 1)
2571
2577
  ]),
2572
2578
  _: 1
2573
- })) : z("", !0),
2579
+ })) : D("", !0),
2574
2580
  o.value ? (u(), x(r, {
2575
2581
  key: 2,
2576
2582
  type: "info",
@@ -2580,7 +2586,7 @@ const Hi = /* @__PURE__ */ H(Ll, [["render", Ul], ["__scopeId", "data-v-ddcb3392
2580
2586
  A(h(w(cn)[o.value]), 1)
2581
2587
  ]),
2582
2588
  _: 1
2583
- })) : z("", !0),
2589
+ })) : D("", !0),
2584
2590
  c("span", null, h(w(Le)(e.part.snapshot.duration)), 1)
2585
2591
  ])
2586
2592
  ]);
@@ -2589,7 +2595,7 @@ const Hi = /* @__PURE__ */ H(Ll, [["render", Ul], ["__scopeId", "data-v-ddcb3392
2589
2595
  }), fa = /* @__PURE__ */ H(ma, [["__scopeId", "data-v-84c28695"]]), ga = (e) => {
2590
2596
  const s = rn(e.tid), t = un(e.tid_v2);
2591
2597
  return t ? t.subZoneName ? `${t.mainZoneName} > ${t.subZoneName}` : t.mainZoneName : s ? s.subZoneName ? `${s.mainZoneName} > ${s.subZoneName}` : s.mainZoneName : "";
2592
- }, ha = { class: "download-video-card" }, _a = { class: "info-row" }, wa = { class: "info-left" }, ya = { class: "cover-image" }, ba = { class: "cover-placeholder" }, ka = { class: "download-cover-stats" }, Aa = { class: "download-cover-stats__duration" }, Ca = { class: "info-right" }, xa = { class: "info-row" }, Sa = { class: "info-row" }, Ea = { class: "user-info" }, Ba = ["src"], $a = { class: "user-name" }, Da = { class: "zone" }, za = { class: "pubdate" }, Va = { class: "info-row stats" }, Pa = { class: "bvid" }, Ia = { class: "info-row" }, Ma = { class: "part-list" }, Ta = /* @__PURE__ */ $({
2598
+ }, ha = { class: "download-video-card" }, _a = { class: "info-row" }, wa = { class: "info-left" }, ya = { class: "cover-image" }, ba = { class: "cover-placeholder" }, ka = { class: "download-cover-stats" }, Aa = { class: "download-cover-stats__duration" }, Ca = { class: "info-right" }, xa = { class: "info-row" }, Sa = { class: "info-row" }, Ba = { class: "user-info" }, Ea = ["src"], $a = { class: "user-name" }, Da = { class: "zone" }, za = { class: "pubdate" }, Va = { class: "info-row stats" }, Pa = { class: "bvid" }, Ia = { class: "info-row" }, Ma = { class: "part-list" }, Ta = /* @__PURE__ */ $({
2593
2599
  __name: "DownloadVideoCard",
2594
2600
  props: {
2595
2601
  video: {}
@@ -2598,7 +2604,7 @@ const Hi = /* @__PURE__ */ H(Ll, [["render", Ul], ["__scopeId", "data-v-ddcb3392
2598
2604
  setup(e, { emit: s }) {
2599
2605
  const t = e, n = C(() => t.video.snapshot), o = C(() => {
2600
2606
  const a = t.video.parts;
2601
- return a.length >= 1 ? a[0].resources.map((r) => r.type) : [];
2607
+ return a.length >= 1 ? Array.from(new Set(a[0].resources.map((r) => r.type))) : [];
2602
2608
  }), l = async () => {
2603
2609
  window.open(`https://www.bilibili.com/video/${n.value.bvid}`);
2604
2610
  }, i = s;
@@ -2661,12 +2667,12 @@ const Hi = /* @__PURE__ */ H(Ll, [["render", Ul], ["__scopeId", "data-v-ddcb3392
2661
2667
  }, 8, ["content"])
2662
2668
  ]),
2663
2669
  c("div", Sa, [
2664
- c("div", Ea, [
2670
+ c("div", Ba, [
2665
2671
  c("img", {
2666
2672
  class: "user-face",
2667
2673
  src: n.value.owner.face,
2668
2674
  alt: "face"
2669
- }, null, 8, Ba),
2675
+ }, null, 8, Ea),
2670
2676
  c("div", $a, h(n.value.owner.name), 1)
2671
2677
  ]),
2672
2678
  c("div", Da, h(w(ga)(n.value)), 1),
@@ -2698,7 +2704,7 @@ const Hi = /* @__PURE__ */ H(Ll, [["render", Ul], ["__scopeId", "data-v-ddcb3392
2698
2704
  ]);
2699
2705
  };
2700
2706
  }
2701
- }), Qa = /* @__PURE__ */ H(Ta, [["__scopeId", "data-v-48f910dd"]]), Ha = { class: "task-modal" }, Ra = {
2707
+ }), Qa = /* @__PURE__ */ H(Ta, [["__scopeId", "data-v-41373f23"]]), Ha = { class: "task-modal" }, Ra = {
2702
2708
  key: 0,
2703
2709
  class: "dialog-content"
2704
2710
  }, La = { key: 1 }, Oa = { class: "video-list-container" }, Ua = { class: "header" }, Fa = /* @__PURE__ */ $({
@@ -2753,7 +2759,7 @@ const Hi = /* @__PURE__ */ H(Ll, [["render", Ul], ["__scopeId", "data-v-ddcb3392
2753
2759
  ]),
2754
2760
  _: 1
2755
2761
  }),
2756
- p(d, { label: "任务类型" }, {
2762
+ p(d, { label: "任务标题" }, {
2757
2763
  default: v(() => [
2758
2764
  A(h(e.task.title), 1)
2759
2765
  ]),
@@ -2798,7 +2804,7 @@ const Hi = /* @__PURE__ */ H(Ll, [["render", Ul], ["__scopeId", "data-v-ddcb3392
2798
2804
  }, null, 8, ["task", "resourceCount"])
2799
2805
  ]),
2800
2806
  _: 1
2801
- })) : z("", !0),
2807
+ })) : D("", !0),
2802
2808
  e.task.result ? (u(), x(d, {
2803
2809
  key: 1,
2804
2810
  label: "任务结果",
@@ -2812,7 +2818,7 @@ const Hi = /* @__PURE__ */ H(Ll, [["render", Ul], ["__scopeId", "data-v-ddcb3392
2812
2818
  }, null, 8, ["task", "videoCount", "resourceCount"])
2813
2819
  ]),
2814
2820
  _: 1
2815
- })) : z("", !0),
2821
+ })) : D("", !0),
2816
2822
  e.task.error ? (u(), x(d, {
2817
2823
  key: 2,
2818
2824
  label: "错误信息",
@@ -2823,7 +2829,7 @@ const Hi = /* @__PURE__ */ H(Ll, [["render", Ul], ["__scopeId", "data-v-ddcb3392
2823
2829
  A(h(e.task.error), 1)
2824
2830
  ]),
2825
2831
  _: 1
2826
- })) : z("", !0),
2832
+ })) : D("", !0),
2827
2833
  p(d, { label: "操作用户" }, {
2828
2834
  default: v(() => [
2829
2835
  r[1] || (r[1] = c("div", {
@@ -2859,14 +2865,14 @@ const Hi = /* @__PURE__ */ H(Ll, [["render", Ul], ["__scopeId", "data-v-ddcb3392
2859
2865
  ]))), 128))
2860
2866
  ], 512)
2861
2867
  ])
2862
- ])) : z("", !0)
2868
+ ])) : D("", !0)
2863
2869
  ]),
2864
2870
  _: 3
2865
2871
  }, 8, ["modelValue"])
2866
2872
  ]);
2867
2873
  };
2868
2874
  }
2869
- }), qa = /* @__PURE__ */ H(Fa, [["__scopeId", "data-v-61e2a51e"]]), ja = { class: "download-task-card" }, Wa = { class: "cover" }, Na = { class: "cover-image" }, Za = { class: "cover-placeholder" }, Ga = { class: "download-cover-stats" }, Ja = { class: "download-stats__duration" }, Ka = { class: "time" }, Ya = { class: "content" }, Xa = { class: "header" }, eo = { class: "actions" }, to = /* @__PURE__ */ $({
2875
+ }), qa = /* @__PURE__ */ H(Fa, [["__scopeId", "data-v-74b4879a"]]), ja = { class: "download-task-card" }, Wa = { class: "cover" }, Na = { class: "cover-image" }, Za = { class: "cover-placeholder" }, Ga = { class: "download-cover-stats" }, Ja = { class: "download-stats__duration" }, Ka = { class: "time" }, Ya = { class: "content" }, Xa = { class: "header" }, eo = { class: "actions" }, to = /* @__PURE__ */ $({
2870
2876
  __name: "DownloadItem",
2871
2877
  props: {
2872
2878
  task: {}
@@ -2939,7 +2945,7 @@ const Hi = /* @__PURE__ */ H(Ll, [["render", Ul], ["__scopeId", "data-v-ddcb3392
2939
2945
  A(h(e.task.error), 1)
2940
2946
  ]),
2941
2947
  _: 1
2942
- }, 8, ["content"])) : z("", !0),
2948
+ }, 8, ["content"])) : D("", !0),
2943
2949
  c("div", eo, [
2944
2950
  p(m, {
2945
2951
  size: "small",
@@ -2968,7 +2974,7 @@ const Hi = /* @__PURE__ */ H(Ll, [["render", Ul], ["__scopeId", "data-v-ddcb3392
2968
2974
  A(" 暂停 ", -1)
2969
2975
  ])]),
2970
2976
  _: 1
2971
- })) : z("", !0),
2977
+ })) : D("", !0),
2972
2978
  e.task.status === "paused" || e.task.status === "pending" ? (u(), x(m, {
2973
2979
  key: 1,
2974
2980
  size: "small",
@@ -2978,7 +2984,7 @@ const Hi = /* @__PURE__ */ H(Ll, [["render", Ul], ["__scopeId", "data-v-ddcb3392
2978
2984
  A(" 取消 ", -1)
2979
2985
  ])]),
2980
2986
  _: 1
2981
- })) : z("", !0),
2987
+ })) : D("", !0),
2982
2988
  e.task.status === "paused" ? (u(), x(m, {
2983
2989
  key: 2,
2984
2990
  size: "small",
@@ -2988,7 +2994,7 @@ const Hi = /* @__PURE__ */ H(Ll, [["render", Ul], ["__scopeId", "data-v-ddcb3392
2988
2994
  A(" 继续 ", -1)
2989
2995
  ])]),
2990
2996
  _: 1
2991
- })) : z("", !0),
2997
+ })) : D("", !0),
2992
2998
  p(m, {
2993
2999
  size: "small",
2994
3000
  onClick: a[5] || (a[5] = (f) => i.$emit("action", "delete", e.task))
@@ -3006,7 +3012,7 @@ const Hi = /* @__PURE__ */ H(Ll, [["render", Ul], ["__scopeId", "data-v-ddcb3392
3006
3012
  }), no = /* @__PURE__ */ H(to, [["__scopeId", "data-v-71192ed6"]]);
3007
3013
  function so(e) {
3008
3014
  return new Promise((s, t) => {
3009
- const n = E(!0), o = document.createElement("div");
3015
+ const n = B(!0), o = document.createElement("div");
3010
3016
  document.body.appendChild(o);
3011
3017
  let l = null;
3012
3018
  function i() {
@@ -3054,10 +3060,10 @@ const lo = async (e) => {
3054
3060
  pageSizes: { default: () => [20, 40, 100] }
3055
3061
  },
3056
3062
  setup(e, { expose: s }) {
3057
- const t = e, n = ce("refList"), o = E({
3063
+ const t = e, n = ce("refList"), o = B({
3058
3064
  pageNum: 1,
3059
3065
  pageSize: t.pageSizes[0]
3060
- }), l = E("all"), i = E({
3066
+ }), l = B("all"), i = B({
3061
3067
  status: void 0,
3062
3068
  title: ""
3063
3069
  }), a = () => {
@@ -3079,7 +3085,7 @@ const lo = async (e) => {
3079
3085
  onLoaded: () => {
3080
3086
  fe(() => n.value?.scrollTo(0, 0));
3081
3087
  }
3082
- }), S = E({
3088
+ }), S = B({
3083
3089
  visible: !1
3084
3090
  }), P = async (T, k) => {
3085
3091
  switch (T) {
@@ -3100,8 +3106,8 @@ const lo = async (e) => {
3100
3106
  break;
3101
3107
  case "delete":
3102
3108
  await co(k);
3103
- const D = d.value.findIndex((q) => q.id === k.id);
3104
- D > -1 && d.value.splice(D, 1), d.value.length < 1 && await y(), ue("删除任务成功");
3109
+ const z = d.value.findIndex((q) => q.id === k.id);
3110
+ z > -1 && d.value.splice(z, 1), d.value.length < 1 && await y(), ue("删除任务成功");
3105
3111
  break;
3106
3112
  }
3107
3113
  };
@@ -3109,9 +3115,9 @@ const lo = async (e) => {
3109
3115
  ne(async () => {
3110
3116
  Q = await L.download.onUpdated((T) => {
3111
3117
  for (let k = 0; k < d.value.length; k++) {
3112
- const D = d.value[k];
3113
- if (D.id === T.id) {
3114
- l.value === "all" || D.status === T.status ? Object.assign(D, T) : d.value.splice(k, 1);
3118
+ const z = d.value[k];
3119
+ if (z.id === T.id) {
3120
+ l.value === "all" || z.status === T.status ? Object.assign(z, T) : d.value.splice(k, 1);
3115
3121
  return;
3116
3122
  }
3117
3123
  }
@@ -3124,35 +3130,35 @@ const lo = async (e) => {
3124
3130
  refresh: m,
3125
3131
  resetAndRefresh: f
3126
3132
  }), (T, k) => {
3127
- const D = Qn, q = Tn, se = pt, le = K, W = gt, M = ht;
3133
+ const z = Qn, q = Tn, se = pt, le = K, W = gt, M = ht;
3128
3134
  return u(), _(F, null, [
3129
3135
  c("div", ro, [
3130
3136
  c("div", uo, [
3131
3137
  I(T.$slots, "queryList", {}, () => [
3132
3138
  p(q, {
3133
3139
  modelValue: l.value,
3134
- "onUpdate:modelValue": k[0] || (k[0] = (B) => l.value = B),
3140
+ "onUpdate:modelValue": k[0] || (k[0] = (E) => l.value = E),
3135
3141
  size: "small",
3136
3142
  onChange: a
3137
3143
  }, {
3138
3144
  default: v(() => [
3139
- p(D, {
3145
+ p(z, {
3140
3146
  label: "全部",
3141
3147
  value: "all"
3142
3148
  }),
3143
- p(D, {
3149
+ p(z, {
3144
3150
  label: "已完成",
3145
3151
  value: "completed"
3146
3152
  }),
3147
- p(D, {
3153
+ p(z, {
3148
3154
  label: "下载中",
3149
3155
  value: "downloading"
3150
3156
  }),
3151
- p(D, {
3157
+ p(z, {
3152
3158
  label: "暂停中",
3153
3159
  value: "paused"
3154
3160
  }),
3155
- p(D, {
3161
+ p(z, {
3156
3162
  label: "已失败",
3157
3163
  value: "failed"
3158
3164
  })
@@ -3161,7 +3167,7 @@ const lo = async (e) => {
3161
3167
  }, 8, ["modelValue"]),
3162
3168
  p(se, {
3163
3169
  modelValue: i.value.title,
3164
- "onUpdate:modelValue": k[1] || (k[1] = (B) => i.value.title = B),
3170
+ "onUpdate:modelValue": k[1] || (k[1] = (E) => i.value.title = E),
3165
3171
  onChange: w(y),
3166
3172
  size: "small",
3167
3173
  placeholder: "标题",
@@ -3175,7 +3181,7 @@ const lo = async (e) => {
3175
3181
  e.showDefaultActions ? (u(), _(F, { key: 0 }, [
3176
3182
  p(le, {
3177
3183
  size: "small",
3178
- onClick: k[2] || (k[2] = (B) => w(L).download.pauseAll())
3184
+ onClick: k[2] || (k[2] = (E) => w(L).download.pauseAll())
3179
3185
  }, {
3180
3186
  default: v(() => [...k[7] || (k[7] = [
3181
3187
  A("暂停所有任务", -1)
@@ -3184,14 +3190,14 @@ const lo = async (e) => {
3184
3190
  }),
3185
3191
  p(le, {
3186
3192
  size: "small",
3187
- onClick: k[3] || (k[3] = (B) => w(L).download.resumeAll())
3193
+ onClick: k[3] || (k[3] = (E) => w(L).download.resumeAll())
3188
3194
  }, {
3189
3195
  default: v(() => [...k[8] || (k[8] = [
3190
3196
  A("继续所有任务", -1)
3191
3197
  ])]),
3192
3198
  _: 1
3193
3199
  })
3194
- ], 64)) : z("", !0)
3200
+ ], 64)) : D("", !0)
3195
3201
  ])
3196
3202
  ]),
3197
3203
  c("div", po, [
@@ -3200,9 +3206,9 @@ const lo = async (e) => {
3200
3206
  ref: n,
3201
3207
  class: "download-list"
3202
3208
  }, [
3203
- (u(!0), _(F, null, J(w(d), (B) => (u(), x(no, {
3204
- task: B,
3205
- key: B.id,
3209
+ (u(!0), _(F, null, J(w(d), (E) => (u(), x(no, {
3210
+ task: E,
3211
+ key: E.id,
3206
3212
  onAction: P
3207
3213
  }, {
3208
3214
  titleExtra: v((R) => [
@@ -3210,7 +3216,7 @@ const lo = async (e) => {
3210
3216
  ]),
3211
3217
  _: 3
3212
3218
  }, 8, ["task"]))), 128)),
3213
- w(d).length ? z("", !0) : (u(), x(W, {
3219
+ w(d).length ? D("", !0) : (u(), x(W, {
3214
3220
  key: 0,
3215
3221
  description: j.value
3216
3222
  }, null, 8, ["description"]))
@@ -3219,9 +3225,9 @@ const lo = async (e) => {
3219
3225
  p(M, {
3220
3226
  class: "pagination",
3221
3227
  "current-page": w(r).pageNum,
3222
- "onUpdate:currentPage": k[4] || (k[4] = (B) => w(r).pageNum = B),
3228
+ "onUpdate:currentPage": k[4] || (k[4] = (E) => w(r).pageNum = E),
3223
3229
  "page-size": w(r).pageSize,
3224
- "onUpdate:pageSize": k[5] || (k[5] = (B) => w(r).pageSize = B),
3230
+ "onUpdate:pageSize": k[5] || (k[5] = (E) => w(r).pageSize = E),
3225
3231
  "page-sizes": e.pageSizes,
3226
3232
  total: w(r).total,
3227
3233
  layout: "total, sizes, prev, pager, next, jumper",
@@ -3230,14 +3236,14 @@ const lo = async (e) => {
3230
3236
  }, null, 8, ["current-page", "page-size", "page-sizes", "total", "onCurrentChange", "onSizeChange"]),
3231
3237
  p(qa, {
3232
3238
  modelValue: S.value.visible,
3233
- "onUpdate:modelValue": k[6] || (k[6] = (B) => S.value.visible = B),
3239
+ "onUpdate:modelValue": k[6] || (k[6] = (E) => S.value.visible = E),
3234
3240
  task: S.value.task
3235
3241
  }, {
3236
3242
  default: v(() => [
3237
3243
  S.value.task ? I(T.$slots, "detailsDialog", {
3238
3244
  key: 0,
3239
3245
  task: S.value.task
3240
- }, void 0, !0) : z("", !0)
3246
+ }, void 0, !0) : D("", !0)
3241
3247
  ]),
3242
3248
  _: 3
3243
3249
  }, 8, ["modelValue", "task"])
@@ -3282,7 +3288,7 @@ const Ui = (e) => {
3282
3288
  content: {}
3283
3289
  },
3284
3290
  setup(e) {
3285
- const s = e, t = E(null), n = E(null), o = E(!1), l = E(0);
3291
+ const s = e, t = B(null), n = B(null), o = B(!1), l = B(0);
3286
3292
  let i = null;
3287
3293
  const a = () => {
3288
3294
  if (!t.value || !n.value) return;
@@ -3333,7 +3339,7 @@ const Ui = (e) => {
3333
3339
  o.value ? (u(), _(F, { key: 0 }, [
3334
3340
  c("span", bo, h(e.content), 1),
3335
3341
  d[0] || (d[0] = c("span", { class: "spacer" }, null, -1))
3336
- ], 64)) : z("", !0)
3342
+ ], 64)) : D("", !0)
3337
3343
  ], 6)
3338
3344
  ], 512)
3339
3345
  ]),
@@ -3347,7 +3353,7 @@ export {
3347
3353
  de as AppTooltip,
3348
3354
  yl as BiliUserCard,
3349
3355
  Ti as BiliUserInfo,
3350
- Ei as CountdownDialog,
3356
+ Bi as CountdownDialog,
3351
3357
  Wl as DeleteConfirmDialog,
3352
3358
  qa as DownloadDetailsDialog,
3353
3359
  no as DownloadItem,
@@ -3369,7 +3375,7 @@ export {
3369
3375
  Fs as PageRangeDialog,
3370
3376
  Ri as PageTable,
3371
3377
  Lt as PluginMenuItem,
3372
- Bl as PluginMenus,
3378
+ El as PluginMenus,
3373
3379
  Hi as PluginPageContent,
3374
3380
  Qi as PluginPageHeader,
3375
3381
  tl as ProcessDialog,
@@ -3406,7 +3412,7 @@ export {
3406
3412
  so as showDeleteConfirmDialog,
3407
3413
  pe as showError,
3408
3414
  zi as showPageRangeDialog,
3409
- Bi as showSelectDialog,
3415
+ Ei as showSelectDialog,
3410
3416
  ue as showToast,
3411
3417
  $i as showVirtualSelectDialog,
3412
3418
  yi as showWarning,
@@ -3420,7 +3426,7 @@ export {
3420
3426
  ls as useCountdown,
3421
3427
  On as useElementHeight,
3422
3428
  Un as useElementScrollbar,
3423
- Ee as useLoadingData,
3429
+ Be as useLoadingData,
3424
3430
  Ci as useLoadingTask,
3425
3431
  bt as usePageTable,
3426
3432
  Ai as useSelectData,