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 +757 -832
- package/dist/nicklabs-ui.css +1 -1
- package/dist/src/composables/useMediaSelect.d.ts +42 -0
- package/package.json +1 -1
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
|
|
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
|
-
},
|
|
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",
|
|
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,
|
|
75
|
+
}, null, -1)]])) : o("", !0), T(t.$slots, "default", {}, void 0, !0)], 10, L));
|
|
76
76
|
}
|
|
77
|
-
}),
|
|
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
|
-
},
|
|
82
|
-
function
|
|
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
|
-
|
|
84
|
+
H = e;
|
|
85
85
|
}
|
|
86
86
|
function t(e) {
|
|
87
|
-
|
|
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 =
|
|
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 ?
|
|
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
|
-
|
|
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
|
|
119
|
+
var G = { class: "breadcrumbs" }, K = ["onClick"], ee = {
|
|
120
120
|
key: 1,
|
|
121
121
|
class: "active"
|
|
122
|
-
},
|
|
122
|
+
}, te = /* @__PURE__ */ B(/* @__PURE__ */ p({
|
|
123
123
|
__name: "NBreadcrumb",
|
|
124
124
|
setup(t) {
|
|
125
|
-
let { breadcrumbs: n, navigate: r } =
|
|
126
|
-
return (t, i) => (x(), s("nav",
|
|
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,
|
|
130
|
+
}, E(t.label), 9, K)) : (x(), s("span", ee, E(t.label), 1))], 64))), 128))]));
|
|
131
131
|
}
|
|
132
|
-
}), [["__scopeId", "data-v-46f3b63f"]]),
|
|
132
|
+
}), [["__scopeId", "data-v-46f3b63f"]]), q = {
|
|
133
133
|
key: 0,
|
|
134
134
|
class: "label"
|
|
135
|
-
},
|
|
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
|
-
],
|
|
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__ */
|
|
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",
|
|
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,
|
|
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,
|
|
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,
|
|
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__ */
|
|
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__ */
|
|
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" },
|
|
569
|
+
}, X = { class: "select-chips-container" }, Z = ["textContent"], xe = ["onClick"], Q = {
|
|
570
570
|
key: 0,
|
|
571
571
|
class: "search-box"
|
|
572
|
-
},
|
|
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
|
-
},
|
|
583
|
+
}, Te = {
|
|
584
584
|
key: 0,
|
|
585
585
|
class: "empty"
|
|
586
|
-
},
|
|
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 <
|
|
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,
|
|
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,
|
|
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",
|
|
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",
|
|
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",
|
|
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-
|
|
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
|
-
})(
|
|
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 +=
|
|
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
|
-
},
|
|
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(
|
|
768
|
-
return
|
|
769
|
-
},
|
|
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 ?
|
|
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
|
|
775
|
+
return $(240 | t >>> 18 & 7) + $(128 | t >>> 12 & 63) + $(128 | t >>> 6 & 63) + $(128 | t & 63);
|
|
776
776
|
}
|
|
777
|
-
},
|
|
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
|
|
782
|
-
case 3: return
|
|
783
|
-
default: return
|
|
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
|
-
},
|
|
786
|
-
if (e = e.replace(/\s+/g, ""), !
|
|
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 =
|
|
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
|
-
},
|
|
792
|
-
let e =
|
|
793
|
-
localStorage.setItem(
|
|
794
|
-
},
|
|
795
|
-
let e = localStorage.getItem(
|
|
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(
|
|
798
|
+
return JSON.parse(Qe(e));
|
|
799
799
|
} catch {
|
|
800
800
|
return [];
|
|
801
801
|
}
|
|
802
|
-
},
|
|
803
|
-
|
|
804
|
-
let e =
|
|
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 ||
|
|
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
|
-
}),
|
|
812
|
-
},
|
|
813
|
-
|
|
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),
|
|
819
|
-
},
|
|
820
|
-
|
|
821
|
-
let n =
|
|
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
|
-
},
|
|
824
|
-
|
|
825
|
-
let t =
|
|
826
|
-
t != -1 && (
|
|
827
|
-
},
|
|
828
|
-
set:
|
|
829
|
-
get:
|
|
830
|
-
has:
|
|
831
|
-
forget:
|
|
832
|
-
},
|
|
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
|
-
})() },
|
|
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
|
-
},
|
|
846
|
-
function
|
|
847
|
-
return
|
|
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
|
-
|
|
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
|
|
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
|
|
873
|
-
return
|
|
872
|
+
function pt(e = !1, t = !1) {
|
|
873
|
+
return ft("", e, t);
|
|
874
874
|
}
|
|
875
|
-
function
|
|
876
|
-
return
|
|
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
|
|
885
|
-
return
|
|
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
|
|
898
|
-
return
|
|
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
|
|
906
|
-
return
|
|
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
|
|
915
|
-
return
|
|
914
|
+
function vt(e = "", t = !1, n = !1) {
|
|
915
|
+
return ft(e, t, n);
|
|
916
916
|
}
|
|
917
|
-
var
|
|
918
|
-
all:
|
|
919
|
-
image:
|
|
920
|
-
documentFile:
|
|
921
|
-
video:
|
|
922
|
-
audio:
|
|
923
|
-
custom:
|
|
924
|
-
},
|
|
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
|
-
}),
|
|
931
|
-
convertBase64:
|
|
932
|
-
createImageUrlFromFile:
|
|
933
|
-
createImageUrlFromBlob:
|
|
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
|
-
},
|
|
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
|
-
},
|
|
941
|
-
download:
|
|
940
|
+
}, Tt = {
|
|
941
|
+
download: wt,
|
|
942
942
|
downloadFromBase64: (e, t, n) => {
|
|
943
|
-
let r =
|
|
944
|
-
|
|
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
|
-
},
|
|
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
|
-
},
|
|
953
|
+
}, Dt = (e) => new Promise(async (t, n) => {
|
|
954
954
|
try {
|
|
955
|
-
let r = typeof e == "string" ? await
|
|
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
|
-
}),
|
|
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
|
-
},
|
|
967
|
+
}, kt = (e) => {
|
|
968
968
|
let t = e.toDataURL("image/jpeg", .8).split(";base64,");
|
|
969
969
|
return t.length > 1 ? t[1] : "";
|
|
970
|
-
},
|
|
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
|
-
}),
|
|
975
|
-
thumbnailFromBlobToBase64: async (e, t) =>
|
|
976
|
-
thumbnailFromBlobToBlob: async (e, t) =>
|
|
977
|
-
thumbnailFromBase64ToBase64: async (e, t) =>
|
|
978
|
-
thumbnailFromBase64ToBlob: async (e, t) =>
|
|
979
|
-
},
|
|
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
|
-
},
|
|
982
|
+
}, Pt = () => {
|
|
983
983
|
let e = navigator.userAgent;
|
|
984
984
|
return !!/(tablet|ipad|playbook|silk)|(android(?!.*mobi))/i.test(e);
|
|
985
|
-
},
|
|
986
|
-
store:
|
|
987
|
-
screen:
|
|
988
|
-
str:
|
|
989
|
-
input:
|
|
990
|
-
file:
|
|
991
|
-
link:
|
|
992
|
-
image:
|
|
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:
|
|
995
|
-
isTablet:
|
|
996
|
-
isDesktop: () =>
|
|
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__ */
|
|
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
|
|
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
|
|
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(
|
|
1273
|
-
en.value =
|
|
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),
|
|
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,
|
|
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__ */
|
|
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(
|
|
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(
|
|
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__ */
|
|
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 ?
|
|
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(
|
|
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__ */
|
|
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__ */
|
|
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(
|
|
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(
|
|
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(
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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(),
|
|
2328
|
-
function
|
|
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
|
|
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
|
|
2357
|
+
function B(e) {
|
|
2358
2358
|
return String(e).padStart(2, "0");
|
|
2359
2359
|
}
|
|
2360
|
-
let
|
|
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(
|
|
2362
|
+
for (let t = 0; t < 12; t++) e.push(re.value + t);
|
|
2363
2363
|
return e;
|
|
2364
2364
|
});
|
|
2365
|
-
A(
|
|
2366
|
-
|
|
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 && (
|
|
2370
|
+
t && (U.value = new Date(t.year, t.month, 1));
|
|
2371
2371
|
}, { immediate: !0 });
|
|
2372
|
-
let ae = 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 ? (
|
|
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) : (
|
|
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 &&
|
|
2392
|
+
return F === e.year && I === e.month && L === e.day;
|
|
2393
2393
|
}
|
|
2394
2394
|
function de(e) {
|
|
2395
|
-
return _.value ?
|
|
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,
|
|
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)
|
|
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),
|
|
2405
|
+
l("update:modelValue", t), l("change", t), ze();
|
|
2406
2406
|
}
|
|
2407
2407
|
}
|
|
2408
2408
|
function me(e) {
|
|
2409
|
-
|
|
2409
|
+
U.value = new Date(e, ne.value, 1), H.value = "date";
|
|
2410
2410
|
}
|
|
2411
2411
|
function he(e) {
|
|
2412
|
-
|
|
2412
|
+
U.value = new Date(q.value, ne.value + e, 1);
|
|
2413
2413
|
}
|
|
2414
2414
|
function ge(e) {
|
|
2415
|
-
|
|
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" ?
|
|
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),
|
|
2422
|
-
|
|
2421
|
+
_e(e, t), ee = setTimeout(() => {
|
|
2422
|
+
te = setInterval(() => _e(e, t), 100);
|
|
2423
2423
|
}, 300);
|
|
2424
2424
|
}
|
|
2425
2425
|
function J() {
|
|
2426
|
-
|
|
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" ?
|
|
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),
|
|
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:
|
|
2435
|
+
days: Te.value,
|
|
2436
2436
|
isLeft: !0
|
|
2437
2437
|
}, {
|
|
2438
|
-
year:
|
|
2439
|
-
month:
|
|
2440
|
-
days:
|
|
2438
|
+
year: Ce.value,
|
|
2439
|
+
month: we.value,
|
|
2440
|
+
days: Ee.value,
|
|
2441
2441
|
isLeft: !1
|
|
2442
2442
|
}]);
|
|
2443
|
-
function
|
|
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
|
|
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}-${
|
|
2455
|
+
return `${e.year}-${B(e.month + 1)}-${B(e.day)}`;
|
|
2456
2456
|
}
|
|
2457
|
-
if (
|
|
2458
|
-
let e =
|
|
2459
|
-
return `${e.year}-${
|
|
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
|
-
}),
|
|
2462
|
+
}), Me = i(() => {
|
|
2463
2463
|
if (X.value) return "";
|
|
2464
|
-
if (
|
|
2465
|
-
let e =
|
|
2466
|
-
return `${e.year}-${
|
|
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
|
|
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,
|
|
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
|
|
2480
|
+
function $() {
|
|
2481
2481
|
Y.value === 0 ? (be.value--, Y.value = 11) : Y.value--;
|
|
2482
2482
|
}
|
|
2483
|
-
function
|
|
2483
|
+
function Pe() {
|
|
2484
2484
|
Y.value === 11 ? (be.value++, Y.value = 0) : Y.value++;
|
|
2485
2485
|
}
|
|
2486
|
-
function
|
|
2487
|
-
if (!X.value) X.value = { ...e },
|
|
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] =
|
|
2490
|
-
|
|
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
|
|
2494
|
-
let t = e.year === F && e.month === I && e.day ===
|
|
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
|
-
|
|
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
|
-
|
|
2513
|
+
b.value = !1, X.value = null, Q.value = null;
|
|
2511
2514
|
}
|
|
2512
2515
|
function Be() {
|
|
2513
|
-
|
|
2516
|
+
H.value = H.value === "date" ? "year" : "date";
|
|
2514
2517
|
}
|
|
2515
|
-
|
|
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 ||
|
|
2520
|
+
S.value?.contains(t) || T.value || ze();
|
|
2521
2521
|
};
|
|
2522
2522
|
y(() => {
|
|
2523
|
-
document.addEventListener("mousedown",
|
|
2523
|
+
document.addEventListener("mousedown", Ve), window.addEventListener("resize", O);
|
|
2524
2524
|
}), v(() => {
|
|
2525
|
-
document.removeEventListener("mousedown",
|
|
2525
|
+
document.removeEventListener("mousedown", Ve), window.removeEventListener("resize", O), D && clearTimeout(D), J();
|
|
2526
2526
|
});
|
|
2527
|
-
let
|
|
2527
|
+
let He = (e) => {
|
|
2528
2528
|
if (e.stopPropagation(), t.range) {
|
|
2529
|
-
|
|
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:
|
|
2546
|
-
}, [c("span", { class: g(["text", { placeholder: !se.value }]) }, E(se.value || t.placeholder), 3), t.clearable && se.value ? (x(), a(
|
|
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:
|
|
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(
|
|
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
|
-
}),
|
|
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:
|
|
2608
|
-
}, [
|
|
2609
|
-
c("div", Mr, [
|
|
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(
|
|
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, [
|
|
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(
|
|
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(
|
|
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 ===
|
|
2667
|
-
intent: e ===
|
|
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 &&
|
|
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(
|
|
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:
|
|
2707
|
+
value: G.value,
|
|
2708
2708
|
onInput: i[5] ||= (e) => ye(e, "H")
|
|
2709
2709
|
}, null, 40, Br),
|
|
2710
|
-
f(
|
|
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(
|
|
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(
|
|
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:
|
|
2762
|
+
value: K.value,
|
|
2763
2763
|
onInput: i[8] ||= (e) => ye(e, "m")
|
|
2764
2764
|
}, null, 40, Ur),
|
|
2765
|
-
f(
|
|
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(
|
|
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(
|
|
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(
|
|
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
|
-
}),
|
|
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:
|
|
2839
|
-
}, [
|
|
2840
|
-
c("div", Jr, [
|
|
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(
|
|
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, [
|
|
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(
|
|
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(
|
|
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 ===
|
|
2898
|
-
intent: e ===
|
|
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 &&
|
|
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(
|
|
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:
|
|
2938
|
+
value: G.value,
|
|
2939
2939
|
onInput: i[15] ||= (e) => ye(e, "H")
|
|
2940
2940
|
}, null, 40, ni),
|
|
2941
|
-
f(
|
|
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(
|
|
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(
|
|
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:
|
|
2993
|
+
value: K.value,
|
|
2994
2994
|
onInput: i[18] ||= (e) => ye(e, "m")
|
|
2995
2995
|
}, null, 40, ai),
|
|
2996
|
-
f(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
3032
|
+
c("div", fi, [t.isLeft ? (x(), a(V, {
|
|
3033
3033
|
key: 0,
|
|
3034
3034
|
variant: "ghost",
|
|
3035
3035
|
square: "",
|
|
3036
|
-
onClick:
|
|
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(
|
|
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:
|
|
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",
|
|
3079
|
-
onClick: (t) =>
|
|
3080
|
-
onMouseenter: (t) =>
|
|
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": !
|
|
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": !
|
|
3087
|
-
]), f(
|
|
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: !
|
|
3092
|
-
onClick: N(
|
|
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(
|
|
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(
|
|
3109
|
+
c("div", wi, [f(V, {
|
|
3110
3110
|
variant: "ghost",
|
|
3111
3111
|
square: "",
|
|
3112
|
-
onClick:
|
|
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(
|
|
3128
|
+
c("div", Ei, [f(V, {
|
|
3129
3129
|
variant: "ghost",
|
|
3130
3130
|
square: "",
|
|
3131
|
-
onClick:
|
|
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(
|
|
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",
|
|
3154
|
-
onClick: (t) =>
|
|
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": !
|
|
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": !
|
|
3160
|
-
]), f(
|
|
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: !
|
|
3165
|
-
onClick: N(
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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/
|
|
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
|
-
},
|
|
3511
|
+
}, da = ["textContent"], fa = {
|
|
3427
3512
|
key: 1,
|
|
3428
3513
|
class: "count-chip"
|
|
3429
|
-
},
|
|
3514
|
+
}, pa = { class: "grid" }, ma = {
|
|
3430
3515
|
key: 0,
|
|
3431
3516
|
class: "icon",
|
|
3432
3517
|
"aria-hidden": "true"
|
|
3433
|
-
},
|
|
3518
|
+
}, ha = ["textContent"], ga = ["textContent"], _a = ["onClick"], va = ["src"], ya = {
|
|
3434
3519
|
key: 1,
|
|
3435
3520
|
class: "placeholder-label"
|
|
3436
|
-
},
|
|
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
|
-
},
|
|
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
|
-
},
|
|
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(
|
|
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
|
-
},
|
|
3584
|
+
}, P = /* @__PURE__ */ new Set();
|
|
3519
3585
|
A(() => r.modelValue, (e) => {
|
|
3520
3586
|
e.forEach((e) => {
|
|
3521
|
-
!e.url ||
|
|
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
|
|
3525
|
-
|
|
3526
|
-
|
|
3527
|
-
|
|
3528
|
-
|
|
3529
|
-
|
|
3530
|
-
|
|
3531
|
-
|
|
3532
|
-
|
|
3533
|
-
|
|
3534
|
-
|
|
3535
|
-
|
|
3536
|
-
|
|
3537
|
-
|
|
3538
|
-
|
|
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
|
-
},
|
|
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
|
|
3621
|
+
if (!t || !await b(`確定要移除「${k(t)}」嗎?`, {
|
|
3578
3622
|
title: "移除影片",
|
|
3579
3623
|
status: "danger",
|
|
3580
3624
|
confirmText: "移除",
|
|
3581
3625
|
cancelText: "取消"
|
|
3582
3626
|
})) return;
|
|
3583
|
-
|
|
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
|
-
},
|
|
3587
|
-
|
|
3588
|
-
},
|
|
3589
|
-
|
|
3590
|
-
},
|
|
3591
|
-
let e =
|
|
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 :
|
|
3594
|
-
e.width && e.height ?
|
|
3595
|
-
|
|
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
|
-
|
|
3606
|
-
|
|
3607
|
-
|
|
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",
|
|
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,
|
|
3627
|
-
c("div",
|
|
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":
|
|
3656
|
+
"is-drag": D(F),
|
|
3631
3657
|
"is-static": r.readonly
|
|
3632
3658
|
}]
|
|
3633
|
-
}, r.readonly ? {} :
|
|
3634
|
-
r.readonly ? o("", !0) : (x(), s("span",
|
|
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,
|
|
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,
|
|
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) =>
|
|
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,
|
|
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",
|
|
3672
|
-
], 10,
|
|
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:
|
|
3676
|
-
}, E(
|
|
3677
|
-
c("div",
|
|
3678
|
-
e.size == null ? o("", !0) : (x(), s("span",
|
|
3679
|
-
e.size != null && e.width && e.height ? (x(), s("span",
|
|
3680
|
-
e.width && e.height ? (x(), s("span",
|
|
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",
|
|
3708
|
+
c("div", Da, [c("button", {
|
|
3683
3709
|
class: "action preview",
|
|
3684
|
-
onClick: (t) =>
|
|
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,
|
|
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) =>
|
|
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,
|
|
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":
|
|
3713
|
-
},
|
|
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(
|
|
3755
|
+
default: j(() => [D(h) ? (x(), s("div", {
|
|
3730
3756
|
key: 0,
|
|
3731
3757
|
class: "vi-modal",
|
|
3732
|
-
onClick: N(
|
|
3733
|
-
}, [c("div",
|
|
3758
|
+
onClick: N(z, ["self"])
|
|
3759
|
+
}, [c("div", Aa, [c("div", ja, [p.value?.url ? (x(), s("video", {
|
|
3734
3760
|
key: 0,
|
|
3735
|
-
src:
|
|
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,
|
|
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:
|
|
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-
|
|
3783
|
+
}), [["__scopeId", "data-v-479d302a"]]), za = {
|
|
3758
3784
|
key: 0,
|
|
3759
3785
|
class: "head"
|
|
3760
|
-
},
|
|
3786
|
+
}, Ba = ["textContent"], Va = {
|
|
3761
3787
|
key: 1,
|
|
3762
3788
|
class: "count-chip"
|
|
3763
|
-
},
|
|
3789
|
+
}, Ha = { class: "grid" }, Ua = {
|
|
3764
3790
|
key: 0,
|
|
3765
3791
|
class: "icon",
|
|
3766
3792
|
"aria-hidden": "true"
|
|
3767
|
-
},
|
|
3793
|
+
}, Wa = ["textContent"], Ga = ["textContent"], Ka = ["onClick"], qa = ["src", "alt"], Ja = {
|
|
3768
3794
|
key: 1,
|
|
3769
3795
|
class: "placeholder-label"
|
|
3770
|
-
},
|
|
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
|
-
},
|
|
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
|
-
},
|
|
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(
|
|
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
|
-
},
|
|
3856
|
+
}, M = /* @__PURE__ */ new Set();
|
|
3846
3857
|
A(() => r.modelValue, (e) => {
|
|
3847
3858
|
e.forEach((e) => {
|
|
3848
|
-
!e.url ||
|
|
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
|
|
3852
|
-
|
|
3853
|
-
|
|
3854
|
-
|
|
3855
|
-
|
|
3856
|
-
|
|
3857
|
-
|
|
3858
|
-
|
|
3859
|
-
|
|
3860
|
-
|
|
3861
|
-
|
|
3862
|
-
|
|
3863
|
-
|
|
3864
|
-
|
|
3865
|
-
|
|
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
|
-
},
|
|
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
|
|
3892
|
+
if (!t || !await b(`確定要移除「${O(t)}」嗎?`, {
|
|
3904
3893
|
title: "移除圖片",
|
|
3905
3894
|
status: "danger",
|
|
3906
3895
|
confirmText: "移除",
|
|
3907
3896
|
cancelText: "取消"
|
|
3908
3897
|
})) return;
|
|
3909
|
-
|
|
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
|
-
},
|
|
3913
|
-
|
|
3914
|
-
},
|
|
3915
|
-
|
|
3916
|
-
},
|
|
3917
|
-
let e =
|
|
3918
|
-
return e ? [e.size == null ? null :
|
|
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
|
-
|
|
3928
|
-
|
|
3929
|
-
|
|
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",
|
|
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,
|
|
3949
|
-
c("div",
|
|
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":
|
|
3923
|
+
"is-drag": D(P),
|
|
3953
3924
|
"is-static": r.readonly
|
|
3954
3925
|
}]
|
|
3955
|
-
}, r.readonly ? {} :
|
|
3956
|
-
r.readonly ? o("", !0) : (x(), s("span",
|
|
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,
|
|
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,
|
|
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) =>
|
|
3959
|
+
onClick: (t) => L(e)
|
|
3989
3960
|
}, [e.url ? (x(), s("img", {
|
|
3990
3961
|
key: 0,
|
|
3991
3962
|
src: e.url,
|
|
3992
|
-
alt:
|
|
3963
|
+
alt: O(e),
|
|
3993
3964
|
loading: "lazy"
|
|
3994
|
-
}, null, 8,
|
|
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,
|
|
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:
|
|
4012
|
-
}, E(
|
|
4013
|
-
c("div",
|
|
4014
|
-
e.size == null ? o("", !0) : (x(), s("span",
|
|
4015
|
-
e.size != null && e.width && e.height ? (x(), s("span",
|
|
4016
|
-
e.width && e.height ? (x(), s("span",
|
|
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",
|
|
3989
|
+
c("div", to, [c("button", {
|
|
4019
3990
|
class: "action preview",
|
|
4020
|
-
onClick: (t) =>
|
|
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,
|
|
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) =>
|
|
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,
|
|
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":
|
|
4049
|
-
},
|
|
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(
|
|
4036
|
+
default: j(() => [D(h) ? (x(), s("div", {
|
|
4066
4037
|
key: 0,
|
|
4067
4038
|
class: "ii-modal",
|
|
4068
|
-
onClick: N(
|
|
4069
|
-
}, [c("div",
|
|
4039
|
+
onClick: N(R, ["self"])
|
|
4040
|
+
}, [c("div", io, [c("div", ao, [p.value?.url ? (x(), s("img", {
|
|
4070
4041
|
key: 0,
|
|
4071
|
-
src:
|
|
4072
|
-
alt:
|
|
4073
|
-
}, null, 8,
|
|
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:
|
|
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-
|
|
4060
|
+
}), [["__scopeId", "data-v-aa2d3585"]]), mo = {
|
|
4090
4061
|
key: 0,
|
|
4091
4062
|
class: "head"
|
|
4092
|
-
},
|
|
4063
|
+
}, ho = ["textContent"], go = {
|
|
4093
4064
|
key: 1,
|
|
4094
4065
|
class: "count-chip"
|
|
4095
|
-
},
|
|
4066
|
+
}, _o = {
|
|
4096
4067
|
key: 0,
|
|
4097
4068
|
class: "icon",
|
|
4098
4069
|
"aria-hidden": "true"
|
|
4099
|
-
},
|
|
4070
|
+
}, vo = ["textContent"], yo = ["textContent"], bo = {
|
|
4100
4071
|
key: 2,
|
|
4101
4072
|
class: "list"
|
|
4102
|
-
},
|
|
4073
|
+
}, xo = [
|
|
4103
4074
|
"src",
|
|
4104
4075
|
"onLoadedmetadata",
|
|
4105
4076
|
"onTimeupdate",
|
|
4106
4077
|
"onEnded"
|
|
4107
|
-
],
|
|
4078
|
+
], So = [
|
|
4108
4079
|
"aria-label",
|
|
4109
4080
|
"disabled",
|
|
4110
4081
|
"onClick"
|
|
4111
|
-
],
|
|
4082
|
+
], Co = {
|
|
4112
4083
|
key: 0,
|
|
4113
4084
|
viewBox: "0 0 24 24",
|
|
4114
4085
|
fill: "currentColor"
|
|
4115
|
-
},
|
|
4086
|
+
}, wo = {
|
|
4116
4087
|
key: 1,
|
|
4117
4088
|
viewBox: "0 0 24 24",
|
|
4118
4089
|
fill: "currentColor"
|
|
4119
|
-
},
|
|
4090
|
+
}, To = { class: "meta" }, Eo = ["title"], Do = { class: "sub" }, Oo = ["onMousedown", "onTouchstart"], ko = {
|
|
4120
4091
|
key: 1,
|
|
4121
4092
|
class: "track"
|
|
4122
|
-
},
|
|
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 = (
|
|
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,
|
|
4173
|
-
},
|
|
4174
|
-
a(e, t, n),
|
|
4175
|
-
},
|
|
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 =
|
|
4178
|
-
n <= 0 || (n === 1 ?
|
|
4179
|
-
},
|
|
4180
|
-
t ?
|
|
4181
|
-
},
|
|
4182
|
-
|
|
4183
|
-
let
|
|
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 <
|
|
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
|
-
},
|
|
4217
|
-
let t =
|
|
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(() =>
|
|
4180
|
+
te || requestAnimationFrame(() => ee(e));
|
|
4222
4181
|
return;
|
|
4223
4182
|
}
|
|
4224
|
-
let i = Math.max(8, Math.min(n.length, Math.floor((r + 2) /
|
|
4225
|
-
if (
|
|
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
|
-
|
|
4233
|
-
},
|
|
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 &&
|
|
4195
|
+
t && ee(t);
|
|
4237
4196
|
});
|
|
4238
|
-
}) : null,
|
|
4239
|
-
let n =
|
|
4240
|
-
if (n &&
|
|
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,
|
|
4243
|
-
} else
|
|
4244
|
-
},
|
|
4245
|
-
|
|
4246
|
-
|
|
4247
|
-
|
|
4248
|
-
|
|
4249
|
-
|
|
4250
|
-
|
|
4251
|
-
|
|
4252
|
-
|
|
4253
|
-
|
|
4254
|
-
|
|
4255
|
-
|
|
4256
|
-
|
|
4257
|
-
|
|
4258
|
-
|
|
4259
|
-
|
|
4260
|
-
|
|
4261
|
-
|
|
4262
|
-
|
|
4263
|
-
|
|
4264
|
-
|
|
4265
|
-
|
|
4266
|
-
|
|
4267
|
-
|
|
4268
|
-
|
|
4269
|
-
|
|
4270
|
-
|
|
4271
|
-
|
|
4272
|
-
|
|
4273
|
-
|
|
4274
|
-
|
|
4275
|
-
|
|
4276
|
-
|
|
4277
|
-
|
|
4278
|
-
|
|
4279
|
-
|
|
4280
|
-
|
|
4281
|
-
|
|
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
|
-
},
|
|
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
|
|
4247
|
+
if (!n || !await h(`確定要移除「${H(n)}」嗎?`, {
|
|
4310
4248
|
title: "移除音訊",
|
|
4311
4249
|
status: "danger",
|
|
4312
4250
|
confirmText: "移除",
|
|
4313
4251
|
cancelText: "取消"
|
|
4314
4252
|
})) return;
|
|
4315
|
-
|
|
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
|
-
|
|
4318
|
-
},
|
|
4319
|
-
let e =
|
|
4320
|
-
e &&
|
|
4321
|
-
},
|
|
4322
|
-
let n =
|
|
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 (
|
|
4325
|
-
n.pause(),
|
|
4262
|
+
if (T.value === e) {
|
|
4263
|
+
n.pause(), T.value = null;
|
|
4326
4264
|
return;
|
|
4327
4265
|
}
|
|
4328
|
-
|
|
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),
|
|
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
|
-
|
|
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,
|
|
4340
|
-
},
|
|
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(),
|
|
4280
|
+
n.preventDefault(), le(e, ("touches" in n ? n.touches[0] : n).clientX);
|
|
4343
4281
|
let r = (t) => {
|
|
4344
|
-
|
|
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
|
-
},
|
|
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 =
|
|
4289
|
+
let n = k[e.id]?.length || 0;
|
|
4352
4290
|
if (n === 0) return !1;
|
|
4353
|
-
let r = (
|
|
4291
|
+
let r = (j[e.id] || 0) / e.duration;
|
|
4354
4292
|
return (t + .5) / n <= r;
|
|
4355
|
-
},
|
|
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
|
-
|
|
4363
|
-
},
|
|
4364
|
-
t.modelValue.some((t) => t.id === e) && (
|
|
4365
|
-
},
|
|
4366
|
-
|
|
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
|
-
|
|
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
|
|
4374
|
-
|
|
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
|
-
},
|
|
4315
|
+
}, _e = (e, t) => {
|
|
4377
4316
|
let n = t.target.duration;
|
|
4378
|
-
!isNaN(n) && isFinite(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 ||
|
|
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) =>
|
|
4386
|
-
for (let n = 0; n < e; n++)
|
|
4387
|
-
}),
|
|
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",
|
|
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,
|
|
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":
|
|
4337
|
+
"is-drag": D(ne),
|
|
4413
4338
|
"is-static": t.readonly
|
|
4414
4339
|
}]
|
|
4415
|
-
}, t.readonly ? {} :
|
|
4416
|
-
t.readonly ? o("", !0) : (x(), s("span",
|
|
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,
|
|
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,
|
|
4441
|
-
], 16)) : (x(), s("div",
|
|
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":
|
|
4369
|
+
class: g(["row", { "is-playing": T.value === n.id }])
|
|
4445
4370
|
}, [
|
|
4446
4371
|
c("audio", {
|
|
4447
4372
|
ref_for: !0,
|
|
4448
|
-
ref: (e) =>
|
|
4373
|
+
ref: (e) => z(n.id, e),
|
|
4449
4374
|
src: n.url,
|
|
4450
4375
|
preload: "metadata",
|
|
4451
|
-
onLoadedmetadata: (e) =>
|
|
4452
|
-
onTimeupdate: (e) =>
|
|
4453
|
-
onEnded: (e) =>
|
|
4454
|
-
}, null, 40,
|
|
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":
|
|
4382
|
+
"aria-label": T.value === n.id ? "暫停" : "播放",
|
|
4458
4383
|
disabled: !n.url,
|
|
4459
|
-
onClick: (e) =>
|
|
4460
|
-
}, [
|
|
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",
|
|
4473
|
-
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:
|
|
4476
|
-
}, E(
|
|
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": !
|
|
4403
|
+
class: g(["wave", { "is-track": !k[n.id]?.length }]),
|
|
4479
4404
|
ref_for: !0,
|
|
4480
|
-
ref: (e) =>
|
|
4481
|
-
onMousedown: (e) =>
|
|
4482
|
-
onTouchstart: (e) =>
|
|
4483
|
-
}, [
|
|
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":
|
|
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",
|
|
4412
|
+
}, null, 6))), 128)) : (x(), s("div", ko, [c("div", {
|
|
4488
4413
|
class: "track-fill",
|
|
4489
|
-
style: _({ width:
|
|
4490
|
-
}, null, 4)]))], 42,
|
|
4491
|
-
c("div",
|
|
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) =>
|
|
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,
|
|
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",
|
|
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":
|
|
4523
|
-
},
|
|
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-
|
|
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
|
-
},
|
|
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",
|
|
4586
|
-
c("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,
|
|
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,
|
|
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,
|
|
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",
|
|
4616
|
-
c("div",
|
|
4617
|
-
c("div",
|
|
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,
|
|
4622
|
-
c("div",
|
|
4623
|
-
f(
|
|
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"]]),
|
|
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",
|
|
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",
|
|
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"]]),
|
|
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
|
-
},
|
|
4623
|
+
}, ms = {
|
|
4699
4624
|
key: 0,
|
|
4700
4625
|
class: "name"
|
|
4701
|
-
},
|
|
4626
|
+
}, hs = {
|
|
4702
4627
|
key: 1,
|
|
4703
4628
|
class: "separator"
|
|
4704
|
-
},
|
|
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",
|
|
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(
|
|
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",
|
|
4773
|
-
e.isShowUser ? (x(), s("span",
|
|
4774
|
-
e.isShowUser && e.isShowLogoutButton ? (x(), s("div",
|
|
4775
|
-
e.isShowLogoutButton ? (x(), a(
|
|
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"]]),
|
|
4725
|
+
}), [["__scopeId", "data-v-f38a4beb"]]), _s = { class: "brand" }, vs = ["src", "alt"], ys = {
|
|
4801
4726
|
key: 1,
|
|
4802
4727
|
class: "icon"
|
|
4803
|
-
},
|
|
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",
|
|
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,
|
|
4828
|
-
e.title ? (x(), s("h1",
|
|
4829
|
-
e.description ? (x(), s("p",
|
|
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
|
|
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
|
|
4862
|
-
NButton:
|
|
4863
|
-
NBreadcrumb:
|
|
4786
|
+
var ws = {
|
|
4787
|
+
NButton: V,
|
|
4788
|
+
NBreadcrumb: te,
|
|
4864
4789
|
NInput: ce,
|
|
4865
4790
|
NTextarea: pe,
|
|
4866
4791
|
NCheckbox: ye,
|
|
4867
|
-
NSelect:
|
|
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:
|
|
4884
|
-
NImageSelect:
|
|
4885
|
-
NAudioSelect:
|
|
4886
|
-
NLayout:
|
|
4887
|
-
NNavigation:
|
|
4888
|
-
NSidebar:
|
|
4808
|
+
NVideoSelect: Ra,
|
|
4809
|
+
NImageSelect: po,
|
|
4810
|
+
NAudioSelect: Lo,
|
|
4811
|
+
NLayout: ls,
|
|
4812
|
+
NNavigation: gs,
|
|
4813
|
+
NSidebar: as,
|
|
4889
4814
|
NCard: Sn,
|
|
4890
|
-
NLoginLayout:
|
|
4891
|
-
},
|
|
4892
|
-
Object.entries(
|
|
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,
|
|
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 };
|