@xwadex/fesd 0.0.14-re.87 → 0.0.14-re.88
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/image-preview-bundle.js +176 -174
- package/dist/image-preview-bundle.js.map +1 -1
- package/package.json +1 -1
@@ -9,7 +9,7 @@ var h = (n, i, t) => {
|
|
9
9
|
};
|
10
10
|
var d = (n, i, t) => (fs(n, i, "access private method"), t);
|
11
11
|
import { OverlayScrollbars as Me } from "overlayscrollbars";
|
12
|
-
import
|
12
|
+
import v from "jquery";
|
13
13
|
import "./vendor-bundle.js";
|
14
14
|
import "validator";
|
15
15
|
import "flatpickr";
|
@@ -88,7 +88,7 @@ const Y = {
|
|
88
88
|
</div>
|
89
89
|
`;
|
90
90
|
}
|
91
|
-
},
|
91
|
+
}, x = {
|
92
92
|
SETTINGS: {
|
93
93
|
direction: "left",
|
94
94
|
// 方向 - top || right || bottom || left
|
@@ -180,7 +180,7 @@ const Y = {
|
|
180
180
|
beforeScroll: null,
|
181
181
|
afterScroll: null
|
182
182
|
}
|
183
|
-
},
|
183
|
+
}, H = {
|
184
184
|
SETTINGS: {
|
185
185
|
type: "drag",
|
186
186
|
drag: {
|
@@ -297,19 +297,19 @@ const Y = {
|
|
297
297
|
article4: ws,
|
298
298
|
collapse4: Je,
|
299
299
|
dropdown4: qe,
|
300
|
-
marquee4:
|
300
|
+
marquee4: x,
|
301
301
|
modal4: I,
|
302
|
-
multipurpose4:
|
302
|
+
multipurpose4: H,
|
303
303
|
ripple4: Ze,
|
304
304
|
share4: ys,
|
305
305
|
tab4: Ue,
|
306
306
|
video4: Y
|
307
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
307
|
+
}, Symbol.toStringTag, { value: "Module" })), A = {
|
308
308
|
before: "beforebegin",
|
309
309
|
after: "afterend",
|
310
310
|
append: "beforeend",
|
311
311
|
prepend: "afterbegin"
|
312
|
-
}, at = (n) => typeof n == "string" && n !== "", ye = (n) => n instanceof HTMLElement, rt = (n) => n instanceof NodeList, w = (n) =>
|
312
|
+
}, at = (n) => typeof n == "string" && n !== "", ye = (n) => n instanceof HTMLElement, rt = (n) => n instanceof NodeList, w = (n) => L(n) !== null, z = (n) => typeof n == "function", L = (n) => ye(n) ? n : document.querySelector(n), S = (n) => rt(n) ? n : document.querySelectorAll(n), Ts = () => Math.random().toString(36).substr(2, 9), Es = (n) => {
|
313
313
|
const i = document.createElement("div");
|
314
314
|
return i.innerHTML = n, i.childNodes;
|
315
315
|
}, As = (n) => {
|
@@ -319,13 +319,13 @@ const Y = {
|
|
319
319
|
return n;
|
320
320
|
}
|
321
321
|
return JSON.parse(n);
|
322
|
-
},
|
322
|
+
}, E = (n, i) => {
|
323
323
|
console.warn(`[${n} warn]: ${i}`);
|
324
324
|
}, je = (n, i) => {
|
325
325
|
console.error(`[${n} error]: ${i}`);
|
326
326
|
}, O = {
|
327
327
|
on(n, i) {
|
328
|
-
if (!
|
328
|
+
if (!z(i))
|
329
329
|
return this;
|
330
330
|
const { __events__: t } = this;
|
331
331
|
return n.split(" ").forEach((e) => {
|
@@ -341,7 +341,7 @@ const Y = {
|
|
341
341
|
}), this;
|
342
342
|
},
|
343
343
|
once(n, i) {
|
344
|
-
if (!
|
344
|
+
if (!z(i))
|
345
345
|
return this;
|
346
346
|
const t = (...e) => {
|
347
347
|
this.off(n, t), i.apply(this, e);
|
@@ -351,7 +351,7 @@ const Y = {
|
|
351
351
|
emit(...n) {
|
352
352
|
const { __events__: i } = this, t = n[0], e = n.slice(1, n.length);
|
353
353
|
return i[t] ? (i[t].forEach((s) => {
|
354
|
-
|
354
|
+
z(s) && s.apply(this, e);
|
355
355
|
}), this) : this;
|
356
356
|
}
|
357
357
|
}, Ls = {
|
@@ -365,19 +365,19 @@ const Y = {
|
|
365
365
|
return -t * ((n = n / e - 1) * n * n * n - 1) + i;
|
366
366
|
}
|
367
367
|
}, we = (n, i) => {
|
368
|
-
const { target: t, container: e, spacer: s, speed: o, gap: a, easing: r, direction: l } = n, c = l === "horizontal", u = c ? "scrollLeft" : "scrollTop", p = c ? "left" : "top", g = c ? "width" : "height", m = w(e) ?
|
369
|
-
let
|
370
|
-
if (
|
368
|
+
const { target: t, container: e, spacer: s, speed: o, gap: a, easing: r, direction: l } = n, c = l === "horizontal", u = c ? "scrollLeft" : "scrollTop", p = c ? "left" : "top", g = c ? "width" : "height", m = w(e) ? L(e) : document.scrollingElement, f = m[u], b = w(t) ? L(t).getBoundingClientRect()[p] : 0 - f, y = w(s) ? L(s).getBoundingClientRect()[g] : 0, _ = b - a - y, P = 15;
|
369
|
+
let T = 0;
|
370
|
+
if (_ === 0)
|
371
371
|
return;
|
372
372
|
const R = (X) => {
|
373
|
-
const Ne =
|
374
|
-
i && i.emit(X, Ne), !i && n.on &&
|
373
|
+
const Ne = L(t);
|
374
|
+
i && i.emit(X, Ne), !i && n.on && z(n.on[X]) && n.on[X](Ne);
|
375
375
|
};
|
376
376
|
R("beforeScroll");
|
377
377
|
const Pe = () => {
|
378
|
-
|
379
|
-
const X = Ls[r](
|
380
|
-
m[u] = X,
|
378
|
+
T += P;
|
379
|
+
const X = Ls[r](T, f, _, o);
|
380
|
+
m[u] = X, T < o && requestAnimationFrame(Pe), T >= o && R("afterScroll");
|
381
381
|
};
|
382
382
|
requestAnimationFrame(Pe);
|
383
383
|
};
|
@@ -423,7 +423,7 @@ J = new WeakSet(), Ee = function() {
|
|
423
423
|
if (!at(i) || !w(i))
|
424
424
|
return;
|
425
425
|
const { SETTINGS: e, EVENTS: s } = lt;
|
426
|
-
if (this.elements = t.state == "not active" ?
|
426
|
+
if (this.elements = t.state == "not active" ? S(i + `:not([${this.active}])`) : S(i), this.elements = S(i), this.options = Object.assign({}, e, t), this.__events__ = Object.assign({}, s), this.options.on)
|
427
427
|
for (const [o, a] of Object.entries(this.options.on))
|
428
428
|
this.__events__[o] = [a];
|
429
429
|
d(this, pt, Ve).call(this);
|
@@ -497,7 +497,7 @@ gt = new WeakSet(), ei = function() {
|
|
497
497
|
const { ATTRS: t } = I;
|
498
498
|
this.__events__ = {}, this.getAttribute(":state") || this.setAttribute(":state", "close");
|
499
499
|
const e = this.getAttribute(t.id) || Ts();
|
500
|
-
this.getAttribute(t.id) || (
|
500
|
+
this.getAttribute(t.id) || (E(`modern-modal needs a ${t.id} attribute with a unique id.`), this.setAttribute(t.id, e)), M[e] && E(`the ${t.id} "${e}" is already be used.`), M[e] = this, d(this, ft, ii).call(this);
|
501
501
|
}, ft = new WeakSet(), ii = function() {
|
502
502
|
this.childDom = this.childNodes, this.template = Ss(this), this.innerHTML = "", this.append(this.template), d(this, vt, si).call(this);
|
503
503
|
}, vt = new WeakSet(), si = function() {
|
@@ -560,14 +560,14 @@ const { MODALS: Ie } = window, ai = (n, i, ...t) => {
|
|
560
560
|
if (!i)
|
561
561
|
return;
|
562
562
|
const e = n[i];
|
563
|
-
e &&
|
563
|
+
e && z(e) && e.apply(n, t);
|
564
564
|
}, ri = (n, ...i) => {
|
565
|
-
n &&
|
565
|
+
n && z(n) && n.apply(U, i);
|
566
566
|
}, ze = (n, i) => {
|
567
|
-
const { target: t } = n, e = Ie[t] ||
|
567
|
+
const { target: t } = n, e = Ie[t] || L(n.target);
|
568
568
|
e && li(n, i), e || Ds(n, i);
|
569
569
|
}, li = (n, i) => {
|
570
|
-
const { target: t, action: e, on: s, e: o } = n, a = Ie[t] ||
|
570
|
+
const { target: t, action: e, on: s, e: o } = n, a = Ie[t] || L(n.target);
|
571
571
|
switch (["open", "close", "destroy"].forEach((l) => {
|
572
572
|
a.once(l, () => {
|
573
573
|
i && (i.emit(l, a, o), ai(i, s[l], a, o)), i || ri(s[l], a);
|
@@ -590,23 +590,23 @@ const { MODALS: Ie } = window, ai = (n, i, ...t) => {
|
|
590
590
|
}, Ds = async (n, i) => {
|
591
591
|
const { target: t, route: e, container: s, on: o, e: a } = n;
|
592
592
|
if (!e)
|
593
|
-
return
|
593
|
+
return E("modal4", "cannot find target or data-modal-route is not defined");
|
594
594
|
const r = (l, ...c) => {
|
595
595
|
i && (i.emit(l, ...c), ai(i, o[l], ...c)), i || ri(o[l], ...c);
|
596
596
|
};
|
597
597
|
fetch(e).then((l) => (r("success", a), l.text())).then((l) => {
|
598
|
-
const c = Es(l), u =
|
598
|
+
const c = Es(l), u = L(s) || L(I.SETTINGS.container);
|
599
599
|
[...c].forEach((g) => {
|
600
600
|
u.append(g);
|
601
601
|
});
|
602
|
-
const p = Ie[t] ||
|
602
|
+
const p = Ie[t] || L(n.target);
|
603
603
|
r("complete", p), li(n, i);
|
604
604
|
}).catch((l) => {
|
605
605
|
r("error", l);
|
606
606
|
});
|
607
607
|
};
|
608
608
|
var Z, Ae, wt, ci, Tt, di;
|
609
|
-
const
|
609
|
+
const N = class N {
|
610
610
|
constructor(i, t = {}) {
|
611
611
|
h(this, Z);
|
612
612
|
h(this, wt);
|
@@ -633,11 +633,11 @@ const P = class P {
|
|
633
633
|
}
|
634
634
|
/** static method 'defineMethods' */
|
635
635
|
static defineMethods(i) {
|
636
|
-
|
637
|
-
const t =
|
636
|
+
N.prototype.__methods__ || (N.prototype.__methods__ = {});
|
637
|
+
const t = N.prototype.__methods__;
|
638
638
|
for (const [e, s] of Object.entries(i))
|
639
|
-
|
640
|
-
Object.assign(
|
639
|
+
z(s) && (t[e] = s);
|
640
|
+
Object.assign(N.prototype, N.prototype.__methods__);
|
641
641
|
}
|
642
642
|
};
|
643
643
|
Z = new WeakSet(), Ae = function() {
|
@@ -645,7 +645,7 @@ Z = new WeakSet(), Ae = function() {
|
|
645
645
|
if (!at(i) || !w(i))
|
646
646
|
return;
|
647
647
|
const { SETTINGS: e, EVENTS: s } = I;
|
648
|
-
if (this.elements = t.state == "not active" ?
|
648
|
+
if (this.elements = t.state == "not active" ? S(i + `:not([${this.active}])`) : S(i), this.options = Object.assign({}, e, t), this.__events__ = Object.assign({}, s), this.options.on)
|
649
649
|
for (const [o, a] of Object.entries(this.options.on))
|
650
650
|
this.__events__[o] = [a];
|
651
651
|
d(this, wt, ci).call(this);
|
@@ -656,7 +656,7 @@ Z = new WeakSet(), Ae = function() {
|
|
656
656
|
}), this.emit("init");
|
657
657
|
}, Tt = new WeakSet(), di = function(i) {
|
658
658
|
const { defaultOptions: t, eventHandler: e, instance: s } = this.modal, o = As(this.getAttribute("data-modal-on"));
|
659
|
-
o && typeof o != "object" &&
|
659
|
+
o && typeof o != "object" && E("modal4", "data-modal-on must be a json string.");
|
660
660
|
const a = {
|
661
661
|
target: this.getAttribute("data-modal-target") || t.target,
|
662
662
|
action: this.getAttribute("data-modal-action") || t.action,
|
@@ -669,19 +669,19 @@ Z = new WeakSet(), Ae = function() {
|
|
669
669
|
this.addEventListener("click", e);
|
670
670
|
}, 200), ze(a, s);
|
671
671
|
};
|
672
|
-
let U =
|
672
|
+
let U = N;
|
673
673
|
Object.assign(U.prototype, O);
|
674
674
|
customElements.define("modern-modal", ti);
|
675
675
|
const _s = (n, i) => {
|
676
676
|
const t = n === window ? n.innerHeight : n.getBoundingClientRect().height, e = n === window ? 0 : n.getBoundingClientRect().top;
|
677
677
|
i.forEach((s) => {
|
678
|
-
const { class: o, delay: a, start: r, end: l, repeat: c, instance: u } = s.aost, { top: p, bottom: g } = s.getBoundingClientRect(), m = t * (r / 100),
|
679
|
-
if (p - e <= m && g - e >=
|
678
|
+
const { class: o, delay: a, start: r, end: l, repeat: c, instance: u } = s.aost, { top: p, bottom: g } = s.getBoundingClientRect(), m = t * (r / 100), f = t * (l / 100);
|
679
|
+
if (p - e <= m && g - e >= f && s.offsetParent)
|
680
680
|
setTimeout(() => {
|
681
681
|
s.classList.add(o);
|
682
682
|
}, a);
|
683
683
|
else {
|
684
|
-
const y = s.classList.contains(o) && c === "down" && p - e >= m || c === "up" && g - e <=
|
684
|
+
const y = s.classList.contains(o) && c === "down" && p - e >= m || c === "up" && g - e <= f || c === !0;
|
685
685
|
setTimeout(() => {
|
686
686
|
y && s.classList.remove(o);
|
687
687
|
}, a);
|
@@ -702,7 +702,7 @@ class ui {
|
|
702
702
|
const { elements: t, options: e } = this;
|
703
703
|
if (!t)
|
704
704
|
return this;
|
705
|
-
const { scroller: s } = e, o = s === window || !w(s) ? window :
|
705
|
+
const { scroller: s } = e, o = s === window || !w(s) ? window : L(s);
|
706
706
|
return o.aost && (o.removeEventListener("scroll", o.aost.eventHandler), delete o.aost), t.forEach((a) => {
|
707
707
|
if (!a.aost)
|
708
708
|
return;
|
@@ -720,12 +720,12 @@ Q = new WeakSet(), Le = function() {
|
|
720
720
|
if (!at(i) || !w(i))
|
721
721
|
return;
|
722
722
|
const { SETTINGS: e, EVENTS: s } = Ye;
|
723
|
-
if (this.elements = t.state == "not active" ?
|
723
|
+
if (this.elements = t.state == "not active" ? S(i + `:not([${this.active}])`) : S(i), this.options = Object.assign({}, e, t), this.__events__ = Object.assign({}, s), this.options.on)
|
724
724
|
for (const [o, a] of Object.entries(this.options.on))
|
725
725
|
this.__events__[o] = [a];
|
726
726
|
d(this, Et, hi).call(this);
|
727
727
|
}, Et = new WeakSet(), hi = function() {
|
728
|
-
const { elements: i, options: t } = this, { scroller: e } = t, s = e === window || !w(e) ? window :
|
728
|
+
const { elements: i, options: t } = this, { scroller: e } = t, s = e === window || !w(e) ? window : L(e);
|
729
729
|
this.eventHandler = () => {
|
730
730
|
_s(s, i);
|
731
731
|
}, i.forEach((a) => {
|
@@ -800,7 +800,7 @@ class xs extends HTMLElement {
|
|
800
800
|
}
|
801
801
|
At = new WeakSet(), pi = function() {
|
802
802
|
if (!this.getAttribute("video-id")) {
|
803
|
-
|
803
|
+
E("videoPlayer", "video-render needs a ['video-id'] attribute to creat player.");
|
804
804
|
return;
|
805
805
|
}
|
806
806
|
this.videoId = this.getAttribute("video-id"), this.videoType = this.getAttribute("video-type"), this.autoplay = this.getAttribute("video-autoplay"), this.startTime = this.getAttribute("video-starttime"), d(this, Lt, mi).call(this);
|
@@ -833,7 +833,7 @@ At = new WeakSet(), pi = function() {
|
|
833
833
|
e = d(this, Ct, Ti).call(this);
|
834
834
|
break;
|
835
835
|
}
|
836
|
-
this.querySelector(".player-wrapper").insertAdjacentHTML(
|
836
|
+
this.querySelector(".player-wrapper").insertAdjacentHTML(A.prepend, e);
|
837
837
|
}, Dt = new WeakSet(), fi = function() {
|
838
838
|
const { videoId: t, autoplay: e, startTime: s } = this;
|
839
839
|
return `<iframe src="https://www.youtube.com/embed/${t}?rel=0&${e === "on" ? "autoplay=1" : ""}&start=${s}&mute=1&loop=1&enablejsapi=1" frameborder="0" allowfullscreen="0" volumn="0" allow="${e === "on" ? "autoplay;" : ""} encrypted-media; gyroscope; picture-in-picture;"></iframe>`;
|
@@ -860,18 +860,18 @@ function Ei(n) {
|
|
860
860
|
const i = [];
|
861
861
|
n && n.forEach((t) => {
|
862
862
|
t instanceof HTMLElement ? i.push(t) : typeof t == "string" && i.push(...document.querySelectorAll(`${t}`));
|
863
|
-
}),
|
863
|
+
}), v("html").addClass("scrollLock"), vs(i);
|
864
864
|
}
|
865
865
|
function Ai(n) {
|
866
866
|
const i = [];
|
867
867
|
n && n.forEach((t) => {
|
868
868
|
t instanceof HTMLElement ? i.push(t) : typeof t == "string" && i.push(...document.querySelectorAll(`${t}`));
|
869
|
-
}),
|
869
|
+
}), v("html").removeClass("scrollLock"), bs(i);
|
870
870
|
}
|
871
871
|
async function fn(n = 0) {
|
872
|
-
if (
|
872
|
+
if (v(".loading-wrapper").length)
|
873
873
|
return;
|
874
|
-
|
874
|
+
v("body").append(`
|
875
875
|
<div class="loading-wrapper">
|
876
876
|
<div class="icon-box">
|
877
877
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 100 100" preserveAspectRatio="xMidYMid"><path d="M10 50A40 40 0 0 0 90 50A40 42 0 0 1 10 50" fill="#ffffff" stroke="none">
|
@@ -881,13 +881,13 @@ async function fn(n = 0) {
|
|
881
881
|
</svg>
|
882
882
|
</div>
|
883
883
|
</div>
|
884
|
-
`),
|
884
|
+
`), v(".loading-wrapper").delay(n).fadeIn(300).promise().done(function() {
|
885
885
|
Ei();
|
886
886
|
});
|
887
887
|
}
|
888
888
|
function vn() {
|
889
|
-
|
890
|
-
|
889
|
+
v(".loading-wrapper").fadeOut(300).promise().done(function() {
|
890
|
+
v(".loading-wrapper").remove(), Ai();
|
891
891
|
});
|
892
892
|
}
|
893
893
|
function bn(n, i) {
|
@@ -900,7 +900,7 @@ function Cs() {
|
|
900
900
|
}
|
901
901
|
function yn(n, i = () => {
|
902
902
|
}) {
|
903
|
-
|
903
|
+
v(`[data-tab-content=${n}]`).fadeIn(function() {
|
904
904
|
typeof i == "function" && i();
|
905
905
|
}).siblings("[data-tab-content]").hide(), Cs();
|
906
906
|
}
|
@@ -941,13 +941,13 @@ function En() {
|
|
941
941
|
};
|
942
942
|
}
|
943
943
|
function An(n, i) {
|
944
|
-
|
945
|
-
|
944
|
+
v(n).on("click", function() {
|
945
|
+
v(this).toggleClass(i);
|
946
946
|
});
|
947
947
|
}
|
948
948
|
function Ln(n, i) {
|
949
|
-
|
950
|
-
|
949
|
+
v(n).on("click", function() {
|
950
|
+
v(n).not(this).removeClass(i), v(this).addClass(i);
|
951
951
|
});
|
952
952
|
}
|
953
953
|
function Hs(n, i = 250) {
|
@@ -969,12 +969,12 @@ function Sn(n, i = 250) {
|
|
969
969
|
};
|
970
970
|
}
|
971
971
|
function Dn() {
|
972
|
-
window._g.interval = [],
|
973
|
-
const e = Number(
|
972
|
+
window._g.interval = [], v(".countdown").each((i, t) => {
|
973
|
+
const e = Number(v(t).attr("data-seconds")) + 1;
|
974
974
|
let s = Math.floor(e / 60) + ":" + e % 60;
|
975
975
|
window._g.interval[i] = setInterval(function() {
|
976
976
|
var o = s.split(":"), a = parseInt(o[0], 10), r = parseInt(o[1], 10);
|
977
|
-
--r, a = r < 0 ? --a : a, a = a < 10 ? a = "0" + a : a, a == 0 && r == 0 && clearInterval(window._g.interval[i]), r = r < 0 ? 59 : r, r = r < 10 ? "0" + r : r,
|
977
|
+
--r, a = r < 0 ? --a : a, a = a < 10 ? a = "0" + a : a, a == 0 && r == 0 && clearInterval(window._g.interval[i]), r = r < 0 ? 59 : r, r = r < 10 ? "0" + r : r, v(t).html(a + ":" + r), s = a + ":" + r;
|
978
978
|
}, 1e3);
|
979
979
|
});
|
980
980
|
}
|
@@ -993,13 +993,13 @@ function kn() {
|
|
993
993
|
n(), window.addEventListener("resize", Hs(n));
|
994
994
|
}
|
995
995
|
function $n(n, i, t, e, s) {
|
996
|
-
const o = this, r =
|
996
|
+
const o = this, r = v(n).html().split("<br>");
|
997
997
|
let l = "", c = 0;
|
998
998
|
r.forEach((u, p) => {
|
999
|
-
p !== 0 && (l += "<br>"), u.split("").forEach((m,
|
1000
|
-
i ? (
|
999
|
+
p !== 0 && (l += "<br>"), u.split("").forEach((m, f) => {
|
1000
|
+
i ? (f === 0 && (l += '<span class="letter-wrap" style="display: inline-block">'), m === " " ? l += '</span> <span class="letter-wrap" style="display: inline-block">' : (l += `<span class="letter"${s || t ? ` style="${s ? `transition: ${o.formatFloat(Math.random(), 2) * s}s;` : ""}${t ? t === "random" ? `transition-delay: ${o.formatFloat(Math.random(), 2)}s;` : `transition-delay: ${t + c * e}s;` : ""}"` : ""}>${m}</span>`, c++), f === u.length - 1 && (l += "</span>")) : m === " " ? l += " " : (l += `<span class="letter"${s || t ? ` style="${s ? `transition: ${o.formatFloat(Math.random(), 2) * s}s;` : ""}${t ? t === "random" ? `transition-delay: ${o.formatFloat(Math.random(), 2)}s;` : `transition-delay: ${t + c * e}s;` : ""}"` : ""}>${m}</span>`, c++);
|
1001
1001
|
});
|
1002
|
-
}),
|
1002
|
+
}), v(n).html(l);
|
1003
1003
|
}
|
1004
1004
|
function xn(n, i) {
|
1005
1005
|
const t = Math.pow(10, i);
|
@@ -1022,7 +1022,7 @@ function Cn(n) {
|
|
1022
1022
|
}
|
1023
1023
|
function Hn(n, i) {
|
1024
1024
|
const t = n.$el, e = n.params.grid.rows, s = i || n.params.slidesPerView * e;
|
1025
|
-
(n.loopedSlides ? n.slides.length - n.loopedSlides * 2 : n.slides.length) <= s ? (t.addClass("swiper-no-swiping"),
|
1025
|
+
(n.loopedSlides ? n.slides.length - n.loopedSlides * 2 : n.slides.length) <= s ? (t.addClass("swiper-no-swiping"), v(n.params.navigation.nextEl).hide(), v(n.params.navigation.prevEl).hide(), v(n.params.pagination.el).hide(), n.params.autoplay.enabled = !1, n.autoplay.stop()) : (t.removeClass("swiper-no-swiping"), v(n.params.navigation.nextEl).show(), v(n.params.navigation.prevEl).show(), v(n.params.pagination.el).show(), n.params.autoplay.enabled && n.autoplay.start());
|
1026
1026
|
}
|
1027
1027
|
function Mn(n) {
|
1028
1028
|
n.el.querySelectorAll("img.detect-shade").forEach((i) => {
|
@@ -1032,36 +1032,36 @@ function Mn(n) {
|
|
1032
1032
|
});
|
1033
1033
|
}
|
1034
1034
|
function qn(n) {
|
1035
|
-
const i = n.el, t =
|
1036
|
-
n.autoplay.stop(),
|
1035
|
+
const i = n.el, t = v(i).find(".swiper-slide-active"), e = v(t).find("video").get(0), s = v(i).find(".swiper-slide video");
|
1036
|
+
n.autoplay.stop(), v(e).off("ended"), e ? (s.each((o, a) => {
|
1037
1037
|
a.currentTime = 0;
|
1038
|
-
}),
|
1038
|
+
}), v(e).on("ended", function() {
|
1039
1039
|
n.slideNext();
|
1040
1040
|
}), e.play()) : n.params.autoplay.enabled && n.autoplay.start();
|
1041
1041
|
}
|
1042
1042
|
function In() {
|
1043
|
-
|
1044
|
-
const t =
|
1043
|
+
v(".number-grow").each(function(n, i) {
|
1044
|
+
const t = v(i), o = t.attr("data-num").replace(/(\d)(?=(?:\d{3})+$)/g, "$1,").split(""), a = () => {
|
1045
1045
|
let r = "";
|
1046
1046
|
for (var l = 0; l <= 9; l++)
|
1047
1047
|
r += String(l) + "<br>";
|
1048
1048
|
return r;
|
1049
1049
|
};
|
1050
|
-
|
1050
|
+
v(o).each(function(r, l) {
|
1051
1051
|
const c = () => l !== "," ? `<div class="num" data-final-num="${l}"><div><br>${a()}<br>${a()}</div></div>` : `<div class="comma">${l}</div>`;
|
1052
1052
|
t.append(c);
|
1053
1053
|
});
|
1054
1054
|
});
|
1055
1055
|
}
|
1056
1056
|
function On() {
|
1057
|
-
|
1058
|
-
const t =
|
1057
|
+
v(".letter-grow").each(function(n, i) {
|
1058
|
+
const t = v(i), s = t.attr("data-letter").split(""), o = () => {
|
1059
1059
|
let a = "";
|
1060
1060
|
for (let r = 65; r <= 90; r++)
|
1061
1061
|
a += String.fromCharCode(r) + "<br>";
|
1062
1062
|
return a;
|
1063
1063
|
};
|
1064
|
-
|
1064
|
+
v(s).each(function(a, r) {
|
1065
1065
|
const l = `<div class="letter" data-final-letter="${r}"><div><br>${o()}<br>${o()}</div></div>`;
|
1066
1066
|
t.append(l);
|
1067
1067
|
});
|
@@ -1105,7 +1105,7 @@ class qs {
|
|
1105
1105
|
}
|
1106
1106
|
V = new WeakSet(), Se = function() {
|
1107
1107
|
const { el: i, options: t } = this.__storage__, { SETTINGS: e, EVENTS: s } = Y;
|
1108
|
-
if (this.elements = t.state == "not active" ?
|
1108
|
+
if (this.elements = t.state == "not active" ? S(i + `:not([${this.active}])`) : S(i), this.options = Object.assign({}, e, t), this.__events__ = Object.assign({}, s), this.options.on)
|
1109
1109
|
for (const [o, a] of Object.entries(this.options.on))
|
1110
1110
|
this.__events__[o] = [a];
|
1111
1111
|
d(this, Ht, Li).call(this);
|
@@ -1119,31 +1119,31 @@ V = new WeakSet(), Se = function() {
|
|
1119
1119
|
if (l === "onBox") {
|
1120
1120
|
let g = null;
|
1121
1121
|
if (u === "on") {
|
1122
|
-
i.classList.add("video4-cover"), s.querySelector("img") || (s.insertAdjacentHTML(
|
1122
|
+
i.classList.add("video4-cover"), s.querySelector("img") || (s.insertAdjacentHTML(A.prepend, '<picture><source srcset="" type="image/webp"><source srcset="" type="image/jpeg"><img src="" alt></picture>'), E("video4", "若啟用 [videoCover] 且選擇 onBox 模式必須於 video-target 內放置 img 結構,若無結構則自動加入圖片結構"));
|
1123
1123
|
const m = s.querySelector("img");
|
1124
|
-
m.insertAdjacentHTML(
|
1125
|
-
const
|
1126
|
-
!
|
1124
|
+
m.insertAdjacentHTML(A.after, t[o]);
|
1125
|
+
const f = (m == null ? void 0 : m.getAttribute("src")) || (m == null ? void 0 : m.getAttribute("data-src"));
|
1126
|
+
!f && r == "youtube" ? p == "on" ? m.setAttribute("src", `http://img.youtube.com/vi/${a}/maxresdefault.jpg `) : m.setAttribute("src", `https://img.youtube.com/vi/${a}/0.jpg`) : !f && r == "vimeo" ? m.setAttribute("src", `https://vumbnail.com/${a}_large.jpg`) : !f && r == "tiktok" ? fetch(`https://www.tiktok.com/oembed?url=https://www.tiktok.com/@/video/${a}`, { method: "GET", redirect: "follow" }).then((b) => b.json()).then((b) => {
|
1127
1127
|
const y = b.thumbnail_url;
|
1128
1128
|
m.setAttribute("src", `${y}`);
|
1129
1129
|
}).catch(function(b) {
|
1130
1130
|
console.log("error");
|
1131
|
-
}) :
|
1131
|
+
}) : E("video4", "僅 youtube & vimeo 提供,無圖片時放置預設封面畫面,其他影片平台請自行上傳封面照片");
|
1132
1132
|
}
|
1133
|
-
c == "off" ? g = s : (g = s.querySelector(c) ?? s, s.querySelector(c) ||
|
1133
|
+
c == "off" ? g = s : (g = s.querySelector(c) ?? s, s.querySelector(c) || E("video4", `找不到 videoButton 設定的 element -> '${c}' , 點擊物件轉移至 '${this.__storage__.el}'`)), g.video || (g.video = {}, g.video.params = e), g.video.eventHandler = d(this, K, De), g.addEventListener("click", g.video.eventHandler);
|
1134
1134
|
} else if (l === "onPage") {
|
1135
1135
|
let g = null;
|
1136
1136
|
if (u == "on") {
|
1137
|
-
i.classList.add("video4-cover"), s.querySelector("img") || (s.insertAdjacentHTML(
|
1137
|
+
i.classList.add("video4-cover"), s.querySelector("img") || (s.insertAdjacentHTML(A.prepend, '<picture><source srcset="" type="image/webp"><source srcset="" type="image/jpeg"><img src="" alt></picture>'), E("video", "若啟用 [videoCover] 且選擇 onBox 模式必須於 video-target 內放置 img 結構"));
|
1138
1138
|
const m = s.querySelector("img");
|
1139
|
-
m.insertAdjacentHTML(
|
1140
|
-
const
|
1141
|
-
!
|
1139
|
+
m.insertAdjacentHTML(A.after, t[o]);
|
1140
|
+
const f = (m == null ? void 0 : m.getAttribute("src")) || (m == null ? void 0 : m.getAttribute("data-src"));
|
1141
|
+
!f && r == "youtube" ? p == "on" ? m.setAttribute("src", `http://img.youtube.com/vi/${a}/maxresdefault.jpg `) : m.setAttribute("src", `https://img.youtube.com/vi/${a}/0.jpg`) : !f && r == "vimeo" ? m.setAttribute("src", `https://vumbnail.com/${a}_large.jpg`) : !f && r == "tiktok" ? fetch(`https://www.tiktok.com/oembed?url=https://www.tiktok.com/@/video/${a}`, { method: "GET", redirect: "follow" }).then((b) => b.json()).then((b) => {
|
1142
1142
|
const y = b.thumbnail_url;
|
1143
1143
|
m.setAttribute("src", `${y}`);
|
1144
1144
|
}).catch(function(b) {
|
1145
1145
|
console.log("error");
|
1146
|
-
}) :
|
1146
|
+
}) : f || E("video4", "僅 youtube & vimeo 提供,無圖片時放置預設封面畫面,其他影片平台請自行上傳封面照片"), c == "off" ? g = s : (g = s.querySelector(c) ?? s, s.querySelector(c) || E("video4", `找不到 videoButton 設定的 element -> '${c}', 點擊物件轉移至 '${this.__storage__.el}'`));
|
1147
1147
|
} else {
|
1148
1148
|
s.innerHTML = Te(e);
|
1149
1149
|
return;
|
@@ -1159,24 +1159,26 @@ V = new WeakSet(), Se = function() {
|
|
1159
1159
|
route: r,
|
1160
1160
|
on: {
|
1161
1161
|
complete(g) {
|
1162
|
-
if (l == "instagram")
|
1163
|
-
g.setAttribute("video-typeStyle", `${l}`)
|
1164
|
-
const m = document.querySelector("[video-template] .modal-content");
|
1165
|
-
if (new ResizeObserver((b) => {
|
1166
|
-
for (let y of b)
|
1167
|
-
m.classList.add("active");
|
1168
|
-
}).observe(m), window.instgrm)
|
1162
|
+
if (l == "instagram")
|
1163
|
+
if (g.setAttribute("video-typeStyle", `${l}`), window.instgrm)
|
1169
1164
|
window.instgrm.Embeds.process();
|
1170
1165
|
else {
|
1171
|
-
const
|
1172
|
-
|
1166
|
+
const m = document.createElement("script");
|
1167
|
+
m.src = "https://www.instagram.com/embed.js", m.async = !0, document.body.appendChild(m);
|
1173
1168
|
}
|
1174
|
-
|
1169
|
+
else
|
1175
1170
|
g.querySelector(".modal-content").insertAdjacentHTML("beforeend", Te(t.params)), g.setAttribute("video-typeStyle", `${l}`);
|
1176
1171
|
},
|
1177
1172
|
open(g) {
|
1178
1173
|
const m = g.querySelectorAll("[data-overlayscrollbars-viewport]");
|
1179
|
-
u.update(), Ei([...m])
|
1174
|
+
if (u.update(), Ei([...m]), l == "instagram") {
|
1175
|
+
const f = document.querySelector("[video-template] .modal-content");
|
1176
|
+
let b = f.offsetHeight;
|
1177
|
+
new ResizeObserver((_) => {
|
1178
|
+
for (let P of _)
|
1179
|
+
P.contentRect.height !== b && f.classList.add("active");
|
1180
|
+
}).observe(f);
|
1181
|
+
}
|
1180
1182
|
},
|
1181
1183
|
close(g) {
|
1182
1184
|
const m = g.querySelectorAll("[data-overlayscrollbars-viewport]");
|
@@ -2057,9 +2059,9 @@ const Oe = {
|
|
2057
2059
|
const i = (t = n.getAttribute("control-elements")) == null ? void 0 : t.split(",");
|
2058
2060
|
i && i.forEach((e) => {
|
2059
2061
|
const s = document.querySelector(e);
|
2060
|
-
s ||
|
2062
|
+
s || E("dropdown", `Can't not find control element(${e})`), s && s.classList.contains("disabled") && (s.classList.remove("disabled"), s.tagName === "DROPDOWN-EL" && s.s.activeLi && C(s, [...s.s.allLi].indexOf(s.s.activeLi)));
|
2061
2063
|
});
|
2062
|
-
},
|
2064
|
+
}, C = (n, i) => {
|
2063
2065
|
const t = n.getAttribute("d4-placeholder"), e = n.querySelectorAll(".dropdown-list li");
|
2064
2066
|
if (i < 0 || i.length === 0) {
|
2065
2067
|
switch (e.forEach((s) => {
|
@@ -2100,7 +2102,7 @@ const Oe = {
|
|
2100
2102
|
const o = n.querySelectorAll(".dropdown-list li.active");
|
2101
2103
|
o.length <= 0 ? n.s.selectDisplayEl.textContent = t.trim() : (n.s.selectDisplayEl.textContent = "", o.forEach((r) => {
|
2102
2104
|
const l = r.getAttribute("data-option"), c = r.textContent.trim(), u = `<div class="option-btn" data-option="${l}"><div class="text">${c}</div><div class="remove-icon"></div></div>`;
|
2103
|
-
n.s.selectDisplayEl.insertAdjacentHTML(
|
2105
|
+
n.s.selectDisplayEl.insertAdjacentHTML(A.append, u);
|
2104
2106
|
})), n.s.activeLi = o, n.s.value = [...o].map((r) => ({
|
2105
2107
|
index: [...e].indexOf(r),
|
2106
2108
|
id: r.getAttribute("data-option"),
|
@@ -2124,7 +2126,7 @@ const Oe = {
|
|
2124
2126
|
o.textContent = e[0], o.setAttribute("data-option", e[0]), n.querySelector(".dropdown-list").append(o);
|
2125
2127
|
});
|
2126
2128
|
}, _i = () => {
|
2127
|
-
|
2129
|
+
S('dropdown-el[d4-status="open"]').forEach((i) => {
|
2128
2130
|
i.close();
|
2129
2131
|
});
|
2130
2132
|
}, js = () => {
|
@@ -2167,7 +2169,7 @@ class ki extends HTMLElement {
|
|
2167
2169
|
switch (o.hasAttribute("multiple") ? "multiple" : "single") {
|
2168
2170
|
case "single":
|
2169
2171
|
const r = o.querySelector(`.dropdown-list li[data-option="${s}"]`);
|
2170
|
-
w(r) ?
|
2172
|
+
w(r) ? C(o, [...o.s.allLi].indexOf(r)) : C(o, -1);
|
2171
2173
|
break;
|
2172
2174
|
case "multiple":
|
2173
2175
|
const l = [];
|
@@ -2176,17 +2178,17 @@ class ki extends HTMLElement {
|
|
2176
2178
|
w(p) && (p.classList.add("active"), l.push(p));
|
2177
2179
|
});
|
2178
2180
|
const c = l.map((u) => [...o.s.allLi].indexOf(u));
|
2179
|
-
|
2181
|
+
C(o, c);
|
2180
2182
|
break;
|
2181
2183
|
}
|
2182
2184
|
else
|
2183
|
-
|
2185
|
+
C(o, -1);
|
2184
2186
|
o.emit("change");
|
2185
2187
|
break;
|
2186
2188
|
case "d4-placeholder":
|
2187
2189
|
if (e === null)
|
2188
2190
|
return;
|
2189
|
-
e !== s && o.s.value.index < 0 &&
|
2191
|
+
e !== s && o.s.value.index < 0 && C(o, o.s.value.index);
|
2190
2192
|
break;
|
2191
2193
|
}
|
2192
2194
|
}
|
@@ -2267,7 +2269,7 @@ It = new WeakSet(), $i = function() {
|
|
2267
2269
|
};
|
2268
2270
|
break;
|
2269
2271
|
}
|
2270
|
-
|
2272
|
+
C(t, t.s.value.index), d(s = t, Nt, Hi).call(s), t.classList.add("d4-initialize");
|
2271
2273
|
}, Nt = new WeakSet(), Hi = function() {
|
2272
2274
|
const t = this;
|
2273
2275
|
t.__events__.dropdownToggle = () => {
|
@@ -2328,30 +2330,30 @@ It = new WeakSet(), $i = function() {
|
|
2328
2330
|
const u = this, p = [...e.s.allLi].indexOf(u), g = parseInt(e.getAttribute("d4-default-height"));
|
2329
2331
|
if (u.classList.contains("has-sublayer")) {
|
2330
2332
|
c.stopPropagation();
|
2331
|
-
const
|
2332
|
-
|
2333
|
-
const
|
2334
|
-
s = g + e.s.subDropdownTotalH, o = s >
|
2333
|
+
const f = u.querySelector(".sub-dropdown"), b = f.querySelector(".sub-dropdown-list"), y = parseInt(getComputedStyle(b).marginTop) + parseInt(getComputedStyle(b).marginBottom);
|
2334
|
+
f.style.cssText = `--height: ${b.offsetHeight + y}px`;
|
2335
|
+
const _ = parseInt(f.style.cssText.replace("--height:", "").trim()), P = parseInt(getComputedStyle(a).maxHeight), T = () => {
|
2336
|
+
s = g + e.s.subDropdownTotalH, o = s > P ? P : s, e.style.cssText = `--maxHeight: ${o}px;`, e.s.dropdownEl.style.height = `${o}px`;
|
2335
2337
|
};
|
2336
|
-
u.classList.contains("open") ? (u.classList.remove("open"), e.s.subDropdownTotalH -=
|
2338
|
+
u.classList.contains("open") ? (u.classList.remove("open"), e.s.subDropdownTotalH -= _, T()) : (u.classList.add("open"), e.s.subDropdownTotalH += _, T());
|
2337
2339
|
const R = () => {
|
2338
|
-
e.__scroller__.update(!0),
|
2340
|
+
e.__scroller__.update(!0), f.removeEventListener("transitionend", R);
|
2339
2341
|
};
|
2340
|
-
|
2342
|
+
f.addEventListener("transitionend", R);
|
2341
2343
|
} else
|
2342
2344
|
switch (Os(e), e.s.selectType) {
|
2343
2345
|
case "single":
|
2344
2346
|
if (e.setAttribute("d4-value", u.getAttribute("data-option")), r) {
|
2345
|
-
const
|
2346
|
-
y && (y.querySelector(".dropdown-list").textContent = "",
|
2347
|
-
const
|
2348
|
-
|
2347
|
+
const f = e.s.cityLang, b = l.textContent.trim(), y = document.getElementById(e.getAttribute("dist-select"));
|
2348
|
+
y && (y.querySelector(".dropdown-list").textContent = "", C(y, -1), Oe[f][b].forEach((_, P) => {
|
2349
|
+
const T = document.createElement("li");
|
2350
|
+
T.textContent = _[0], T.setAttribute("data-option", _[0]), y.querySelector(".dropdown-list").append(T);
|
2349
2351
|
}), e.__events__.selectOption(y));
|
2350
2352
|
}
|
2351
2353
|
(m = u.parentNode.closest("li")) != null && m.classList.contains("has-sublayer") && (c.stopPropagation(), e.close());
|
2352
2354
|
break;
|
2353
2355
|
case "multiple":
|
2354
|
-
c.stopPropagation(), u.classList.toggle("active"),
|
2356
|
+
c.stopPropagation(), u.classList.toggle("active"), C(e, p);
|
2355
2357
|
break;
|
2356
2358
|
}
|
2357
2359
|
});
|
@@ -2422,7 +2424,7 @@ function zs(n) {
|
|
2422
2424
|
}
|
2423
2425
|
n.s.animation = null, n.s.animateEl = a, n.textContent = "", o.append(a), n.append(o), a.clientWidth * 2 + e >= n.clientWidth ? i === "normal" && t && o.append(r()) : n.s.options.continual = !1;
|
2424
2426
|
}
|
2425
|
-
function
|
2427
|
+
function k(n) {
|
2426
2428
|
const { behavior: i, direction: t, continual: e } = n.s.options;
|
2427
2429
|
let s = {};
|
2428
2430
|
switch (i) {
|
@@ -2511,20 +2513,20 @@ class Bs extends HTMLElement {
|
|
2511
2513
|
}
|
2512
2514
|
jt = new WeakSet(), Mi = function() {
|
2513
2515
|
const t = {
|
2514
|
-
direction: this.getAttribute("direction") ||
|
2516
|
+
direction: this.getAttribute("direction") || x.SETTINGS.direction,
|
2515
2517
|
// up / down / left / right
|
2516
|
-
behavior: this.getAttribute("behavior") ||
|
2518
|
+
behavior: this.getAttribute("behavior") || x.SETTINGS.behavior,
|
2517
2519
|
// normal / alternate / endStop
|
2518
|
-
duration: Number(this.getAttribute("duration")) ||
|
2520
|
+
duration: Number(this.getAttribute("duration")) || x.SETTINGS.duration,
|
2519
2521
|
// ms
|
2520
|
-
durationBreakpoints: ct(this) ||
|
2521
|
-
autoplay: this.getAttribute("autoplay") ||
|
2522
|
+
durationBreakpoints: ct(this) || x.SETTINGS.durationBreakpoints,
|
2523
|
+
autoplay: this.getAttribute("autoplay") || x.SETTINGS.autoplay,
|
2522
2524
|
// normal / alternate / endStop
|
2523
|
-
pauseOnMouseenter: this.getAttribute("pauseOnMouseEnter") ? this.getAttribute("pauseOnMouseEnter") === "true" :
|
2525
|
+
pauseOnMouseenter: this.getAttribute("pauseOnMouseEnter") ? this.getAttribute("pauseOnMouseEnter") === "true" : x.SETTINGS.pauseOnMouseenter,
|
2524
2526
|
// true / false
|
2525
|
-
continual: this.getAttribute("continual") ? this.getAttribute("continual") === "true" :
|
2527
|
+
continual: this.getAttribute("continual") ? this.getAttribute("continual") === "true" : x.SETTINGS.continual,
|
2526
2528
|
// true / false
|
2527
|
-
gap: Number(this.getAttribute("gap")) ||
|
2529
|
+
gap: Number(this.getAttribute("gap")) || x.SETTINGS.gap
|
2528
2530
|
};
|
2529
2531
|
this.s = {}, this.s.options = t, this.s.nowDuration = Be(this), zs(this), d(this, zt, qi).call(this);
|
2530
2532
|
}, zt = new WeakSet(), qi = function() {
|
@@ -2546,10 +2548,10 @@ jt = new WeakSet(), Mi = function() {
|
|
2546
2548
|
function u() {
|
2547
2549
|
switch (s) {
|
2548
2550
|
case "normal":
|
2549
|
-
t.s.animateEl.style.transform = `${
|
2551
|
+
t.s.animateEl.style.transform = `${k(t).animate1[0].transform}`, t.s.animation = t.s.animateEl.animate(k(t).animate1, {
|
2550
2552
|
duration: t.s.nowDuration,
|
2551
2553
|
iterations: 1 / 0
|
2552
|
-
}), l && (t.s.cloneAnimateEl.style.transform = `${
|
2554
|
+
}), l && (t.s.cloneAnimateEl.style.transform = `${k(t).animate2[0].transform}`, t.s.cloneAnimation = t.s.cloneAnimateEl.animate(k(t).animate2, {
|
2553
2555
|
duration: t.s.nowDuration,
|
2554
2556
|
delay: -t.s.nowDuration / 2,
|
2555
2557
|
iterations: 1 / 0
|
@@ -2557,28 +2559,28 @@ jt = new WeakSet(), Mi = function() {
|
|
2557
2559
|
break;
|
2558
2560
|
case "alternate":
|
2559
2561
|
let m = function() {
|
2560
|
-
let
|
2562
|
+
let f = [];
|
2561
2563
|
switch (e) {
|
2562
2564
|
case "top":
|
2563
|
-
p = Math.abs(t.s.animateEl.scrollHeight - t.clientHeight), g = parseInt(t.s.nowDuration / (p * 2)) * t.s.animateEl.scrollHeight,
|
2565
|
+
p = Math.abs(t.s.animateEl.scrollHeight - t.clientHeight), g = parseInt(t.s.nowDuration / (p * 2)) * t.s.animateEl.scrollHeight, f = [{ transform: `translate3d(0,${t.clientHeight}px,0)` }, { transform: `translate3d(0,calc(${t.clientHeight}px - 100%),0)` }];
|
2564
2566
|
break;
|
2565
2567
|
case "right":
|
2566
|
-
p = Math.abs(t.s.animateEl.scrollWidth - t.clientWidth), g = parseInt(t.s.nowDuration / (p * 2)) * t.s.animateEl.scrollWidth,
|
2568
|
+
p = Math.abs(t.s.animateEl.scrollWidth - t.clientWidth), g = parseInt(t.s.nowDuration / (p * 2)) * t.s.animateEl.scrollWidth, f = [{ transform: "translate3d(-100%,0,0)" }, { transform: "translate3d(0,0,0)" }];
|
2567
2569
|
break;
|
2568
2570
|
case "bottom":
|
2569
|
-
p = Math.abs(t.s.animateEl.scrollHeight - t.clientHeight), g = parseInt(o / (p * 2)) * t.s.animateEl.scrollHeight,
|
2571
|
+
p = Math.abs(t.s.animateEl.scrollHeight - t.clientHeight), g = parseInt(o / (p * 2)) * t.s.animateEl.scrollHeight, f = [{ transform: "translate3d(0,-100%,0)" }, { transform: "translate3d(0,0,0)" }];
|
2570
2572
|
break;
|
2571
2573
|
case "left":
|
2572
|
-
p = Math.abs(t.s.animateEl.scrollWidth - t.clientWidth), g = parseInt(o / (p * 2)) * t.s.animateEl.scrollWidth,
|
2574
|
+
p = Math.abs(t.s.animateEl.scrollWidth - t.clientWidth), g = parseInt(o / (p * 2)) * t.s.animateEl.scrollWidth, f = [{ transform: `translate3d(${t.clientWidth}px,0,0)` }, { transform: `translate3d(calc(-100% + ${t.clientWidth}px),0,0)` }];
|
2573
2575
|
break;
|
2574
2576
|
}
|
2575
|
-
return
|
2577
|
+
return f;
|
2576
2578
|
}, p, g;
|
2577
2579
|
(t.clientHeight > t.s.animateEl.scrollHeight || e === "left" || e === "right") && (t.s.animateEl.style.transform = `${m()[0].transform}`, t.s.animateEl.animate(m(), {
|
2578
2580
|
duration: g,
|
2579
2581
|
fill: "forwards"
|
2580
2582
|
}).finished.then(() => {
|
2581
|
-
t.s.animation = t.s.animateEl.animate(
|
2583
|
+
t.s.animation = t.s.animateEl.animate(k(t).animate1, {
|
2582
2584
|
duration: t.s.nowDuration,
|
2583
2585
|
iterations: 1 / 0
|
2584
2586
|
});
|
@@ -2587,7 +2589,7 @@ jt = new WeakSet(), Mi = function() {
|
|
2587
2589
|
});
|
2588
2590
|
break;
|
2589
2591
|
case "endStop":
|
2590
|
-
t.s.animateEl.style.transform = `${
|
2592
|
+
t.s.animateEl.style.transform = `${k(t).animate1[0].transform}`, t.s.animation = t.s.animateEl.animate(k(t).animate1, {
|
2591
2593
|
duration: t.s.nowDuration,
|
2592
2594
|
fill: "forwards"
|
2593
2595
|
});
|
@@ -2609,10 +2611,10 @@ jt = new WeakSet(), Mi = function() {
|
|
2609
2611
|
const t = this;
|
2610
2612
|
function e() {
|
2611
2613
|
const s = t.s.animation.startTime, o = t.s.cloneAnimation ? t.s.cloneAnimation.startTime : null;
|
2612
|
-
t.s.nowDuration = Be(t), t.s.animation.cancel(), t.s.cloneAnimation && t.s.cloneAnimation.cancel(), t.s.animation = t.s.animateEl.animate(
|
2614
|
+
t.s.nowDuration = Be(t), t.s.animation.cancel(), t.s.cloneAnimation && t.s.cloneAnimation.cancel(), t.s.animation = t.s.animateEl.animate(k(t).animate1, {
|
2613
2615
|
duration: t.s.nowDuration,
|
2614
2616
|
iterations: 1 / 0
|
2615
|
-
}), t.s.animation.startTime = s, t.s.cloneAnimation && (t.s.cloneAnimation = t.s.cloneAnimateEl.animate(
|
2617
|
+
}), t.s.animation.startTime = s, t.s.cloneAnimation && (t.s.cloneAnimation = t.s.cloneAnimateEl.animate(k(t).animate2, {
|
2616
2618
|
duration: t.s.nowDuration,
|
2617
2619
|
delay: -t.s.nowDuration / 2,
|
2618
2620
|
iterations: 1 / 0
|
@@ -2626,7 +2628,7 @@ const ht = function(n, i) {
|
|
2626
2628
|
return function(e) {
|
2627
2629
|
t && clearTimeout(t), t = setTimeout(n, 200, e);
|
2628
2630
|
};
|
2629
|
-
},
|
2631
|
+
}, $ = (n, i) => {
|
2630
2632
|
if (rt(n)) {
|
2631
2633
|
n.forEach((t) => {
|
2632
2634
|
t.classList.add(i);
|
@@ -2643,7 +2645,7 @@ const ht = function(n, i) {
|
|
2643
2645
|
}
|
2644
2646
|
n.classList.remove(i);
|
2645
2647
|
};
|
2646
|
-
var Gt, Pi, Rt, Ni, Xt, ji, tt, _e,
|
2648
|
+
var Gt, Pi, Rt, Ni, Xt, ji, tt, _e, B, dt, Ft, zi;
|
2647
2649
|
class Ge {
|
2648
2650
|
constructor(i) {
|
2649
2651
|
// 初始化
|
@@ -2655,7 +2657,7 @@ class Ge {
|
|
2655
2657
|
// 卷軸位置判斷
|
2656
2658
|
h(this, tt);
|
2657
2659
|
// 隱藏按鈕判斷
|
2658
|
-
h(this,
|
2660
|
+
h(this, B);
|
2659
2661
|
// 選項事件綁定
|
2660
2662
|
h(this, Ft);
|
2661
2663
|
this.$element = i, this.option = i.s.option.drag, d(this, Gt, Pi).call(this);
|
@@ -2680,10 +2682,10 @@ Gt = new WeakSet(), Pi = function() {
|
|
2680
2682
|
i.$container = i.$element.querySelector(".drag-container"), i.$wrapper = i.$container.querySelector(".wrapper");
|
2681
2683
|
const t = () => {
|
2682
2684
|
var c, u;
|
2683
|
-
d(c = i, tt, _e).call(c), d(u = i,
|
2685
|
+
d(c = i, tt, _e).call(c), d(u = i, B, dt).call(u);
|
2684
2686
|
};
|
2685
2687
|
i.$wrapper.removeEventListener("scroll", t), i.$wrapper.addEventListener("scroll", t), window.removeEventListener("resize", ht(t)), window.addEventListener("resize", ht(t)), (i.option.draggable || i.$element.s.type == "collapse") && d(e = i, Xt, ji).call(e), i.option.navigation && i.$element.s.type !== "collapse" && (i.$container.insertAdjacentHTML(
|
2686
|
-
|
2688
|
+
A.prepend,
|
2687
2689
|
`<div class="navigation">
|
2688
2690
|
<div class="button prev">
|
2689
2691
|
<div></div>
|
@@ -2692,7 +2694,7 @@ Gt = new WeakSet(), Pi = function() {
|
|
2692
2694
|
<div></div>
|
2693
2695
|
</div>
|
2694
2696
|
</div>`
|
2695
|
-
), i.$button = (s = i.$container) == null ? void 0 : s.querySelectorAll(".button"), d(o = i, Rt, Ni).call(o)), d(a = i, tt, _e).call(a), d(r = i,
|
2697
|
+
), i.$button = (s = i.$container) == null ? void 0 : s.querySelectorAll(".button"), d(o = i, Rt, Ni).call(o)), d(a = i, tt, _e).call(a), d(r = i, B, dt).call(r), d(l = i, Ft, zi).call(l), i.update();
|
2696
2698
|
}, Rt = new WeakSet(), Ni = function() {
|
2697
2699
|
const i = this, { $wrapper: t, $button: e } = i, s = function() {
|
2698
2700
|
const o = this.classList.contains("next"), a = parseInt(t.getBoundingClientRect().width * 0.7);
|
@@ -2701,7 +2703,7 @@ Gt = new WeakSet(), Pi = function() {
|
|
2701
2703
|
behavior: "smooth"
|
2702
2704
|
}), setTimeout(() => {
|
2703
2705
|
var r;
|
2704
|
-
d(r = i,
|
2706
|
+
d(r = i, B, dt).call(r);
|
2705
2707
|
}, 100);
|
2706
2708
|
};
|
2707
2709
|
e.forEach((o) => {
|
@@ -2739,25 +2741,25 @@ Gt = new WeakSet(), Pi = function() {
|
|
2739
2741
|
});
|
2740
2742
|
}, tt = new WeakSet(), _e = function() {
|
2741
2743
|
const { $container: i, $wrapper: t } = this, e = t.scrollWidth - t.clientWidth, s = t.scrollLeft;
|
2742
|
-
e <= 0 || (
|
2743
|
-
},
|
2744
|
+
e <= 0 || ($(i, "scrollable"), s == 0 ? (D(i, "scrollable"), $(t, "start"), D(t, "end")) : s >= e ? (D(i, "scrollable"), D(t, "start"), $(t, "end")) : ($(t, "center"), D(t, "start"), D(t, "end")));
|
2745
|
+
}, B = new WeakSet(), dt = function() {
|
2744
2746
|
const { $wrapper: i, $button: t, $element: e } = this;
|
2745
2747
|
if (!t)
|
2746
2748
|
return;
|
2747
2749
|
const s = i.scrollWidth - i.clientWidth, o = i.scrollLeft;
|
2748
2750
|
if (s <= 0) {
|
2749
|
-
|
2751
|
+
$(t, "hide"), D(t, "active"), $(e, "noScrollable");
|
2750
2752
|
return;
|
2751
2753
|
}
|
2752
|
-
s > 0 && (
|
2754
|
+
s > 0 && ($(t, "active"), D(e, "noScrollable")), o == 0 ? t.forEach((a) => {
|
2753
2755
|
if (a.classList.contains("next")) {
|
2754
2756
|
D(a, "hide");
|
2755
2757
|
return;
|
2756
2758
|
}
|
2757
|
-
|
2759
|
+
$(a, "hide");
|
2758
2760
|
}) : o >= s ? t.forEach((a) => {
|
2759
2761
|
if (a.classList.contains("next")) {
|
2760
|
-
|
2762
|
+
$(a, "hide");
|
2761
2763
|
return;
|
2762
2764
|
}
|
2763
2765
|
D(a, "hide");
|
@@ -2794,7 +2796,7 @@ Yt = new WeakSet(), Wi = function() {
|
|
2794
2796
|
this.$element && (this.$container = this.$element.querySelector(".collapse-container"), this.$wrapper = this.$container.querySelector(".wrapper"), d(this, Ut, Bi).call(this) && d(this, Jt, Gi).call(this), d(this, Zt, Ri).call(this));
|
2795
2797
|
}, Ut = new WeakSet(), Bi = function() {
|
2796
2798
|
const i = this.$element.querySelector(".drag-container"), t = i.querySelector(".wrapper");
|
2797
|
-
return t.scrollWidth - t.clientWidth > 0 ? (i.insertAdjacentHTML(
|
2799
|
+
return t.scrollWidth - t.clientWidth > 0 ? (i.insertAdjacentHTML(A.append, '<div class="open-collapse"></div>'), this.$button = i.querySelector(".open-collapse"), !0) : !1;
|
2798
2800
|
}, Jt = new WeakSet(), Gi = function() {
|
2799
2801
|
const { $element: i, $button: t } = this, e = function() {
|
2800
2802
|
i.classList.contains("expand") ? i.classList.remove("expand") : i.classList.add("expand");
|
@@ -2816,9 +2818,9 @@ Yt = new WeakSet(), Wi = function() {
|
|
2816
2818
|
};
|
2817
2819
|
const Rs = (n) => {
|
2818
2820
|
const { type: i, option: t, originalDomString: e } = n.s, s = document.createElement("div");
|
2819
|
-
return i == "drag" && (s.innerHTML =
|
2821
|
+
return i == "drag" && (s.innerHTML = H.TEMPLATE[i]().trim(), s.querySelector(".drag-container .wrapper").insertAdjacentHTML(A.append, e)), i == "collapse" && (s.innerHTML = H.TEMPLATE[i](t == null ? void 0 : t.collapse).trim(), s.querySelector(".drag-container .wrapper").insertAdjacentHTML(A.append, e), s.querySelector(".collapse-container .wrapper").insertAdjacentHTML(A.append, e)), i == "dropdown" && (s.innerHTML = H.TEMPLATE[i](t == null ? void 0 : t.dropdown).trim(), s.querySelector("dropdown-el").insertAdjacentHTML(A.append, e)), s.children;
|
2820
2822
|
};
|
2821
|
-
var Qt, Xi, Vt, Fi, et, ke,
|
2823
|
+
var Qt, Xi, Vt, Fi, et, ke, G, ut;
|
2822
2824
|
class Xs extends HTMLElement {
|
2823
2825
|
constructor() {
|
2824
2826
|
super();
|
@@ -2827,7 +2829,7 @@ class Xs extends HTMLElement {
|
|
2827
2829
|
// 斷點設定
|
2828
2830
|
h(this, et);
|
2829
2831
|
// check type
|
2830
|
-
h(this,
|
2832
|
+
h(this, G);
|
2831
2833
|
this.initialize = !1, this.__events__ = {}, this.s = {}, this.s.originalDomString = this.innerHTML.trim().replace(/\n/g, ""), this.previousWidth = window.innerWidth;
|
2832
2834
|
}
|
2833
2835
|
static get observedAttributes() {
|
@@ -2839,7 +2841,7 @@ class Xs extends HTMLElement {
|
|
2839
2841
|
case "m4-type":
|
2840
2842
|
if (e === null || e === s)
|
2841
2843
|
return;
|
2842
|
-
this.s.type = s, d(this,
|
2844
|
+
this.s.type = s, d(this, G, ut).call(this);
|
2843
2845
|
break;
|
2844
2846
|
case "m4-status":
|
2845
2847
|
if (e === s)
|
@@ -2864,7 +2866,7 @@ class Xs extends HTMLElement {
|
|
2864
2866
|
}
|
2865
2867
|
Qt = new WeakSet(), Xi = function() {
|
2866
2868
|
let t = {};
|
2867
|
-
this.hasAttribute("m4-value") || this.setAttribute("m4-value", ""), this.s.type = this.getAttribute("m4-type") ??
|
2869
|
+
this.hasAttribute("m4-value") || this.setAttribute("m4-value", ""), this.s.type = this.getAttribute("m4-type") ?? H.SETTINGS.type, this.hasAttribute("m4-option") && (t = this.getAttribute("m4-option") ? JSON.parse(this.getAttribute("m4-option")) : {}, this.removeAttribute("m4-option"));
|
2868
2870
|
const e = (s) => {
|
2869
2871
|
if (s.type === "resize") {
|
2870
2872
|
if (window.innerWidth === this.previousWidth)
|
@@ -2873,20 +2875,20 @@ Qt = new WeakSet(), Xi = function() {
|
|
2873
2875
|
}
|
2874
2876
|
this.update();
|
2875
2877
|
};
|
2876
|
-
window.removeEventListener("resize", ht(e)), window.addEventListener("resize", ht(e)), this.s.option = {}, this.s.option.drag = Object.assign({},
|
2878
|
+
window.removeEventListener("resize", ht(e)), window.addEventListener("resize", ht(e)), this.s.option = {}, this.s.option.drag = Object.assign({}, H.SETTINGS.drag, t == null ? void 0 : t.drag), this.s.option.collapse = Object.assign({}, H.SETTINGS.collapse, t == null ? void 0 : t.collapse), this.s.option.dropdown = Object.assign({}, H.SETTINGS.dropdown, t == null ? void 0 : t.dropdown), this.s.option.breakpoint = Object.assign({}, H.SETTINGS.breakpoint, t == null ? void 0 : t.breakpoint), d(this, Vt, Fi).call(this);
|
2877
2879
|
}, Vt = new WeakSet(), Fi = function() {
|
2878
2880
|
this.classList.add("m4-init"), d(this, et, ke).call(this);
|
2879
2881
|
}, et = new WeakSet(), ke = function() {
|
2880
2882
|
const t = Object.keys(this.s.option.breakpoint);
|
2881
2883
|
if (!t.length) {
|
2882
|
-
d(this,
|
2884
|
+
d(this, G, ut).call(this);
|
2883
2885
|
return;
|
2884
2886
|
}
|
2885
2887
|
t.map((e) => Number(e)).sort((e, s) => s - e).some((e) => {
|
2886
2888
|
var s, o, a, r;
|
2887
|
-
return window.innerWidth >= e && (this.s.type = (s = this.s.option.breakpoint[e]) == null ? void 0 : s.type, this.setAttribute("m4-type", this.s.type), this.s.option.drag = Object.assign({}, this.s.option.drag, (o = this.s.option.breakpoint[e]) == null ? void 0 : o.drag), this.s.option.collapse = Object.assign({}, this.s.option.collapse, (a = this.s.option.breakpoint[e]) == null ? void 0 : a.collapse), this.s.option.dropdown = Object.assign({}, this.s.option.dropdown, (r = this.s.option.breakpoint[e]) == null ? void 0 : r.dropdown)), d(this,
|
2889
|
+
return window.innerWidth >= e && (this.s.type = (s = this.s.option.breakpoint[e]) == null ? void 0 : s.type, this.setAttribute("m4-type", this.s.type), this.s.option.drag = Object.assign({}, this.s.option.drag, (o = this.s.option.breakpoint[e]) == null ? void 0 : o.drag), this.s.option.collapse = Object.assign({}, this.s.option.collapse, (a = this.s.option.breakpoint[e]) == null ? void 0 : a.collapse), this.s.option.dropdown = Object.assign({}, this.s.option.dropdown, (r = this.s.option.breakpoint[e]) == null ? void 0 : r.dropdown)), d(this, G, ut).call(this), window.innerWidth >= e;
|
2888
2890
|
});
|
2889
|
-
},
|
2891
|
+
}, G = new WeakSet(), ut = function() {
|
2890
2892
|
var o;
|
2891
2893
|
const { type: t } = this.s;
|
2892
2894
|
this.innerHTML = "", [...Rs(this)].forEach((a) => {
|
@@ -2908,7 +2910,7 @@ Qt = new WeakSet(), Xi = function() {
|
|
2908
2910
|
(o = this.constructor.drag) == null || o.update(this);
|
2909
2911
|
};
|
2910
2912
|
customElements.define("multipurpose-nav", Xs);
|
2911
|
-
var Kt, Ui, te, Ji, it, $e,
|
2913
|
+
var Kt, Ui, te, Ji, it, $e, j, F, ee, Zi, ie, Qi, se, Vi, ne, Ki, oe, ts, ae, es, re, is, le, ss, ce, ns, q, W, de, os, ue, as, he, rs, pe, ls;
|
2912
2914
|
class Yi extends HTMLElement {
|
2913
2915
|
// 定義組件的初始狀態
|
2914
2916
|
constructor(t, e) {
|
@@ -2918,7 +2920,7 @@ class Yi extends HTMLElement {
|
|
2918
2920
|
// 第一關 判斷數量以及id設定
|
2919
2921
|
h(this, it);
|
2920
2922
|
// 第二關 id命名提醒
|
2921
|
-
h(this,
|
2923
|
+
h(this, j);
|
2922
2924
|
h(this, ee);
|
2923
2925
|
h(this, ie);
|
2924
2926
|
h(this, se);
|
@@ -2961,26 +2963,26 @@ class Yi extends HTMLElement {
|
|
2961
2963
|
tabClick(t) {
|
2962
2964
|
const { t: e } = this, s = e.tabs.indexOf(t) % e.tabPanels.length, o = e.tabGroup === "true" ? String(s) : t.getAttribute("t4-id");
|
2963
2965
|
this.setActiveTab(o), setTimeout(() => {
|
2964
|
-
d(this, q,
|
2966
|
+
d(this, q, W).call(this, "eventAnchor");
|
2965
2967
|
}, e.transition.duration);
|
2966
2968
|
}
|
2967
2969
|
// 外部呼叫方法 $0.setActiveTab(0)
|
2968
2970
|
setActiveTab(t) {
|
2969
2971
|
const { t: e } = this, s = t === "" ? e.tabPanels[0].getAttribute("t4-id") : t;
|
2970
2972
|
e.activeTab = s, this.setAttribute("t4-active", s);
|
2971
|
-
const o = d(this,
|
2973
|
+
const o = d(this, j, F).call(this, s);
|
2972
2974
|
e.tabPanels.forEach((a, r) => {
|
2973
2975
|
r === o ? d(this, ue, as).call(this, r) : d(this, de, os).call(this, r);
|
2974
2976
|
});
|
2975
2977
|
}
|
2976
2978
|
// 外部呼叫方法 $0.goNext()
|
2977
2979
|
goNext() {
|
2978
|
-
const t = d(this,
|
2980
|
+
const t = d(this, j, F).call(this, this.t.activeTab), e = Math.min(this.t.tabPanels.length - 1, t + 1), s = this.t.tabPanels[e].getAttribute("t4-id");
|
2979
2981
|
this.setActiveTab(s);
|
2980
2982
|
}
|
2981
2983
|
// 外部呼叫方法 $0.goPrev()
|
2982
2984
|
goPrev() {
|
2983
|
-
const t = d(this,
|
2985
|
+
const t = d(this, j, F).call(this, this.t.activeTab), e = Math.max(0, t - 1), s = this.t.tabPanels[e].getAttribute("t4-id");
|
2984
2986
|
this.setActiveTab(s);
|
2985
2987
|
}
|
2986
2988
|
// 外部呼叫方法 $0.update()
|
@@ -3020,7 +3022,7 @@ Kt = new WeakSet(), Ui = function() {
|
|
3020
3022
|
return t.type === "normal" && t.tabGroup === "true" && t.tabPanels.length !== e.length && console.warn("按鈕與內容數量不同喔", t.tabPanels.length, e.length), t.tabGroup === "true" ? t.tabPanels.forEach((s, o) => s.setAttribute("t4-id", o)) : t.tabPanels.forEach((s) => {
|
3021
3023
|
s.getAttribute("t4-id") || console.warn(s, "請幫我設定id!!");
|
3022
3024
|
}), e;
|
3023
|
-
},
|
3025
|
+
}, j = new WeakSet(), F = function(t) {
|
3024
3026
|
const { t: e } = this, s = e.tabPanels.filter((a) => a.getAttribute("t4-id") === t);
|
3025
3027
|
s.length > 1 && console.warn("有兩個相同id設定", s);
|
3026
3028
|
const o = s[0];
|
@@ -3072,7 +3074,7 @@ Kt = new WeakSet(), Ui = function() {
|
|
3072
3074
|
}) : this.t.tabs.forEach((s, o) => {
|
3073
3075
|
s.getAttribute("t4-id") === e ? s.setAttribute("aria-selected", !0) : s.setAttribute("aria-selected", !1);
|
3074
3076
|
});
|
3075
|
-
}, q = new WeakSet(),
|
3077
|
+
}, q = new WeakSet(), W = function(t, e, s) {
|
3076
3078
|
switch (t) {
|
3077
3079
|
case "step":
|
3078
3080
|
ye(this.t.step) && d(this, ae, es).call(this, e);
|
@@ -3136,8 +3138,8 @@ Kt = new WeakSet(), Ui = function() {
|
|
3136
3138
|
break;
|
3137
3139
|
}
|
3138
3140
|
}, he = new WeakSet(), rs = function(t) {
|
3139
|
-
const e = d(this,
|
3140
|
-
d(this, q,
|
3141
|
+
const e = d(this, j, F).call(this, t);
|
3142
|
+
d(this, q, W).call(this, "step", e), d(this, q, W).call(this, "btnState", e), d(this, q, W).call(this, "tabState", e, t), d(this, q, W).call(this, "tabUrl", t), this.emit("change");
|
3141
3143
|
}, pe = new WeakSet(), ls = function() {
|
3142
3144
|
const t = this;
|
3143
3145
|
window.addEventListener(
|
@@ -3211,7 +3213,7 @@ class Us {
|
|
3211
3213
|
}
|
3212
3214
|
st = new WeakSet(), xe = function() {
|
3213
3215
|
const { el: i, options: t } = this.__storage__, { SETTINGS: e, EVENTS: s } = Je;
|
3214
|
-
if (this.elements = t.state == "not active" ?
|
3216
|
+
if (this.elements = t.state == "not active" ? S(i + `:not([${this.active}])`) : S(i), this.options = Object.assign({}, e, t), this.__events__ = Object.assign({}, s), this.options.on)
|
3215
3217
|
for (const [o, a] of Object.entries(this.options.on))
|
3216
3218
|
this.__events__[o] = [a];
|
3217
3219
|
d(this, me, ds).call(this);
|
@@ -3513,8 +3515,8 @@ export {
|
|
3513
3515
|
Ts as c,
|
3514
3516
|
ws as d,
|
3515
3517
|
Y as e,
|
3516
|
-
|
3517
|
-
|
3518
|
+
A as f,
|
3519
|
+
S as g,
|
3518
3520
|
mn as h,
|
3519
3521
|
at as i,
|
3520
3522
|
ui as j,
|