@xwadex/fesd 0.0.14-re.85 → 0.0.14-re.87
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/fesd-bundle.css +1 -1
- package/dist/image-preview-bundle.js +129 -126
- 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 f from "jquery";
|
13
13
|
import "./vendor-bundle.js";
|
14
14
|
import "validator";
|
15
15
|
import "flatpickr";
|
@@ -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",
|
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) ? A(e) : document.scrollingElement, v = m[u], b = w(t) ? A(t).getBoundingClientRect()[p] : 0 - v, y = w(s) ? A(s).getBoundingClientRect()[g] : 0, H = b - a - y, G = 15;
|
369
369
|
let S = 0;
|
370
370
|
if (H === 0)
|
371
371
|
return;
|
372
|
-
const
|
372
|
+
const R = (X) => {
|
373
373
|
const Ne = A(t);
|
374
|
-
i && i.emit(
|
374
|
+
i && i.emit(X, Ne), !i && n.on && j(n.on[X]) && n.on[X](Ne);
|
375
375
|
};
|
376
|
-
|
376
|
+
R("beforeScroll");
|
377
377
|
const Pe = () => {
|
378
378
|
S += G;
|
379
|
-
const
|
380
|
-
|
379
|
+
const X = Ls[r](S, v, H, o);
|
380
|
+
m[u] = X, S < o && requestAnimationFrame(Pe), S >= o && R("afterScroll");
|
381
381
|
};
|
382
382
|
requestAnimationFrame(Pe);
|
383
383
|
};
|
@@ -505,7 +505,8 @@ gt = new WeakSet(), ei = function() {
|
|
505
505
|
this.__scroller__ = Me(t, {
|
506
506
|
overflowBehavior: {
|
507
507
|
x: "hidden"
|
508
|
-
}
|
508
|
+
},
|
509
|
+
autoUpdate: !0
|
509
510
|
}), window.modalScroll = this.__scroller__, d(this, bt, ni).call(this);
|
510
511
|
}, bt = new WeakSet(), ni = function() {
|
511
512
|
var a, r, l;
|
@@ -595,8 +596,8 @@ const { MODALS: Ie } = window, ai = (n, i, ...t) => {
|
|
595
596
|
};
|
596
597
|
fetch(e).then((l) => (r("success", a), l.text())).then((l) => {
|
597
598
|
const c = Es(l), u = A(s) || A(I.SETTINGS.container);
|
598
|
-
[...c].forEach((
|
599
|
-
u.append(
|
599
|
+
[...c].forEach((g) => {
|
600
|
+
u.append(g);
|
600
601
|
});
|
601
602
|
const p = Ie[t] || A(n.target);
|
602
603
|
r("complete", p), li(n, i);
|
@@ -674,13 +675,13 @@ customElements.define("modern-modal", ti);
|
|
674
675
|
const _s = (n, i) => {
|
675
676
|
const t = n === window ? n.innerHeight : n.getBoundingClientRect().height, e = n === window ? 0 : n.getBoundingClientRect().top;
|
676
677
|
i.forEach((s) => {
|
677
|
-
const { class: o, delay: a, start: r, end: l, repeat: c, instance: u } = s.aost, { top: p, bottom:
|
678
|
-
if (p - 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), v = t * (l / 100);
|
679
|
+
if (p - e <= m && g - e >= v && s.offsetParent)
|
679
680
|
setTimeout(() => {
|
680
681
|
s.classList.add(o);
|
681
682
|
}, a);
|
682
683
|
else {
|
683
|
-
const y = s.classList.contains(o) && c === "down" && p - e >=
|
684
|
+
const y = s.classList.contains(o) && c === "down" && p - e >= m || c === "up" && g - e <= v || c === !0;
|
684
685
|
setTimeout(() => {
|
685
686
|
y && s.classList.remove(o);
|
686
687
|
}, a);
|
@@ -859,18 +860,18 @@ function Ei(n) {
|
|
859
860
|
const i = [];
|
860
861
|
n && n.forEach((t) => {
|
861
862
|
t instanceof HTMLElement ? i.push(t) : typeof t == "string" && i.push(...document.querySelectorAll(`${t}`));
|
862
|
-
}),
|
863
|
+
}), f("html").addClass("scrollLock"), vs(i);
|
863
864
|
}
|
864
865
|
function Ai(n) {
|
865
866
|
const i = [];
|
866
867
|
n && n.forEach((t) => {
|
867
868
|
t instanceof HTMLElement ? i.push(t) : typeof t == "string" && i.push(...document.querySelectorAll(`${t}`));
|
868
|
-
}),
|
869
|
+
}), f("html").removeClass("scrollLock"), bs(i);
|
869
870
|
}
|
870
871
|
async function fn(n = 0) {
|
871
|
-
if (
|
872
|
+
if (f(".loading-wrapper").length)
|
872
873
|
return;
|
873
|
-
|
874
|
+
f("body").append(`
|
874
875
|
<div class="loading-wrapper">
|
875
876
|
<div class="icon-box">
|
876
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">
|
@@ -880,13 +881,13 @@ async function fn(n = 0) {
|
|
880
881
|
</svg>
|
881
882
|
</div>
|
882
883
|
</div>
|
883
|
-
`),
|
884
|
+
`), f(".loading-wrapper").delay(n).fadeIn(300).promise().done(function() {
|
884
885
|
Ei();
|
885
886
|
});
|
886
887
|
}
|
887
888
|
function vn() {
|
888
|
-
|
889
|
-
|
889
|
+
f(".loading-wrapper").fadeOut(300).promise().done(function() {
|
890
|
+
f(".loading-wrapper").remove(), Ai();
|
890
891
|
});
|
891
892
|
}
|
892
893
|
function bn(n, i) {
|
@@ -899,7 +900,7 @@ function Cs() {
|
|
899
900
|
}
|
900
901
|
function yn(n, i = () => {
|
901
902
|
}) {
|
902
|
-
|
903
|
+
f(`[data-tab-content=${n}]`).fadeIn(function() {
|
903
904
|
typeof i == "function" && i();
|
904
905
|
}).siblings("[data-tab-content]").hide(), Cs();
|
905
906
|
}
|
@@ -940,13 +941,13 @@ function En() {
|
|
940
941
|
};
|
941
942
|
}
|
942
943
|
function An(n, i) {
|
943
|
-
|
944
|
-
|
944
|
+
f(n).on("click", function() {
|
945
|
+
f(this).toggleClass(i);
|
945
946
|
});
|
946
947
|
}
|
947
948
|
function Ln(n, i) {
|
948
|
-
|
949
|
-
|
949
|
+
f(n).on("click", function() {
|
950
|
+
f(n).not(this).removeClass(i), f(this).addClass(i);
|
950
951
|
});
|
951
952
|
}
|
952
953
|
function Hs(n, i = 250) {
|
@@ -968,12 +969,12 @@ function Sn(n, i = 250) {
|
|
968
969
|
};
|
969
970
|
}
|
970
971
|
function Dn() {
|
971
|
-
window._g.interval = [],
|
972
|
-
const e = Number(
|
972
|
+
window._g.interval = [], f(".countdown").each((i, t) => {
|
973
|
+
const e = Number(f(t).attr("data-seconds")) + 1;
|
973
974
|
let s = Math.floor(e / 60) + ":" + e % 60;
|
974
975
|
window._g.interval[i] = setInterval(function() {
|
975
976
|
var o = s.split(":"), a = parseInt(o[0], 10), r = parseInt(o[1], 10);
|
976
|
-
--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, f(t).html(a + ":" + r), s = a + ":" + r;
|
977
978
|
}, 1e3);
|
978
979
|
});
|
979
980
|
}
|
@@ -992,13 +993,13 @@ function kn() {
|
|
992
993
|
n(), window.addEventListener("resize", Hs(n));
|
993
994
|
}
|
994
995
|
function $n(n, i, t, e, s) {
|
995
|
-
const o = this, r =
|
996
|
+
const o = this, r = f(n).html().split("<br>");
|
996
997
|
let l = "", c = 0;
|
997
998
|
r.forEach((u, p) => {
|
998
|
-
p !== 0 && (l += "<br>"), u.split("").forEach((
|
999
|
-
i ? (
|
999
|
+
p !== 0 && (l += "<br>"), u.split("").forEach((m, v) => {
|
1000
|
+
i ? (v === 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++), v === 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++);
|
1000
1001
|
});
|
1001
|
-
}),
|
1002
|
+
}), f(n).html(l);
|
1002
1003
|
}
|
1003
1004
|
function xn(n, i) {
|
1004
1005
|
const t = Math.pow(10, i);
|
@@ -1021,7 +1022,7 @@ function Cn(n) {
|
|
1021
1022
|
}
|
1022
1023
|
function Hn(n, i) {
|
1023
1024
|
const t = n.$el, e = n.params.grid.rows, s = i || n.params.slidesPerView * e;
|
1024
|
-
(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"), f(n.params.navigation.nextEl).hide(), f(n.params.navigation.prevEl).hide(), f(n.params.pagination.el).hide(), n.params.autoplay.enabled = !1, n.autoplay.stop()) : (t.removeClass("swiper-no-swiping"), f(n.params.navigation.nextEl).show(), f(n.params.navigation.prevEl).show(), f(n.params.pagination.el).show(), n.params.autoplay.enabled && n.autoplay.start());
|
1025
1026
|
}
|
1026
1027
|
function Mn(n) {
|
1027
1028
|
n.el.querySelectorAll("img.detect-shade").forEach((i) => {
|
@@ -1031,36 +1032,36 @@ function Mn(n) {
|
|
1031
1032
|
});
|
1032
1033
|
}
|
1033
1034
|
function qn(n) {
|
1034
|
-
const i = n.el, t =
|
1035
|
-
n.autoplay.stop(),
|
1035
|
+
const i = n.el, t = f(i).find(".swiper-slide-active"), e = f(t).find("video").get(0), s = f(i).find(".swiper-slide video");
|
1036
|
+
n.autoplay.stop(), f(e).off("ended"), e ? (s.each((o, a) => {
|
1036
1037
|
a.currentTime = 0;
|
1037
|
-
}),
|
1038
|
+
}), f(e).on("ended", function() {
|
1038
1039
|
n.slideNext();
|
1039
1040
|
}), e.play()) : n.params.autoplay.enabled && n.autoplay.start();
|
1040
1041
|
}
|
1041
1042
|
function In() {
|
1042
|
-
|
1043
|
-
const t =
|
1043
|
+
f(".number-grow").each(function(n, i) {
|
1044
|
+
const t = f(i), o = t.attr("data-num").replace(/(\d)(?=(?:\d{3})+$)/g, "$1,").split(""), a = () => {
|
1044
1045
|
let r = "";
|
1045
1046
|
for (var l = 0; l <= 9; l++)
|
1046
1047
|
r += String(l) + "<br>";
|
1047
1048
|
return r;
|
1048
1049
|
};
|
1049
|
-
|
1050
|
+
f(o).each(function(r, l) {
|
1050
1051
|
const c = () => l !== "," ? `<div class="num" data-final-num="${l}"><div><br>${a()}<br>${a()}</div></div>` : `<div class="comma">${l}</div>`;
|
1051
1052
|
t.append(c);
|
1052
1053
|
});
|
1053
1054
|
});
|
1054
1055
|
}
|
1055
1056
|
function On() {
|
1056
|
-
|
1057
|
-
const t =
|
1057
|
+
f(".letter-grow").each(function(n, i) {
|
1058
|
+
const t = f(i), s = t.attr("data-letter").split(""), o = () => {
|
1058
1059
|
let a = "";
|
1059
1060
|
for (let r = 65; r <= 90; r++)
|
1060
1061
|
a += String.fromCharCode(r) + "<br>";
|
1061
1062
|
return a;
|
1062
1063
|
};
|
1063
|
-
|
1064
|
+
f(s).each(function(a, r) {
|
1064
1065
|
const l = `<div class="letter" data-final-letter="${r}"><div><br>${o()}<br>${o()}</div></div>`;
|
1065
1066
|
t.append(l);
|
1066
1067
|
});
|
@@ -1116,38 +1117,38 @@ V = new WeakSet(), Se = function() {
|
|
1116
1117
|
}, Mt = new WeakSet(), Si = function(i) {
|
1117
1118
|
const { LAYOUT: t } = Y, e = i.video.params, { $selector: s, videoLayoutNo: o, videoId: a, videoType: r, videoMode: l, videoButton: c, videoCover: u, videoHighQualityPic: p } = e;
|
1118
1119
|
if (l === "onBox") {
|
1119
|
-
let
|
1120
|
+
let g = null;
|
1120
1121
|
if (u === "on") {
|
1121
1122
|
i.classList.add("video4-cover"), s.querySelector("img") || (s.insertAdjacentHTML(E.prepend, '<picture><source srcset="" type="image/webp"><source srcset="" type="image/jpeg"><img src="" alt></picture>'), T("video4", "若啟用 [videoCover] 且選擇 onBox 模式必須於 video-target 內放置 img 結構,若無結構則自動加入圖片結構"));
|
1122
|
-
const
|
1123
|
-
|
1124
|
-
const
|
1125
|
-
!
|
1123
|
+
const m = s.querySelector("img");
|
1124
|
+
m.insertAdjacentHTML(E.after, t[o]);
|
1125
|
+
const v = (m == null ? void 0 : m.getAttribute("src")) || (m == null ? void 0 : m.getAttribute("data-src"));
|
1126
|
+
!v && 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`) : !v && r == "vimeo" ? m.setAttribute("src", `https://vumbnail.com/${a}_large.jpg`) : !v && 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) => {
|
1126
1127
|
const y = b.thumbnail_url;
|
1127
|
-
|
1128
|
+
m.setAttribute("src", `${y}`);
|
1128
1129
|
}).catch(function(b) {
|
1129
1130
|
console.log("error");
|
1130
1131
|
}) : T("video4", "僅 youtube & vimeo 提供,無圖片時放置預設封面畫面,其他影片平台請自行上傳封面照片");
|
1131
1132
|
}
|
1132
|
-
c == "off" ?
|
1133
|
+
c == "off" ? g = s : (g = s.querySelector(c) ?? s, s.querySelector(c) || T("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);
|
1133
1134
|
} else if (l === "onPage") {
|
1134
|
-
let
|
1135
|
+
let g = null;
|
1135
1136
|
if (u == "on") {
|
1136
1137
|
i.classList.add("video4-cover"), s.querySelector("img") || (s.insertAdjacentHTML(E.prepend, '<picture><source srcset="" type="image/webp"><source srcset="" type="image/jpeg"><img src="" alt></picture>'), T("video", "若啟用 [videoCover] 且選擇 onBox 模式必須於 video-target 內放置 img 結構"));
|
1137
|
-
const
|
1138
|
-
|
1139
|
-
const
|
1140
|
-
!
|
1138
|
+
const m = s.querySelector("img");
|
1139
|
+
m.insertAdjacentHTML(E.after, t[o]);
|
1140
|
+
const v = (m == null ? void 0 : m.getAttribute("src")) || (m == null ? void 0 : m.getAttribute("data-src"));
|
1141
|
+
!v && 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`) : !v && r == "vimeo" ? m.setAttribute("src", `https://vumbnail.com/${a}_large.jpg`) : !v && 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) => {
|
1141
1142
|
const y = b.thumbnail_url;
|
1142
|
-
|
1143
|
+
m.setAttribute("src", `${y}`);
|
1143
1144
|
}).catch(function(b) {
|
1144
1145
|
console.log("error");
|
1145
|
-
}) :
|
1146
|
+
}) : v || T("video4", "僅 youtube & vimeo 提供,無圖片時放置預設封面畫面,其他影片平台請自行上傳封面照片"), c == "off" ? g = s : (g = s.querySelector(c) ?? s, s.querySelector(c) || T("video4", `找不到 videoButton 設定的 element -> '${c}', 點擊物件轉移至 '${this.__storage__.el}'`));
|
1146
1147
|
} else {
|
1147
1148
|
s.innerHTML = Te(e);
|
1148
1149
|
return;
|
1149
1150
|
}
|
1150
|
-
|
1151
|
+
g.video || (g.video = {}, g.video.params = e), g.video.eventHandler = d(this, K, De), g.addEventListener("click", g.video.eventHandler);
|
1151
1152
|
}
|
1152
1153
|
}, K = new WeakSet(), De = function(i) {
|
1153
1154
|
const { video: t, emit: e } = this, { $selector: s, videoMode: o, videoTarget: a, videoTargetRoute: r, videoType: l, videoIgHtml: c } = t.params, u = new Fe({ callback_loaded: (p) => {
|
@@ -1157,29 +1158,31 @@ V = new WeakSet(), Se = function() {
|
|
1157
1158
|
target: a,
|
1158
1159
|
route: r,
|
1159
1160
|
on: {
|
1160
|
-
complete(
|
1161
|
+
complete(g) {
|
1161
1162
|
if (l == "instagram") {
|
1162
|
-
|
1163
|
-
|
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)
|
1164
1169
|
window.instgrm.Embeds.process();
|
1165
1170
|
else {
|
1166
|
-
const
|
1167
|
-
|
1168
|
-
window.modalScroll.update();
|
1169
|
-
}, 10);
|
1171
|
+
const b = document.createElement("script");
|
1172
|
+
b.src = "https://www.instagram.com/embed.js", b.async = !0, document.body.appendChild(b);
|
1170
1173
|
}
|
1171
1174
|
} else
|
1172
|
-
|
1175
|
+
g.querySelector(".modal-content").insertAdjacentHTML("beforeend", Te(t.params)), g.setAttribute("video-typeStyle", `${l}`);
|
1173
1176
|
},
|
1174
|
-
open(
|
1175
|
-
const
|
1176
|
-
u.update(), Ei([...
|
1177
|
+
open(g) {
|
1178
|
+
const m = g.querySelectorAll("[data-overlayscrollbars-viewport]");
|
1179
|
+
u.update(), Ei([...m]);
|
1177
1180
|
},
|
1178
|
-
close(
|
1179
|
-
const
|
1180
|
-
Ai([...
|
1181
|
+
close(g) {
|
1182
|
+
const m = g.querySelectorAll("[data-overlayscrollbars-viewport]");
|
1183
|
+
Ai([...m]);
|
1181
1184
|
},
|
1182
|
-
destroy(
|
1185
|
+
destroy(g) {
|
1183
1186
|
}
|
1184
1187
|
}
|
1185
1188
|
};
|
@@ -2288,9 +2291,9 @@ It = new WeakSet(), $i = function() {
|
|
2288
2291
|
if (t.__scroller__) {
|
2289
2292
|
const { viewport: c } = t.__scroller__.elements();
|
2290
2293
|
if (w(t.s.activeLi)) {
|
2291
|
-
const u = t.s.activeLi.clientHeight / 2, p = t.s.activeLi.offsetTop,
|
2294
|
+
const u = t.s.activeLi.clientHeight / 2, p = t.s.activeLi.offsetTop, g = p - r.clientHeight / 2 + u > 0 ? p - r.clientHeight / 2 + u : 0;
|
2292
2295
|
c.scrollTo({
|
2293
|
-
top:
|
2296
|
+
top: g,
|
2294
2297
|
behavior: "smooth"
|
2295
2298
|
});
|
2296
2299
|
} else
|
@@ -2321,31 +2324,31 @@ It = new WeakSet(), $i = function() {
|
|
2321
2324
|
const a = e.querySelector(".dropdown-scroller"), r = e.classList.contains("city");
|
2322
2325
|
e.s.allLi = e.querySelectorAll(".dropdown-list li"), e.s.allLi.forEach((l) => {
|
2323
2326
|
l.addEventListener("click", function(c) {
|
2324
|
-
var
|
2325
|
-
const u = this, p = [...e.s.allLi].indexOf(u),
|
2327
|
+
var m;
|
2328
|
+
const u = this, p = [...e.s.allLi].indexOf(u), g = parseInt(e.getAttribute("d4-default-height"));
|
2326
2329
|
if (u.classList.contains("has-sublayer")) {
|
2327
2330
|
c.stopPropagation();
|
2328
|
-
const
|
2329
|
-
|
2330
|
-
const H = parseInt(
|
2331
|
-
s =
|
2331
|
+
const v = u.querySelector(".sub-dropdown"), b = v.querySelector(".sub-dropdown-list"), y = parseInt(getComputedStyle(b).marginTop) + parseInt(getComputedStyle(b).marginBottom);
|
2332
|
+
v.style.cssText = `--height: ${b.offsetHeight + y}px`;
|
2333
|
+
const H = parseInt(v.style.cssText.replace("--height:", "").trim()), G = parseInt(getComputedStyle(a).maxHeight), S = () => {
|
2334
|
+
s = g + e.s.subDropdownTotalH, o = s > G ? G : s, e.style.cssText = `--maxHeight: ${o}px;`, e.s.dropdownEl.style.height = `${o}px`;
|
2332
2335
|
};
|
2333
2336
|
u.classList.contains("open") ? (u.classList.remove("open"), e.s.subDropdownTotalH -= H, S()) : (u.classList.add("open"), e.s.subDropdownTotalH += H, S());
|
2334
|
-
const
|
2335
|
-
e.__scroller__.update(!0),
|
2337
|
+
const R = () => {
|
2338
|
+
e.__scroller__.update(!0), v.removeEventListener("transitionend", R);
|
2336
2339
|
};
|
2337
|
-
|
2340
|
+
v.addEventListener("transitionend", R);
|
2338
2341
|
} else
|
2339
2342
|
switch (Os(e), e.s.selectType) {
|
2340
2343
|
case "single":
|
2341
2344
|
if (e.setAttribute("d4-value", u.getAttribute("data-option")), r) {
|
2342
|
-
const
|
2343
|
-
y && (y.querySelector(".dropdown-list").textContent = "", x(y, -1), Oe[
|
2345
|
+
const v = e.s.cityLang, b = l.textContent.trim(), y = document.getElementById(e.getAttribute("dist-select"));
|
2346
|
+
y && (y.querySelector(".dropdown-list").textContent = "", x(y, -1), Oe[v][b].forEach((H, G) => {
|
2344
2347
|
const S = document.createElement("li");
|
2345
2348
|
S.textContent = H[0], S.setAttribute("data-option", H[0]), y.querySelector(".dropdown-list").append(S);
|
2346
2349
|
}), e.__events__.selectOption(y));
|
2347
2350
|
}
|
2348
|
-
(
|
2351
|
+
(m = u.parentNode.closest("li")) != null && m.classList.contains("has-sublayer") && (c.stopPropagation(), e.close());
|
2349
2352
|
break;
|
2350
2353
|
case "multiple":
|
2351
2354
|
c.stopPropagation(), u.classList.toggle("active"), x(e, p);
|
@@ -2553,26 +2556,26 @@ jt = new WeakSet(), Mi = function() {
|
|
2553
2556
|
}));
|
2554
2557
|
break;
|
2555
2558
|
case "alternate":
|
2556
|
-
let
|
2557
|
-
let
|
2559
|
+
let m = function() {
|
2560
|
+
let v = [];
|
2558
2561
|
switch (e) {
|
2559
2562
|
case "top":
|
2560
|
-
p = Math.abs(t.s.animateEl.scrollHeight - t.clientHeight),
|
2563
|
+
p = Math.abs(t.s.animateEl.scrollHeight - t.clientHeight), g = parseInt(t.s.nowDuration / (p * 2)) * t.s.animateEl.scrollHeight, v = [{ transform: `translate3d(0,${t.clientHeight}px,0)` }, { transform: `translate3d(0,calc(${t.clientHeight}px - 100%),0)` }];
|
2561
2564
|
break;
|
2562
2565
|
case "right":
|
2563
|
-
p = Math.abs(t.s.animateEl.scrollWidth - t.clientWidth),
|
2566
|
+
p = Math.abs(t.s.animateEl.scrollWidth - t.clientWidth), g = parseInt(t.s.nowDuration / (p * 2)) * t.s.animateEl.scrollWidth, v = [{ transform: "translate3d(-100%,0,0)" }, { transform: "translate3d(0,0,0)" }];
|
2564
2567
|
break;
|
2565
2568
|
case "bottom":
|
2566
|
-
p = Math.abs(t.s.animateEl.scrollHeight - t.clientHeight),
|
2569
|
+
p = Math.abs(t.s.animateEl.scrollHeight - t.clientHeight), g = parseInt(o / (p * 2)) * t.s.animateEl.scrollHeight, v = [{ transform: "translate3d(0,-100%,0)" }, { transform: "translate3d(0,0,0)" }];
|
2567
2570
|
break;
|
2568
2571
|
case "left":
|
2569
|
-
p = Math.abs(t.s.animateEl.scrollWidth - t.clientWidth),
|
2572
|
+
p = Math.abs(t.s.animateEl.scrollWidth - t.clientWidth), g = parseInt(o / (p * 2)) * t.s.animateEl.scrollWidth, v = [{ transform: `translate3d(${t.clientWidth}px,0,0)` }, { transform: `translate3d(calc(-100% + ${t.clientWidth}px),0,0)` }];
|
2570
2573
|
break;
|
2571
2574
|
}
|
2572
|
-
return
|
2573
|
-
}, p,
|
2574
|
-
(t.clientHeight > t.s.animateEl.scrollHeight || e === "left" || e === "right") && (t.s.animateEl.style.transform = `${
|
2575
|
-
duration:
|
2575
|
+
return v;
|
2576
|
+
}, p, g;
|
2577
|
+
(t.clientHeight > t.s.animateEl.scrollHeight || e === "left" || e === "right") && (t.s.animateEl.style.transform = `${m()[0].transform}`, t.s.animateEl.animate(m(), {
|
2578
|
+
duration: g,
|
2576
2579
|
fill: "forwards"
|
2577
2580
|
}).finished.then(() => {
|
2578
2581
|
t.s.animation = t.s.animateEl.animate(_(t).animate1, {
|
@@ -2640,15 +2643,15 @@ const ht = function(n, i) {
|
|
2640
2643
|
}
|
2641
2644
|
n.classList.remove(i);
|
2642
2645
|
};
|
2643
|
-
var Gt, Pi,
|
2646
|
+
var Gt, Pi, Rt, Ni, Xt, ji, tt, _e, W, dt, Ft, zi;
|
2644
2647
|
class Ge {
|
2645
2648
|
constructor(i) {
|
2646
2649
|
// 初始化
|
2647
2650
|
h(this, Gt);
|
2648
2651
|
// 左右箭頭事件綁定
|
2649
|
-
h(this, Xt);
|
2650
|
-
// 左右拖拉事件綁定
|
2651
2652
|
h(this, Rt);
|
2653
|
+
// 左右拖拉事件綁定
|
2654
|
+
h(this, Xt);
|
2652
2655
|
// 卷軸位置判斷
|
2653
2656
|
h(this, tt);
|
2654
2657
|
// 隱藏按鈕判斷
|
@@ -2679,7 +2682,7 @@ Gt = new WeakSet(), Pi = function() {
|
|
2679
2682
|
var c, u;
|
2680
2683
|
d(c = i, tt, _e).call(c), d(u = i, W, dt).call(u);
|
2681
2684
|
};
|
2682
|
-
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,
|
2685
|
+
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(
|
2683
2686
|
E.prepend,
|
2684
2687
|
`<div class="navigation">
|
2685
2688
|
<div class="button prev">
|
@@ -2689,8 +2692,8 @@ Gt = new WeakSet(), Pi = function() {
|
|
2689
2692
|
<div></div>
|
2690
2693
|
</div>
|
2691
2694
|
</div>`
|
2692
|
-
), i.$button = (s = i.$container) == null ? void 0 : s.querySelectorAll(".button"), d(o = i,
|
2693
|
-
},
|
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, W, dt).call(r), d(l = i, Ft, zi).call(l), i.update();
|
2696
|
+
}, Rt = new WeakSet(), Ni = function() {
|
2694
2697
|
const i = this, { $wrapper: t, $button: e } = i, s = function() {
|
2695
2698
|
const o = this.classList.contains("next"), a = parseInt(t.getBoundingClientRect().width * 0.7);
|
2696
2699
|
t.scrollTo({
|
@@ -2704,7 +2707,7 @@ Gt = new WeakSet(), Pi = function() {
|
|
2704
2707
|
e.forEach((o) => {
|
2705
2708
|
o.removeEventListener("click", s), o.addEventListener("click", s);
|
2706
2709
|
});
|
2707
|
-
},
|
2710
|
+
}, Xt = new WeakSet(), ji = function() {
|
2708
2711
|
const { $wrapper: i } = this;
|
2709
2712
|
let t = !1, e = !1, s = 0, o = 0;
|
2710
2713
|
const a = function(p) {
|
@@ -2722,9 +2725,9 @@ Gt = new WeakSet(), Pi = function() {
|
|
2722
2725
|
const c = function(p) {
|
2723
2726
|
if (p.preventDefault(), e = !0, !t)
|
2724
2727
|
return;
|
2725
|
-
const
|
2728
|
+
const m = p.pageX - i.offsetLeft - s;
|
2726
2729
|
i.scrollTo({
|
2727
|
-
left: o -
|
2730
|
+
left: o - m
|
2728
2731
|
});
|
2729
2732
|
};
|
2730
2733
|
i.removeEventListener("mousemove", c), i.addEventListener("mousemove", c);
|
@@ -2773,7 +2776,7 @@ Gt = new WeakSet(), Pi = function() {
|
|
2773
2776
|
s.removeEventListener("click", e), s.addEventListener("click", e);
|
2774
2777
|
});
|
2775
2778
|
};
|
2776
|
-
var Yt, Wi, Ut, Bi, Jt, Gi, Zt,
|
2779
|
+
var Yt, Wi, Ut, Bi, Jt, Gi, Zt, Ri;
|
2777
2780
|
class Gs {
|
2778
2781
|
constructor(i) {
|
2779
2782
|
// 初始化
|
@@ -2788,7 +2791,7 @@ class Gs {
|
|
2788
2791
|
}
|
2789
2792
|
}
|
2790
2793
|
Yt = new WeakSet(), Wi = function() {
|
2791
|
-
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,
|
2794
|
+
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));
|
2792
2795
|
}, Ut = new WeakSet(), Bi = function() {
|
2793
2796
|
const i = this.$element.querySelector(".drag-container"), t = i.querySelector(".wrapper");
|
2794
2797
|
return t.scrollWidth - t.clientWidth > 0 ? (i.insertAdjacentHTML(E.append, '<div class="open-collapse"></div>'), this.$button = i.querySelector(".open-collapse"), !0) : !1;
|
@@ -2797,7 +2800,7 @@ Yt = new WeakSet(), Wi = function() {
|
|
2797
2800
|
i.classList.contains("expand") ? i.classList.remove("expand") : i.classList.add("expand");
|
2798
2801
|
};
|
2799
2802
|
t.removeEventListener("click", e), t.addEventListener("click", e);
|
2800
|
-
}, Zt = new WeakSet(),
|
2803
|
+
}, Zt = new WeakSet(), Ri = function() {
|
2801
2804
|
const { $element: i } = this, t = (s, o) => {
|
2802
2805
|
if (i != null && i.classList.contains("expand") ? i == null || i.classList.remove("expand") : i == null || i.classList.add("expand"), this.option.selected) {
|
2803
2806
|
const a = s.getAttribute("data-option").trim();
|
@@ -2811,12 +2814,12 @@ Yt = new WeakSet(), Wi = function() {
|
|
2811
2814
|
s.removeEventListener("click", e), s.addEventListener("click", e);
|
2812
2815
|
});
|
2813
2816
|
};
|
2814
|
-
const
|
2817
|
+
const Rs = (n) => {
|
2815
2818
|
const { type: i, option: t, originalDomString: e } = n.s, s = document.createElement("div");
|
2816
2819
|
return i == "drag" && (s.innerHTML = C.TEMPLATE[i]().trim(), s.querySelector(".drag-container .wrapper").insertAdjacentHTML(E.append, e)), i == "collapse" && (s.innerHTML = C.TEMPLATE[i](t == null ? void 0 : t.collapse).trim(), s.querySelector(".drag-container .wrapper").insertAdjacentHTML(E.append, e), s.querySelector(".collapse-container .wrapper").insertAdjacentHTML(E.append, e)), i == "dropdown" && (s.innerHTML = C.TEMPLATE[i](t == null ? void 0 : t.dropdown).trim(), s.querySelector("dropdown-el").insertAdjacentHTML(E.append, e)), s.children;
|
2817
2820
|
};
|
2818
|
-
var Qt,
|
2819
|
-
class
|
2821
|
+
var Qt, Xi, Vt, Fi, et, ke, B, ut;
|
2822
|
+
class Xs extends HTMLElement {
|
2820
2823
|
constructor() {
|
2821
2824
|
super();
|
2822
2825
|
h(this, Qt);
|
@@ -2853,13 +2856,13 @@ class Rs extends HTMLElement {
|
|
2853
2856
|
}
|
2854
2857
|
}
|
2855
2858
|
connectedCallback() {
|
2856
|
-
this.initialize || this.classList.contains("m4-init") || (this.initialize = !0, d(this, Qt,
|
2859
|
+
this.initialize || this.classList.contains("m4-init") || (this.initialize = !0, d(this, Qt, Xi).call(this));
|
2857
2860
|
}
|
2858
2861
|
update() {
|
2859
2862
|
d(this, et, ke).call(this);
|
2860
2863
|
}
|
2861
2864
|
}
|
2862
|
-
Qt = new WeakSet(),
|
2865
|
+
Qt = new WeakSet(), Xi = function() {
|
2863
2866
|
let t = {};
|
2864
2867
|
this.hasAttribute("m4-value") || this.setAttribute("m4-value", ""), this.s.type = this.getAttribute("m4-type") ?? C.SETTINGS.type, this.hasAttribute("m4-option") && (t = this.getAttribute("m4-option") ? JSON.parse(this.getAttribute("m4-option")) : {}, this.removeAttribute("m4-option"));
|
2865
2868
|
const e = (s) => {
|
@@ -2886,7 +2889,7 @@ Qt = new WeakSet(), Ri = function() {
|
|
2886
2889
|
}, B = new WeakSet(), ut = function() {
|
2887
2890
|
var o;
|
2888
2891
|
const { type: t } = this.s;
|
2889
|
-
this.innerHTML = "", [...
|
2892
|
+
this.innerHTML = "", [...Rs(this)].forEach((a) => {
|
2890
2893
|
this.append(a);
|
2891
2894
|
});
|
2892
2895
|
const e = this.querySelector(`.drag-container .item[data-option="${this.getAttribute("m4-status")}"]`), s = this.querySelector(`.collapse-container .item[data-option="${this.getAttribute("m4-status")}"]`);
|
@@ -2904,7 +2907,7 @@ Qt = new WeakSet(), Ri = function() {
|
|
2904
2907
|
}
|
2905
2908
|
(o = this.constructor.drag) == null || o.update(this);
|
2906
2909
|
};
|
2907
|
-
customElements.define("multipurpose-nav",
|
2910
|
+
customElements.define("multipurpose-nav", Xs);
|
2908
2911
|
var Kt, Ui, te, Ji, it, $e, N, F, ee, Zi, ie, Qi, se, Vi, ne, Ki, oe, ts, ae, es, re, is, le, ss, ce, ns, q, z, de, os, ue, as, he, rs, pe, ls;
|
2909
2912
|
class Yi extends HTMLElement {
|
2910
2913
|
// 定義組件的初始狀態
|
@@ -3183,7 +3186,7 @@ function cs() {
|
|
3183
3186
|
cs();
|
3184
3187
|
Object.assign(Yi.prototype, O);
|
3185
3188
|
customElements.define("tab-el", Yi);
|
3186
|
-
const
|
3189
|
+
const Re = (n) => {
|
3187
3190
|
const { defaultOptions: i } = n.collapse, { collapseClass: t, target: e, transition: s } = i, o = n.querySelector(e);
|
3188
3191
|
n.classList.add(t), o.style.height = 0, o.style["transition-property"] = s.property, o.style["transition-duration"] = s.duration, o.style["transition-timing-function"] = s.function, o.style["transition-delay"] = s.delay, o.style.overflow = "hidden";
|
3189
3192
|
}, Ys = (n) => {
|
@@ -3220,16 +3223,16 @@ st = new WeakSet(), xe = function() {
|
|
3220
3223
|
}, ge = new WeakSet(), us = function(i) {
|
3221
3224
|
const { options: t } = this, { collapseClass: e, block: s, target: o, defaultOpen: a, targetStopPropagation: r, defaultActiveMark: l } = t, c = i, u = c.querySelector(o);
|
3222
3225
|
if (c.collapse.height = u.children[0].offsetHeight, a ? (u.style.height = `${u.children[0].offsetHeight}px`, c.classList.remove(e)) : !c.classList.contains(l) && !c.hasAttribute(l) ? (c.classList.add(e), u.style.height = "0px", u.style.overflow = "hidden") : (u.style.height = `${u.children[0].offsetHeight}px`, c.classList.remove(e)), c.removeEventListener("click", d(this, nt, Ce)), c.addEventListener("click", d(this, nt, Ce)), r) {
|
3223
|
-
const p = (
|
3224
|
-
|
3226
|
+
const p = (g) => {
|
3227
|
+
g.stopPropagation();
|
3225
3228
|
};
|
3226
3229
|
u.removeEventListener("click", p), u.addEventListener("click", p);
|
3227
3230
|
}
|
3228
3231
|
}, nt = new WeakSet(), Ce = function() {
|
3229
3232
|
const { instance: i, defaultOptions: t } = this.collapse, { collapseClass: e, block: s, target: o, single: a } = t, r = this;
|
3230
3233
|
r.classList.contains(e) ? (a && r.parentNode.querySelectorAll(`.${r.classList[0]}`).forEach((l) => {
|
3231
|
-
|
3232
|
-
}), Ys(r)) :
|
3234
|
+
Re(l);
|
3235
|
+
}), Ys(r)) : Re(r), i.emit("afterCollapse");
|
3233
3236
|
};
|
3234
3237
|
Object.assign(Us.prototype, O);
|
3235
3238
|
function Js(n, i) {
|
@@ -3355,7 +3358,7 @@ class Qs {
|
|
3355
3358
|
this.init();
|
3356
3359
|
}
|
3357
3360
|
}
|
3358
|
-
function
|
3361
|
+
function Xe(n, i) {
|
3359
3362
|
return n ? function(t, e) {
|
3360
3363
|
Function(n)(t, e);
|
3361
3364
|
} : i;
|
@@ -3394,8 +3397,8 @@ function Ks(n, i, t, e) {
|
|
3394
3397
|
l < c ? (u = e / l * 100, p = s.height) : l > c ? (u = s.width, p = t * l / 100) : l === c && (u = s.width, p = s.height);
|
3395
3398
|
break;
|
3396
3399
|
}
|
3397
|
-
const
|
3398
|
-
return o.drawImage(i,
|
3400
|
+
const g = (s.width - u) * 0.5, m = (s.height - p) * 0.5;
|
3401
|
+
return o.drawImage(i, g, m, u, p), s;
|
3399
3402
|
}
|
3400
3403
|
function tn(n, i) {
|
3401
3404
|
return new Promise((t, e) => {
|
@@ -3469,8 +3472,8 @@ class on {
|
|
3469
3472
|
previewSize: e.dataset.previewSize || i.params.previewSize,
|
3470
3473
|
compress: e.dataset.compress || i.params.compress,
|
3471
3474
|
on: {
|
3472
|
-
changeAfter:
|
3473
|
-
overLimit:
|
3475
|
+
changeAfter: Xe(e.dataset.changeAfter, i.params.on.changeAfter),
|
3476
|
+
overLimit: Xe(e.dataset.overLimit, i.params.on.overLimit)
|
3474
3477
|
}
|
3475
3478
|
};
|
3476
3479
|
i.params = o, typeof uploadImage[`${o.group}`] > "u" && (uploadImage[`${o.group}`] = []), e.dataset.group || (e.dataset.group = o.group), e.dataset.index = document.querySelectorAll(`[data-group="${o.group}"]`).length - 1, e.addEventListener("change", function(a) {
|
@@ -3516,7 +3519,7 @@ export {
|
|
3516
3519
|
at as i,
|
3517
3520
|
ui as j,
|
3518
3521
|
Bs as k,
|
3519
|
-
|
3522
|
+
Xs as l,
|
3520
3523
|
on as m,
|
3521
3524
|
Hs as n,
|
3522
3525
|
jn as o,
|