nicklabs-ui 1.0.82 → 1.0.83

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.mjs CHANGED
@@ -9,13 +9,13 @@ function I() {
9
9
  }
10
10
  //#endregion
11
11
  //#region src/components/NButton.vue?vue&type=script&setup=true&lang.ts
12
- var ee = ["type", "disabled"], te = {
12
+ var L = ["type", "disabled"], R = {
13
13
  key: 0,
14
14
  class: "spinner",
15
15
  viewBox: "0 0 24 24",
16
16
  fill: "none",
17
17
  xmlns: "http://www.w3.org/2000/svg"
18
- }, L = /* @__PURE__ */ p({
18
+ }, z = /* @__PURE__ */ p({
19
19
  __name: "NButton",
20
20
  props: {
21
21
  variant: { default: "none" },
@@ -63,7 +63,7 @@ var ee = ["type", "disabled"], te = {
63
63
  ]),
64
64
  type: e.type,
65
65
  disabled: e.disabled || e.loading
66
- }, [e.loading ? (x(), s("svg", te, [...n[0] ||= [c("circle", {
66
+ }, [e.loading ? (x(), s("svg", R, [...n[0] ||= [c("circle", {
67
67
  cx: "12",
68
68
  cy: "12",
69
69
  r: "10",
@@ -72,30 +72,30 @@ var ee = ["type", "disabled"], te = {
72
72
  "stroke-linecap": "round",
73
73
  "stroke-dasharray": "32",
74
74
  "stroke-dashoffset": "12"
75
- }, null, -1)]])) : o("", !0), T(t.$slots, "default", {}, void 0, !0)], 10, ee));
75
+ }, null, -1)]])) : o("", !0), T(t.$slots, "default", {}, void 0, !0)], 10, L));
76
76
  }
77
- }), R = (e, t) => {
77
+ }), B = (e, t) => {
78
78
  let n = e.__vccOpts || e;
79
79
  for (let [e, r] of t) n[e] = r;
80
80
  return n;
81
- }, z = /* @__PURE__ */ R(L, [["__scopeId", "data-v-285afe14"]]), B = (e) => e.meta?.breadcrumb ?? "", V = C((e) => e);
82
- function H() {
81
+ }, V = /* @__PURE__ */ B(z, [["__scopeId", "data-v-285afe14"]]), H = (e) => e.meta?.breadcrumb ?? "", U = C((e) => e);
82
+ function W() {
83
83
  function e(e) {
84
- B = e;
84
+ H = e;
85
85
  }
86
86
  function t(e) {
87
- V.value = e;
87
+ U.value = e;
88
88
  }
89
89
  let n = i(() => {
90
90
  let e = I();
91
91
  if (!e) return [];
92
92
  let t = e.currentRoute.value.matched, n = [];
93
93
  return t.forEach((e, r) => {
94
- let i = B(e);
94
+ let i = H(e);
95
95
  if (!i) return;
96
96
  let a = r === t.length - 1;
97
97
  n.push({
98
- label: a ? V.value(i) : i,
98
+ label: a ? U.value(i) : i,
99
99
  path: a ? void 0 : e.path
100
100
  });
101
101
  }), n;
@@ -104,7 +104,7 @@ function H() {
104
104
  I()?.push(e);
105
105
  }
106
106
  function a() {
107
- V.value = (e) => e;
107
+ U.value = (e) => e;
108
108
  }
109
109
  return {
110
110
  breadcrumbs: n,
@@ -116,23 +116,23 @@ function H() {
116
116
  }
117
117
  //#endregion
118
118
  //#region src/components/NBreadcrumb.vue?vue&type=script&setup=true&lang.ts
119
- var U = { class: "breadcrumbs" }, W = ["onClick"], ne = {
119
+ var G = { class: "breadcrumbs" }, K = ["onClick"], ee = {
120
120
  key: 1,
121
121
  class: "active"
122
- }, re = /* @__PURE__ */ R(/* @__PURE__ */ p({
122
+ }, te = /* @__PURE__ */ B(/* @__PURE__ */ p({
123
123
  __name: "NBreadcrumb",
124
124
  setup(t) {
125
- let { breadcrumbs: n, navigate: r } = H();
126
- return (t, i) => (x(), s("nav", U, [(x(!0), s(e, null, w(D(n), (t, n) => (x(), s(e, { key: n }, [t.path ? (x(), s("span", {
125
+ let { breadcrumbs: n, navigate: r } = W();
126
+ return (t, i) => (x(), s("nav", G, [(x(!0), s(e, null, w(D(n), (t, n) => (x(), s(e, { key: n }, [t.path ? (x(), s("span", {
127
127
  key: 0,
128
128
  class: "crumb-link",
129
129
  onClick: (e) => D(r)(t.path)
130
- }, E(t.label), 9, W)) : (x(), s("span", ne, E(t.label), 1))], 64))), 128))]));
130
+ }, E(t.label), 9, K)) : (x(), s("span", ee, E(t.label), 1))], 64))), 128))]));
131
131
  }
132
- }), [["__scopeId", "data-v-46f3b63f"]]), G = {
132
+ }), [["__scopeId", "data-v-46f3b63f"]]), q = {
133
133
  key: 0,
134
134
  class: "label"
135
- }, K = ["disabled"], ie = [
135
+ }, ne = ["disabled"], re = [
136
136
  "type",
137
137
  "placeholder",
138
138
  "disabled",
@@ -140,7 +140,7 @@ var U = { class: "breadcrumbs" }, W = ["onClick"], ne = {
140
140
  "value",
141
141
  "maxlength",
142
142
  "autocomplete"
143
- ], q = ["disabled"], ae = {
143
+ ], ie = ["disabled"], ae = {
144
144
  key: 2,
145
145
  class: "actions"
146
146
  }, oe = {
@@ -165,7 +165,7 @@ var U = { class: "breadcrumbs" }, W = ["onClick"], ne = {
165
165
  "stroke-width": "2",
166
166
  "stroke-linecap": "round",
167
167
  "stroke-linejoin": "round"
168
- }, ce = /* @__PURE__ */ R(/* @__PURE__ */ p({
168
+ }, ce = /* @__PURE__ */ B(/* @__PURE__ */ p({
169
169
  __name: "NInput",
170
170
  props: {
171
171
  modelValue: { default: "" },
@@ -270,7 +270,7 @@ var U = { class: "breadcrumbs" }, W = ["onClick"], ne = {
270
270
  }
271
271
  n("update:modelValue", e.min);
272
272
  }, T = () => l.value = !l.value;
273
- return (t, i) => (x(), s("div", { class: g(["input", { inline: e.inline }]) }, [e.title ? (x(), s("label", G, E(e.title), 1)) : o("", !0), c("div", { class: g({
273
+ return (t, i) => (x(), s("div", { class: g(["input", { inline: e.inline }]) }, [e.title ? (x(), s("label", q, E(e.title), 1)) : o("", !0), c("div", { class: g({
274
274
  common: !a.value,
275
275
  number: a.value,
276
276
  disabled: e.disabled,
@@ -292,7 +292,7 @@ var U = { class: "breadcrumbs" }, W = ["onClick"], ne = {
292
292
  "stroke-width": "2",
293
293
  "stroke-linecap": "round",
294
294
  "stroke-linejoin": "round"
295
- }, [c("path", { d: "M5 12h14" })], -1)]], 8, K)) : o("", !0),
295
+ }, [c("path", { d: "M5 12h14" })], -1)]], 8, ne)) : o("", !0),
296
296
  c("input", {
297
297
  type: u.value,
298
298
  placeholder: e.placeholder,
@@ -307,7 +307,7 @@ var U = { class: "breadcrumbs" }, W = ["onClick"], ne = {
307
307
  onChange: i[1] ||= (e) => n("change", e),
308
308
  onKeydown: h,
309
309
  onCompositionend: _
310
- }, null, 40, ie),
310
+ }, null, 40, re),
311
311
  a.value ? (x(), s("button", {
312
312
  key: 1,
313
313
  class: "tool-button",
@@ -324,7 +324,7 @@ var U = { class: "breadcrumbs" }, W = ["onClick"], ne = {
324
324
  "stroke-width": "2",
325
325
  "stroke-linecap": "round",
326
326
  "stroke-linejoin": "round"
327
- }, [c("path", { d: "M5 12h14" }), c("path", { d: "M12 5v14" })], -1)]], 8, q)) : o("", !0),
327
+ }, [c("path", { d: "M5 12h14" }), c("path", { d: "M12 5v14" })], -1)]], 8, ie)) : o("", !0),
328
328
  a.value ? o("", !0) : (x(), s("div", ae, [r.value && !e.disabled ? (x(), s("button", {
329
329
  key: 0,
330
330
  type: "button",
@@ -369,7 +369,7 @@ var U = { class: "breadcrumbs" }, W = ["onClick"], ne = {
369
369
  ], fe = {
370
370
  key: 1,
371
371
  class: "char-count"
372
- }, pe = /* @__PURE__ */ R(/* @__PURE__ */ p({
372
+ }, pe = /* @__PURE__ */ B(/* @__PURE__ */ p({
373
373
  __name: "NTextarea",
374
374
  props: {
375
375
  modelValue: { default: "" },
@@ -453,7 +453,7 @@ var U = { class: "breadcrumbs" }, W = ["onClick"], ne = {
453
453
  }, he = ["onClick"], ge = ["checked", "disabled"], _e = { class: "text" }, ve = ["checked", "disabled"], J = {
454
454
  key: 0,
455
455
  class: "text"
456
- }, ye = /* @__PURE__ */ R(/* @__PURE__ */ p({
456
+ }, ye = /* @__PURE__ */ B(/* @__PURE__ */ p({
457
457
  __name: "NCheckbox",
458
458
  props: {
459
459
  modelValue: { default: !1 },
@@ -566,10 +566,10 @@ var U = { class: "breadcrumbs" }, W = ["onClick"], ne = {
566
566
  }), [["__scopeId", "data-v-1f6a325a"]]), be = { class: "select" }, Y = {
567
567
  key: 0,
568
568
  class: "label"
569
- }, X = { class: "select-chips-container" }, xe = ["textContent"], Se = ["onClick"], Z = {
569
+ }, X = { class: "select-chips-container" }, Z = ["textContent"], xe = ["onClick"], Q = {
570
570
  key: 0,
571
571
  class: "search-box"
572
- }, Ce = { class: "options" }, we = ["onClick"], Te = {
572
+ }, Se = { class: "options" }, Ce = ["onClick"], we = {
573
573
  key: 0,
574
574
  xmlns: "http://www.w3.org/2000/svg",
575
575
  width: "14",
@@ -580,10 +580,10 @@ var U = { class: "breadcrumbs" }, W = ["onClick"], ne = {
580
580
  "stroke-width": "2.5",
581
581
  "stroke-linecap": "round",
582
582
  "stroke-linejoin": "round"
583
- }, Ee = {
583
+ }, Te = {
584
584
  key: 0,
585
585
  class: "empty"
586
- }, De = 240, Oe = /* @__PURE__ */ R(/* @__PURE__ */ p({
586
+ }, Ee = 240, De = /* @__PURE__ */ B(/* @__PURE__ */ p({
587
587
  __name: "NSelect",
588
588
  props: {
589
589
  modelValue: { default: () => void 0 },
@@ -633,7 +633,7 @@ var U = { class: "breadcrumbs" }, W = ["onClick"], ne = {
633
633
  if (!t.disabled && (a.value = !a.value, a.value)) {
634
634
  if (await h(), d.value) {
635
635
  let e = d.value.getBoundingClientRect();
636
- u.value = window.innerHeight - e.bottom < De;
636
+ u.value = window.innerHeight - e.bottom < Ee;
637
637
  }
638
638
  t.searchable && f.value?.focus();
639
639
  }
@@ -679,7 +679,7 @@ var U = { class: "breadcrumbs" }, W = ["onClick"], ne = {
679
679
  key: 0,
680
680
  class: g(["trigger-text", { placeholder: !m.value }]),
681
681
  textContent: E(m.value ? j.value : t.placeholder)
682
- }, null, 10, xe)) : o("", !0), t.multiple && t.multipleDisplay === "tags" ? (x(!0), s(e, { key: 1 }, w(p.value, (e, n) => (x(), s("div", {
682
+ }, null, 10, Z)) : o("", !0), t.multiple && t.multipleDisplay === "tags" ? (x(!0), s(e, { key: 1 }, w(p.value, (e, n) => (x(), s("div", {
683
683
  key: `${t.formatLabel(e)}${n}`,
684
684
  class: "select-chip"
685
685
  }, [c("span", null, E(t.formatLabel(e)), 1), c("span", {
@@ -695,7 +695,7 @@ var U = { class: "breadcrumbs" }, W = ["onClick"], ne = {
695
695
  "stroke-width": "2",
696
696
  "stroke-linecap": "round",
697
697
  "stroke-linejoin": "round"
698
- }, [c("path", { d: "M18 6 6 18" }), c("path", { d: "m6 6 12 12" })], -1)]], 8, Se)]))), 128)) : o("", !0)]),
698
+ }, [c("path", { d: "M18 6 6 18" }), c("path", { d: "m6 6 12 12" })], -1)]], 8, xe)]))), 128)) : o("", !0)]),
699
699
  t.clearable && m.value && !t.disabled ? (x(), s("button", {
700
700
  key: 0,
701
701
  class: "clear-btn",
@@ -724,7 +724,7 @@ var U = { class: "breadcrumbs" }, W = ["onClick"], ne = {
724
724
  "stroke-linejoin": "round",
725
725
  class: "arrow-icon"
726
726
  }, [c("path", { d: "m6 10 6 6 6-6" })], -1)
727
- ], 2), c("div", { class: g(["dropdown", { upward: u.value }]) }, [t.searchable ? (x(), s("div", Z, [r[4] ||= c("svg", {
727
+ ], 2), c("div", { class: g(["dropdown", { upward: u.value }]) }, [t.searchable ? (x(), s("div", Q, [r[4] ||= c("svg", {
728
728
  xmlns: "http://www.w3.org/2000/svg",
729
729
  width: "14",
730
730
  height: "14",
@@ -746,95 +746,95 @@ var U = { class: "breadcrumbs" }, W = ["onClick"], ne = {
746
746
  class: "search-input",
747
747
  placeholder: "Search...",
748
748
  "onUpdate:modelValue": r[0] ||= (e) => l.value = e
749
- }, null, 512), [[k, l.value]])])) : o("", !0), c("div", Ce, [(x(!0), s(e, null, w(A.value, (e, n) => (x(), s("div", {
749
+ }, null, 512), [[k, l.value]])])) : o("", !0), c("div", Se, [(x(!0), s(e, null, w(A.value, (e, n) => (x(), s("div", {
750
750
  key: `${t.formatLabel(e)}${n}`,
751
751
  class: g(["option", { selected: T(t.formatValue(e)) }]),
752
752
  onClick: (t) => D(e)
753
- }, [c("span", null, E(t.formatLabel(e)), 1), T(t.formatValue(e)) ? (x(), s("svg", Te, [...r[5] ||= [c("path", { d: "M20 6 9 17l-5-5" }, null, -1)]])) : o("", !0)], 10, we))), 128)), A.value.length === 0 ? (x(), s("div", Ee, " 無符合選項 ")) : o("", !0)])], 2)], 2)]));
753
+ }, [c("span", null, E(t.formatLabel(e)), 1), T(t.formatValue(e)) ? (x(), s("svg", we, [...r[5] ||= [c("path", { d: "M20 6 9 17l-5-5" }, null, -1)]])) : o("", !0)], 10, Ce))), 128)), A.value.length === 0 ? (x(), s("div", Te, " 無符合選項 ")) : o("", !0)])], 2)], 2)]));
754
754
  }
755
- }), [["__scopeId", "data-v-a8a2abbc"]]), ke = typeof Buffer == "function", Ae = typeof TextDecoder == "function" ? new TextDecoder() : void 0, je = typeof TextEncoder == "function" ? new TextEncoder() : void 0, Me = Array.prototype.slice.call("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="), Ne = ((e) => {
755
+ }), [["__scopeId", "data-v-6efb4fbf"]]), Oe = typeof Buffer == "function", ke = typeof TextDecoder == "function" ? new TextDecoder() : void 0, Ae = typeof TextEncoder == "function" ? new TextEncoder() : void 0, je = Array.prototype.slice.call("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="), Me = ((e) => {
756
756
  let t = {};
757
757
  return e.forEach((e, n) => t[e] = n), t;
758
- })(Me), Pe = /^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/, Q = String.fromCharCode.bind(String), Fe = typeof Uint8Array.from == "function" ? Uint8Array.from.bind(Uint8Array) : (e) => new Uint8Array(Array.prototype.slice.call(e, 0)), Ie = (e) => e.replace(/=/g, "").replace(/[+\/]/g, (e) => e == "+" ? "-" : "_"), Le = (e) => e.replace(/[^A-Za-z0-9\+\/]/g, ""), Re = typeof btoa == "function" ? (e) => btoa(e) : ke ? (e) => Buffer.from(e, "binary").toString("base64") : (e) => {
758
+ })(je), Ne = /^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/, $ = String.fromCharCode.bind(String), Pe = typeof Uint8Array.from == "function" ? Uint8Array.from.bind(Uint8Array) : (e) => new Uint8Array(Array.prototype.slice.call(e, 0)), Fe = (e) => e.replace(/=/g, "").replace(/[+\/]/g, (e) => e == "+" ? "-" : "_"), Ie = (e) => e.replace(/[^A-Za-z0-9\+\/]/g, ""), Le = typeof btoa == "function" ? (e) => btoa(e) : Oe ? (e) => Buffer.from(e, "binary").toString("base64") : (e) => {
759
759
  let t, n, r, i, a = "", o = e.length % 3;
760
760
  for (let o = 0; o < e.length;) {
761
761
  if ((n = e.charCodeAt(o++)) > 255 || (r = e.charCodeAt(o++)) > 255 || (i = e.charCodeAt(o++)) > 255) throw TypeError("invalid character found");
762
- t = n << 16 | r << 8 | i, a += Me[t >> 18 & 63] + Me[t >> 12 & 63] + Me[t >> 6 & 63] + Me[t & 63];
762
+ t = n << 16 | r << 8 | i, a += je[t >> 18 & 63] + je[t >> 12 & 63] + je[t >> 6 & 63] + je[t & 63];
763
763
  }
764
764
  return o ? a.slice(0, o - 3) + "===".substring(o) : a;
765
- }, ze = ke ? (e) => Buffer.from(e).toString("base64") : (e) => {
765
+ }, Re = Oe ? (e) => Buffer.from(e).toString("base64") : (e) => {
766
766
  let t = 4096, n = [];
767
- for (let r = 0, i = e.length; r < i; r += t) n.push(Q.apply(null, e.subarray(r, r + t)));
768
- return Re(n.join(""));
769
- }, Be = (e) => {
767
+ for (let r = 0, i = e.length; r < i; r += t) n.push($.apply(null, e.subarray(r, r + t)));
768
+ return Le(n.join(""));
769
+ }, ze = (e) => {
770
770
  if (e.length < 2) {
771
771
  var t = e.charCodeAt(0);
772
- return t < 128 ? e : t < 2048 ? Q(192 | t >>> 6) + Q(128 | t & 63) : Q(224 | t >>> 12 & 15) + Q(128 | t >>> 6 & 63) + Q(128 | t & 63);
772
+ return t < 128 ? e : t < 2048 ? $(192 | t >>> 6) + $(128 | t & 63) : $(224 | t >>> 12 & 15) + $(128 | t >>> 6 & 63) + $(128 | t & 63);
773
773
  } else {
774
774
  var t = 65536 + (e.charCodeAt(0) - 55296) * 1024 + (e.charCodeAt(1) - 56320);
775
- return Q(240 | t >>> 18 & 7) + Q(128 | t >>> 12 & 63) + Q(128 | t >>> 6 & 63) + Q(128 | t & 63);
775
+ return $(240 | t >>> 18 & 7) + $(128 | t >>> 12 & 63) + $(128 | t >>> 6 & 63) + $(128 | t & 63);
776
776
  }
777
- }, Ve = /[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g, He = (e) => e.replace(Ve, Be), Ue = ke ? (e) => Buffer.from(e, "utf8").toString("base64") : je ? (e) => ze(je.encode(e)) : (e) => Re(He(e)), We = (e, t = !1) => t ? Ie(Ue(e)) : Ue(e), Ge = /[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g, Ke = (e) => {
777
+ }, Be = /[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g, Ve = (e) => e.replace(Be, ze), He = Oe ? (e) => Buffer.from(e, "utf8").toString("base64") : Ae ? (e) => Re(Ae.encode(e)) : (e) => Le(Ve(e)), Ue = (e, t = !1) => t ? Fe(He(e)) : He(e), We = /[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g, Ge = (e) => {
778
778
  switch (e.length) {
779
779
  case 4:
780
780
  var t = ((7 & e.charCodeAt(0)) << 18 | (63 & e.charCodeAt(1)) << 12 | (63 & e.charCodeAt(2)) << 6 | 63 & e.charCodeAt(3)) - 65536;
781
- return Q((t >>> 10) + 55296) + Q((t & 1023) + 56320);
782
- case 3: return Q((15 & e.charCodeAt(0)) << 12 | (63 & e.charCodeAt(1)) << 6 | 63 & e.charCodeAt(2));
783
- default: return Q((31 & e.charCodeAt(0)) << 6 | 63 & e.charCodeAt(1));
781
+ return $((t >>> 10) + 55296) + $((t & 1023) + 56320);
782
+ case 3: return $((15 & e.charCodeAt(0)) << 12 | (63 & e.charCodeAt(1)) << 6 | 63 & e.charCodeAt(2));
783
+ default: return $((31 & e.charCodeAt(0)) << 6 | 63 & e.charCodeAt(1));
784
784
  }
785
- }, qe = (e) => e.replace(Ge, Ke), Je = typeof atob == "function" ? (e) => atob(Le(e)) : ke ? (e) => Buffer.from(e, "base64").toString("binary") : (e) => {
786
- if (e = e.replace(/\s+/g, ""), !Pe.test(e)) throw TypeError("malformed base64.");
785
+ }, Ke = (e) => e.replace(We, Ge), qe = typeof atob == "function" ? (e) => atob(Ie(e)) : Oe ? (e) => Buffer.from(e, "base64").toString("binary") : (e) => {
786
+ if (e = e.replace(/\s+/g, ""), !Ne.test(e)) throw TypeError("malformed base64.");
787
787
  e += "==".slice(2 - (e.length & 3));
788
788
  let t, n, r, i = [];
789
- for (let a = 0; a < e.length;) t = Ne[e.charAt(a++)] << 18 | Ne[e.charAt(a++)] << 12 | (n = Ne[e.charAt(a++)]) << 6 | (r = Ne[e.charAt(a++)]), n === 64 ? i.push(Q(t >> 16 & 255)) : r === 64 ? i.push(Q(t >> 16 & 255, t >> 8 & 255)) : i.push(Q(t >> 16 & 255, t >> 8 & 255, t & 255));
789
+ for (let a = 0; a < e.length;) t = Me[e.charAt(a++)] << 18 | Me[e.charAt(a++)] << 12 | (n = Me[e.charAt(a++)]) << 6 | (r = Me[e.charAt(a++)]), n === 64 ? i.push($(t >> 16 & 255)) : r === 64 ? i.push($(t >> 16 & 255, t >> 8 & 255)) : i.push($(t >> 16 & 255, t >> 8 & 255, t & 255));
790
790
  return i.join("");
791
- }, Ye = ke ? (e) => Fe(Buffer.from(e, "base64")) : (e) => Fe(Je(e).split("").map((e) => e.charCodeAt(0))), Xe = (e) => Ye(Qe(e)), Ze = ke ? (e) => Buffer.from(e, "base64").toString("utf8") : Ae ? (e) => Ae.decode(Ye(e)) : (e) => qe(Je(e)), Qe = (e) => Le(e.replace(/[-_]/g, (e) => e == "-" ? "+" : "/")), $e = (e) => Ze(Qe(e)), et = "N_UTILS_KEY", tt = [], nt = () => {
792
- let e = We(JSON.stringify(tt));
793
- localStorage.setItem(et, e);
794
- }, rt = () => {
795
- let e = localStorage.getItem(et) ?? "";
791
+ }, Je = Oe ? (e) => Pe(Buffer.from(e, "base64")) : (e) => Pe(qe(e).split("").map((e) => e.charCodeAt(0))), Ye = (e) => Je(Ze(e)), Xe = Oe ? (e) => Buffer.from(e, "base64").toString("utf8") : ke ? (e) => ke.decode(Je(e)) : (e) => Ke(qe(e)), Ze = (e) => Ie(e.replace(/[-_]/g, (e) => e == "-" ? "+" : "/")), Qe = (e) => Xe(Ze(e)), $e = "N_UTILS_KEY", et = [], tt = () => {
792
+ let e = Ue(JSON.stringify(et));
793
+ localStorage.setItem($e, e);
794
+ }, nt = () => {
795
+ let e = localStorage.getItem($e) ?? "";
796
796
  if (e.length == 0) return [];
797
797
  try {
798
- return JSON.parse($e(e));
798
+ return JSON.parse(Qe(e));
799
799
  } catch {
800
800
  return [];
801
801
  }
802
- }, it = () => {
803
- tt.clear();
804
- let e = rt(), t = (/* @__PURE__ */ new Date()).getTime();
802
+ }, rt = () => {
803
+ et.clear();
804
+ let e = nt(), t = (/* @__PURE__ */ new Date()).getTime();
805
805
  e.forEach((e) => {
806
- e.expireTime && e.expireTime < t || tt.push({
806
+ e.expireTime && e.expireTime < t || et.push({
807
807
  key: e.key,
808
808
  value: e.value,
809
809
  expireTime: e.expireTime
810
810
  });
811
- }), tt.length > 0 && nt();
812
- }, at = (e) => (it(), tt.some((t) => t.key == e)), ot = (e, t, n) => {
813
- ct(e);
811
+ }), et.length > 0 && tt();
812
+ }, it = (e) => (rt(), et.some((t) => t.key == e)), at = (e, t, n) => {
813
+ st(e);
814
814
  let r = {
815
815
  key: e,
816
816
  value: t
817
817
  };
818
- n && (r.expireTime = (/* @__PURE__ */ new Date()).getTime() + n * 1e3), tt.push(r), nt();
819
- }, st = (e, t) => {
820
- it();
821
- let n = tt.find((t) => t.key == e);
818
+ n && (r.expireTime = (/* @__PURE__ */ new Date()).getTime() + n * 1e3), et.push(r), tt();
819
+ }, ot = (e, t) => {
820
+ rt();
821
+ let n = et.find((t) => t.key == e);
822
822
  return n ? n.value : t;
823
- }, ct = (e) => {
824
- it();
825
- let t = tt.findIndex((t) => t.key == e);
826
- t != -1 && (tt.splice(t, 1), nt());
827
- }, lt = {
828
- set: ot,
829
- get: st,
830
- has: at,
831
- forget: ct
832
- }, ut = { fullScreenToggle: (() => {
823
+ }, st = (e) => {
824
+ rt();
825
+ let t = et.findIndex((t) => t.key == e);
826
+ t != -1 && (et.splice(t, 1), tt());
827
+ }, ct = {
828
+ set: at,
829
+ get: ot,
830
+ has: it,
831
+ forget: st
832
+ }, lt = { fullScreenToggle: (() => {
833
833
  let e = !1;
834
834
  return () => {
835
835
  e ? document.exitFullscreen() : document.documentElement.requestFullscreen(), e = !e;
836
836
  };
837
- })() }, dt = {
837
+ })() }, ut = {
838
838
  random: (e = 5) => Array(e).fill(null).map(() => {
839
839
  let e = Math.random() * 62;
840
840
  return "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789".charAt(e);
@@ -842,11 +842,11 @@ var U = { class: "breadcrumbs" }, W = ["onClick"], ne = {
842
842
  copy: (e) => {
843
843
  navigator.clipboard.writeText(e);
844
844
  }
845
- }, ft = [];
846
- function pt(e = "", t = !1, n = !1) {
847
- return ft.clear(), new Promise((r, i) => {
845
+ }, dt = [];
846
+ function ft(e = "", t = !1, n = !1) {
847
+ return dt.clear(), new Promise((r, i) => {
848
848
  let a = document.createElement("input");
849
- ft.push(a), a.hidden = !0, a.type = "file", a.accept = e, a.multiple = t, a.onchange = async () => {
849
+ dt.push(a), a.hidden = !0, a.type = "file", a.accept = e, a.multiple = t, a.onchange = async () => {
850
850
  let e = [];
851
851
  if (!a.files || a.files.length === 0) {
852
852
  r(t ? [] : void 0);
@@ -861,7 +861,7 @@ function pt(e = "", t = !1, n = !1) {
861
861
  type: t.type,
862
862
  file: t
863
863
  };
864
- n && (r.base64String = await $.file.convertBase64(t)), e.push(r);
864
+ n && (r.base64String = await Ft.file.convertBase64(t)), e.push(r);
865
865
  }
866
866
  r(t ? e : e[0]);
867
867
  }, a.onerror = (e) => {
@@ -869,11 +869,11 @@ function pt(e = "", t = !1, n = !1) {
869
869
  }, a.click();
870
870
  });
871
871
  }
872
- function mt(e = !1, t = !1) {
873
- return pt("", e, t);
872
+ function pt(e = !1, t = !1) {
873
+ return ft("", e, t);
874
874
  }
875
- function ht(e = !1, t = !1) {
876
- return pt([
875
+ function mt(e = !1, t = !1) {
876
+ return ft([
877
877
  "image/jpg",
878
878
  "image/jpeg",
879
879
  "image/png",
@@ -881,8 +881,8 @@ function ht(e = !1, t = !1) {
881
881
  "image/bmp"
882
882
  ].join(","), e, t);
883
883
  }
884
- function gt(e = !1, t = !1) {
885
- return pt([
884
+ function ht(e = !1, t = !1) {
885
+ return ft([
886
886
  ".pdf",
887
887
  "application/pdf",
888
888
  ".doc",
@@ -894,16 +894,16 @@ function gt(e = !1, t = !1) {
894
894
  ".md"
895
895
  ].join(","), e, t);
896
896
  }
897
- function _t(e = !1, t = !1) {
898
- return pt([
897
+ function gt(e = !1, t = !1) {
898
+ return ft([
899
899
  "video/mp4",
900
900
  "video/quicktime",
901
901
  "video/webm",
902
902
  "video/ogg"
903
903
  ].join(","), e, t);
904
904
  }
905
- function vt(e = !1, t = !1) {
906
- return pt([
905
+ function _t(e = !1, t = !1) {
906
+ return ft([
907
907
  "audio/mp3",
908
908
  "audio/wav",
909
909
  "audio/ogg",
@@ -911,48 +911,48 @@ function vt(e = !1, t = !1) {
911
911
  "audio/flac"
912
912
  ].join(","), e, t);
913
913
  }
914
- function yt(e = "", t = !1, n = !1) {
915
- return pt(e, t, n);
914
+ function vt(e = "", t = !1, n = !1) {
915
+ return ft(e, t, n);
916
916
  }
917
- var bt = {
918
- all: mt,
919
- image: ht,
920
- documentFile: gt,
921
- video: _t,
922
- audio: vt,
923
- custom: yt
924
- }, xt = (e) => new Promise((t, n) => {
917
+ var yt = {
918
+ all: pt,
919
+ image: mt,
920
+ documentFile: ht,
921
+ video: gt,
922
+ audio: _t,
923
+ custom: vt
924
+ }, bt = (e) => new Promise((t, n) => {
925
925
  let r = new FileReader();
926
926
  r.readAsDataURL(e), r.onload = () => {
927
927
  let e = r.result.split(";base64,");
928
928
  e.length > 1 ? t(e[1]) : n(/* @__PURE__ */ Error("Failed to convert file to base64 string."));
929
929
  }, r.onerror = n;
930
- }), St = (e) => Ct(new Blob([e], { type: "xxxx" })), Ct = (e) => (window.URL || window.webkitURL).createObjectURL(e), wt = {
931
- convertBase64: xt,
932
- createImageUrlFromFile: St,
933
- createImageUrlFromBlob: Ct,
930
+ }), xt = (e) => St(new Blob([e], { type: "xxxx" })), St = (e) => (window.URL || window.webkitURL).createObjectURL(e), Ct = {
931
+ convertBase64: bt,
932
+ createImageUrlFromFile: xt,
933
+ createImageUrlFromBlob: St,
934
934
  revokeObjectUrl: (e) => {
935
935
  (window.URL || window.webkitURL).revokeObjectURL(e);
936
936
  }
937
- }, Tt = (e, t) => {
937
+ }, wt = (e, t) => {
938
938
  let n = document.createElement("a");
939
939
  n.target = "_blank", t && (n.download = t), n.href = e, n.click(), n.remove();
940
- }, Et = {
941
- download: Tt,
940
+ }, Tt = {
941
+ download: wt,
942
942
  downloadFromBase64: (e, t, n) => {
943
- let r = Xe(e), i = new Blob([r.buffer], { type: t }), a = URL.createObjectURL(i);
944
- Tt(a, n), URL.revokeObjectURL(a);
943
+ let r = Ye(e), i = new Blob([r.buffer], { type: t }), a = URL.createObjectURL(i);
944
+ wt(a, n), URL.revokeObjectURL(a);
945
945
  },
946
946
  openExternalLink: (e, t) => {
947
947
  let n = document.createElement("a");
948
948
  n.target = "_blank", t && (n.download = t), n.href = e, n.click(), n.remove();
949
949
  }
950
- }, Dt = async (e) => {
950
+ }, Et = async (e) => {
951
951
  let t = e.includes("data:image/") ? e : `data:image/jpeg;base64,${e}`;
952
952
  return (await fetch(t)).blob();
953
- }, Ot = (e) => new Promise(async (t, n) => {
953
+ }, Dt = (e) => new Promise(async (t, n) => {
954
954
  try {
955
- let r = typeof e == "string" ? await Dt(e) : e, i = window.URL || window.webkitURL, a = i.createObjectURL(r), o = document.createElement("img");
955
+ let r = typeof e == "string" ? await Et(e) : e, i = window.URL || window.webkitURL, a = i.createObjectURL(r), o = document.createElement("img");
956
956
  o.src = a, o.onload = () => {
957
957
  i.revokeObjectURL(a), t(o);
958
958
  }, o.onerror = (e) => {
@@ -961,39 +961,39 @@ var bt = {
961
961
  } catch (e) {
962
962
  n(e);
963
963
  }
964
- }), kt = (e, t) => {
964
+ }), Ot = (e, t) => {
965
965
  let n = Math.min(t / e.width, t / e.height, 1), r = n * e.width, i = n * e.height, a = document.createElement("canvas"), o = a.getContext("2d");
966
966
  return a.width = r, a.height = i, o.drawImage(e, 0, 0, r, i), a;
967
- }, At = (e) => {
967
+ }, kt = (e) => {
968
968
  let t = e.toDataURL("image/jpeg", .8).split(";base64,");
969
969
  return t.length > 1 ? t[1] : "";
970
- }, jt = (e) => new Promise((t, n) => {
970
+ }, At = (e) => new Promise((t, n) => {
971
971
  e.toBlob((e) => {
972
972
  e ? t(e) : n(/* @__PURE__ */ Error("Failed to create Blob from canvas."));
973
973
  }, "image/jpeg", .8);
974
- }), Mt = async (e, t) => kt(await Ot(e), t), Nt = {
975
- thumbnailFromBlobToBase64: async (e, t) => At(await Mt(e, t)),
976
- thumbnailFromBlobToBlob: async (e, t) => jt(await Mt(e, t)),
977
- thumbnailFromBase64ToBase64: async (e, t) => At(await Mt(e, t)),
978
- thumbnailFromBase64ToBlob: async (e, t) => jt(await Mt(e, t))
979
- }, Pt = () => {
974
+ }), jt = async (e, t) => Ot(await Dt(e), t), Mt = {
975
+ thumbnailFromBlobToBase64: async (e, t) => kt(await jt(e, t)),
976
+ thumbnailFromBlobToBlob: async (e, t) => At(await jt(e, t)),
977
+ thumbnailFromBase64ToBase64: async (e, t) => kt(await jt(e, t)),
978
+ thumbnailFromBase64ToBlob: async (e, t) => At(await jt(e, t))
979
+ }, Nt = () => {
980
980
  let e = navigator.userAgent;
981
981
  return !!/Mobile|Android|iP(hone|od)|IEMobile|BlackBerry|Kindle|Silk-Accelerated|(hpw|web)OS|Opera M(obi|ini)/.test(e);
982
- }, Ft = () => {
982
+ }, Pt = () => {
983
983
  let e = navigator.userAgent;
984
984
  return !!/(tablet|ipad|playbook|silk)|(android(?!.*mobi))/i.test(e);
985
- }, $ = {
986
- store: lt,
987
- screen: ut,
988
- str: dt,
989
- input: bt,
990
- file: wt,
991
- link: Et,
992
- image: Nt,
985
+ }, Ft = {
986
+ store: ct,
987
+ screen: lt,
988
+ str: ut,
989
+ input: yt,
990
+ file: Ct,
991
+ link: Tt,
992
+ image: Mt,
993
993
  device: {
994
- isMobile: Pt,
995
- isTablet: Ft,
996
- isDesktop: () => Pt() == 0 && Ft() == 0
994
+ isMobile: Nt,
995
+ isTablet: Pt,
996
+ isDesktop: () => Nt() == 0 && Pt() == 0
997
997
  },
998
998
  date: { getCalendarByDate: (e) => {
999
999
  e.setDate(1);
@@ -1082,7 +1082,7 @@ var zt = {
1082
1082
  }, Ht = ["aria-disabled"], Ut = { class: "text" }, Wt = ["textContent"], Gt = ["textContent"], Kt = {
1083
1083
  key: 2,
1084
1084
  class: "list"
1085
- }, qt = { class: "meta" }, Jt = ["title"], Yt = { class: "sub" }, Xt = ["disabled", "onClick"], Zt = { class: "add-text" }, Qt = ["textContent"], $t = /* @__PURE__ */ R(/* @__PURE__ */ p({
1085
+ }, qt = { class: "meta" }, Jt = ["title"], Yt = { class: "sub" }, Xt = ["disabled", "onClick"], Zt = { class: "add-text" }, Qt = ["textContent"], $t = /* @__PURE__ */ B(/* @__PURE__ */ p({
1086
1086
  __name: "NFileSelect",
1087
1087
  props: {
1088
1088
  modelValue: { default: () => [] },
@@ -1158,11 +1158,11 @@ var zt = {
1158
1158
  r("update:modelValue", a), r("change", a), r("add", n);
1159
1159
  }, v = async () => {
1160
1160
  if (!t.disabled) if (t.multiple) {
1161
- let e = await $.input.custom(t.accept, !0);
1161
+ let e = await Ft.input.custom(t.accept, !0);
1162
1162
  if (e.length === 0) return;
1163
1163
  _(e.map((e) => e.file));
1164
1164
  } else {
1165
- let e = await $.input.custom(t.accept, !1);
1165
+ let e = await Ft.input.custom(t.accept, !1);
1166
1166
  if (!e) return;
1167
1167
  _([e.file]);
1168
1168
  }
@@ -1269,17 +1269,17 @@ var zt = {
1269
1269
  }
1270
1270
  }), [["__scopeId", "data-v-81f0f496"]]), en = C(!1), tn = (e, t) => e.children?.some((e) => e.route === t) ?? !1, nn = (e, t) => e.route === t;
1271
1271
  function rn(e = "default") {
1272
- let t = `NSidebar:${e}:expanded`, n = S($.store.get(t, {}));
1273
- en.value = $.store.get("NSidebar:expanded", !1);
1272
+ let t = `NSidebar:${e}:expanded`, n = S(Ft.store.get(t, {}));
1273
+ en.value = Ft.store.get("NSidebar:expanded", !1);
1274
1274
  let r = (e) => !!n[e];
1275
1275
  return {
1276
1276
  isMenuExpanded: r,
1277
1277
  toggleMenu: (e) => {
1278
- n[e] = !r(e), $.store.set(t, n);
1278
+ n[e] = !r(e), Ft.store.set(t, n);
1279
1279
  },
1280
1280
  isSidebarExpanded: () => en.value,
1281
1281
  toggleSidebar: () => {
1282
- en.value = !en.value, $.store.set("NSidebar:expanded", en.value);
1282
+ en.value = !en.value, Ft.store.set("NSidebar:expanded", en.value);
1283
1283
  },
1284
1284
  setMenuActiveResolver: (e) => {
1285
1285
  tn = e;
@@ -1299,7 +1299,7 @@ var an = { class: "hero-section-container" }, on = { class: "hero-section" }, sn
1299
1299
  }, mn = {
1300
1300
  key: 0,
1301
1301
  class: "toolbar"
1302
- }, hn = /* @__PURE__ */ R(/* @__PURE__ */ p({
1302
+ }, hn = /* @__PURE__ */ B(/* @__PURE__ */ p({
1303
1303
  __name: "NHeroSection",
1304
1304
  props: {
1305
1305
  icon: { default: "" },
@@ -1311,7 +1311,7 @@ var an = { class: "hero-section-container" }, on = { class: "hero-section" }, sn
1311
1311
  return (n, r) => (x(), s("div", an, [c("div", on, [
1312
1312
  r[2] ||= c("div", { class: "effect-background-left" }, null, -1),
1313
1313
  r[3] ||= c("div", { class: "effect-background-right" }, null, -1),
1314
- c("div", sn, [f(z, {
1314
+ c("div", sn, [f(V, {
1315
1315
  class: "sidebar-toggle-button",
1316
1316
  padding: "8px",
1317
1317
  intent: "none",
@@ -1334,7 +1334,7 @@ var an = { class: "hero-section-container" }, on = { class: "hero-section" }, sn
1334
1334
  c("path", { d: "M4 19h16" })
1335
1335
  ], -1)]]),
1336
1336
  _: 1
1337
- }), f(re)]),
1337
+ }), f(te)]),
1338
1338
  e.icon ? (x(), s("div", {
1339
1339
  key: 0,
1340
1340
  class: "icon-bg",
@@ -1346,7 +1346,7 @@ var an = { class: "hero-section-container" }, on = { class: "hero-section" }, sn
1346
1346
  }), [["__scopeId", "data-v-6fef1cae"]]), gn = { class: "content-container" }, _n = {
1347
1347
  key: 0,
1348
1348
  class: "nav-tabs"
1349
- }, vn = ["textContent", "onClick"], yn = { class: "tab-content" }, bn = { class: "footer" }, xn = /* @__PURE__ */ R(/* @__PURE__ */ p({
1349
+ }, vn = ["textContent", "onClick"], yn = { class: "tab-content" }, bn = { class: "footer" }, xn = /* @__PURE__ */ B(/* @__PURE__ */ p({
1350
1350
  __name: "NForm",
1351
1351
  props: {
1352
1352
  model: { default: () => ({}) },
@@ -1366,7 +1366,7 @@ var an = { class: "hero-section-container" }, on = { class: "hero-section" }, sn
1366
1366
  "update:modelValue"
1367
1367
  ],
1368
1368
  setup(t, { emit: n }) {
1369
- let r = n, a = `NForm:${t.title}@${t.tabs.length}:tab`, u = C(t.tabs.length > 0 ? $.store.get(a, 0) : 0), d = i(() => t.modelValue ?? u.value), p = () => {
1369
+ let r = n, a = `NForm:${t.title}@${t.tabs.length}:tab`, u = C(t.tabs.length > 0 ? Ft.store.get(a, 0) : 0), d = i(() => t.modelValue ?? u.value), p = () => {
1370
1370
  t.disabled || r("submit", t.model);
1371
1371
  }, m = () => {
1372
1372
  t.disabled || r("reset");
@@ -1395,14 +1395,14 @@ var an = { class: "hero-section-container" }, on = { class: "hero-section" }, sn
1395
1395
  class: g(["nav-link", { active: d.value === t }]),
1396
1396
  textContent: E(e),
1397
1397
  onClick: () => {
1398
- u.value = t, D($).store.set(a, t), r("update:modelValue", t);
1398
+ u.value = t, D(Ft).store.set(a, t), r("update:modelValue", t);
1399
1399
  }
1400
1400
  }, null, 10, vn))), 128))])) : o("", !0),
1401
1401
  c("div", yn, [t.tabs.length > 0 ? (x(!0), s(e, { key: 0 }, w(t.tabs, (t, r) => (x(), s(e, null, [d.value === r ? T(n.$slots, `tab${r}`, { key: 0 }, void 0, !0) : o("", !0)], 64))), 256)) : o("", !0), t.tabs.length == 0 && n.$slots.tab0 ? T(n.$slots, "tab0", { key: 1 }, void 0, !0) : o("", !0)]),
1402
1402
  c("div", bn, [T(n.$slots, "footer", {}, void 0, !0)])
1403
1403
  ], 32)]));
1404
1404
  }
1405
- }), [["__scopeId", "data-v-fc11e625"]]), Sn = /* @__PURE__ */ R(/* @__PURE__ */ p({
1405
+ }), [["__scopeId", "data-v-fc11e625"]]), Sn = /* @__PURE__ */ B(/* @__PURE__ */ p({
1406
1406
  __name: "NCard",
1407
1407
  props: {
1408
1408
  size: { default: "md" },
@@ -1420,7 +1420,7 @@ var an = { class: "hero-section-container" }, on = { class: "hero-section" }, sn
1420
1420
  }, wn = { class: "summary" }, Tn = { class: "pages" }, En = {
1421
1421
  key: 1,
1422
1422
  class: "separator"
1423
- }, Dn = /* @__PURE__ */ R(/* @__PURE__ */ p({
1423
+ }, Dn = /* @__PURE__ */ B(/* @__PURE__ */ p({
1424
1424
  __name: "NPaginate",
1425
1425
  props: {
1426
1426
  totalItems: {},
@@ -1457,7 +1457,7 @@ var an = { class: "hero-section-container" }, on = { class: "hero-section" }, sn
1457
1457
  l.value !== t && (l.value = t, r("onPageChange", l.value));
1458
1458
  }
1459
1459
  return (n, r) => t.totalItems > 0 ? (x(), s("div", Cn, [c("span", wn, "第 " + E(l.value) + " / " + E(u.value) + " 頁,共 " + E(t.totalItems) + " 筆", 1), c("div", Tn, [
1460
- f(z, {
1460
+ f(V, {
1461
1461
  variant: "outline",
1462
1462
  padding: "",
1463
1463
  width: "35px",
@@ -1478,7 +1478,7 @@ var an = { class: "hero-section-container" }, on = { class: "hero-section" }, sn
1478
1478
  }, [c("path", { d: "M15 18l-6-6 6-6" })], -1)]]),
1479
1479
  _: 1
1480
1480
  }, 8, ["disabled"]),
1481
- (x(!0), s(e, null, w(p.value, (n) => (x(), s(e, { key: "p-" + n }, [typeof n == "number" ? (x(), a(z, {
1481
+ (x(!0), s(e, null, w(p.value, (n) => (x(), s(e, { key: "p-" + n }, [typeof n == "number" ? (x(), a(V, {
1482
1482
  key: 0,
1483
1483
  variant: t.currentPage === n ? "solid" : "outline",
1484
1484
  intent: t.currentPage === n ? "primary" : "none",
@@ -1494,7 +1494,7 @@ var an = { class: "hero-section-container" }, on = { class: "hero-section" }, sn
1494
1494
  "intent",
1495
1495
  "onClick"
1496
1496
  ])) : (x(), s("span", En, "…"))], 64))), 128)),
1497
- f(z, {
1497
+ f(V, {
1498
1498
  variant: "outline",
1499
1499
  padding: "",
1500
1500
  width: "35px",
@@ -1523,7 +1523,7 @@ var an = { class: "hero-section-container" }, on = { class: "hero-section" }, sn
1523
1523
  }, jn = {
1524
1524
  key: 2,
1525
1525
  class: "action"
1526
- }, Mn = /* @__PURE__ */ R(/* @__PURE__ */ p({
1526
+ }, Mn = /* @__PURE__ */ B(/* @__PURE__ */ p({
1527
1527
  __name: "NEmpty",
1528
1528
  props: {
1529
1529
  title: { default: "目前沒有資料" },
@@ -1567,7 +1567,7 @@ var an = { class: "hero-section-container" }, on = { class: "hero-section" }, sn
1567
1567
  }, Hn = {
1568
1568
  key: 0,
1569
1569
  class: "title"
1570
- }, Un = /* @__PURE__ */ R(/* @__PURE__ */ p({
1570
+ }, Un = /* @__PURE__ */ B(/* @__PURE__ */ p({
1571
1571
  __name: "NLoading",
1572
1572
  props: {
1573
1573
  loading: {
@@ -1655,7 +1655,7 @@ var an = { class: "hero-section-container" }, on = { class: "hero-section" }, sn
1655
1655
  }, $n = { key: 0 }, er = ["onClick"], tr = {
1656
1656
  key: 0,
1657
1657
  class: "actions"
1658
- }, nr = /* @__PURE__ */ R(/* @__PURE__ */ p({
1658
+ }, nr = /* @__PURE__ */ B(/* @__PURE__ */ p({
1659
1659
  __name: "NTable",
1660
1660
  props: {
1661
1661
  columns: { default: () => [] },
@@ -1714,7 +1714,7 @@ var an = { class: "hero-section-container" }, on = { class: "hero-section" }, sn
1714
1714
  description: t.emptyDescription
1715
1715
  }, null, 8, ["title", "description"])], !0) : o("", !0)], 2));
1716
1716
  }
1717
- }), [["__scopeId", "data-v-77619033"]]), rr = { class: "content-container" }, ir = { key: 0 }, ar = { class: "actions" }, or = /* @__PURE__ */ R(/* @__PURE__ */ p({
1717
+ }), [["__scopeId", "data-v-77619033"]]), rr = { class: "content-container" }, ir = { key: 0 }, ar = { class: "actions" }, or = /* @__PURE__ */ B(/* @__PURE__ */ p({
1718
1718
  __name: "NList",
1719
1719
  props: {
1720
1720
  title: { default: "" },
@@ -1792,7 +1792,7 @@ var an = { class: "hero-section-container" }, on = { class: "hero-section" }, sn
1792
1792
  name: "toolbar",
1793
1793
  fn: j(() => [
1794
1794
  T(t.$slots, "toolbar", {}, void 0, !0),
1795
- e.refreshable ? (x(), a(z, {
1795
+ e.refreshable ? (x(), a(V, {
1796
1796
  key: 0,
1797
1797
  variant: "outline",
1798
1798
  onClick: r[0] ||= (e) => n("refresh")
@@ -1815,7 +1815,7 @@ var an = { class: "hero-section-container" }, on = { class: "hero-section" }, sn
1815
1815
  ], -1), d(" " + E(e.refreshLabel), 1)]),
1816
1816
  _: 1
1817
1817
  })) : o("", !0),
1818
- e.filterable ? (x(), a(z, {
1818
+ e.filterable ? (x(), a(V, {
1819
1819
  key: 1,
1820
1820
  variant: "outline",
1821
1821
  onClick: r[1] ||= (e) => n("filter")
@@ -1833,7 +1833,7 @@ var an = { class: "hero-section-container" }, on = { class: "hero-section" }, sn
1833
1833
  }, [c("path", { d: "M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z" })], -1), d(" " + E(e.filterLabel), 1)]),
1834
1834
  _: 1
1835
1835
  })) : o("", !0),
1836
- e.batchDeletable ? (x(), a(z, {
1836
+ e.batchDeletable ? (x(), a(V, {
1837
1837
  key: 2,
1838
1838
  variant: "solid",
1839
1839
  intent: "error",
@@ -1859,7 +1859,7 @@ var an = { class: "hero-section-container" }, on = { class: "hero-section" }, sn
1859
1859
  ], -1), d(" " + E(e.batchDeleteLabel), 1)]),
1860
1860
  _: 1
1861
1861
  }, 8, ["disabled"])) : o("", !0),
1862
- e.creatable ? (x(), a(z, {
1862
+ e.creatable ? (x(), a(V, {
1863
1863
  key: 3,
1864
1864
  variant: "solid",
1865
1865
  intent: "primary",
@@ -1922,14 +1922,14 @@ var an = { class: "hero-section-container" }, on = { class: "hero-section" }, sn
1922
1922
  fn: j(({ item: r, index: i }) => [T(t.$slots, "actions", {
1923
1923
  item: r,
1924
1924
  index: i
1925
- }, () => [c("div", ar, [e.updatable ? (x(), a(z, {
1925
+ }, () => [c("div", ar, [e.updatable ? (x(), a(V, {
1926
1926
  key: 0,
1927
1927
  variant: "outline",
1928
1928
  onClick: N(() => n("update", r), ["stop"])
1929
1929
  }, {
1930
1930
  default: j(() => [d(E(e.updateLabel), 1)]),
1931
1931
  _: 1
1932
- }, 8, ["onClick"])) : o("", !0), e.deletable ? (x(), a(z, {
1932
+ }, 8, ["onClick"])) : o("", !0), e.deletable ? (x(), a(V, {
1933
1933
  key: 1,
1934
1934
  variant: "solid",
1935
1935
  intent: "error",
@@ -2015,7 +2015,7 @@ var ur = { class: "icon-wrap" }, dr = ["innerHTML"], fr = {
2015
2015
  }, pr = { class: "body" }, mr = {
2016
2016
  key: 0,
2017
2017
  class: "title"
2018
- }, hr = /* @__PURE__ */ R(/* @__PURE__ */ p({
2018
+ }, hr = /* @__PURE__ */ B(/* @__PURE__ */ p({
2019
2019
  __name: "NToast",
2020
2020
  setup(n) {
2021
2021
  let { toasts: i } = lr(), l = {
@@ -2082,7 +2082,7 @@ var ur = { class: "icon-wrap" }, dr = ["innerHTML"], fr = {
2082
2082
  }, xr = { class: "code-body" }, Sr = {
2083
2083
  key: 0,
2084
2084
  class: "gutter"
2085
- }, Cr = ["textContent"], wr = /* @__PURE__ */ R(/* @__PURE__ */ p({
2085
+ }, Cr = ["textContent"], wr = /* @__PURE__ */ B(/* @__PURE__ */ p({
2086
2086
  __name: "NCode",
2087
2087
  props: {
2088
2088
  code: {},
@@ -2122,7 +2122,7 @@ var ur = { class: "icon-wrap" }, dr = ["innerHTML"], fr = {
2122
2122
  }), [["__scopeId", "data-v-6fed5425"]]), Tr = {
2123
2123
  key: 0,
2124
2124
  class: "label"
2125
- }, Er = /* @__PURE__ */ R(/* @__PURE__ */ p({
2125
+ }, Er = /* @__PURE__ */ B(/* @__PURE__ */ p({
2126
2126
  __name: "NSwitch",
2127
2127
  props: {
2128
2128
  modelValue: {
@@ -2156,7 +2156,7 @@ var ur = { class: "icon-wrap" }, dr = ["innerHTML"], fr = {
2156
2156
  onClick: l
2157
2157
  }, [...n[0] ||= [c("div", { class: "inner" }, [c("div", { class: "handle" })], -1)]], 2)], 2));
2158
2158
  }
2159
- }), [["__scopeId", "data-v-efa08615"]]), Dr = /* @__PURE__ */ R(/* @__PURE__ */ p({
2159
+ }), [["__scopeId", "data-v-efa08615"]]), Dr = /* @__PURE__ */ B(/* @__PURE__ */ p({
2160
2160
  __name: "NTag",
2161
2161
  props: {
2162
2162
  intent: { default: "none" },
@@ -2247,7 +2247,7 @@ var ur = { class: "icon-wrap" }, dr = ["innerHTML"], fr = {
2247
2247
  }, _i = { class: "weekday-grid" }, vi = { class: "day-grid range-day-grid" }, yi = ["onClick", "onMouseenter"], bi = { class: "range-footer" }, xi = { class: "range-display" }, Si = { class: "mobile-sheet" }, Ci = {
2248
2248
  class: "picker-header",
2249
2249
  style: { "margin-top": "8px" }
2250
- }, wi = { class: "header-nav" }, Ti = { class: "header-title no-click" }, Ei = { class: "header-nav" }, Di = { class: "weekday-grid" }, Oi = { class: "day-grid range-day-grid" }, ki = ["onClick"], Ai = { class: "range-footer" }, ji = { class: "range-display" }, Mi = /* @__PURE__ */ R(/* @__PURE__ */ p({
2250
+ }, wi = { class: "header-nav" }, Ti = { class: "header-title no-click" }, Ei = { class: "header-nav" }, Di = { class: "weekday-grid" }, Oi = { class: "day-grid range-day-grid" }, ki = ["onClick"], Ai = { class: "range-footer" }, ji = { class: "range-display" }, Mi = /* @__PURE__ */ B(/* @__PURE__ */ p({
2251
2251
  __name: "NDatePicker",
2252
2252
  props: {
2253
2253
  modelValue: { default: "" },
@@ -2324,8 +2324,8 @@ var ur = { class: "icon-wrap" }, dr = ["innerHTML"], fr = {
2324
2324
  "四",
2325
2325
  "五",
2326
2326
  "六"
2327
- ], P = /* @__PURE__ */ new Date(), F = P.getFullYear(), I = P.getMonth(), ee = P.getDate();
2328
- function te(e, t) {
2327
+ ], P = /* @__PURE__ */ new Date(), F = P.getFullYear(), I = P.getMonth(), L = P.getDate();
2328
+ function R(e, t) {
2329
2329
  let n = new Date(e, t, 1).getDay(), r = new Date(e, t + 1, 0).getDate(), i = new Date(e, t, 0).getDate(), a = [];
2330
2330
  for (let r = n - 1; r >= 0; r--) {
2331
2331
  let n = t === 0 ? 11 : t - 1, o = t === 0 ? e - 1 : e;
@@ -2351,37 +2351,37 @@ var ur = { class: "icon-wrap" }, dr = ["innerHTML"], fr = {
2351
2351
  });
2352
2352
  return a;
2353
2353
  }
2354
- function L(e, t) {
2354
+ function z(e, t) {
2355
2355
  return e.year === t.year ? e.month === t.month ? e.day - t.day : e.month - t.month : e.year - t.year;
2356
2356
  }
2357
- function R(e) {
2357
+ function B(e) {
2358
2358
  return String(e).padStart(2, "0");
2359
2359
  }
2360
- let B = C("date"), V = C(/* @__PURE__ */ new Date()), H = C(null), U = C(0), W = C(0), ne = null, re = null, G = i(() => V.value.getFullYear()), K = i(() => V.value.getMonth()), ie = C(Math.floor((/* @__PURE__ */ new Date()).getFullYear() / 12) * 12), q = i(() => {
2360
+ let H = C("date"), U = C(/* @__PURE__ */ new Date()), W = C(null), G = C(0), K = C(0), ee = null, te = null, q = i(() => U.value.getFullYear()), ne = i(() => U.value.getMonth()), re = C(Math.floor((/* @__PURE__ */ new Date()).getFullYear() / 12) * 12), ie = i(() => {
2361
2361
  let e = [];
2362
- for (let t = 0; t < 12; t++) e.push(ie.value + t);
2362
+ for (let t = 0; t < 12; t++) e.push(re.value + t);
2363
2363
  return e;
2364
2364
  });
2365
- A(G, (e) => {
2366
- ie.value = Math.floor(e / 12) * 12;
2365
+ A(q, (e) => {
2366
+ re.value = Math.floor(e / 12) * 12;
2367
2367
  }, { immediate: !0 }), A(() => t.modelValue, (e) => {
2368
2368
  if (!e) return;
2369
2369
  let t = p(String(e));
2370
- t && (V.value = new Date(t.year, t.month, 1));
2370
+ t && (U.value = new Date(t.year, t.month, 1));
2371
2371
  }, { immediate: !0 });
2372
- let ae = i(() => te(G.value, K.value)), oe = i(() => {
2372
+ let ae = i(() => R(q.value, ne.value)), oe = i(() => {
2373
2373
  if (!t.modelValue) return "";
2374
2374
  let e = p(String(t.modelValue));
2375
2375
  return e ? u(e.year, e.month, e.day, e.hour, e.min) : "";
2376
2376
  }), se = i(() => t.range ? t.start && t.end ? `${t.start} → ${t.end}` : t.start ? `${t.start} → ...` : "" : oe.value);
2377
2377
  function ce() {
2378
2378
  let e = p(String(t.modelValue));
2379
- e ? (V.value = new Date(e.year, e.month, 1), U.value = e.hour, W.value = e.min, H.value = _.value ? {
2379
+ e ? (U.value = new Date(e.year, e.month, 1), G.value = e.hour, K.value = e.min, W.value = _.value ? {
2380
2380
  year: e.year,
2381
2381
  month: e.month,
2382
2382
  day: e.day,
2383
2383
  isCurrentMonth: !0
2384
- } : null) : (U.value = 0, W.value = 0, H.value = null), B.value = "date";
2384
+ } : null) : (G.value = 0, K.value = 0, W.value = null), H.value = "date";
2385
2385
  }
2386
2386
  function le(e) {
2387
2387
  if (!t.modelValue) return !1;
@@ -2389,58 +2389,58 @@ var ur = { class: "icon-wrap" }, dr = ["innerHTML"], fr = {
2389
2389
  return n ? n.year === e.year && n.month === e.month && n.day === e.day : !1;
2390
2390
  }
2391
2391
  function ue(e) {
2392
- return F === e.year && I === e.month && ee === e.day;
2392
+ return F === e.year && I === e.month && L === e.day;
2393
2393
  }
2394
2394
  function de(e) {
2395
- return _.value ? H.value !== null && H.value.year === e.year && H.value.month === e.month && H.value.day === e.day : le(e);
2395
+ return _.value ? W.value !== null && W.value.year === e.year && W.value.month === e.month && W.value.day === e.day : le(e);
2396
2396
  }
2397
2397
  function fe(e) {
2398
- let t = u(e.year, e.month, e.day, U.value, W.value);
2398
+ let t = u(e.year, e.month, e.day, G.value, K.value);
2399
2399
  l("update:modelValue", t), l("change", t);
2400
2400
  }
2401
2401
  function pe(e) {
2402
- if (_.value) H.value = { ...e }, V.value = new Date(e.year, e.month, 1), fe(e);
2402
+ if (_.value) W.value = { ...e }, U.value = new Date(e.year, e.month, 1), fe(e);
2403
2403
  else {
2404
2404
  let t = u(e.year, e.month, e.day, 0, 0);
2405
- l("update:modelValue", t), l("change", t), Be();
2405
+ l("update:modelValue", t), l("change", t), ze();
2406
2406
  }
2407
2407
  }
2408
2408
  function me(e) {
2409
- V.value = new Date(e, K.value, 1), B.value = "date";
2409
+ U.value = new Date(e, ne.value, 1), H.value = "date";
2410
2410
  }
2411
2411
  function he(e) {
2412
- V.value = new Date(G.value, K.value + e, 1);
2412
+ U.value = new Date(q.value, ne.value + e, 1);
2413
2413
  }
2414
2414
  function ge(e) {
2415
- B.value === "year" ? ie.value += e * 12 : V.value = new Date(G.value + e, K.value, 1);
2415
+ H.value === "year" ? re.value += e * 12 : U.value = new Date(q.value + e, ne.value, 1);
2416
2416
  }
2417
2417
  function _e(e, t) {
2418
- e === "H" ? U.value = Math.max(0, Math.min(23, U.value + t)) : W.value = Math.max(0, Math.min(59, W.value + t)), H.value && fe(H.value);
2418
+ e === "H" ? G.value = Math.max(0, Math.min(23, G.value + t)) : K.value = Math.max(0, Math.min(59, K.value + t)), W.value && fe(W.value);
2419
2419
  }
2420
2420
  function ve(e, t) {
2421
- _e(e, t), ne = setTimeout(() => {
2422
- re = setInterval(() => _e(e, t), 100);
2421
+ _e(e, t), ee = setTimeout(() => {
2422
+ te = setInterval(() => _e(e, t), 100);
2423
2423
  }, 300);
2424
2424
  }
2425
2425
  function J() {
2426
- ne &&= (clearTimeout(ne), null), re &&= (clearInterval(re), null);
2426
+ ee &&= (clearTimeout(ee), null), te &&= (clearInterval(te), null);
2427
2427
  }
2428
2428
  function ye(e, t) {
2429
2429
  let n = parseInt(e.target.value);
2430
- t === "H" ? U.value = n : W.value = n, H.value && fe(H.value);
2430
+ t === "H" ? G.value = n : K.value = n, W.value && fe(W.value);
2431
2431
  }
2432
- let be = C(F), Y = C(I), X = C(null), xe = C(null), Se = C(null), Z = C(null), Ce = i(() => !!xe.value && !!Se.value), we = i(() => Y.value === 11 ? be.value + 1 : be.value), Te = i(() => Y.value === 11 ? 0 : Y.value + 1), Ee = i(() => te(be.value, Y.value)), De = i(() => te(we.value, Te.value)), Oe = i(() => [{
2432
+ let be = C(F), Y = C(I), X = C(null), Z = C(null), xe = C(null), Q = C(null), Se = i(() => !!Z.value && !!xe.value), Ce = i(() => Y.value === 11 ? be.value + 1 : be.value), we = i(() => Y.value === 11 ? 0 : Y.value + 1), Te = i(() => R(be.value, Y.value)), Ee = i(() => R(Ce.value, we.value)), De = i(() => [{
2433
2433
  year: be.value,
2434
2434
  month: Y.value,
2435
- days: Ee.value,
2435
+ days: Te.value,
2436
2436
  isLeft: !0
2437
2437
  }, {
2438
- year: we.value,
2439
- month: Te.value,
2440
- days: De.value,
2438
+ year: Ce.value,
2439
+ month: we.value,
2440
+ days: Ee.value,
2441
2441
  isLeft: !1
2442
2442
  }]);
2443
- function ke(e) {
2443
+ function Oe(e) {
2444
2444
  let t = p(e);
2445
2445
  return t ? {
2446
2446
  year: t.year,
@@ -2449,25 +2449,25 @@ var ur = { class: "icon-wrap" }, dr = ["innerHTML"], fr = {
2449
2449
  isCurrentMonth: !0
2450
2450
  } : null;
2451
2451
  }
2452
- let Ae = i(() => X.value && Z.value ? L(X.value, Z.value) <= 0 ? X.value : Z.value : xe.value ?? ke(t.start)), je = i(() => X.value && Z.value ? L(X.value, Z.value) <= 0 ? Z.value : X.value : Se.value ?? ke(t.end)), Me = i(() => {
2452
+ let ke = i(() => X.value && Q.value ? z(X.value, Q.value) <= 0 ? X.value : Q.value : Z.value ?? Oe(t.start)), Ae = i(() => X.value && Q.value ? z(X.value, Q.value) <= 0 ? Q.value : X.value : xe.value ?? Oe(t.end)), je = i(() => {
2453
2453
  if (X.value) {
2454
2454
  let e = X.value;
2455
- return `${e.year}-${R(e.month + 1)}-${R(e.day)}`;
2455
+ return `${e.year}-${B(e.month + 1)}-${B(e.day)}`;
2456
2456
  }
2457
- if (xe.value) {
2458
- let e = xe.value;
2459
- return `${e.year}-${R(e.month + 1)}-${R(e.day)}`;
2457
+ if (Z.value) {
2458
+ let e = Z.value;
2459
+ return `${e.year}-${B(e.month + 1)}-${B(e.day)}`;
2460
2460
  }
2461
2461
  return t.start;
2462
- }), Ne = i(() => {
2462
+ }), Me = i(() => {
2463
2463
  if (X.value) return "";
2464
- if (Se.value) {
2465
- let e = Se.value;
2466
- return `${e.year}-${R(e.month + 1)}-${R(e.day)}`;
2464
+ if (xe.value) {
2465
+ let e = xe.value;
2466
+ return `${e.year}-${B(e.month + 1)}-${B(e.day)}`;
2467
2467
  }
2468
2468
  return t.end;
2469
2469
  });
2470
- function Pe() {
2470
+ function Ne() {
2471
2471
  let e = p(t.start) ?? {
2472
2472
  year: F,
2473
2473
  month: I,
@@ -2475,23 +2475,23 @@ var ur = { class: "icon-wrap" }, dr = ["innerHTML"], fr = {
2475
2475
  hour: 0,
2476
2476
  min: 0
2477
2477
  };
2478
- be.value = e.year, Y.value = e.month, xe.value = ke(t.start), Se.value = ke(t.end), X.value = null, Z.value = null;
2478
+ be.value = e.year, Y.value = e.month, Z.value = Oe(t.start), xe.value = Oe(t.end), X.value = null, Q.value = null;
2479
2479
  }
2480
- function Q() {
2480
+ function $() {
2481
2481
  Y.value === 0 ? (be.value--, Y.value = 11) : Y.value--;
2482
2482
  }
2483
- function Fe() {
2483
+ function Pe() {
2484
2484
  Y.value === 11 ? (be.value++, Y.value = 0) : Y.value++;
2485
2485
  }
2486
- function Ie(e) {
2487
- if (!X.value) X.value = { ...e }, xe.value = null, Se.value = null;
2486
+ function Fe(e) {
2487
+ if (!X.value) X.value = { ...e }, Z.value = null, xe.value = null;
2488
2488
  else {
2489
- let t = X.value, [n, r] = L(t, e) <= 0 ? [t, e] : [e, t];
2490
- xe.value = n, Se.value = r, X.value = null, Z.value = null;
2489
+ let t = X.value, [n, r] = z(t, e) <= 0 ? [t, e] : [e, t];
2490
+ Z.value = n, xe.value = r, X.value = null, Q.value = null;
2491
2491
  }
2492
2492
  }
2493
- function Le(e) {
2494
- let t = e.year === F && e.month === I && e.day === ee, n = X.value && e.year === X.value.year && e.month === X.value.month && e.day === X.value.day, r = Ae.value, i = je.value, a = r && e.year === r.year && e.month === r.month && e.day === r.day, o = i && e.year === i.year && e.month === i.month && e.day === i.day, s = r && i && L(e, r) > 0 && L(e, i) < 0;
2493
+ function Ie(e) {
2494
+ let t = e.year === F && e.month === I && e.day === L, n = X.value && e.year === X.value.year && e.month === X.value.month && e.day === X.value.day, r = ke.value, i = Ae.value, a = r && e.year === r.year && e.month === r.month && e.day === r.day, o = i && e.year === i.year && e.month === i.month && e.day === i.day, s = r && i && z(e, r) > 0 && z(e, i) < 0;
2495
2495
  return {
2496
2496
  "is-other-month": !e.isCurrentMonth,
2497
2497
  "is-today": t && !a && !o,
@@ -2501,32 +2501,32 @@ var ur = { class: "icon-wrap" }, dr = ["innerHTML"], fr = {
2501
2501
  "is-pending": !!n && !a
2502
2502
  };
2503
2503
  }
2504
+ function Le() {
2505
+ if (!Z.value || !xe.value) return;
2506
+ let e = Z.value, t = xe.value, n = `${e.year}-${B(e.month + 1)}-${B(e.day)}`, r = `${t.year}-${B(t.month + 1)}-${B(t.day)}`;
2507
+ l("update:start", n), l("update:end", r), l("change", n, r), ze();
2508
+ }
2504
2509
  function Re() {
2505
- if (!xe.value || !Se.value) return;
2506
- let e = xe.value, t = Se.value, n = `${e.year}-${R(e.month + 1)}-${R(e.day)}`, r = `${t.year}-${R(t.month + 1)}-${R(t.day)}`;
2507
- l("update:start", n), l("update:end", r), l("change", n, r), Be();
2510
+ t.disabled || (b.value || (t.range ? Ne() : ce()), b.value = !b.value);
2508
2511
  }
2509
2512
  function ze() {
2510
- t.disabled || (b.value || (t.range ? Pe() : ce()), b.value = !b.value);
2513
+ b.value = !1, X.value = null, Q.value = null;
2511
2514
  }
2512
2515
  function Be() {
2513
- b.value = !1, X.value = null, Z.value = null;
2516
+ H.value = H.value === "date" ? "year" : "date";
2514
2517
  }
2515
- function Ve() {
2516
- B.value = B.value === "date" ? "year" : "date";
2517
- }
2518
- let He = (e) => {
2518
+ let Ve = (e) => {
2519
2519
  let t = e.target;
2520
- S.value?.contains(t) || T.value || Be();
2520
+ S.value?.contains(t) || T.value || ze();
2521
2521
  };
2522
2522
  y(() => {
2523
- document.addEventListener("mousedown", He), window.addEventListener("resize", O);
2523
+ document.addEventListener("mousedown", Ve), window.addEventListener("resize", O);
2524
2524
  }), v(() => {
2525
- document.removeEventListener("mousedown", He), window.removeEventListener("resize", O), D && clearTimeout(D), J();
2525
+ document.removeEventListener("mousedown", Ve), window.removeEventListener("resize", O), D && clearTimeout(D), J();
2526
2526
  });
2527
- let Ue = (e) => {
2527
+ let He = (e) => {
2528
2528
  if (e.stopPropagation(), t.range) {
2529
- xe.value = null, Se.value = null, X.value = null, Z.value = null, l("update:start", ""), l("update:end", ""), l("change", "", ""), l("clear");
2529
+ Z.value = null, xe.value = null, X.value = null, Q.value = null, l("update:start", ""), l("update:end", ""), l("change", "", ""), l("clear");
2530
2530
  return;
2531
2531
  }
2532
2532
  l("update:modelValue", ""), l("change", ""), l("clear");
@@ -2542,14 +2542,14 @@ var ur = { class: "icon-wrap" }, dr = ["innerHTML"], fr = {
2542
2542
  disabled: t.disabled
2543
2543
  }]) }, [c("div", {
2544
2544
  class: "picker-trigger",
2545
- onClick: ze
2546
- }, [c("span", { class: g(["text", { placeholder: !se.value }]) }, E(se.value || t.placeholder), 3), t.clearable && se.value ? (x(), a(z, {
2545
+ onClick: Re
2546
+ }, [c("span", { class: g(["text", { placeholder: !se.value }]) }, E(se.value || t.placeholder), 3), t.clearable && se.value ? (x(), a(V, {
2547
2547
  key: 0,
2548
2548
  variant: "none",
2549
2549
  square: "",
2550
2550
  class: "clear",
2551
2551
  size: "sm",
2552
- onClick: Ue
2552
+ onClick: He
2553
2553
  }, {
2554
2554
  default: j(() => [...i[20] ||= [c("svg", {
2555
2555
  xmlns: "http://www.w3.org/2000/svg",
@@ -2566,7 +2566,7 @@ var ur = { class: "icon-wrap" }, dr = ["innerHTML"], fr = {
2566
2566
  })) : o("", !0)]), f(n, { name: "fade" }, {
2567
2567
  default: j(() => [b.value && !t.range && !T.value ? (x(), s("div", kr, [
2568
2568
  c("div", Ar, [
2569
- c("div", jr, [f(z, {
2569
+ c("div", jr, [f(V, {
2570
2570
  variant: "ghost",
2571
2571
  square: "",
2572
2572
  onClick: i[0] ||= (e) => ge(-1)
@@ -2583,7 +2583,7 @@ var ur = { class: "icon-wrap" }, dr = ["innerHTML"], fr = {
2583
2583
  "stroke-linejoin": "round"
2584
2584
  }, [c("path", { d: "m11 17-5-5 5-5" }), c("path", { d: "m18 17-5-5 5-5" })], -1)]]),
2585
2585
  _: 1
2586
- }), B.value === "date" ? (x(), a(z, {
2586
+ }), H.value === "date" ? (x(), a(V, {
2587
2587
  key: 0,
2588
2588
  variant: "ghost",
2589
2589
  square: "",
@@ -2604,9 +2604,9 @@ var ur = { class: "icon-wrap" }, dr = ["innerHTML"], fr = {
2604
2604
  })) : o("", !0)]),
2605
2605
  c("div", {
2606
2606
  class: "header-title",
2607
- onClick: Ve
2608
- }, [B.value === "date" ? (x(), s(e, { key: 0 }, [d(E(k[K.value]) + " " + E(G.value), 1)], 64)) : (x(), s(e, { key: 1 }, [d(E(q.value[0]) + " - " + E(q.value[q.value.length - 1]), 1)], 64))]),
2609
- c("div", Mr, [B.value === "date" ? (x(), a(z, {
2607
+ onClick: Be
2608
+ }, [H.value === "date" ? (x(), s(e, { key: 0 }, [d(E(k[ne.value]) + " " + E(q.value), 1)], 64)) : (x(), s(e, { key: 1 }, [d(E(ie.value[0]) + " - " + E(ie.value[ie.value.length - 1]), 1)], 64))]),
2609
+ c("div", Mr, [H.value === "date" ? (x(), a(V, {
2610
2610
  key: 0,
2611
2611
  variant: "ghost",
2612
2612
  square: "",
@@ -2624,7 +2624,7 @@ var ur = { class: "icon-wrap" }, dr = ["innerHTML"], fr = {
2624
2624
  "stroke-linejoin": "round"
2625
2625
  }, [c("path", { d: "m9 18 6-6-6-6" })], -1)]]),
2626
2626
  _: 1
2627
- })) : o("", !0), f(z, {
2627
+ })) : o("", !0), f(V, {
2628
2628
  variant: "ghost",
2629
2629
  square: "",
2630
2630
  onClick: i[3] ||= (e) => ge(1)
@@ -2643,10 +2643,10 @@ var ur = { class: "icon-wrap" }, dr = ["innerHTML"], fr = {
2643
2643
  _: 1
2644
2644
  })])
2645
2645
  ]),
2646
- c("div", Nr, [B.value === "date" ? (x(), s(e, { key: 0 }, [c("div", Pr, [(x(), s(e, null, w(M, (e) => c("span", {
2646
+ c("div", Nr, [H.value === "date" ? (x(), s(e, { key: 0 }, [c("div", Pr, [(x(), s(e, null, w(M, (e) => c("span", {
2647
2647
  key: e,
2648
2648
  class: "weekday"
2649
- }, E(e), 1)), 64))]), c("div", Fr, [(x(!0), s(e, null, w(ae.value, (e, t) => (x(), a(z, {
2649
+ }, E(e), 1)), 64))]), c("div", Fr, [(x(!0), s(e, null, w(ae.value, (e, t) => (x(), a(V, {
2650
2650
  key: t,
2651
2651
  variant: de(e) ? "solid" : ue(e) ? "mute" : "ghost",
2652
2652
  intent: de(e) || ue(e) ? "primary" : "none",
@@ -2661,10 +2661,10 @@ var ur = { class: "icon-wrap" }, dr = ["innerHTML"], fr = {
2661
2661
  "intent",
2662
2662
  "class",
2663
2663
  "onClick"
2664
- ]))), 128))])], 64)) : (x(), s("div", Ir, [(x(!0), s(e, null, w(q.value, (e) => (x(), a(z, {
2664
+ ]))), 128))])], 64)) : (x(), s("div", Ir, [(x(!0), s(e, null, w(ie.value, (e) => (x(), a(V, {
2665
2665
  key: e,
2666
- variant: e === G.value ? "solid" : "ghost",
2667
- intent: e === G.value ? "primary" : "none",
2666
+ variant: e === q.value ? "solid" : "ghost",
2667
+ intent: e === q.value ? "primary" : "none",
2668
2668
  class: "year-cell",
2669
2669
  onClick: (t) => me(e)
2670
2670
  }, {
@@ -2675,9 +2675,9 @@ var ur = { class: "icon-wrap" }, dr = ["innerHTML"], fr = {
2675
2675
  "intent",
2676
2676
  "onClick"
2677
2677
  ]))), 128))]))]),
2678
- _.value && B.value === "date" ? (x(), s("div", Lr, [c("div", Rr, [m.value ? (x(), s("div", zr, [
2678
+ _.value && H.value === "date" ? (x(), s("div", Lr, [c("div", Rr, [m.value ? (x(), s("div", zr, [
2679
2679
  i[27] ||= c("span", { class: "time-label" }, "時", -1),
2680
- f(z, {
2680
+ f(V, {
2681
2681
  variant: "ghost",
2682
2682
  square: "",
2683
2683
  size: "sm",
@@ -2704,10 +2704,10 @@ var ur = { class: "icon-wrap" }, dr = ["innerHTML"], fr = {
2704
2704
  type: "range",
2705
2705
  min: "0",
2706
2706
  max: "23",
2707
- value: U.value,
2707
+ value: G.value,
2708
2708
  onInput: i[5] ||= (e) => ye(e, "H")
2709
2709
  }, null, 40, Br),
2710
- f(z, {
2710
+ f(V, {
2711
2711
  variant: "ghost",
2712
2712
  square: "",
2713
2713
  size: "sm",
@@ -2729,10 +2729,10 @@ var ur = { class: "icon-wrap" }, dr = ["innerHTML"], fr = {
2729
2729
  }, [c("path", { d: "m9 18 6-6-6-6" })], -1)]]),
2730
2730
  _: 1
2731
2731
  }),
2732
- c("span", Vr, E(R(U.value)), 1)
2732
+ c("span", Vr, E(B(G.value)), 1)
2733
2733
  ])) : o("", !0), h.value ? (x(), s("div", Hr, [
2734
2734
  i[30] ||= c("span", { class: "time-label" }, "分", -1),
2735
- f(z, {
2735
+ f(V, {
2736
2736
  variant: "ghost",
2737
2737
  square: "",
2738
2738
  size: "sm",
@@ -2759,10 +2759,10 @@ var ur = { class: "icon-wrap" }, dr = ["innerHTML"], fr = {
2759
2759
  type: "range",
2760
2760
  min: "0",
2761
2761
  max: "59",
2762
- value: W.value,
2762
+ value: K.value,
2763
2763
  onInput: i[8] ||= (e) => ye(e, "m")
2764
2764
  }, null, 40, Ur),
2765
- f(z, {
2765
+ f(V, {
2766
2766
  variant: "ghost",
2767
2767
  square: "",
2768
2768
  size: "sm",
@@ -2784,7 +2784,7 @@ var ur = { class: "icon-wrap" }, dr = ["innerHTML"], fr = {
2784
2784
  }, [c("path", { d: "m9 18 6-6-6-6" })], -1)]]),
2785
2785
  _: 1
2786
2786
  }),
2787
- c("span", Wr, E(R(W.value)), 1)
2787
+ c("span", Wr, E(B(K.value)), 1)
2788
2788
  ])) : o("", !0)])])) : o("", !0)
2789
2789
  ])) : o("", !0)]),
2790
2790
  _: 1
@@ -2793,11 +2793,11 @@ var ur = { class: "icon-wrap" }, dr = ["innerHTML"], fr = {
2793
2793
  default: j(() => [b.value && !t.range && T.value ? (x(), s("div", {
2794
2794
  key: 0,
2795
2795
  class: "mobile-overlay",
2796
- onClick: N(Be, ["self"])
2796
+ onClick: N(ze, ["self"])
2797
2797
  }, [c("div", Gr, [
2798
2798
  i[41] ||= c("div", { class: "sheet-handle" }, null, -1),
2799
2799
  c("div", Kr, [
2800
- c("div", qr, [f(z, {
2800
+ c("div", qr, [f(V, {
2801
2801
  variant: "ghost",
2802
2802
  square: "",
2803
2803
  onClick: i[10] ||= (e) => ge(-1)
@@ -2814,7 +2814,7 @@ var ur = { class: "icon-wrap" }, dr = ["innerHTML"], fr = {
2814
2814
  "stroke-linejoin": "round"
2815
2815
  }, [c("path", { d: "m11 17-5-5 5-5" }), c("path", { d: "m18 17-5-5 5-5" })], -1)]]),
2816
2816
  _: 1
2817
- }), B.value === "date" ? (x(), a(z, {
2817
+ }), H.value === "date" ? (x(), a(V, {
2818
2818
  key: 0,
2819
2819
  variant: "ghost",
2820
2820
  square: "",
@@ -2835,9 +2835,9 @@ var ur = { class: "icon-wrap" }, dr = ["innerHTML"], fr = {
2835
2835
  })) : o("", !0)]),
2836
2836
  c("div", {
2837
2837
  class: "header-title",
2838
- onClick: Ve
2839
- }, [B.value === "date" ? (x(), s(e, { key: 0 }, [d(E(k[K.value]) + " " + E(G.value), 1)], 64)) : (x(), s(e, { key: 1 }, [d(E(q.value[0]) + " - " + E(q.value[q.value.length - 1]), 1)], 64))]),
2840
- c("div", Jr, [B.value === "date" ? (x(), a(z, {
2838
+ onClick: Be
2839
+ }, [H.value === "date" ? (x(), s(e, { key: 0 }, [d(E(k[ne.value]) + " " + E(q.value), 1)], 64)) : (x(), s(e, { key: 1 }, [d(E(ie.value[0]) + " - " + E(ie.value[ie.value.length - 1]), 1)], 64))]),
2840
+ c("div", Jr, [H.value === "date" ? (x(), a(V, {
2841
2841
  key: 0,
2842
2842
  variant: "ghost",
2843
2843
  square: "",
@@ -2855,7 +2855,7 @@ var ur = { class: "icon-wrap" }, dr = ["innerHTML"], fr = {
2855
2855
  "stroke-linejoin": "round"
2856
2856
  }, [c("path", { d: "m9 18 6-6-6-6" })], -1)]]),
2857
2857
  _: 1
2858
- })) : o("", !0), f(z, {
2858
+ })) : o("", !0), f(V, {
2859
2859
  variant: "ghost",
2860
2860
  square: "",
2861
2861
  onClick: i[13] ||= (e) => ge(1)
@@ -2874,10 +2874,10 @@ var ur = { class: "icon-wrap" }, dr = ["innerHTML"], fr = {
2874
2874
  _: 1
2875
2875
  })])
2876
2876
  ]),
2877
- c("div", Yr, [B.value === "date" ? (x(), s(e, { key: 0 }, [c("div", Xr, [(x(), s(e, null, w(M, (e) => c("span", {
2877
+ c("div", Yr, [H.value === "date" ? (x(), s(e, { key: 0 }, [c("div", Xr, [(x(), s(e, null, w(M, (e) => c("span", {
2878
2878
  key: e,
2879
2879
  class: "weekday"
2880
- }, E(e), 1)), 64))]), c("div", Zr, [(x(!0), s(e, null, w(ae.value, (e, t) => (x(), a(z, {
2880
+ }, E(e), 1)), 64))]), c("div", Zr, [(x(!0), s(e, null, w(ae.value, (e, t) => (x(), a(V, {
2881
2881
  key: t,
2882
2882
  variant: de(e) ? "solid" : ue(e) ? "mute" : "ghost",
2883
2883
  intent: de(e) || ue(e) ? "primary" : "none",
@@ -2892,10 +2892,10 @@ var ur = { class: "icon-wrap" }, dr = ["innerHTML"], fr = {
2892
2892
  "intent",
2893
2893
  "class",
2894
2894
  "onClick"
2895
- ]))), 128))])], 64)) : (x(), s("div", Qr, [(x(!0), s(e, null, w(q.value, (e) => (x(), a(z, {
2895
+ ]))), 128))])], 64)) : (x(), s("div", Qr, [(x(!0), s(e, null, w(ie.value, (e) => (x(), a(V, {
2896
2896
  key: e,
2897
- variant: e === G.value ? "solid" : "ghost",
2898
- intent: e === G.value ? "primary" : "none",
2897
+ variant: e === q.value ? "solid" : "ghost",
2898
+ intent: e === q.value ? "primary" : "none",
2899
2899
  class: "year-cell",
2900
2900
  onClick: (t) => me(e)
2901
2901
  }, {
@@ -2906,9 +2906,9 @@ var ur = { class: "icon-wrap" }, dr = ["innerHTML"], fr = {
2906
2906
  "intent",
2907
2907
  "onClick"
2908
2908
  ]))), 128))]))]),
2909
- _.value && B.value === "date" ? (x(), s("div", $r, [c("div", ei, [m.value ? (x(), s("div", ti, [
2909
+ _.value && H.value === "date" ? (x(), s("div", $r, [c("div", ei, [m.value ? (x(), s("div", ti, [
2910
2910
  i[37] ||= c("span", { class: "time-label" }, "時", -1),
2911
- f(z, {
2911
+ f(V, {
2912
2912
  variant: "ghost",
2913
2913
  square: "",
2914
2914
  size: "sm",
@@ -2935,10 +2935,10 @@ var ur = { class: "icon-wrap" }, dr = ["innerHTML"], fr = {
2935
2935
  type: "range",
2936
2936
  min: "0",
2937
2937
  max: "23",
2938
- value: U.value,
2938
+ value: G.value,
2939
2939
  onInput: i[15] ||= (e) => ye(e, "H")
2940
2940
  }, null, 40, ni),
2941
- f(z, {
2941
+ f(V, {
2942
2942
  variant: "ghost",
2943
2943
  square: "",
2944
2944
  size: "sm",
@@ -2960,10 +2960,10 @@ var ur = { class: "icon-wrap" }, dr = ["innerHTML"], fr = {
2960
2960
  }, [c("path", { d: "m9 18 6-6-6-6" })], -1)]]),
2961
2961
  _: 1
2962
2962
  }),
2963
- c("span", ri, E(R(U.value)), 1)
2963
+ c("span", ri, E(B(G.value)), 1)
2964
2964
  ])) : o("", !0), h.value ? (x(), s("div", ii, [
2965
2965
  i[40] ||= c("span", { class: "time-label" }, "分", -1),
2966
- f(z, {
2966
+ f(V, {
2967
2967
  variant: "ghost",
2968
2968
  square: "",
2969
2969
  size: "sm",
@@ -2990,10 +2990,10 @@ var ur = { class: "icon-wrap" }, dr = ["innerHTML"], fr = {
2990
2990
  type: "range",
2991
2991
  min: "0",
2992
2992
  max: "59",
2993
- value: W.value,
2993
+ value: K.value,
2994
2994
  onInput: i[18] ||= (e) => ye(e, "m")
2995
2995
  }, null, 40, ai),
2996
- f(z, {
2996
+ f(V, {
2997
2997
  variant: "ghost",
2998
2998
  square: "",
2999
2999
  size: "sm",
@@ -3015,7 +3015,7 @@ var ur = { class: "icon-wrap" }, dr = ["innerHTML"], fr = {
3015
3015
  }, [c("path", { d: "m9 18 6-6-6-6" })], -1)]]),
3016
3016
  _: 1
3017
3017
  }),
3018
- c("span", oi, E(R(W.value)), 1)
3018
+ c("span", oi, E(B(K.value)), 1)
3019
3019
  ])) : o("", !0)])])) : o("", !0)
3020
3020
  ])])) : o("", !0)]),
3021
3021
  _: 1
@@ -3024,16 +3024,16 @@ var ur = { class: "icon-wrap" }, dr = ["innerHTML"], fr = {
3024
3024
  default: j(() => [b.value && t.range && !T.value ? (x(), s("div", {
3025
3025
  key: 0,
3026
3026
  class: "range-overlay",
3027
- onClick: N(Be, ["self"])
3027
+ onClick: N(ze, ["self"])
3028
3028
  }, [c("div", si, [
3029
3029
  i[46] ||= c("p", { class: "range-modal-title" }, "選擇日期範圍", -1),
3030
- c("div", ci, [(x(!0), s(e, null, w(Oe.value, (t) => (x(), s(e, { key: t.isLeft ? "left" : "right" }, [t.isLeft ? o("", !0) : (x(), s("div", li)), c("div", ui, [
3030
+ c("div", ci, [(x(!0), s(e, null, w(De.value, (t) => (x(), s(e, { key: t.isLeft ? "left" : "right" }, [t.isLeft ? o("", !0) : (x(), s("div", li)), c("div", ui, [
3031
3031
  c("div", di, [
3032
- c("div", fi, [t.isLeft ? (x(), a(z, {
3032
+ c("div", fi, [t.isLeft ? (x(), a(V, {
3033
3033
  key: 0,
3034
3034
  variant: "ghost",
3035
3035
  square: "",
3036
- onClick: Q
3036
+ onClick: $
3037
3037
  }, {
3038
3038
  default: j(() => [...i[42] ||= [c("svg", {
3039
3039
  xmlns: "http://www.w3.org/2000/svg",
@@ -3049,11 +3049,11 @@ var ur = { class: "icon-wrap" }, dr = ["innerHTML"], fr = {
3049
3049
  _: 1
3050
3050
  })) : (x(), s("div", pi))]),
3051
3051
  c("div", mi, E(k[t.month]) + " " + E(t.year), 1),
3052
- c("div", hi, [t.isLeft ? (x(), s("div", gi)) : (x(), a(z, {
3052
+ c("div", hi, [t.isLeft ? (x(), s("div", gi)) : (x(), a(V, {
3053
3053
  key: 0,
3054
3054
  variant: "ghost",
3055
3055
  square: "",
3056
- onClick: Fe
3056
+ onClick: Pe
3057
3057
  }, {
3058
3058
  default: j(() => [...i[43] ||= [c("svg", {
3059
3059
  xmlns: "http://www.w3.org/2000/svg",
@@ -3075,21 +3075,21 @@ var ur = { class: "icon-wrap" }, dr = ["innerHTML"], fr = {
3075
3075
  }, E(e), 1)), 64))]),
3076
3076
  c("div", vi, [(x(!0), s(e, null, w(t.days, (e, t) => (x(), s("div", {
3077
3077
  key: t,
3078
- class: g(["range-day", Le(e)]),
3079
- onClick: (t) => Ie(e),
3080
- onMouseenter: (t) => Z.value = e
3078
+ class: g(["range-day", Ie(e)]),
3079
+ onClick: (t) => Fe(e),
3080
+ onMouseenter: (t) => Q.value = e
3081
3081
  }, E(e.day), 43, yi))), 128))])
3082
3082
  ])], 64))), 128))]),
3083
3083
  c("div", bi, [c("div", xi, [
3084
- c("span", { class: g(["range-val", { "is-empty": !Me.value }]) }, E(Me.value || "開始日期"), 3),
3084
+ c("span", { class: g(["range-val", { "is-empty": !je.value }]) }, E(je.value || "開始日期"), 3),
3085
3085
  i[44] ||= c("span", { class: "range-arrow" }, "→", -1),
3086
- c("span", { class: g(["range-val", { "is-empty": !Ne.value }]) }, E(Ne.value || "結束日期"), 3)
3087
- ]), f(z, {
3086
+ c("span", { class: g(["range-val", { "is-empty": !Me.value }]) }, E(Me.value || "結束日期"), 3)
3087
+ ]), f(V, {
3088
3088
  variant: "solid",
3089
3089
  intent: "primary",
3090
3090
  class: "confirm-btn",
3091
- disabled: !Ce.value,
3092
- onClick: N(Re, ["stop"])
3091
+ disabled: !Se.value,
3092
+ onClick: N(Le, ["stop"])
3093
3093
  }, {
3094
3094
  default: j(() => [...i[45] ||= [d(" 確認 ", -1)]]),
3095
3095
  _: 1
@@ -3101,15 +3101,15 @@ var ur = { class: "icon-wrap" }, dr = ["innerHTML"], fr = {
3101
3101
  default: j(() => [b.value && t.range && T.value ? (x(), s("div", {
3102
3102
  key: 0,
3103
3103
  class: "mobile-overlay",
3104
- onClick: N(Be, ["self"])
3104
+ onClick: N(ze, ["self"])
3105
3105
  }, [c("div", Si, [
3106
3106
  i[51] ||= c("div", { class: "sheet-handle" }, null, -1),
3107
3107
  i[52] ||= c("p", { class: "range-modal-title" }, "選擇日期範圍", -1),
3108
3108
  c("div", Ci, [
3109
- c("div", wi, [f(z, {
3109
+ c("div", wi, [f(V, {
3110
3110
  variant: "ghost",
3111
3111
  square: "",
3112
- onClick: Q
3112
+ onClick: $
3113
3113
  }, {
3114
3114
  default: j(() => [...i[47] ||= [c("svg", {
3115
3115
  xmlns: "http://www.w3.org/2000/svg",
@@ -3125,10 +3125,10 @@ var ur = { class: "icon-wrap" }, dr = ["innerHTML"], fr = {
3125
3125
  _: 1
3126
3126
  })]),
3127
3127
  c("div", Ti, E(k[Y.value]) + " " + E(be.value), 1),
3128
- c("div", Ei, [f(z, {
3128
+ c("div", Ei, [f(V, {
3129
3129
  variant: "ghost",
3130
3130
  square: "",
3131
- onClick: Fe
3131
+ onClick: Pe
3132
3132
  }, {
3133
3133
  default: j(() => [...i[48] ||= [c("svg", {
3134
3134
  xmlns: "http://www.w3.org/2000/svg",
@@ -3148,21 +3148,21 @@ var ur = { class: "icon-wrap" }, dr = ["innerHTML"], fr = {
3148
3148
  key: e,
3149
3149
  class: "weekday"
3150
3150
  }, E(e), 1)), 64))]),
3151
- c("div", Oi, [(x(!0), s(e, null, w(Ee.value, (e, t) => (x(), s("div", {
3151
+ c("div", Oi, [(x(!0), s(e, null, w(Te.value, (e, t) => (x(), s("div", {
3152
3152
  key: t,
3153
- class: g(["range-day", Le(e)]),
3154
- onClick: (t) => Ie(e)
3153
+ class: g(["range-day", Ie(e)]),
3154
+ onClick: (t) => Fe(e)
3155
3155
  }, E(e.day), 11, ki))), 128))]),
3156
3156
  c("div", Ai, [c("div", ji, [
3157
- c("span", { class: g(["range-val", { "is-empty": !Me.value }]) }, E(Me.value || "開始日期"), 3),
3157
+ c("span", { class: g(["range-val", { "is-empty": !je.value }]) }, E(je.value || "開始日期"), 3),
3158
3158
  i[49] ||= c("span", { class: "range-arrow" }, "→", -1),
3159
- c("span", { class: g(["range-val", { "is-empty": !Ne.value }]) }, E(Ne.value || "結束日期"), 3)
3160
- ]), f(z, {
3159
+ c("span", { class: g(["range-val", { "is-empty": !Me.value }]) }, E(Me.value || "結束日期"), 3)
3160
+ ]), f(V, {
3161
3161
  variant: "solid",
3162
3162
  intent: "primary",
3163
3163
  class: "confirm-btn",
3164
- disabled: !Ce.value,
3165
- onClick: N(Re, ["stop"])
3164
+ disabled: !Se.value,
3165
+ onClick: N(Le, ["stop"])
3166
3166
  }, {
3167
3167
  default: j(() => [...i[50] ||= [d(" 確認 ", -1)]]),
3168
3168
  _: 1
@@ -3172,7 +3172,7 @@ var ur = { class: "icon-wrap" }, dr = ["innerHTML"], fr = {
3172
3172
  })
3173
3173
  ], 512));
3174
3174
  }
3175
- }), [["__scopeId", "data-v-a16fe255"]]), Ni = /* @__PURE__ */ R(/* @__PURE__ */ p({
3175
+ }), [["__scopeId", "data-v-a16fe255"]]), Ni = /* @__PURE__ */ B(/* @__PURE__ */ p({
3176
3176
  __name: "NTooltip",
3177
3177
  props: {
3178
3178
  content: { default: "" },
@@ -3210,7 +3210,7 @@ var ur = { class: "icon-wrap" }, dr = ["innerHTML"], fr = {
3210
3210
  }), [["__scopeId", "data-v-7a53ca0a"]]), Pi = { class: "modal-header" }, Fi = { class: "modal-title" }, Ii = { class: "modal-content" }, Li = {
3211
3211
  key: 0,
3212
3212
  class: "modal-footer"
3213
- }, Ri = /* @__PURE__ */ R(/* @__PURE__ */ p({
3213
+ }, Ri = /* @__PURE__ */ B(/* @__PURE__ */ p({
3214
3214
  __name: "NModal",
3215
3215
  props: {
3216
3216
  show: {
@@ -3275,7 +3275,7 @@ var ur = { class: "icon-wrap" }, dr = ["innerHTML"], fr = {
3275
3275
  }), [["__scopeId", "data-v-ee2fac3c"]]), zi = { class: "drawer-header" }, Bi = { class: "drawer-title" }, Vi = { class: "drawer-body" }, Hi = {
3276
3276
  key: 0,
3277
3277
  class: "drawer-footer"
3278
- }, Ui = /* @__PURE__ */ R(/* @__PURE__ */ p({
3278
+ }, Ui = /* @__PURE__ */ B(/* @__PURE__ */ p({
3279
3279
  __name: "NDrawer",
3280
3280
  props: {
3281
3281
  show: {
@@ -3341,7 +3341,7 @@ var ur = { class: "icon-wrap" }, dr = ["innerHTML"], fr = {
3341
3341
  }), [["__scopeId", "data-v-f8c0a0bb"]]), Wi = { class: "cards-wrapper" }, Gi = ["innerHTML"], Ki = { class: "card-body" }, qi = {
3342
3342
  key: 0,
3343
3343
  class: "card-title"
3344
- }, Ji = { class: "card-message" }, Yi = { class: "card-footer" }, Xi = ["onClick"], Zi = ["onClick"], Qi = /* @__PURE__ */ R(/* @__PURE__ */ p({
3344
+ }, Ji = { class: "card-message" }, Yi = { class: "card-footer" }, Xi = ["onClick"], Zi = ["onClick"], Qi = /* @__PURE__ */ B(/* @__PURE__ */ p({
3345
3345
  __name: "NAlert",
3346
3346
  setup(n) {
3347
3347
  let { alerts: r, clearAlerts: i } = Rt(), l = {
@@ -3419,27 +3419,112 @@ function $i() {
3419
3419
  ];
3420
3420
  }
3421
3421
  //#endregion
3422
- //#region src/components/NVideoSelect.vue?vue&type=script&setup=true&lang.ts
3423
- var ea = {
3422
+ //#region src/composables/useMediaSelect.ts
3423
+ var ea = (e) => e == null ? "—" : e < 1024 ? e + " B" : e < 1048576 ? (e / 1024).toFixed(0) + " KB" : e < 1073741824 ? (e / 1048576).toFixed(1) + " MB" : (e / 1073741824).toFixed(2) + " GB", ta = (e, t = "floor") => {
3424
+ if (e == null || isNaN(e)) return "0:00";
3425
+ let n = t === "round" ? Math.round(e) : Math.floor(e), r = Math.floor(n / 60), i = n % 60;
3426
+ return r + ":" + (i < 10 ? "0" : "") + i;
3427
+ }, na = (e) => e.width && e.height ? e.width + "×" + e.height : "—", ra = (e, t) => {
3428
+ if (e.name) return e.name;
3429
+ try {
3430
+ let n = new URL(e.url, window.location.href).pathname;
3431
+ return decodeURIComponent(n.split("/").filter(Boolean).pop() ?? t);
3432
+ } catch {
3433
+ return t;
3434
+ }
3435
+ }, ia = (e) => {
3436
+ e?.startsWith("blob:") && URL.revokeObjectURL(e);
3437
+ }, aa = (e) => typeof crypto < "u" && "randomUUID" in crypto ? crypto.randomUUID() : e + Math.random().toString(36).slice(2, 9), oa = (e, t, n) => {
3438
+ let r = t.split(",").map((e) => e.trim().toLowerCase()).filter(Boolean);
3439
+ if (r.length === 0) return e.type.startsWith(n);
3440
+ let i = e.type.toLowerCase(), a = e.name.toLowerCase();
3441
+ return r.some((e) => e.startsWith(".") ? a.endsWith(e) : e.endsWith("/*") ? i.startsWith(e.slice(0, -1)) : i === e);
3442
+ }, sa = (e, t) => {
3443
+ let n = [], r = !1;
3444
+ return Array.prototype.forEach.call(e, (e) => {
3445
+ if (!oa(e, t.accept, t.fallbackTypePrefix)) {
3446
+ t.onError({
3447
+ type: "type",
3448
+ file: e
3449
+ });
3450
+ return;
3451
+ }
3452
+ if (t.maxSize > 0 && e.size > t.maxSize * 1024 * 1024) {
3453
+ t.onError({
3454
+ type: "size",
3455
+ file: e
3456
+ });
3457
+ return;
3458
+ }
3459
+ if (n.length >= t.remainingSlots) {
3460
+ r ||= (t.onError({
3461
+ type: "count",
3462
+ file: e
3463
+ }), !0);
3464
+ return;
3465
+ }
3466
+ n.push(e);
3467
+ }), n;
3468
+ }, ca = (e) => {
3469
+ let t = C(!1), n = async () => {
3470
+ if (!e.isBlocked()) if (e.multiple()) {
3471
+ let t = await Ft.input.custom(e.accept(), !0);
3472
+ if (t.length === 0) return;
3473
+ e.onFiles(t.map((e) => e.file));
3474
+ } else {
3475
+ let t = await Ft.input.custom(e.accept(), !1);
3476
+ if (!t) return;
3477
+ e.onFiles([t.file]);
3478
+ }
3479
+ };
3480
+ return {
3481
+ isDragging: t,
3482
+ dropZoneHandlers: {
3483
+ onClick: n,
3484
+ onDragenter: (n) => {
3485
+ e.isBlocked() || (n.preventDefault(), t.value = !0);
3486
+ },
3487
+ onDragover: (e) => e.preventDefault(),
3488
+ onDragleave: (e) => {
3489
+ e.preventDefault();
3490
+ let n = e.relatedTarget;
3491
+ n && e.currentTarget.contains(n) || (t.value = !1);
3492
+ },
3493
+ onDrop: (n) => {
3494
+ n.preventDefault(), t.value = !1, !e.isBlocked() && n.dataTransfer?.files?.length && e.onFiles(n.dataTransfer.files);
3495
+ }
3496
+ },
3497
+ openFileDialog: n
3498
+ };
3499
+ }, la = (e, t) => {
3500
+ let n = "", r = (e) => {
3501
+ e.key === "Escape" && t();
3502
+ };
3503
+ A(e, (e) => {
3504
+ e ? (n = document.body.style.overflow, document.body.style.overflow = "hidden", document.addEventListener("keydown", r)) : (document.body.style.overflow = n, document.removeEventListener("keydown", r));
3505
+ }), v(() => {
3506
+ e.value && (document.body.style.overflow = n), document.removeEventListener("keydown", r);
3507
+ });
3508
+ }, ua = {
3424
3509
  key: 0,
3425
3510
  class: "head"
3426
- }, ta = ["textContent"], na = {
3511
+ }, da = ["textContent"], fa = {
3427
3512
  key: 1,
3428
3513
  class: "count-chip"
3429
- }, ra = { class: "grid" }, ia = {
3514
+ }, pa = { class: "grid" }, ma = {
3430
3515
  key: 0,
3431
3516
  class: "icon",
3432
3517
  "aria-hidden": "true"
3433
- }, aa = ["textContent"], oa = ["textContent"], sa = ["onClick"], ca = ["src"], la = {
3518
+ }, ha = ["textContent"], ga = ["textContent"], _a = ["onClick"], va = ["src"], ya = {
3434
3519
  key: 1,
3435
3520
  class: "placeholder-label"
3436
- }, ua = { class: "duration" }, da = { class: "card-body" }, fa = ["title"], pa = { class: "file-meta" }, ma = { key: 0 }, ha = {
3521
+ }, ba = { class: "duration" }, xa = { class: "card-body" }, Sa = ["title"], Ca = { class: "file-meta" }, wa = { key: 0 }, Ta = {
3437
3522
  key: 1,
3438
3523
  class: "dot-separator"
3439
- }, ga = { key: 2 }, _a = { class: "card-actions" }, va = ["onClick"], ya = ["disabled", "onClick"], ba = { class: "vi-modal-card" }, xa = { class: "vi-modal-media" }, Sa = ["src"], Ca = {
3524
+ }, Ea = { key: 2 }, Da = { class: "card-actions" }, Oa = ["onClick"], ka = ["disabled", "onClick"], Aa = { class: "vi-modal-card" }, ja = { class: "vi-modal-media" }, Ma = ["src"], Na = {
3440
3525
  key: 1,
3441
3526
  class: "vi-modal-placeholder"
3442
- }, wa = { class: "vi-modal-bar" }, Ta = { class: "vi-modal-info" }, Ea = { class: "modal-name" }, Da = { class: "modal-meta" }, Oa = /* @__PURE__ */ R(/* @__PURE__ */ p({
3527
+ }, Pa = { class: "vi-modal-bar" }, Fa = { class: "vi-modal-info" }, Ia = { class: "modal-name" }, La = { class: "modal-meta" }, Ra = /* @__PURE__ */ B(/* @__PURE__ */ p({
3443
3528
  __name: "NVideoSelect",
3444
3529
  props: {
3445
3530
  modelValue: { default: () => [] },
@@ -3477,33 +3562,14 @@ var ea = {
3477
3562
  "error"
3478
3563
  ],
3479
3564
  setup(r, { emit: l }) {
3480
- let u = l, p = C(!1), h = C(null), [_, y, b] = $i(), { confirm: S } = Rt(), T = i(() => r.modelValue.length), O = (e) => e == null ? "" : e < 1024 ? e + " B" : e < 1048576 ? (e / 1024).toFixed(0) + " KB" : e < 1073741824 ? (e / 1048576).toFixed(1) + " MB" : (e / 1073741824).toFixed(2) + " GB", k = (e) => {
3481
- if (e == null || isNaN(e)) return "0:00";
3482
- let t = Math.round(e), n = Math.floor(t / 60), r = t % 60;
3483
- return n + ":" + (r < 10 ? "0" : "") + r;
3484
- }, M = (e) => e.width && e.height ? e.width + "×" + e.height : "—", P = (e) => {
3485
- if (e.name) return e.name;
3486
- try {
3487
- let t = new URL(e.url, window.location.href).pathname;
3488
- return decodeURIComponent(t.split("/").filter(Boolean).pop() ?? "影片");
3489
- } catch {
3490
- return "影片";
3491
- }
3492
- }, F = (e) => {
3493
- e?.startsWith("blob:") && URL.revokeObjectURL(e);
3494
- }, I = () => typeof crypto < "u" && "randomUUID" in crypto ? crypto.randomUUID() : "v" + Math.random().toString(36).slice(2, 9), ee = (e) => {
3495
- let t = r.accept.split(",").map((e) => e.trim().toLowerCase()).filter(Boolean);
3496
- if (t.length === 0) return e.type.startsWith("video/");
3497
- let n = e.type.toLowerCase(), i = e.name.toLowerCase();
3498
- return t.some((e) => e.startsWith(".") ? i.endsWith(e) : e.endsWith("/*") ? n.startsWith(e.slice(0, -1)) : n === e);
3499
- }, te = (e) => {
3565
+ let u = l, p = C(null), [h, _, y] = $i(), { confirm: b } = Rt(), S = !1, T = i(() => r.modelValue.length), O = (e) => ta(e, "round"), k = (e) => ra(e, "影片"), M = (e) => {
3500
3566
  if (!e.url) return;
3501
3567
  let t = document.createElement("video");
3502
3568
  t.preload = "metadata";
3503
3569
  let n = () => {
3504
3570
  t.removeEventListener("loadedmetadata", i), t.removeEventListener("error", n), t.removeAttribute("src"), t.load();
3505
3571
  }, i = () => {
3506
- if (r.modelValue.some((t) => t.id === e.id)) {
3572
+ if (!S && r.modelValue.some((t) => t.id === e.id)) {
3507
3573
  let n = r.modelValue.map((n) => n.id === e.id ? {
3508
3574
  ...n,
3509
3575
  duration: t.duration,
@@ -3515,39 +3581,28 @@ var ea = {
3515
3581
  n();
3516
3582
  };
3517
3583
  t.addEventListener("loadedmetadata", i), t.addEventListener("error", n), t.src = e.url;
3518
- }, L = /* @__PURE__ */ new Set();
3584
+ }, P = /* @__PURE__ */ new Set();
3519
3585
  A(() => r.modelValue, (e) => {
3520
3586
  e.forEach((e) => {
3521
- !e.url || L.has(e.id) || (L.add(e.id), (e.duration == null || e.width == null) && te(e));
3587
+ !e.url || P.has(e.id) || (P.add(e.id), (e.duration == null || e.width == null) && M(e));
3522
3588
  });
3523
3589
  }, { immediate: !0 });
3524
- let R = (e) => {
3525
- if (r.disabled || r.readonly) return;
3526
- let t = [], n = !1;
3527
- if (Array.prototype.forEach.call(e, (e) => {
3528
- if (!ee(e)) {
3529
- u("error", {
3530
- type: "type",
3531
- file: e
3532
- });
3533
- return;
3534
- }
3535
- if (r.maxSize > 0 && e.size > r.maxSize * 1024 * 1024) {
3536
- u("error", {
3537
- type: "size",
3538
- file: e
3539
- });
3540
- return;
3541
- }
3542
- if (!r.multiple && r.modelValue.length + t.length >= 1) {
3543
- n ||= (u("error", {
3544
- type: "count",
3545
- file: e
3546
- }), !0);
3547
- return;
3548
- }
3549
- t.push({
3550
- id: I(),
3590
+ let { isDragging: F, dropZoneHandlers: I } = ca({
3591
+ isBlocked: () => r.disabled || r.readonly,
3592
+ accept: () => r.accept,
3593
+ multiple: () => r.multiple,
3594
+ onFiles: (e) => {
3595
+ if (r.disabled || r.readonly) return;
3596
+ let t = sa(e, {
3597
+ accept: r.accept,
3598
+ fallbackTypePrefix: "video/",
3599
+ maxSize: r.maxSize,
3600
+ remainingSlots: r.multiple ? Infinity : Math.max(0, 1 - r.modelValue.length),
3601
+ onError: (e) => u("error", e)
3602
+ });
3603
+ if (t.length === 0) return;
3604
+ let n = t.map((e) => ({
3605
+ id: aa("v"),
3551
3606
  file: e,
3552
3607
  name: e.name,
3553
3608
  size: e.size,
@@ -3555,83 +3610,54 @@ var ea = {
3555
3610
  width: null,
3556
3611
  height: null,
3557
3612
  url: URL.createObjectURL(e)
3613
+ })), i = [...r.modelValue, ...n];
3614
+ u("update:modelValue", i), u("change", i), u("add", n), n.forEach((e) => {
3615
+ P.add(e.id), M(e);
3558
3616
  });
3559
- }), t.length === 0) return;
3560
- let i = [...r.modelValue, ...t];
3561
- u("update:modelValue", i), u("change", i), u("add", t), t.forEach((e) => {
3562
- L.add(e.id), te(e);
3563
- });
3564
- }, z = async () => {
3565
- if (!(r.disabled || r.readonly)) if (r.multiple) {
3566
- let e = await $.input.custom(r.accept, !0);
3567
- if (e.length === 0) return;
3568
- R(e.map((e) => e.file));
3569
- } else {
3570
- let e = await $.input.custom(r.accept, !1);
3571
- if (!e) return;
3572
- R([e.file]);
3573
3617
  }
3574
- }, B = async (e) => {
3618
+ }), L = async (e) => {
3575
3619
  if (r.disabled || r.readonly) return;
3576
3620
  let t = r.modelValue.find((t) => t.id === e);
3577
- if (!t || !await S(`確定要移除「${P(t)}」嗎?`, {
3621
+ if (!t || !await b(`確定要移除「${k(t)}」嗎?`, {
3578
3622
  title: "移除影片",
3579
3623
  status: "danger",
3580
3624
  confirmText: "移除",
3581
3625
  cancelText: "取消"
3582
3626
  })) return;
3583
- F(t.url);
3627
+ ia(t.url), P.delete(e);
3584
3628
  let n = r.modelValue.filter((t) => t.id !== e);
3585
3629
  u("update:modelValue", n), u("change", n), u("remove", t);
3586
- }, V = (e) => {
3587
- h.value = e, y();
3588
- }, H = () => {
3589
- b();
3590
- }, U = i(() => {
3591
- let e = h.value;
3630
+ }, R = (e) => {
3631
+ p.value = e, _();
3632
+ }, z = () => {
3633
+ y();
3634
+ }, B = i(() => {
3635
+ let e = p.value;
3592
3636
  return e ? [
3593
- e.size == null ? null : O(e.size),
3594
- e.width && e.height ? M(e) : null,
3595
- k(e.duration)
3637
+ e.size == null ? null : ea(e.size),
3638
+ e.width && e.height ? na(e) : null,
3639
+ O(e.duration)
3596
3640
  ].filter(Boolean).join(" · ") : "";
3597
- }), W = (e) => {
3598
- e.key === "Escape" && H();
3599
- }, ne = "";
3600
- A(_, (e) => {
3601
- e ? (ne = document.body.style.overflow, document.body.style.overflow = "hidden", document.addEventListener("keydown", W)) : (document.body.style.overflow = ne, document.removeEventListener("keydown", W));
3602
- }), v(() => {
3603
- document.body.style.overflow = ne, document.removeEventListener("keydown", W), r.autoRevoke && r.modelValue.forEach((e) => F(e.url));
3604
3641
  });
3605
- let re = {
3606
- onClick: z,
3607
- onDragenter: (e) => {
3608
- r.disabled || r.readonly || (e.preventDefault(), p.value = !0);
3609
- },
3610
- onDragover: (e) => e.preventDefault(),
3611
- onDragleave: (e) => {
3612
- e.preventDefault(), p.value = !1;
3613
- },
3614
- onDrop: (e) => {
3615
- r.disabled || r.readonly || (e.preventDefault(), p.value = !1, e.dataTransfer?.files?.length && R(e.dataTransfer.files));
3616
- }
3617
- };
3618
- return (i, l) => (x(), s("div", { class: g(["video-input", {
3642
+ return la(h, z), v(() => {
3643
+ S = !0, r.autoRevoke && r.modelValue.forEach((e) => ia(e.url));
3644
+ }), (i, l) => (x(), s("div", { class: g(["video-input", {
3619
3645
  "is-disabled": r.disabled,
3620
3646
  "is-readonly": r.readonly
3621
3647
  }]) }, [
3622
- r.title || r.showCount ? (x(), s("div", ea, [r.title ? (x(), s("span", {
3648
+ r.title || r.showCount ? (x(), s("div", ua, [r.title ? (x(), s("span", {
3623
3649
  key: 0,
3624
3650
  class: "title",
3625
3651
  textContent: E(r.title)
3626
- }, null, 8, ta)) : o("", !0), r.showCount ? (x(), s("span", na, E(T.value) + " 支", 1)) : o("", !0)])) : o("", !0),
3627
- c("div", ra, [T.value === 0 ? (x(), s("div", m({
3652
+ }, null, 8, da)) : o("", !0), r.showCount ? (x(), s("span", fa, E(T.value) + " 支", 1)) : o("", !0)])) : o("", !0),
3653
+ c("div", pa, [T.value === 0 ? (x(), s("div", m({
3628
3654
  key: 0,
3629
3655
  class: ["empty", {
3630
- "is-drag": p.value,
3656
+ "is-drag": D(F),
3631
3657
  "is-static": r.readonly
3632
3658
  }]
3633
- }, r.readonly ? {} : re), [
3634
- r.readonly ? o("", !0) : (x(), s("span", ia, [...l[0] ||= [c("svg", {
3659
+ }, r.readonly ? {} : D(I)), [
3660
+ r.readonly ? o("", !0) : (x(), s("span", ma, [...l[0] ||= [c("svg", {
3635
3661
  viewBox: "0 0 24 24",
3636
3662
  fill: "none",
3637
3663
  stroke: "currentColor",
@@ -3643,24 +3669,24 @@ var ea = {
3643
3669
  c("path", { d: "M7 9l5-5 5 5" }),
3644
3670
  c("path", { d: "M12 4v12" })
3645
3671
  ], -1)]])),
3646
- c("h3", { textContent: E(r.readonly ? "目前沒有影片" : r.emptyTitle) }, null, 8, aa),
3672
+ c("h3", { textContent: E(r.readonly ? "目前沒有影片" : r.emptyTitle) }, null, 8, ha),
3647
3673
  r.readonly ? o("", !0) : (x(), s("p", {
3648
3674
  key: 1,
3649
3675
  textContent: E(r.emptyHint)
3650
- }, null, 8, oa))
3676
+ }, null, 8, ga))
3651
3677
  ], 16)) : (x(), s(e, { key: 1 }, [(x(!0), s(e, null, w(r.modelValue, (e) => (x(), s("div", {
3652
3678
  key: e.id,
3653
3679
  class: "card"
3654
3680
  }, [c("div", {
3655
3681
  class: g(["thumb", { placeholder: !e.url }]),
3656
- onClick: (t) => V(e)
3682
+ onClick: (t) => R(e)
3657
3683
  }, [
3658
3684
  e.url ? (x(), s("video", {
3659
3685
  key: 0,
3660
3686
  src: e.url + "#t=0.5",
3661
3687
  muted: "",
3662
3688
  preload: "metadata"
3663
- }, null, 8, ca)) : (x(), s("div", la, "縮圖預覽")),
3689
+ }, null, 8, va)) : (x(), s("div", ya, "縮圖預覽")),
3664
3690
  l[1] ||= c("div", {
3665
3691
  class: "play",
3666
3692
  "aria-hidden": "true"
@@ -3668,20 +3694,20 @@ var ea = {
3668
3694
  viewBox: "0 0 24 24",
3669
3695
  fill: "currentColor"
3670
3696
  }, [c("path", { d: "M8 5v14l11-7z" })])], -1),
3671
- c("div", ua, E(k(e.duration)), 1)
3672
- ], 10, sa), c("div", da, [
3697
+ c("div", ba, E(O(e.duration)), 1)
3698
+ ], 10, _a), c("div", xa, [
3673
3699
  c("div", {
3674
3700
  class: "file-name",
3675
- title: P(e)
3676
- }, E(P(e)), 9, fa),
3677
- c("div", pa, [
3678
- e.size == null ? o("", !0) : (x(), s("span", ma, E(O(e.size)), 1)),
3679
- e.size != null && e.width && e.height ? (x(), s("span", ha)) : o("", !0),
3680
- e.width && e.height ? (x(), s("span", ga, E(M(e)), 1)) : o("", !0)
3701
+ title: k(e)
3702
+ }, E(k(e)), 9, Sa),
3703
+ c("div", Ca, [
3704
+ e.size == null ? o("", !0) : (x(), s("span", wa, E(D(ea)(e.size)), 1)),
3705
+ e.size != null && e.width && e.height ? (x(), s("span", Ta)) : o("", !0),
3706
+ e.width && e.height ? (x(), s("span", Ea, E(D(na)(e)), 1)) : o("", !0)
3681
3707
  ]),
3682
- c("div", _a, [c("button", {
3708
+ c("div", Da, [c("button", {
3683
3709
  class: "action preview",
3684
- onClick: (t) => V(e)
3710
+ onClick: (t) => R(e)
3685
3711
  }, [...l[2] ||= [c("svg", {
3686
3712
  viewBox: "0 0 24 24",
3687
3713
  fill: "none",
@@ -3693,12 +3719,12 @@ var ea = {
3693
3719
  cx: "12",
3694
3720
  cy: "12",
3695
3721
  r: "3"
3696
- })], -1), d(" 預覽 ", -1)]], 8, va), r.readonly ? o("", !0) : (x(), s("button", {
3722
+ })], -1), d(" 預覽 ", -1)]], 8, Oa), r.readonly ? o("", !0) : (x(), s("button", {
3697
3723
  key: 0,
3698
3724
  class: "action delete",
3699
3725
  "aria-label": "刪除",
3700
3726
  disabled: r.disabled,
3701
- onClick: N((t) => B(e.id), ["stop"])
3727
+ onClick: N((t) => L(e.id), ["stop"])
3702
3728
  }, [...l[3] ||= [c("svg", {
3703
3729
  viewBox: "0 0 24 24",
3704
3730
  fill: "none",
@@ -3706,11 +3732,11 @@ var ea = {
3706
3732
  "stroke-width": "2",
3707
3733
  "stroke-linecap": "round",
3708
3734
  "stroke-linejoin": "round"
3709
- }, [c("path", { d: "M3 6h18M8 6V4a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v2m2 0v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6" }), c("path", { d: "M10 11v6M14 11v6" })], -1)]], 8, ya))])
3735
+ }, [c("path", { d: "M3 6h18M8 6V4a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v2m2 0v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6" }), c("path", { d: "M10 11v6M14 11v6" })], -1)]], 8, ka))])
3710
3736
  ])]))), 128)), r.multiple && !r.readonly ? (x(), s("div", m({
3711
3737
  key: 0,
3712
- class: ["add-card", { "is-drag": p.value }]
3713
- }, re), [...l[4] ||= [
3738
+ class: ["add-card", { "is-drag": D(F) }]
3739
+ }, D(I)), [...l[4] ||= [
3714
3740
  c("span", {
3715
3741
  class: "plus",
3716
3742
  "aria-hidden": "true"
@@ -3726,22 +3752,22 @@ var ea = {
3726
3752
  c("span", { class: "hint" }, "點擊或拖放檔案 · MP4 / MOV / WebM", -1)
3727
3753
  ]], 16)) : o("", !0)], 64))]),
3728
3754
  (x(), a(t, { to: "body" }, [f(n, { name: "vi-modal" }, {
3729
- default: j(() => [D(_) ? (x(), s("div", {
3755
+ default: j(() => [D(h) ? (x(), s("div", {
3730
3756
  key: 0,
3731
3757
  class: "vi-modal",
3732
- onClick: N(H, ["self"])
3733
- }, [c("div", ba, [c("div", xa, [h.value?.url ? (x(), s("video", {
3758
+ onClick: N(z, ["self"])
3759
+ }, [c("div", Aa, [c("div", ja, [p.value?.url ? (x(), s("video", {
3734
3760
  key: 0,
3735
- src: h.value.url,
3761
+ src: p.value.url,
3736
3762
  controls: "",
3737
3763
  autoplay: "",
3738
3764
  playsinline: "",
3739
3765
  controlslist: "nofullscreen nodownload noremoteplayback noplaybackrate",
3740
3766
  disablepictureinpicture: ""
3741
- }, null, 8, Sa)) : (x(), s("div", Ca, " 示範影片 · 上傳真實檔案即可在此播放 "))]), c("div", wa, [c("div", Ta, [c("div", Ea, E(h.value ? P(h.value) : ""), 1), c("div", Da, E(U.value), 1)]), c("button", {
3767
+ }, null, 8, Ma)) : (x(), s("div", Na, " 示範影片 · 上傳真實檔案即可在此播放 "))]), c("div", Pa, [c("div", Fa, [c("div", Ia, E(p.value ? k(p.value) : ""), 1), c("div", La, E(B.value), 1)]), c("button", {
3742
3768
  class: "vi-modal-close",
3743
3769
  "aria-label": "關閉",
3744
- onClick: H
3770
+ onClick: z
3745
3771
  }, [...l[5] ||= [c("svg", {
3746
3772
  viewBox: "0 0 24 24",
3747
3773
  fill: "none",
@@ -3754,26 +3780,26 @@ var ea = {
3754
3780
  })]))
3755
3781
  ], 2));
3756
3782
  }
3757
- }), [["__scopeId", "data-v-414cc3f4"]]), ka = {
3783
+ }), [["__scopeId", "data-v-479d302a"]]), za = {
3758
3784
  key: 0,
3759
3785
  class: "head"
3760
- }, Aa = ["textContent"], ja = {
3786
+ }, Ba = ["textContent"], Va = {
3761
3787
  key: 1,
3762
3788
  class: "count-chip"
3763
- }, Ma = { class: "grid" }, Na = {
3789
+ }, Ha = { class: "grid" }, Ua = {
3764
3790
  key: 0,
3765
3791
  class: "icon",
3766
3792
  "aria-hidden": "true"
3767
- }, Pa = ["textContent"], Fa = ["textContent"], Ia = ["onClick"], La = ["src", "alt"], Ra = {
3793
+ }, Wa = ["textContent"], Ga = ["textContent"], Ka = ["onClick"], qa = ["src", "alt"], Ja = {
3768
3794
  key: 1,
3769
3795
  class: "placeholder-label"
3770
- }, za = { class: "card-body" }, Ba = ["title"], Va = { class: "file-meta" }, Ha = { key: 0 }, Ua = {
3796
+ }, Ya = { class: "card-body" }, Xa = ["title"], Za = { class: "file-meta" }, Qa = { key: 0 }, $a = {
3771
3797
  key: 1,
3772
3798
  class: "dot-separator"
3773
- }, Wa = { key: 2 }, Ga = { class: "card-actions" }, Ka = ["onClick"], qa = ["disabled", "onClick"], Ja = { class: "ii-modal-card" }, Ya = { class: "ii-modal-media" }, Xa = ["src", "alt"], Za = {
3799
+ }, eo = { key: 2 }, to = { class: "card-actions" }, no = ["onClick"], ro = ["disabled", "onClick"], io = { class: "ii-modal-card" }, ao = { class: "ii-modal-media" }, oo = ["src", "alt"], so = {
3774
3800
  key: 1,
3775
3801
  class: "ii-modal-ph"
3776
- }, Qa = { class: "ii-modal-bar" }, $a = { class: "ii-modal-info" }, eo = { class: "modal-name" }, to = { class: "modal-meta" }, no = /* @__PURE__ */ R(/* @__PURE__ */ p({
3802
+ }, co = { class: "ii-modal-bar" }, lo = { class: "ii-modal-info" }, uo = { class: "modal-name" }, fo = { class: "modal-meta" }, po = /* @__PURE__ */ B(/* @__PURE__ */ p({
3777
3803
  __name: "NImageSelect",
3778
3804
  props: {
3779
3805
  modelValue: { default: () => [] },
@@ -3811,27 +3837,12 @@ var ea = {
3811
3837
  "error"
3812
3838
  ],
3813
3839
  setup(r, { emit: l }) {
3814
- let u = l, p = C(!1), h = C(null), [_, y, b] = $i(), { confirm: S } = Rt(), T = i(() => r.modelValue.length), O = (e) => e == null ? "—" : e < 1024 ? e + " B" : e < 1048576 ? (e / 1024).toFixed(0) + " KB" : e < 1073741824 ? (e / 1048576).toFixed(1) + " MB" : (e / 1073741824).toFixed(2) + " GB", k = (e) => e.width && e.height ? e.width + "×" + e.height : "—", M = (e) => {
3815
- if (e.name) return e.name;
3816
- try {
3817
- let t = new URL(e.url, window.location.href).pathname;
3818
- return decodeURIComponent(t.split("/").filter(Boolean).pop() ?? "圖片");
3819
- } catch {
3820
- return "圖片";
3821
- }
3822
- }, P = (e) => {
3823
- e?.startsWith("blob:") && URL.revokeObjectURL(e);
3824
- }, F = () => typeof crypto < "u" && "randomUUID" in crypto ? crypto.randomUUID() : "i" + Math.random().toString(36).slice(2, 9), I = (e) => {
3825
- let t = r.accept.split(",").map((e) => e.trim().toLowerCase()).filter(Boolean);
3826
- if (t.length === 0) return e.type.startsWith("image/");
3827
- let n = e.type.toLowerCase(), i = e.name.toLowerCase();
3828
- return t.some((e) => e.startsWith(".") ? i.endsWith(e) : e.endsWith("/*") ? n.startsWith(e.slice(0, -1)) : n === e);
3829
- }, ee = (e) => {
3840
+ let u = l, p = C(null), [h, _, y] = $i(), { confirm: b } = Rt(), S = !1, T = i(() => r.modelValue.length), O = (e) => ra(e, "圖片"), k = (e) => {
3830
3841
  if (!e.url) return;
3831
3842
  let t = new Image(), n = () => {
3832
3843
  t.removeEventListener("load", i), t.removeEventListener("error", n), t.removeAttribute("src");
3833
3844
  }, i = () => {
3834
- if (r.modelValue.some((t) => t.id === e.id)) {
3845
+ if (!S && r.modelValue.some((t) => t.id === e.id)) {
3835
3846
  let n = r.modelValue.map((n) => n.id === e.id ? {
3836
3847
  ...n,
3837
3848
  width: t.naturalWidth,
@@ -3842,118 +3853,78 @@ var ea = {
3842
3853
  n();
3843
3854
  };
3844
3855
  t.addEventListener("load", i), t.addEventListener("error", n), t.src = e.url;
3845
- }, te = /* @__PURE__ */ new Set();
3856
+ }, M = /* @__PURE__ */ new Set();
3846
3857
  A(() => r.modelValue, (e) => {
3847
3858
  e.forEach((e) => {
3848
- !e.url || te.has(e.id) || (te.add(e.id), (e.width == null || e.height == null) && ee(e));
3859
+ !e.url || M.has(e.id) || (M.add(e.id), (e.width == null || e.height == null) && k(e));
3849
3860
  });
3850
3861
  }, { immediate: !0 });
3851
- let L = (e) => {
3852
- if (r.disabled || r.readonly) return;
3853
- let t = [], n = !1;
3854
- if (Array.prototype.forEach.call(e, (e) => {
3855
- if (!I(e)) {
3856
- u("error", {
3857
- type: "type",
3858
- file: e
3859
- });
3860
- return;
3861
- }
3862
- if (r.maxSize > 0 && e.size > r.maxSize * 1024 * 1024) {
3863
- u("error", {
3864
- type: "size",
3865
- file: e
3866
- });
3867
- return;
3868
- }
3869
- if (!r.multiple && r.modelValue.length + t.length >= 1) {
3870
- n ||= (u("error", {
3871
- type: "count",
3872
- file: e
3873
- }), !0);
3874
- return;
3875
- }
3876
- t.push({
3877
- id: F(),
3862
+ let { isDragging: P, dropZoneHandlers: F } = ca({
3863
+ isBlocked: () => r.disabled || r.readonly,
3864
+ accept: () => r.accept,
3865
+ multiple: () => r.multiple,
3866
+ onFiles: (e) => {
3867
+ if (r.disabled || r.readonly) return;
3868
+ let t = sa(e, {
3869
+ accept: r.accept,
3870
+ fallbackTypePrefix: "image/",
3871
+ maxSize: r.maxSize,
3872
+ remainingSlots: r.multiple ? Infinity : Math.max(0, 1 - r.modelValue.length),
3873
+ onError: (e) => u("error", e)
3874
+ });
3875
+ if (t.length === 0) return;
3876
+ let n = t.map((e) => ({
3877
+ id: aa("i"),
3878
3878
  file: e,
3879
3879
  name: e.name,
3880
3880
  size: e.size,
3881
3881
  width: null,
3882
3882
  height: null,
3883
3883
  url: URL.createObjectURL(e)
3884
+ })), i = [...r.modelValue, ...n];
3885
+ u("update:modelValue", i), u("change", i), u("add", n), n.forEach((e) => {
3886
+ M.add(e.id), k(e);
3884
3887
  });
3885
- }), t.length === 0) return;
3886
- let i = [...r.modelValue, ...t];
3887
- u("update:modelValue", i), u("change", i), u("add", t), t.forEach((e) => {
3888
- te.add(e.id), ee(e);
3889
- });
3890
- }, R = async () => {
3891
- if (!(r.disabled || r.readonly)) if (r.multiple) {
3892
- let e = await $.input.custom(r.accept, !0);
3893
- if (e.length === 0) return;
3894
- L(e.map((e) => e.file));
3895
- } else {
3896
- let e = await $.input.custom(r.accept, !1);
3897
- if (!e) return;
3898
- L([e.file]);
3899
3888
  }
3900
- }, z = async (e) => {
3889
+ }), I = async (e) => {
3901
3890
  if (r.disabled || r.readonly) return;
3902
3891
  let t = r.modelValue.find((t) => t.id === e);
3903
- if (!t || !await S(`確定要移除「${M(t)}」嗎?`, {
3892
+ if (!t || !await b(`確定要移除「${O(t)}」嗎?`, {
3904
3893
  title: "移除圖片",
3905
3894
  status: "danger",
3906
3895
  confirmText: "移除",
3907
3896
  cancelText: "取消"
3908
3897
  })) return;
3909
- P(t.url);
3898
+ ia(t.url), M.delete(e);
3910
3899
  let n = r.modelValue.filter((t) => t.id !== e);
3911
3900
  u("update:modelValue", n), u("change", n), u("remove", t);
3912
- }, B = (e) => {
3913
- h.value = e, y();
3914
- }, V = () => {
3915
- b();
3916
- }, H = i(() => {
3917
- let e = h.value;
3918
- return e ? [e.size == null ? null : O(e.size), e.width && e.height ? k(e) : null].filter(Boolean).join(" · ") : "";
3919
- }), U = (e) => {
3920
- e.key === "Escape" && V();
3921
- }, W = "";
3922
- A(_, (e) => {
3923
- e ? (W = document.body.style.overflow, document.body.style.overflow = "hidden", document.addEventListener("keydown", U)) : (document.body.style.overflow = W, document.removeEventListener("keydown", U));
3924
- }), v(() => {
3925
- document.body.style.overflow = W, document.removeEventListener("keydown", U), r.autoRevoke && r.modelValue.forEach((e) => P(e.url));
3901
+ }, L = (e) => {
3902
+ p.value = e, _();
3903
+ }, R = () => {
3904
+ y();
3905
+ }, z = i(() => {
3906
+ let e = p.value;
3907
+ return e ? [e.size == null ? null : ea(e.size), e.width && e.height ? na(e) : null].filter(Boolean).join(" · ") : "";
3926
3908
  });
3927
- let ne = {
3928
- onClick: R,
3929
- onDragenter: (e) => {
3930
- r.disabled || r.readonly || (e.preventDefault(), p.value = !0);
3931
- },
3932
- onDragover: (e) => e.preventDefault(),
3933
- onDragleave: (e) => {
3934
- e.preventDefault(), p.value = !1;
3935
- },
3936
- onDrop: (e) => {
3937
- r.disabled || r.readonly || (e.preventDefault(), p.value = !1, e.dataTransfer?.files?.length && L(e.dataTransfer.files));
3938
- }
3939
- };
3940
- return (i, l) => (x(), s("div", { class: g(["image-input", {
3909
+ return la(h, R), v(() => {
3910
+ S = !0, r.autoRevoke && r.modelValue.forEach((e) => ia(e.url));
3911
+ }), (i, l) => (x(), s("div", { class: g(["image-input", {
3941
3912
  "is-disabled": r.disabled,
3942
3913
  "is-readonly": r.readonly
3943
3914
  }]) }, [
3944
- r.title || r.showCount ? (x(), s("div", ka, [r.title ? (x(), s("span", {
3915
+ r.title || r.showCount ? (x(), s("div", za, [r.title ? (x(), s("span", {
3945
3916
  key: 0,
3946
3917
  class: "title",
3947
3918
  textContent: E(r.title)
3948
- }, null, 8, Aa)) : o("", !0), r.showCount ? (x(), s("span", ja, E(T.value) + " 張", 1)) : o("", !0)])) : o("", !0),
3949
- c("div", Ma, [T.value === 0 ? (x(), s("div", m({
3919
+ }, null, 8, Ba)) : o("", !0), r.showCount ? (x(), s("span", Va, E(T.value) + " 張", 1)) : o("", !0)])) : o("", !0),
3920
+ c("div", Ha, [T.value === 0 ? (x(), s("div", m({
3950
3921
  key: 0,
3951
3922
  class: ["empty", {
3952
- "is-drag": p.value,
3923
+ "is-drag": D(P),
3953
3924
  "is-static": r.readonly
3954
3925
  }]
3955
- }, r.readonly ? {} : ne), [
3956
- r.readonly ? o("", !0) : (x(), s("span", Na, [...l[0] ||= [c("svg", {
3926
+ }, r.readonly ? {} : D(F)), [
3927
+ r.readonly ? o("", !0) : (x(), s("span", Ua, [...l[0] ||= [c("svg", {
3957
3928
  viewBox: "0 0 24 24",
3958
3929
  fill: "none",
3959
3930
  stroke: "currentColor",
@@ -3975,23 +3946,23 @@ var ea = {
3975
3946
  }),
3976
3947
  c("path", { d: "M21 15l-5-5L5 21" })
3977
3948
  ], -1)]])),
3978
- c("h3", { textContent: E(r.readonly ? "目前沒有圖片" : r.emptyTitle) }, null, 8, Pa),
3949
+ c("h3", { textContent: E(r.readonly ? "目前沒有圖片" : r.emptyTitle) }, null, 8, Wa),
3979
3950
  r.readonly ? o("", !0) : (x(), s("p", {
3980
3951
  key: 1,
3981
3952
  textContent: E(r.emptyHint)
3982
- }, null, 8, Fa))
3953
+ }, null, 8, Ga))
3983
3954
  ], 16)) : (x(), s(e, { key: 1 }, [(x(!0), s(e, null, w(r.modelValue, (e) => (x(), s("div", {
3984
3955
  key: e.id,
3985
3956
  class: "card"
3986
3957
  }, [c("div", {
3987
3958
  class: g(["thumb", { placeholder: !e.url }]),
3988
- onClick: (t) => B(e)
3959
+ onClick: (t) => L(e)
3989
3960
  }, [e.url ? (x(), s("img", {
3990
3961
  key: 0,
3991
3962
  src: e.url,
3992
- alt: M(e),
3963
+ alt: O(e),
3993
3964
  loading: "lazy"
3994
- }, null, 8, La)) : (x(), s("div", Ra, "縮圖預覽")), l[1] ||= c("div", {
3965
+ }, null, 8, qa)) : (x(), s("div", Ja, "縮圖預覽")), l[1] ||= c("div", {
3995
3966
  class: "zoom",
3996
3967
  "aria-hidden": "true"
3997
3968
  }, [c("svg", {
@@ -4005,19 +3976,19 @@ var ea = {
4005
3976
  cx: "11",
4006
3977
  cy: "11",
4007
3978
  r: "7"
4008
- }), c("path", { d: "m21 21-4.3-4.3M11 8v6M8 11h6" })])], -1)], 10, Ia), c("div", za, [
3979
+ }), c("path", { d: "m21 21-4.3-4.3M11 8v6M8 11h6" })])], -1)], 10, Ka), c("div", Ya, [
4009
3980
  c("div", {
4010
3981
  class: "file-name",
4011
- title: M(e)
4012
- }, E(M(e)), 9, Ba),
4013
- c("div", Va, [
4014
- e.size == null ? o("", !0) : (x(), s("span", Ha, E(O(e.size)), 1)),
4015
- e.size != null && e.width && e.height ? (x(), s("span", Ua)) : o("", !0),
4016
- e.width && e.height ? (x(), s("span", Wa, E(k(e)), 1)) : o("", !0)
3982
+ title: O(e)
3983
+ }, E(O(e)), 9, Xa),
3984
+ c("div", Za, [
3985
+ e.size == null ? o("", !0) : (x(), s("span", Qa, E(D(ea)(e.size)), 1)),
3986
+ e.size != null && e.width && e.height ? (x(), s("span", $a)) : o("", !0),
3987
+ e.width && e.height ? (x(), s("span", eo, E(D(na)(e)), 1)) : o("", !0)
4017
3988
  ]),
4018
- c("div", Ga, [c("button", {
3989
+ c("div", to, [c("button", {
4019
3990
  class: "action preview",
4020
- onClick: (t) => B(e)
3991
+ onClick: (t) => L(e)
4021
3992
  }, [...l[2] ||= [c("svg", {
4022
3993
  viewBox: "0 0 24 24",
4023
3994
  fill: "none",
@@ -4029,12 +4000,12 @@ var ea = {
4029
4000
  cx: "12",
4030
4001
  cy: "12",
4031
4002
  r: "3"
4032
- })], -1), d(" 預覽 ", -1)]], 8, Ka), r.readonly ? o("", !0) : (x(), s("button", {
4003
+ })], -1), d(" 預覽 ", -1)]], 8, no), r.readonly ? o("", !0) : (x(), s("button", {
4033
4004
  key: 0,
4034
4005
  class: "action delete",
4035
4006
  "aria-label": "刪除",
4036
4007
  disabled: r.disabled,
4037
- onClick: N((t) => z(e.id), ["stop"])
4008
+ onClick: N((t) => I(e.id), ["stop"])
4038
4009
  }, [...l[3] ||= [c("svg", {
4039
4010
  viewBox: "0 0 24 24",
4040
4011
  fill: "none",
@@ -4042,11 +4013,11 @@ var ea = {
4042
4013
  "stroke-width": "2",
4043
4014
  "stroke-linecap": "round",
4044
4015
  "stroke-linejoin": "round"
4045
- }, [c("path", { d: "M3 6h18M8 6V4a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v2m2 0v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6" }), c("path", { d: "M10 11v6M14 11v6" })], -1)]], 8, qa))])
4016
+ }, [c("path", { d: "M3 6h18M8 6V4a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v2m2 0v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6" }), c("path", { d: "M10 11v6M14 11v6" })], -1)]], 8, ro))])
4046
4017
  ])]))), 128)), r.multiple && !r.readonly ? (x(), s("div", m({
4047
4018
  key: 0,
4048
- class: ["add-card", { "is-drag": p.value }]
4049
- }, ne), [...l[4] ||= [
4019
+ class: ["add-card", { "is-drag": D(P) }]
4020
+ }, D(F)), [...l[4] ||= [
4050
4021
  c("span", {
4051
4022
  class: "plus",
4052
4023
  "aria-hidden": "true"
@@ -4062,18 +4033,18 @@ var ea = {
4062
4033
  c("span", { class: "hint" }, "點擊或拖放檔案 · JPG / PNG / WebP / GIF", -1)
4063
4034
  ]], 16)) : o("", !0)], 64))]),
4064
4035
  (x(), a(t, { to: "body" }, [f(n, { name: "ii-modal" }, {
4065
- default: j(() => [D(_) ? (x(), s("div", {
4036
+ default: j(() => [D(h) ? (x(), s("div", {
4066
4037
  key: 0,
4067
4038
  class: "ii-modal",
4068
- onClick: N(V, ["self"])
4069
- }, [c("div", Ja, [c("div", Ya, [h.value?.url ? (x(), s("img", {
4039
+ onClick: N(R, ["self"])
4040
+ }, [c("div", io, [c("div", ao, [p.value?.url ? (x(), s("img", {
4070
4041
  key: 0,
4071
- src: h.value.url,
4072
- alt: h.value ? M(h.value) : ""
4073
- }, null, 8, Xa)) : (x(), s("div", Za, " 示範圖片 · 上傳真實檔案即可在此檢視 "))]), c("div", Qa, [c("div", $a, [c("div", eo, E(h.value ? M(h.value) : ""), 1), c("div", to, E(H.value), 1)]), c("button", {
4042
+ src: p.value.url,
4043
+ alt: p.value ? O(p.value) : ""
4044
+ }, null, 8, oo)) : (x(), s("div", so, " 示範圖片 · 上傳真實檔案即可在此檢視 "))]), c("div", co, [c("div", lo, [c("div", uo, E(p.value ? O(p.value) : ""), 1), c("div", fo, E(z.value), 1)]), c("button", {
4074
4045
  class: "ii-modal-close",
4075
4046
  "aria-label": "關閉",
4076
- onClick: V
4047
+ onClick: R
4077
4048
  }, [...l[5] ||= [c("svg", {
4078
4049
  viewBox: "0 0 24 24",
4079
4050
  fill: "none",
@@ -4086,40 +4057,40 @@ var ea = {
4086
4057
  })]))
4087
4058
  ], 2));
4088
4059
  }
4089
- }), [["__scopeId", "data-v-0531aeda"]]), ro = {
4060
+ }), [["__scopeId", "data-v-aa2d3585"]]), mo = {
4090
4061
  key: 0,
4091
4062
  class: "head"
4092
- }, io = ["textContent"], ao = {
4063
+ }, ho = ["textContent"], go = {
4093
4064
  key: 1,
4094
4065
  class: "count-chip"
4095
- }, oo = {
4066
+ }, _o = {
4096
4067
  key: 0,
4097
4068
  class: "icon",
4098
4069
  "aria-hidden": "true"
4099
- }, so = ["textContent"], co = ["textContent"], lo = {
4070
+ }, vo = ["textContent"], yo = ["textContent"], bo = {
4100
4071
  key: 2,
4101
4072
  class: "list"
4102
- }, uo = [
4073
+ }, xo = [
4103
4074
  "src",
4104
4075
  "onLoadedmetadata",
4105
4076
  "onTimeupdate",
4106
4077
  "onEnded"
4107
- ], fo = [
4078
+ ], So = [
4108
4079
  "aria-label",
4109
4080
  "disabled",
4110
4081
  "onClick"
4111
- ], po = {
4082
+ ], Co = {
4112
4083
  key: 0,
4113
4084
  viewBox: "0 0 24 24",
4114
4085
  fill: "currentColor"
4115
- }, mo = {
4086
+ }, wo = {
4116
4087
  key: 1,
4117
4088
  viewBox: "0 0 24 24",
4118
4089
  fill: "currentColor"
4119
- }, ho = { class: "meta" }, go = ["title"], _o = { class: "sub" }, vo = ["onMousedown", "onTouchstart"], yo = {
4090
+ }, To = { class: "meta" }, Eo = ["title"], Do = { class: "sub" }, Oo = ["onMousedown", "onTouchstart"], ko = {
4120
4091
  key: 1,
4121
4092
  class: "track"
4122
- }, bo = { class: "time" }, xo = ["disabled", "onClick"], So = { class: "meta" }, Co = { class: "name" }, wo = 256, To = 5, Eo = /* @__PURE__ */ R(/* @__PURE__ */ p({
4093
+ }, Ao = { class: "time" }, jo = ["disabled", "onClick"], Mo = { class: "meta" }, No = { class: "name" }, Po = 30, Fo = 256, Io = 5, Lo = /* @__PURE__ */ B(/* @__PURE__ */ p({
4123
4094
  __name: "NAudioSelect",
4124
4095
  props: {
4125
4096
  modelValue: { default: () => [] },
@@ -4166,40 +4137,28 @@ var ea = {
4166
4137
  refCount: 1
4167
4138
  };
4168
4139
  return r.set(e, a), a;
4169
- }, l = (e, t) => {
4140
+ }, l = () => {
4141
+ let e = 0;
4142
+ if (r.forEach((t) => {
4143
+ t.refCount <= 0 && (e += 1);
4144
+ }), !(e <= Po)) {
4145
+ for (let [t, n] of r) if (!(n.refCount > 0) && (r.delete(t), --e, e <= Po)) break;
4146
+ }
4147
+ }, f = (e, t) => {
4170
4148
  if (!e) return;
4171
4149
  let n = r.get(e);
4172
- n && (--n.refCount, t && n.refCount <= 0 && r.delete(e));
4173
- }, f = n, { confirm: p } = Rt(), h = C(!1), y = C([]), b = C(null), T = S({}), D = S({}), O = S({}), k = /* @__PURE__ */ new Set(), j = /* @__PURE__ */ new Map(), M = (e, t, n) => {
4174
- a(e, t, n), j.set(e, (j.get(e) ?? 0) + 1);
4175
- }, P = (e, t) => {
4150
+ n && (--n.refCount, n.refCount <= 0 && (t ? r.delete(e) : l()));
4151
+ }, p = n, { confirm: h } = Rt(), y = C([]), b = !1, T = C(null), O = S({}), k = S({}), j = S({}), M = /* @__PURE__ */ new Set(), P = /* @__PURE__ */ new Map(), F = (e, t, n) => {
4152
+ a(e, t, n), P.set(e, (P.get(e) ?? 0) + 1);
4153
+ }, I = (e, t) => {
4176
4154
  if (!e) return;
4177
- let n = j.get(e) ?? 0;
4178
- n <= 0 || (n === 1 ? j.delete(e) : j.set(e, n - 1), l(e, t));
4179
- }, F = /* @__PURE__ */ new Map(), I = /* @__PURE__ */ new Map(), ee = (e, t) => {
4180
- t ? F.set(e, t) : F.delete(e);
4181
- }, te = i(() => t.modelValue.length), L = (e) => e == null ? "" : e < 1024 ? e + " B" : e < 1048576 ? (e / 1024).toFixed(0) + " KB" : e < 1073741824 ? (e / 1048576).toFixed(1) + " MB" : (e / 1073741824).toFixed(2) + " GB", R = (e) => {
4182
- if (e == null || isNaN(e)) return "0:00";
4183
- let t = Math.floor(e), n = Math.floor(t / 60), r = t % 60;
4184
- return n + ":" + (r < 10 ? "0" : "") + r;
4185
- }, z = () => typeof crypto < "u" && "randomUUID" in crypto ? crypto.randomUUID() : "a" + Math.random().toString(36).slice(2, 9), B = (e) => {
4186
- if (e.name) return e.name;
4187
- try {
4188
- let t = new URL(e.url, window.location.href).pathname;
4189
- return decodeURIComponent(t.split("/").filter(Boolean).pop() ?? "音訊");
4190
- } catch {
4191
- return "音訊";
4192
- }
4193
- }, V = (e) => {
4194
- e?.startsWith("blob:") && URL.revokeObjectURL(e);
4195
- }, H = (e) => {
4196
- let n = t.accept.split(",").map((e) => e.trim().toLowerCase()).filter(Boolean);
4197
- if (n.length === 0) return e.type.startsWith("audio/");
4198
- let r = e.type.toLowerCase(), i = e.name.toLowerCase();
4199
- return n.some((e) => e.startsWith(".") ? i.endsWith(e) : e.endsWith("/*") ? r.startsWith(e.slice(0, -1)) : r === e);
4200
- }, U = null, W = () => (U ||= new (window.AudioContext || window.webkitAudioContext)(), U), ne = async (e) => {
4201
- let t = await W().decodeAudioData(e.slice(0)), n = t.getChannelData(0), r = Math.floor(n.length / wo) || 1, i = Array(wo), a = 0;
4202
- for (let e = 0; e < wo; e++) {
4155
+ let n = P.get(e) ?? 0;
4156
+ n <= 0 || (n === 1 ? P.delete(e) : P.set(e, n - 1), f(e, t));
4157
+ }, L = /* @__PURE__ */ new Map(), R = /* @__PURE__ */ new Map(), z = (e, t) => {
4158
+ t ? L.set(e, t) : L.delete(e);
4159
+ }, B = i(() => t.modelValue.length), V = () => aa("a"), H = (e) => ra(e, "音訊"), U = null, W = () => (U ||= new (window.AudioContext || window.webkitAudioContext)(), U), G = async (e) => {
4160
+ let t = await W().decodeAudioData(e.slice(0)), n = t.getChannelData(0), r = Math.floor(n.length / Fo) || 1, i = Array(Fo), a = 0;
4161
+ for (let e = 0; e < Fo; e++) {
4203
4162
  let t = 0, o = e * r, s = Math.min(n.length, o + r);
4204
4163
  for (let e = o; e < s; e++) {
4205
4164
  let r = Math.abs(n[e]);
@@ -4208,212 +4167,178 @@ var ea = {
4208
4167
  i[e] = t, t > a && (a = t);
4209
4168
  }
4210
4169
  let o = a > 0 ? 1 / a : 1;
4211
- for (let e = 0; e < wo; e++) i[e] = Math.max(.06, i[e] * o);
4170
+ for (let e = 0; e < Fo; e++) i[e] = Math.max(.06, i[e] * o);
4212
4171
  return {
4213
4172
  peaks: i,
4214
4173
  duration: t.duration
4215
4174
  };
4216
- }, re = (e) => e.arrayBuffer().then((e) => ne(e)), G = (e) => {
4217
- let t = I.get(e), n = T[e];
4175
+ }, K = (e) => e.arrayBuffer().then((e) => G(e)), ee = (e) => {
4176
+ let t = R.get(e), n = O[e];
4218
4177
  if (!t || !n) return;
4219
4178
  let r = t.clientWidth;
4220
4179
  if (r <= 0) {
4221
- requestAnimationFrame(() => G(e));
4180
+ te || requestAnimationFrame(() => ee(e));
4222
4181
  return;
4223
4182
  }
4224
- let i = Math.max(8, Math.min(n.length, Math.floor((r + 2) / To)));
4225
- if (D[e] && D[e].length === i) return;
4183
+ let i = Math.max(8, Math.min(n.length, Math.floor((r + 2) / Io)));
4184
+ if (k[e] && k[e].length === i) return;
4226
4185
  let a = Array(i);
4227
4186
  for (let e = 0; e < i; e++) {
4228
4187
  let t = Math.floor(e * n.length / i), r = Math.max(t + 1, Math.floor((e + 1) * n.length / i)), o = 0;
4229
4188
  for (let e = t; e < r; e++) n[e] > o && (o = n[e]);
4230
4189
  a[e] = o;
4231
4190
  }
4232
- D[e] = a;
4233
- }, K = typeof ResizeObserver < "u" ? new ResizeObserver((e) => {
4191
+ k[e] = a;
4192
+ }, te = typeof ResizeObserver < "u" ? new ResizeObserver((e) => {
4234
4193
  e.forEach((e) => {
4235
4194
  let t = e.target.dataset.waveId;
4236
- t && G(t);
4195
+ t && ee(t);
4237
4196
  });
4238
- }) : null, ie = (e, t) => {
4239
- let n = I.get(e);
4240
- if (n && K && K.unobserve(n), t) {
4197
+ }) : null, q = (e, t) => {
4198
+ let n = R.get(e);
4199
+ if (n && te && te.unobserve(n), t) {
4241
4200
  let n = t;
4242
- n.dataset.waveId = e, I.set(e, n), K ? K.observe(n) : G(e);
4243
- } else I.delete(e);
4244
- }, q = (e) => {
4245
- if (t.disabled || t.readonly) return;
4246
- let n = [], r = !1;
4247
- Array.prototype.forEach.call(e, (e) => {
4248
- if (!H(e)) {
4249
- f("error", {
4250
- type: "type",
4251
- file: e
4252
- });
4253
- return;
4254
- }
4255
- if (t.maxSize > 0 && e.size > t.maxSize * 1024 * 1024) {
4256
- f("error", {
4257
- type: "size",
4258
- file: e
4259
- });
4260
- return;
4261
- }
4262
- if (!t.multiple && t.modelValue.length + n.length + y.value.length >= 1) {
4263
- r ||= (f("error", {
4264
- type: "count",
4265
- file: e
4266
- }), !0);
4267
- return;
4268
- }
4269
- n.push(e);
4270
- }), n.length !== 0 && n.forEach((e) => {
4271
- let n = "p" + z();
4272
- y.value.push({
4273
- tag: n,
4274
- name: e.name
4275
- }), re(e).then(({ peaks: n, duration: r }) => {
4276
- let i = {
4277
- id: z(),
4278
- file: e,
4279
- name: e.name,
4280
- size: e.size,
4281
- duration: r,
4282
- url: URL.createObjectURL(e)
4283
- };
4284
- T[i.id] = n, O[i.id] = 0, k.add(i.id), M(i.url, n, r);
4285
- let a = [...t.modelValue, i];
4286
- f("update:modelValue", a), f("change", a), f("add", [i]);
4287
- }).catch(() => {
4288
- f("error", {
4289
- type: "type",
4290
- file: e
4201
+ n.dataset.waveId = e, R.set(e, n), te ? te.observe(n) : ee(e);
4202
+ } else R.delete(e);
4203
+ }, { isDragging: ne, dropZoneHandlers: re } = ca({
4204
+ isBlocked: () => t.disabled || t.readonly,
4205
+ accept: () => t.accept,
4206
+ multiple: () => t.multiple,
4207
+ onFiles: (e) => {
4208
+ if (t.disabled || t.readonly) return;
4209
+ let n = sa(e, {
4210
+ accept: t.accept,
4211
+ fallbackTypePrefix: "audio/",
4212
+ maxSize: t.maxSize,
4213
+ remainingSlots: t.multiple ? Infinity : Math.max(0, 1 - t.modelValue.length - y.value.length),
4214
+ onError: (e) => p("error", e)
4215
+ });
4216
+ n.length !== 0 && n.forEach((e) => {
4217
+ let n = "p" + V();
4218
+ y.value.push({
4219
+ tag: n,
4220
+ name: e.name
4221
+ }), K(e).then(({ peaks: n, duration: r }) => {
4222
+ if (b) return;
4223
+ let i = {
4224
+ id: V(),
4225
+ file: e,
4226
+ name: e.name,
4227
+ size: e.size,
4228
+ duration: r,
4229
+ url: URL.createObjectURL(e)
4230
+ };
4231
+ O[i.id] = n, j[i.id] = 0, M.add(i.id), F(i.url, n, r);
4232
+ let a = [...t.modelValue, i];
4233
+ p("update:modelValue", a), p("change", a), p("add", [i]);
4234
+ }).catch(() => {
4235
+ b || p("error", {
4236
+ type: "type",
4237
+ file: e
4238
+ });
4239
+ }).finally(() => {
4240
+ y.value = y.value.filter((e) => e.tag !== n);
4291
4241
  });
4292
- }).finally(() => {
4293
- y.value = y.value.filter((e) => e.tag !== n);
4294
4242
  });
4295
- });
4296
- }, ae = async () => {
4297
- if (!(t.disabled || t.readonly)) if (t.multiple) {
4298
- let e = await $.input.custom(t.accept, !0);
4299
- if (e.length === 0) return;
4300
- q(e.map((e) => e.file));
4301
- } else {
4302
- let e = await $.input.custom(t.accept, !1);
4303
- if (!e) return;
4304
- q([e.file]);
4305
4243
  }
4306
- }, oe = async (e) => {
4244
+ }), ie = async (e) => {
4307
4245
  if (t.disabled || t.readonly) return;
4308
4246
  let n = t.modelValue.find((t) => t.id === e);
4309
- if (!n || !await p(`確定要移除「${B(n)}」嗎?`, {
4247
+ if (!n || !await h(`確定要移除「${H(n)}」嗎?`, {
4310
4248
  title: "移除音訊",
4311
4249
  status: "danger",
4312
4250
  confirmText: "移除",
4313
4251
  cancelText: "取消"
4314
4252
  })) return;
4315
- b.value === e && se(), V(n.url), P(n.url, !0), delete T[e], delete D[e], delete O[e], k.delete(e);
4253
+ T.value === e && ae(), ia(n.url), I(n.url, !0), delete O[e], delete k[e], delete j[e], M.delete(e);
4316
4254
  let r = t.modelValue.filter((t) => t.id !== e);
4317
- f("update:modelValue", r), f("change", r), f("remove", n);
4318
- }, se = () => {
4319
- let e = b.value;
4320
- e && F.get(e)?.pause(), b.value = null;
4321
- }, ce = (e) => {
4322
- let n = F.get(e);
4255
+ p("update:modelValue", r), p("change", r), p("remove", n);
4256
+ }, ae = () => {
4257
+ let e = T.value;
4258
+ e && L.get(e)?.pause(), T.value = null;
4259
+ }, oe = (e) => {
4260
+ let n = L.get(e);
4323
4261
  if (!n) return;
4324
- if (b.value === e) {
4325
- n.pause(), b.value = null;
4262
+ if (T.value === e) {
4263
+ n.pause(), T.value = null;
4326
4264
  return;
4327
4265
  }
4328
- b.value && F.get(b.value)?.pause();
4266
+ T.value && L.get(T.value)?.pause();
4329
4267
  let r = t.modelValue.find((t) => t.id === e);
4330
- (n.ended || r?.duration && n.currentTime >= r.duration) && (n.currentTime = 0), b.value = e, n.play();
4268
+ (n.ended || r?.duration && n.currentTime >= r.duration) && (n.currentTime = 0), T.value = e, n.play();
4269
+ }, se = (e, t) => {
4270
+ j[e] = t.target.currentTime;
4271
+ }, ce = (e) => {
4272
+ T.value === e && (T.value = null), j[e] = 0;
4331
4273
  }, le = (e, t) => {
4332
- O[e] = t.target.currentTime;
4333
- }, ue = (e) => {
4334
- b.value === e && (b.value = null), O[e] = 0;
4335
- }, de = (e, t) => {
4336
- let n = F.get(e), r = I.get(e);
4274
+ let n = L.get(e), r = R.get(e);
4337
4275
  if (!n || !r || !n.duration || isNaN(n.duration)) return;
4338
4276
  let i = r.getBoundingClientRect();
4339
- n.currentTime = Math.min(Math.max((t - i.left) / i.width, 0), 1) * n.duration, O[e] = n.currentTime;
4340
- }, fe = (e, n) => {
4277
+ n.currentTime = Math.min(Math.max((t - i.left) / i.width, 0), 1) * n.duration, j[e] = n.currentTime;
4278
+ }, ue = null, de = (e, n) => {
4341
4279
  if (t.disabled) return;
4342
- n.preventDefault(), de(e, ("touches" in n ? n.touches[0] : n).clientX);
4280
+ n.preventDefault(), le(e, ("touches" in n ? n.touches[0] : n).clientX);
4343
4281
  let r = (t) => {
4344
- de(e, ("touches" in t ? t.touches[0] : t).clientX);
4282
+ le(e, ("touches" in t ? t.touches[0] : t).clientX);
4345
4283
  }, i = () => {
4346
- window.removeEventListener("mousemove", r), window.removeEventListener("mouseup", i), window.removeEventListener("touchmove", r), window.removeEventListener("touchend", i);
4284
+ window.removeEventListener("mousemove", r), window.removeEventListener("mouseup", i), window.removeEventListener("touchmove", r), window.removeEventListener("touchend", i), window.removeEventListener("touchcancel", i), ue = null;
4347
4285
  };
4348
- window.addEventListener("mousemove", r), window.addEventListener("mouseup", i), window.addEventListener("touchmove", r, { passive: !1 }), window.addEventListener("touchend", i);
4349
- }, pe = (e, t) => {
4286
+ ue = i, window.addEventListener("mousemove", r), window.addEventListener("mouseup", i), window.addEventListener("touchmove", r, { passive: !1 }), window.addEventListener("touchend", i), window.addEventListener("touchcancel", i);
4287
+ }, fe = (e, t) => {
4350
4288
  if (!e.duration || isNaN(e.duration)) return !1;
4351
- let n = D[e.id]?.length || 0;
4289
+ let n = k[e.id]?.length || 0;
4352
4290
  if (n === 0) return !1;
4353
- let r = (O[e.id] || 0) / e.duration;
4291
+ let r = (j[e.id] || 0) / e.duration;
4354
4292
  return (t + .5) / n <= r;
4355
- }, me = (e) => !e.duration || isNaN(e.duration) ? 0 : Math.min(1, (O[e.id] || 0) / e.duration), he = (e, n) => {
4293
+ }, pe = (e) => !e.duration || isNaN(e.duration) ? 0 : Math.min(1, (j[e.id] || 0) / e.duration), me = (e, n) => {
4356
4294
  let r = t.modelValue.find((t) => t.id === e);
4357
4295
  if (!r || r.duration != null) return;
4358
4296
  let i = t.modelValue.map((t) => t.id === e ? {
4359
4297
  ...t,
4360
4298
  duration: n
4361
4299
  } : t);
4362
- f("update:modelValue", i), f("change", i);
4363
- }, ge = (e, n, r) => {
4364
- t.modelValue.some((t) => t.id === e) && (T[e] = n, G(e), he(e, r));
4365
- }, _e = async (e) => {
4366
- O[e.id] ?? (O[e.id] = 0);
4300
+ p("update:modelValue", i), p("change", i);
4301
+ }, he = (e, n, r) => {
4302
+ t.modelValue.some((t) => t.id === e) && (O[e] = n, ee(e), me(e, r));
4303
+ }, ge = async (e) => {
4304
+ j[e.id] ?? (j[e.id] = 0);
4367
4305
  let t = r.get(e.url);
4368
4306
  if (t) {
4369
- M(e.url, t.peaks, t.duration), ge(e.id, t.peaks, t.duration);
4307
+ F(e.url, t.peaks, t.duration), he(e.id, t.peaks, t.duration);
4370
4308
  return;
4371
4309
  }
4372
4310
  try {
4373
- let { peaks: t, duration: n } = await ne(await (await fetch(e.url)).arrayBuffer());
4374
- M(e.url, t, n), ge(e.id, t, n);
4311
+ let { peaks: t, duration: n } = await G(await (await fetch(e.url)).arrayBuffer());
4312
+ if (b) return;
4313
+ F(e.url, t, n), he(e.id, t, n);
4375
4314
  } catch {}
4376
- }, ve = (e, t) => {
4315
+ }, _e = (e, t) => {
4377
4316
  let n = t.target.duration;
4378
- !isNaN(n) && isFinite(n) && he(e, n);
4317
+ !isNaN(n) && isFinite(n) && me(e, n);
4379
4318
  };
4380
- A(() => t.modelValue, (e) => {
4319
+ return A(() => t.modelValue, (e) => {
4381
4320
  e.forEach((e) => {
4382
- !e.url || k.has(e.id) || (k.add(e.id), T[e.id] || _e(e));
4321
+ !e.url || M.has(e.id) || (M.add(e.id), O[e.id] || ge(e));
4383
4322
  });
4384
4323
  }, { immediate: !0 }), v(() => {
4385
- t.autoRevoke && t.modelValue.forEach((e) => V(e.url)), j.forEach((e, t) => {
4386
- for (let n = 0; n < e; n++) l(t, !1);
4387
- }), j.clear(), K?.disconnect(), U &&= (U.close(), null);
4388
- });
4389
- let J = {
4390
- onClick: ae,
4391
- onDragenter: (e) => {
4392
- t.disabled || t.readonly || (e.preventDefault(), h.value = !0);
4393
- },
4394
- onDragover: (e) => e.preventDefault(),
4395
- onDragleave: (e) => {
4396
- e.preventDefault(), h.value = !1;
4397
- },
4398
- onDrop: (e) => {
4399
- t.disabled || t.readonly || (e.preventDefault(), h.value = !1, e.dataTransfer?.files?.length && q(e.dataTransfer.files));
4400
- }
4401
- };
4402
- return (n, r) => (x(), s("div", { class: g(["audio-input", {
4324
+ b = !0, ue?.(), t.autoRevoke && t.modelValue.forEach((e) => ia(e.url)), P.forEach((e, t) => {
4325
+ for (let n = 0; n < e; n++) f(t, !1);
4326
+ }), P.clear(), te?.disconnect(), U &&= (U.close(), null);
4327
+ }), (n, r) => (x(), s("div", { class: g(["audio-input", {
4403
4328
  "is-disabled": t.disabled,
4404
4329
  "is-readonly": t.readonly
4405
- }]) }, [t.title || t.showCount ? (x(), s("div", ro, [t.title ? (x(), s("span", {
4330
+ }]) }, [t.title || t.showCount ? (x(), s("div", mo, [t.title ? (x(), s("span", {
4406
4331
  key: 0,
4407
4332
  class: "title",
4408
4333
  textContent: E(t.title)
4409
- }, null, 8, io)) : o("", !0), t.showCount ? (x(), s("span", ao, E(te.value) + " 首", 1)) : o("", !0)])) : o("", !0), te.value === 0 && y.value.length === 0 ? (x(), s("div", m({
4334
+ }, null, 8, ho)) : o("", !0), t.showCount ? (x(), s("span", go, E(B.value) + " 首", 1)) : o("", !0)])) : o("", !0), B.value === 0 && y.value.length === 0 ? (x(), s("div", m({
4410
4335
  key: 1,
4411
4336
  class: ["empty", {
4412
- "is-drag": h.value,
4337
+ "is-drag": D(ne),
4413
4338
  "is-static": t.readonly
4414
4339
  }]
4415
- }, t.readonly ? {} : J), [
4416
- t.readonly ? o("", !0) : (x(), s("span", oo, [...r[0] ||= [c("svg", {
4340
+ }, t.readonly ? {} : D(re)), [
4341
+ t.readonly ? o("", !0) : (x(), s("span", _o, [...r[0] ||= [c("svg", {
4417
4342
  viewBox: "0 0 24 24",
4418
4343
  fill: "none",
4419
4344
  stroke: "currentColor",
@@ -4433,31 +4358,31 @@ var ea = {
4433
4358
  r: "3"
4434
4359
  })
4435
4360
  ], -1)]])),
4436
- c("h3", { textContent: E(t.readonly ? "目前沒有音訊" : t.emptyTitle) }, null, 8, so),
4361
+ c("h3", { textContent: E(t.readonly ? "目前沒有音訊" : t.emptyTitle) }, null, 8, vo),
4437
4362
  t.readonly ? o("", !0) : (x(), s("p", {
4438
4363
  key: 1,
4439
4364
  textContent: E(t.emptyHint)
4440
- }, null, 8, co))
4441
- ], 16)) : (x(), s("div", lo, [
4365
+ }, null, 8, yo))
4366
+ ], 16)) : (x(), s("div", bo, [
4442
4367
  (x(!0), s(e, null, w(t.modelValue, (n) => (x(), s("div", {
4443
4368
  key: n.id,
4444
- class: g(["row", { "is-playing": b.value === n.id }])
4369
+ class: g(["row", { "is-playing": T.value === n.id }])
4445
4370
  }, [
4446
4371
  c("audio", {
4447
4372
  ref_for: !0,
4448
- ref: (e) => ee(n.id, e),
4373
+ ref: (e) => z(n.id, e),
4449
4374
  src: n.url,
4450
4375
  preload: "metadata",
4451
- onLoadedmetadata: (e) => ve(n.id, e),
4452
- onTimeupdate: (e) => le(n.id, e),
4453
- onEnded: (e) => ue(n.id)
4454
- }, null, 40, uo),
4376
+ onLoadedmetadata: (e) => _e(n.id, e),
4377
+ onTimeupdate: (e) => se(n.id, e),
4378
+ onEnded: (e) => ce(n.id)
4379
+ }, null, 40, xo),
4455
4380
  c("button", {
4456
4381
  class: "play-btn",
4457
- "aria-label": b.value === n.id ? "暫停" : "播放",
4382
+ "aria-label": T.value === n.id ? "暫停" : "播放",
4458
4383
  disabled: !n.url,
4459
- onClick: (e) => ce(n.id)
4460
- }, [b.value === n.id ? (x(), s("svg", po, [...r[1] ||= [c("rect", {
4384
+ onClick: (e) => oe(n.id)
4385
+ }, [T.value === n.id ? (x(), s("svg", Co, [...r[1] ||= [c("rect", {
4461
4386
  x: "6",
4462
4387
  y: "5",
4463
4388
  width: "4",
@@ -4469,32 +4394,32 @@ var ea = {
4469
4394
  width: "4",
4470
4395
  height: "14",
4471
4396
  rx: "1"
4472
- }, null, -1)]])) : (x(), s("svg", mo, [...r[2] ||= [c("path", { d: "M8 5v14l11-7z" }, null, -1)]]))], 8, fo),
4473
- c("div", ho, [c("div", {
4397
+ }, null, -1)]])) : (x(), s("svg", wo, [...r[2] ||= [c("path", { d: "M8 5v14l11-7z" }, null, -1)]]))], 8, So),
4398
+ c("div", To, [c("div", {
4474
4399
  class: "name",
4475
- title: B(n)
4476
- }, E(B(n)), 9, go), c("div", _o, [n.size == null ? o("", !0) : (x(), s(e, { key: 0 }, [d(E(L(n.size)) + " · ", 1)], 64)), d(" " + E(R(n.duration)), 1)])]),
4400
+ title: H(n)
4401
+ }, E(H(n)), 9, Eo), c("div", Do, [n.size == null ? o("", !0) : (x(), s(e, { key: 0 }, [d(E(D(ea)(n.size)) + " · ", 1)], 64)), d(" " + E(D(ta)(n.duration)), 1)])]),
4477
4402
  c("div", {
4478
- class: g(["wave", { "is-track": !D[n.id]?.length }]),
4403
+ class: g(["wave", { "is-track": !k[n.id]?.length }]),
4479
4404
  ref_for: !0,
4480
- ref: (e) => ie(n.id, e),
4481
- onMousedown: (e) => fe(n.id, e),
4482
- onTouchstart: (e) => fe(n.id, e)
4483
- }, [D[n.id]?.length ? (x(!0), s(e, { key: 0 }, w(D[n.id], (e, t) => (x(), s("span", {
4405
+ ref: (e) => q(n.id, e),
4406
+ onMousedown: (e) => de(n.id, e),
4407
+ onTouchstart: (e) => de(n.id, e)
4408
+ }, [k[n.id]?.length ? (x(!0), s(e, { key: 0 }, w(k[n.id], (e, t) => (x(), s("span", {
4484
4409
  key: t,
4485
- class: g(["bar", { "is-played": pe(n, t) }]),
4410
+ class: g(["bar", { "is-played": fe(n, t) }]),
4486
4411
  style: _({ height: Math.max(2, Math.round(e * 34)) + "px" })
4487
- }, null, 6))), 128)) : (x(), s("div", yo, [c("div", {
4412
+ }, null, 6))), 128)) : (x(), s("div", ko, [c("div", {
4488
4413
  class: "track-fill",
4489
- style: _({ width: me(n) * 100 + "%" })
4490
- }, null, 4)]))], 42, vo),
4491
- c("div", bo, E(R(O[n.id] || 0)) + " / " + E(R(n.duration)), 1),
4414
+ style: _({ width: pe(n) * 100 + "%" })
4415
+ }, null, 4)]))], 42, Oo),
4416
+ c("div", Ao, E(D(ta)(j[n.id] || 0)) + " / " + E(D(ta)(n.duration)), 1),
4492
4417
  t.readonly ? o("", !0) : (x(), s("button", {
4493
4418
  key: 0,
4494
4419
  class: "del-btn",
4495
4420
  "aria-label": "刪除",
4496
4421
  disabled: t.disabled,
4497
- onClick: N((e) => oe(n.id), ["stop"])
4422
+ onClick: N((e) => ie(n.id), ["stop"])
4498
4423
  }, [...r[3] ||= [c("svg", {
4499
4424
  viewBox: "0 0 24 24",
4500
4425
  fill: "none",
@@ -4502,7 +4427,7 @@ var ea = {
4502
4427
  "stroke-width": "1.8",
4503
4428
  "stroke-linecap": "round",
4504
4429
  "stroke-linejoin": "round"
4505
- }, [c("path", { d: "M3 6h18M8 6V4h8v2M6 6l1 14h10l1-14" })], -1)]], 8, xo))
4430
+ }, [c("path", { d: "M3 6h18M8 6V4h8v2M6 6l1 14h10l1-14" })], -1)]], 8, jo))
4506
4431
  ], 2))), 128)),
4507
4432
  (x(!0), s(e, null, w(y.value, (e) => (x(), s("div", {
4508
4433
  key: e.tag,
@@ -4516,20 +4441,20 @@ var ea = {
4516
4441
  stroke: "currentColor",
4517
4442
  "stroke-width": "2",
4518
4443
  "stroke-linecap": "round"
4519
- }, [c("path", { d: "M12 3a9 9 0 1 0 9 9" })])], -1), c("div", So, [c("div", Co, E(e.name), 1), r[4] ||= c("div", { class: "sub" }, "解析波形中…", -1)])]))), 128)),
4444
+ }, [c("path", { d: "M12 3a9 9 0 1 0 9 9" })])], -1), c("div", Mo, [c("div", No, E(e.name), 1), r[4] ||= c("div", { class: "sub" }, "解析波形中…", -1)])]))), 128)),
4520
4445
  t.multiple && !t.readonly ? (x(), s("div", m({
4521
4446
  key: 0,
4522
- class: ["add", { "is-drag": h.value }]
4523
- }, J), [...r[6] ||= [u("<span class=\"plus\" aria-hidden=\"true\" data-v-a06aebbd><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" data-v-a06aebbd><path d=\"M12 5v14M5 12h14\" data-v-a06aebbd></path></svg></span><div class=\"add-text\" data-v-a06aebbd><div class=\"t\" data-v-a06aebbd>新增音訊</div><div class=\"d\" data-v-a06aebbd>點擊或拖放檔案 · MP3 / WAV / OGG / M4A</div></div>", 2)]], 16)) : o("", !0)
4447
+ class: ["add", { "is-drag": D(ne) }]
4448
+ }, D(re)), [...r[6] ||= [u("<span class=\"plus\" aria-hidden=\"true\" data-v-3def95e6><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" data-v-3def95e6><path d=\"M12 5v14M5 12h14\" data-v-3def95e6></path></svg></span><div class=\"add-text\" data-v-3def95e6><div class=\"t\" data-v-3def95e6>新增音訊</div><div class=\"d\" data-v-3def95e6>點擊或拖放檔案 · MP3 / WAV / OGG / M4A</div></div>", 2)]], 16)) : o("", !0)
4524
4449
  ]))], 2));
4525
4450
  }
4526
- }), [["__scopeId", "data-v-a06aebbd"]]), Do = { class: "header" }, Oo = { class: "brand-logo" }, ko = { class: "logo-text" }, Ao = { class: "logo-icon" }, jo = { class: "nav" }, Mo = ["onClick"], No = ["innerHTML"], Po = { class: "nav-list" }, Fo = ["href", "onClick"], Io = ["innerHTML"], Lo = { class: "nav-text" }, Ro = ["href", "onClick"], zo = { class: "title no-children" }, Bo = ["innerHTML"], Vo = { class: "user-capsule" }, Ho = { class: "user-avatar" }, Uo = ["src"], Wo = {
4451
+ }), [["__scopeId", "data-v-3def95e6"]]), Ro = { class: "header" }, zo = { class: "brand-logo" }, Bo = { class: "logo-text" }, Vo = { class: "logo-icon" }, Ho = { class: "nav" }, Uo = ["onClick"], Wo = ["innerHTML"], Go = { class: "nav-list" }, Ko = ["href", "onClick"], qo = ["innerHTML"], Jo = { class: "nav-text" }, Yo = ["href", "onClick"], Xo = { class: "title no-children" }, Zo = ["innerHTML"], Qo = { class: "user-capsule" }, $o = { class: "user-avatar" }, es = ["src"], ts = {
4527
4452
  key: 1,
4528
4453
  xmlns: "http://www.w3.org/2000/svg",
4529
4454
  width: "36",
4530
4455
  height: "36",
4531
4456
  viewBox: "0 0 36 36"
4532
- }, Go = { class: "user-info" }, Ko = { class: "user-name-row" }, qo = { class: "user-name" }, Jo = /* @__PURE__ */ R(/* @__PURE__ */ p({
4457
+ }, ns = { class: "user-info" }, rs = { class: "user-name-row" }, is = { class: "user-name" }, as = /* @__PURE__ */ B(/* @__PURE__ */ p({
4533
4458
  __name: "NSidebar",
4534
4459
  props: {
4535
4460
  title: { default: "" },
@@ -4582,8 +4507,8 @@ var ea = {
4582
4507
  class: "content",
4583
4508
  onMouseenter: v[2] ||= (e) => p.value = !0
4584
4509
  }, [
4585
- T(r.$slots, "header", {}, () => [c("div", Do, [c("div", Oo, [c("span", ko, E(n.title), 1), c("span", Ao, E(n.title.substring(0, 1).toUpperCase()), 1)])])], !0),
4586
- c("div", jo, [(x(!0), s(e, null, w(n.menus, (t) => (x(), s(e, null, [t.children?.length ? (x(), s("div", {
4510
+ T(r.$slots, "header", {}, () => [c("div", Ro, [c("div", zo, [c("span", Bo, E(n.title), 1), c("span", Vo, E(n.title.substring(0, 1).toUpperCase()), 1)])])], !0),
4511
+ c("div", Ho, [(x(!0), s(e, null, w(n.menus, (t) => (x(), s(e, null, [t.children?.length ? (x(), s("div", {
4587
4512
  key: 0,
4588
4513
  class: g(["menu", {
4589
4514
  open: D(i)(t.title),
@@ -4592,7 +4517,7 @@ var ea = {
4592
4517
  }, [c("div", {
4593
4518
  class: "title",
4594
4519
  onClick: (e) => D(o)(t.title)
4595
- }, [c("div", null, [c("div", { innerHTML: t.icon }, null, 8, No), c("span", null, E(t.title), 1)]), v[6] ||= c("svg", {
4520
+ }, [c("div", null, [c("div", { innerHTML: t.icon }, null, 8, Wo), c("span", null, E(t.title), 1)]), v[6] ||= c("svg", {
4596
4521
  xmlns: "http://www.w3.org/2000/svg",
4597
4522
  width: "14",
4598
4523
  height: "14",
@@ -4603,24 +4528,24 @@ var ea = {
4603
4528
  "stroke-linecap": "round",
4604
4529
  "stroke-linejoin": "round",
4605
4530
  class: "icon"
4606
- }, [c("path", { d: "m9 18 6-6-6-6" })], -1)], 8, Mo), c("div", Po, [c("div", null, [(x(!0), s(e, null, w(t.children, (e) => (x(), s("a", {
4531
+ }, [c("path", { d: "m9 18 6-6-6-6" })], -1)], 8, Uo), c("div", Go, [c("div", null, [(x(!0), s(e, null, w(t.children, (e) => (x(), s("a", {
4607
4532
  href: e.route,
4608
4533
  onClick: N((t) => h(e), ["prevent"])
4609
- }, [c("div", { class: g(["nav-item", { active: D(d)(e, n.currentPath) }]) }, [c("div", { innerHTML: e.icon }, null, 8, Io), c("span", Lo, E(e.title), 1)], 2)], 8, Fo))), 256))])])], 2)) : (x(), s("div", {
4534
+ }, [c("div", { class: g(["nav-item", { active: D(d)(e, n.currentPath) }]) }, [c("div", { innerHTML: e.icon }, null, 8, qo), c("span", Jo, E(e.title), 1)], 2)], 8, Ko))), 256))])])], 2)) : (x(), s("div", {
4610
4535
  key: 1,
4611
4536
  class: g(["menu", { active: t.route === n.currentPath }])
4612
4537
  }, [c("a", {
4613
4538
  href: t.route,
4614
4539
  onClick: N((e) => _(t), ["prevent"])
4615
- }, [c("div", zo, [c("div", null, [c("div", { innerHTML: t.icon }, null, 8, Bo), c("span", null, E(t.title), 1)])])], 8, Ro)], 2))], 64))), 256))]),
4616
- c("div", Vo, [T(r.$slots, "user", {}, () => [
4617
- c("div", Ho, [n.userAvatarUrl ? (x(), s("img", {
4540
+ }, [c("div", Xo, [c("div", null, [c("div", { innerHTML: t.icon }, null, 8, Zo), c("span", null, E(t.title), 1)])])], 8, Yo)], 2))], 64))), 256))]),
4541
+ c("div", Qo, [T(r.$slots, "user", {}, () => [
4542
+ c("div", $o, [n.userAvatarUrl ? (x(), s("img", {
4618
4543
  key: 0,
4619
4544
  src: n.userAvatarUrl,
4620
4545
  alt: "User Avatar"
4621
- }, null, 8, Uo)) : (x(), s("svg", Wo, [...v[7] ||= [u("<defs data-v-2c73c218><clipPath id=\"avatarClip\" data-v-2c73c218><circle cx=\"18\" cy=\"18\" r=\"18\" data-v-2c73c218></circle></clipPath></defs><circle cx=\"18\" cy=\"18\" r=\"18\" fill=\"#dbeafe\" data-v-2c73c218></circle><g clip-path=\"url(#avatarClip)\" data-v-2c73c218><circle cx=\"18\" cy=\"14\" r=\"6\" fill=\"#2563eb\" data-v-2c73c218></circle><path d=\"M6,34 Q6,24 18,24 Q30,24 30,34\" fill=\"#2563eb\" data-v-2c73c218></path></g>", 3)]]))]),
4622
- c("div", Go, [c("div", Ko, [c("span", qo, E(n.userName), 1)])]),
4623
- f(z, {
4546
+ }, null, 8, es)) : (x(), s("svg", ts, [...v[7] ||= [u("<defs data-v-2c73c218><clipPath id=\"avatarClip\" data-v-2c73c218><circle cx=\"18\" cy=\"18\" r=\"18\" data-v-2c73c218></circle></clipPath></defs><circle cx=\"18\" cy=\"18\" r=\"18\" fill=\"#dbeafe\" data-v-2c73c218></circle><g clip-path=\"url(#avatarClip)\" data-v-2c73c218><circle cx=\"18\" cy=\"14\" r=\"6\" fill=\"#2563eb\" data-v-2c73c218></circle><path d=\"M6,34 Q6,24 18,24 Q30,24 30,34\" fill=\"#2563eb\" data-v-2c73c218></path></g>", 3)]]))]),
4547
+ c("div", ns, [c("div", rs, [c("span", is, E(n.userName), 1)])]),
4548
+ f(V, {
4624
4549
  class: "logout-btn",
4625
4550
  intent: "error",
4626
4551
  variant: "ghost",
@@ -4658,7 +4583,7 @@ var ea = {
4658
4583
  }, null, 2)]))
4659
4584
  ], 34));
4660
4585
  }
4661
- }), [["__scopeId", "data-v-2c73c218"]]), Yo = { class: "layout" }, Xo = { class: "main-content" }, Zo = { class: "copyright" }, Qo = /* @__PURE__ */ R(/* @__PURE__ */ p({
4586
+ }), [["__scopeId", "data-v-2c73c218"]]), os = { class: "layout" }, ss = { class: "main-content" }, cs = { class: "copyright" }, ls = /* @__PURE__ */ B(/* @__PURE__ */ p({
4662
4587
  __name: "NLayout",
4663
4588
  props: {
4664
4589
  title: { default: "NICKLABS" },
@@ -4674,7 +4599,7 @@ var ea = {
4674
4599
  emits: ["logout", "navigate"],
4675
4600
  setup(e, { emit: t }) {
4676
4601
  let n = rn(), r = t;
4677
- return (t, i) => (x(), s("div", Yo, [e.isShowSidebar ? (x(), a(Jo, {
4602
+ return (t, i) => (x(), s("div", os, [e.isShowSidebar ? (x(), a(as, {
4678
4603
  key: 0,
4679
4604
  title: e.title,
4680
4605
  userName: e.userName,
@@ -4690,18 +4615,18 @@ var ea = {
4690
4615
  "isOpen",
4691
4616
  "menus",
4692
4617
  "currentPath"
4693
- ])) : o("", !0), c("main", Xo, [T(t.$slots, "default", {}, void 0, !0), c("div", Zo, E(e.copyright), 1)])]));
4618
+ ])) : o("", !0), c("main", ss, [T(t.$slots, "default", {}, void 0, !0), c("div", cs, E(e.copyright), 1)])]));
4694
4619
  }
4695
- }), [["__scopeId", "data-v-41b1eb44"]]), $o = { class: "topbar" }, es = { class: "topbar-left" }, ts = { class: "topbar-right" }, ns = {
4620
+ }), [["__scopeId", "data-v-41b1eb44"]]), us = { class: "topbar" }, ds = { class: "topbar-left" }, fs = { class: "topbar-right" }, ps = {
4696
4621
  key: 0,
4697
4622
  class: "pill"
4698
- }, rs = {
4623
+ }, ms = {
4699
4624
  key: 0,
4700
4625
  class: "name"
4701
- }, is = {
4626
+ }, hs = {
4702
4627
  key: 1,
4703
4628
  class: "separator"
4704
- }, as = /* @__PURE__ */ R(/* @__PURE__ */ p({
4629
+ }, gs = /* @__PURE__ */ B(/* @__PURE__ */ p({
4705
4630
  __name: "NNavigation",
4706
4631
  props: {
4707
4632
  isShowSidebar: {
@@ -4726,7 +4651,7 @@ var ea = {
4726
4651
  let n = t, r = () => {
4727
4652
  document.fullscreenElement ? document.exitFullscreen?.() : document.documentElement.requestFullscreen();
4728
4653
  };
4729
- return (t, i) => (x(), s("header", $o, [c("div", es, [e.isShowSidebar ? (x(), a(z, {
4654
+ return (t, i) => (x(), s("header", us, [c("div", ds, [e.isShowSidebar ? (x(), a(V, {
4730
4655
  key: 0,
4731
4656
  onClick: i[0] ||= (e) => n("toggleSidebar"),
4732
4657
  padding: "8px"
@@ -4747,7 +4672,7 @@ var ea = {
4747
4672
  c("path", { d: "M4 19h16" })
4748
4673
  ], -1)]]),
4749
4674
  _: 1
4750
- })) : o("", !0), e.isShowFullscreen ? (x(), a(z, {
4675
+ })) : o("", !0), e.isShowFullscreen ? (x(), a(V, {
4751
4676
  key: 1,
4752
4677
  padding: "8px",
4753
4678
  onClick: N(r, ["prevent"])
@@ -4769,10 +4694,10 @@ var ea = {
4769
4694
  c("path", { d: "M16 21h3a2 2 0 0 0 2-2v-3" })
4770
4695
  ], -1)]]),
4771
4696
  _: 1
4772
- })) : o("", !0)]), c("div", ts, [e.isShowUser || e.isShowLogoutButton ? (x(), s("div", ns, [
4773
- e.isShowUser ? (x(), s("span", rs, "Nick")) : o("", !0),
4774
- e.isShowUser && e.isShowLogoutButton ? (x(), s("div", is)) : o("", !0),
4775
- e.isShowLogoutButton ? (x(), a(z, {
4697
+ })) : o("", !0)]), c("div", fs, [e.isShowUser || e.isShowLogoutButton ? (x(), s("div", ps, [
4698
+ e.isShowUser ? (x(), s("span", ms, "Nick")) : o("", !0),
4699
+ e.isShowUser && e.isShowLogoutButton ? (x(), s("div", hs)) : o("", !0),
4700
+ e.isShowLogoutButton ? (x(), a(V, {
4776
4701
  key: 2,
4777
4702
  variant: "mute",
4778
4703
  intent: "error",
@@ -4797,10 +4722,10 @@ var ea = {
4797
4722
  })) : o("", !0)
4798
4723
  ])) : o("", !0)])]));
4799
4724
  }
4800
- }), [["__scopeId", "data-v-f38a4beb"]]), os = { class: "brand" }, ss = ["src", "alt"], cs = {
4725
+ }), [["__scopeId", "data-v-f38a4beb"]]), _s = { class: "brand" }, vs = ["src", "alt"], ys = {
4801
4726
  key: 1,
4802
4727
  class: "icon"
4803
- }, ls = { key: 2 }, us = { key: 3 }, ds = /* @__PURE__ */ R(/* @__PURE__ */ p({
4728
+ }, bs = { key: 2 }, xs = { key: 3 }, Ss = /* @__PURE__ */ B(/* @__PURE__ */ p({
4804
4729
  __name: "NLoginLayout",
4805
4730
  props: {
4806
4731
  backgroundImage: { default: "" },
@@ -4818,15 +4743,15 @@ var ea = {
4818
4743
  radius: "xl",
4819
4744
  class: "card"
4820
4745
  }, {
4821
- default: j(() => [c("div", os, [
4746
+ default: j(() => [c("div", _s, [
4822
4747
  t.value ? (x(), s("img", {
4823
4748
  key: 0,
4824
4749
  class: "logo-img",
4825
4750
  src: e.logo,
4826
4751
  alt: e.title
4827
- }, null, 8, ss)) : (x(), s("div", cs, E(e.logo), 1)),
4828
- e.title ? (x(), s("h1", ls, E(e.title), 1)) : o("", !0),
4829
- e.description ? (x(), s("p", us, E(e.description), 1)) : o("", !0)
4752
+ }, null, 8, vs)) : (x(), s("div", ys, E(e.logo), 1)),
4753
+ e.title ? (x(), s("h1", bs, E(e.title), 1)) : o("", !0),
4754
+ e.description ? (x(), s("p", xs, E(e.description), 1)) : o("", !0)
4830
4755
  ]), T(n.$slots, "default", {}, void 0, !0)]),
4831
4756
  _: 3
4832
4757
  })], 4));
@@ -4834,7 +4759,7 @@ var ea = {
4834
4759
  }), [["__scopeId", "data-v-f0866bc5"]]);
4835
4760
  //#endregion
4836
4761
  //#region src/composables/useRouteModal.ts
4837
- function fs(e) {
4762
+ function Cs(e) {
4838
4763
  let t = i(() => {
4839
4764
  let t = I();
4840
4765
  return t ? t.currentRoute.value.matched.some((t) => t.name === e.routeName) : !1;
@@ -4858,13 +4783,13 @@ function fs(e) {
4858
4783
  }
4859
4784
  //#endregion
4860
4785
  //#region src/index.ts
4861
- var ps = {
4862
- NButton: z,
4863
- NBreadcrumb: re,
4786
+ var ws = {
4787
+ NButton: V,
4788
+ NBreadcrumb: te,
4864
4789
  NInput: ce,
4865
4790
  NTextarea: pe,
4866
4791
  NCheckbox: ye,
4867
- NSelect: Oe,
4792
+ NSelect: De,
4868
4793
  NFileSelect: $t,
4869
4794
  NForm: xn,
4870
4795
  NList: or,
@@ -4880,18 +4805,18 @@ var ps = {
4880
4805
  NDrawer: Ui,
4881
4806
  NAlert: Qi,
4882
4807
  NTable: nr,
4883
- NVideoSelect: Oa,
4884
- NImageSelect: no,
4885
- NAudioSelect: Eo,
4886
- NLayout: Qo,
4887
- NNavigation: as,
4888
- NSidebar: Jo,
4808
+ NVideoSelect: Ra,
4809
+ NImageSelect: po,
4810
+ NAudioSelect: Lo,
4811
+ NLayout: ls,
4812
+ NNavigation: gs,
4813
+ NSidebar: as,
4889
4814
  NCard: Sn,
4890
- NLoginLayout: ds
4891
- }, ms = { install(e, t = {}) {
4892
- Object.entries(ps).forEach(([t, n]) => {
4815
+ NLoginLayout: Ss
4816
+ }, Ts = { install(e, t = {}) {
4817
+ Object.entries(ws).forEach(([t, n]) => {
4893
4818
  e.component(t, n);
4894
4819
  }), t.router && F(t.router);
4895
4820
  } };
4896
4821
  //#endregion
4897
- export { Qi as NAlert, Eo as NAudioSelect, z as NButton, Sn as NCard, ye as NCheckbox, wr as NCode, Mi as NDatePicker, Ui as NDrawer, Mn as NEmpty, $t as NFileSelect, xn as NForm, no as NImageSelect, ce as NInput, Qo as NLayout, or as NList, Un as NLoading, ds as NLoginLayout, Ri as NModal, as as NNavigation, Oe as NSelect, Jo as NSidebar, Er as NSwitch, nr as NTable, Dr as NTag, pe as NTextarea, hr as NToast, Ni as NTooltip, Oa as NVideoSelect, ms as NickLabsUI, Rt as useAlert, H as useBreadcrumb, $i as useDisclosure, fs as useRouteModal, rn as useSidebarManager, lr as useToast };
4822
+ export { Qi as NAlert, Lo as NAudioSelect, V as NButton, Sn as NCard, ye as NCheckbox, wr as NCode, Mi as NDatePicker, Ui as NDrawer, Mn as NEmpty, $t as NFileSelect, xn as NForm, po as NImageSelect, ce as NInput, ls as NLayout, or as NList, Un as NLoading, Ss as NLoginLayout, Ri as NModal, gs as NNavigation, De as NSelect, as as NSidebar, Er as NSwitch, nr as NTable, Dr as NTag, pe as NTextarea, hr as NToast, Ni as NTooltip, Ra as NVideoSelect, Ts as NickLabsUI, Rt as useAlert, W as useBreadcrumb, $i as useDisclosure, Cs as useRouteModal, rn as useSidebarManager, lr as useToast };