@xwadex/fesd 0.0.54 → 0.0.56

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.
@@ -1,6 +1,6 @@
1
- var Ds = Object.defineProperty;
2
- var ks = (n, i, t) => i in n ? Ds(n, i, { enumerable: !0, configurable: !0, writable: !0, value: t }) : n[i] = t;
3
- var Xe = (n, i, t) => (ks(n, typeof i != "symbol" ? i + "" : i, t), t), xs = (n, i, t) => {
1
+ var Cs = Object.defineProperty;
2
+ var Hs = (n, i, t) => i in n ? Cs(n, i, { enumerable: !0, configurable: !0, writable: !0, value: t }) : n[i] = t;
3
+ var Je = (n, i, t) => (Hs(n, typeof i != "symbol" ? i + "" : i, t), t), Ms = (n, i, t) => {
4
4
  if (!i.has(n))
5
5
  throw TypeError("Cannot " + t);
6
6
  };
@@ -9,15 +9,15 @@ var h = (n, i, t) => {
9
9
  throw TypeError("Cannot add the same private member more than once");
10
10
  i instanceof WeakSet ? i.add(n) : i.set(n, t);
11
11
  };
12
- var d = (n, i, t) => (xs(n, i, "access private method"), t);
13
- import { OverlayScrollbars as ze } from "overlayscrollbars";
12
+ var d = (n, i, t) => (Ms(n, i, "access private method"), t);
14
13
  import f from "jquery";
14
+ import { OverlayScrollbars as Xe } from "overlayscrollbars";
15
15
  import "./vendor-bundle.js";
16
16
  import "validator";
17
17
  import "flatpickr";
18
- import ti from "vanilla-lazyload";
19
- import { lock as $s, unlock as _s } from "tua-body-scroll-lock";
20
- const Se = {
18
+ import oi from "vanilla-lazyload";
19
+ import { lock as Is, unlock as qs } from "tua-body-scroll-lock";
20
+ const _e = {
21
21
  SETTINGS: {
22
22
  videoId: null,
23
23
  videoType: null,
@@ -45,7 +45,9 @@ const Se = {
45
45
  init: null,
46
46
  afterInit: null,
47
47
  beforeDestroy: null,
48
- afterUpdate: null
48
+ afterUpdate: null,
49
+ openModal: null,
50
+ closeModal: null
49
51
  },
50
52
  // video4 target 內放置結構 index 對應 videoLayoutNo
51
53
  LAYOUT: [
@@ -76,14 +78,14 @@ const Se = {
76
78
  TEMPLATE() {
77
79
  return '<div class="player-container"><div class="player-wrapper"></div></div>';
78
80
  }
79
- }, Cs = {
81
+ }, Os = {
80
82
  SETTINGS: {
81
83
  success: null,
82
84
  text: null,
83
85
  className: null,
84
86
  duration: 1500
85
87
  }
86
- }, P = {
88
+ }, j = {
87
89
  SETTINGS: {
88
90
  target: null,
89
91
  route: null,
@@ -114,7 +116,7 @@ const Se = {
114
116
  </div>
115
117
  `;
116
118
  }
117
- }, I = {
119
+ }, M = {
118
120
  SETTINGS: {
119
121
  direction: "left",
120
122
  // 方向 - top || right || bottom || left
@@ -133,7 +135,7 @@ const Se = {
133
135
  gap: 30
134
136
  // 跑馬燈內容之間的距離 - Number
135
137
  }
136
- }, Be = {
138
+ }, Ye = {
137
139
  SETTINGS: {
138
140
  scrollbar: {
139
141
  "scrollbar-track-color": "transparent",
@@ -161,7 +163,7 @@ const Se = {
161
163
  </div>`;
162
164
  return t || r;
163
165
  }
164
- }, Hs = {
166
+ }, Ps = {
165
167
  SETTINGS: {
166
168
  basic_rwd: 900,
167
169
  markdownLink: !1,
@@ -170,7 +172,7 @@ const Se = {
170
172
  navigation: !1,
171
173
  scrollStep: !1
172
174
  }
173
- }, ei = {
175
+ }, ai = {
174
176
  SETTINGS: {
175
177
  scroller: window,
176
178
  class: "aost-show",
@@ -193,7 +195,7 @@ const Se = {
193
195
  enter: null,
194
196
  leave: null
195
197
  }
196
- }, mt = {
198
+ }, vt = {
197
199
  SETTINGS: {
198
200
  target: null,
199
201
  container: null,
@@ -253,7 +255,7 @@ const Se = {
253
255
  return `<dropdown-el${n.placeholder ? ` d4-placeholder="${n.placeholder}"` : ""}${n.value ? ` d4-value="${n.value}"` : ""}></dropdown-el>`;
254
256
  }
255
257
  }
256
- }, ii = {
258
+ }, ri = {
257
259
  SETTINGS: {
258
260
  // 樣式 normal / process
259
261
  type: "normal",
@@ -273,7 +275,7 @@ const Se = {
273
275
  // 步驟狀態綁定
274
276
  stepOutput: ".step-show"
275
277
  }
276
- }, si = {
278
+ }, li = {
277
279
  SETTINGS: {
278
280
  collapseClass: "collapse",
279
281
  block: "[collapse-block]",
@@ -306,7 +308,7 @@ const Se = {
306
308
  update: null,
307
309
  afterUpdate: null
308
310
  }
309
- }, ni = {
311
+ }, ci = {
310
312
  SETTINGS: {
311
313
  // 是否要加 hover 效果?
312
314
  hover: !0,
@@ -321,40 +323,40 @@ const Se = {
321
323
  // hover 毫秒 ?
322
324
  speed: 600
323
325
  }
324
- }, Dn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
326
+ }, Cn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
325
327
  __proto__: null,
326
- anchor4: mt,
327
- aost4: ei,
328
- article4: Hs,
329
- collapse4: si,
330
- dropdown4: Be,
331
- marquee4: I,
332
- modal4: P,
328
+ anchor4: vt,
329
+ aost4: ai,
330
+ article4: Ps,
331
+ collapse4: li,
332
+ dropdown4: Ye,
333
+ marquee4: M,
334
+ modal4: j,
333
335
  multipurpose4: q,
334
- ripple4: ni,
335
- share4: Cs,
336
- tab4: ii,
337
- video4: Se
338
- }, Symbol.toStringTag, { value: "Module" })), S = {
336
+ ripple4: ci,
337
+ share4: Os,
338
+ tab4: ri,
339
+ video4: _e
340
+ }, Symbol.toStringTag, { value: "Module" })), L = {
339
341
  before: "beforebegin",
340
342
  after: "afterend",
341
343
  append: "beforeend",
342
344
  prepend: "afterbegin"
343
- }, dt = (n) => typeof n == "string" && n !== "", De = (n) => n instanceof HTMLElement, ut = (n) => n instanceof NodeList, E = (n) => k(n) !== null, G = (n) => typeof n == "function", k = (n) => De(n) ? n : document.querySelector(n), x = (n) => ut(n) ? n : document.querySelectorAll(n), Is = () => Math.random().toString(36).substr(2, 9), Ms = (n) => {
345
+ }, pt = (n) => typeof n == "string" && n !== "", xe = (n) => n instanceof HTMLElement, mt = (n) => n instanceof NodeList, A = (n) => D(n) !== null, G = (n) => typeof n == "function", D = (n) => xe(n) ? n : document.querySelector(n), k = (n) => mt(n) ? n : document.querySelectorAll(n), Ns = () => Math.random().toString(36).substr(2, 9), js = (n) => {
344
346
  const i = document.createElement("div");
345
347
  return i.innerHTML = n, i.childNodes;
346
- }, qs = (n) => {
348
+ }, zs = (n) => {
347
349
  try {
348
350
  JSON.parse(n);
349
351
  } catch {
350
352
  return n;
351
353
  }
352
354
  return JSON.parse(n);
353
- }, L = (n, i) => {
355
+ }, E = (n, i) => {
354
356
  console.warn(`[${n} warn]: ${i}`);
355
- }, Ye = (n, i) => {
357
+ }, Ze = (n, i) => {
356
358
  console.error(`[${n} error]: ${i}`);
357
- }, j = {
359
+ }, z = {
358
360
  on(n, i) {
359
361
  if (!G(i))
360
362
  return this;
@@ -385,7 +387,7 @@ const Se = {
385
387
  G(s) && s.apply(this, e);
386
388
  }), this) : this;
387
389
  }
388
- }, Os = {
390
+ }, Bs = {
389
391
  easeInOutCirc(n, i, t, e) {
390
392
  return (n /= e / 2) < 1 ? -t / 2 * (Math.sqrt(1 - n * n) - 1) + i : t / 2 * (Math.sqrt(1 - (n -= 2) * n) + 1) + i;
391
393
  },
@@ -395,33 +397,33 @@ const Se = {
395
397
  easeOutQuart(n, i, t, e) {
396
398
  return -t * ((n = n / e - 1) * n * n * n - 1) + i;
397
399
  }
398
- }, ke = (n, i) => {
399
- 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 = E(e) ? k(e) : document.scrollingElement, v = m[u], w = E(t) ? k(t).getBoundingClientRect()[p] : 0 - v, b = E(s) ? k(s).getBoundingClientRect()[g] : 0, T = w - a - b, C = 15;
400
+ }, $e = (n, i) => {
401
+ 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 = A(e) ? D(e) : document.scrollingElement, v = m[u], w = A(t) ? D(t).getBoundingClientRect()[p] : 0 - v, b = A(s) ? D(s).getBoundingClientRect()[g] : 0, T = w - a - b, C = 15;
400
402
  let y = 0;
401
403
  if (T === 0)
402
404
  return;
403
- const D = (A) => {
404
- const z = k(t);
405
- i && i.emit(A, z), !i && n.on && G(n.on[A]) && n.on[A](z);
405
+ const S = (_) => {
406
+ const U = D(t);
407
+ i && i.emit(_, U), !i && n.on && G(n.on[_]) && n.on[_](U);
406
408
  };
407
- D("beforeScroll");
408
- const U = () => {
409
+ S("beforeScroll");
410
+ const O = () => {
409
411
  y += C;
410
- const A = Os[r](y, v, T, o);
411
- m[u] = A, y < o && requestAnimationFrame(U), y >= o && D("afterScroll");
412
+ const _ = Bs[r](y, v, T, o);
413
+ m[u] = _, y < o && requestAnimationFrame(O), y >= o && S("afterScroll");
412
414
  };
413
- requestAnimationFrame(U);
415
+ requestAnimationFrame(O);
414
416
  };
415
- var V, xe, bt, ai, yt, ri;
416
- class oi {
417
+ var tt, Ce, Tt, ui, Et, hi;
418
+ class di {
417
419
  constructor(i, t = {}) {
418
- h(this, V);
419
- h(this, bt);
420
- h(this, yt);
420
+ h(this, tt);
421
+ h(this, Tt);
422
+ h(this, Et);
421
423
  this.__storage__ = {
422
424
  el: i,
423
425
  options: t
424
- }, this.active = "data-anchor-active", d(this, V, xe).call(this);
426
+ }, this.active = "data-anchor-active", d(this, tt, Ce).call(this);
425
427
  }
426
428
  destroy() {
427
429
  const { elements: i } = this;
@@ -431,39 +433,39 @@ class oi {
431
433
  }
432
434
  update() {
433
435
  var i;
434
- return d(i = this.destroy(), V, xe).call(i), this.emit("afterUpdate"), this;
436
+ return d(i = this.destroy(), tt, Ce).call(i), this.emit("afterUpdate"), this;
435
437
  }
436
438
  static run(i) {
437
- const { SETTINGS: t } = mt, e = Object.assign({}, t, i);
439
+ const { SETTINGS: t } = vt, e = Object.assign({}, t, i);
438
440
  setTimeout(() => {
439
- ke(e);
441
+ $e(e);
440
442
  }, e.delay);
441
443
  }
442
444
  static url(i) {
443
- const { SETTINGS: t } = mt, { hashName: e } = i, s = window.location.search || window.location.hash, { searchParams: o } = new URL(window.location), a = document.querySelector(`[data-anchor-id="${e ? o.get(e) : s.split("?").pop()}"]`);
445
+ const { SETTINGS: t } = vt, { hashName: e } = i, s = window.location.search || window.location.hash, { searchParams: o } = new URL(window.location), a = document.querySelector(`[data-anchor-id="${e ? o.get(e) : s.split("?").pop()}"]`);
444
446
  if (!a)
445
447
  return;
446
448
  const r = Object.assign({}, t, i, { target: a });
447
449
  setTimeout(() => {
448
- ke(r);
450
+ $e(r);
449
451
  }, r.delay);
450
452
  }
451
453
  }
452
- V = new WeakSet(), xe = function() {
454
+ tt = new WeakSet(), Ce = function() {
453
455
  const { el: i, options: t } = this.__storage__;
454
- if (!dt(i) || !E(i))
456
+ if (!pt(i) || !A(i))
455
457
  return;
456
- const { SETTINGS: e, EVENTS: s } = mt;
457
- if (this.elements = t.state == "not active" ? x(i + `:not([${this.active}])`) : x(i), this.elements = x(i), this.options = Object.assign({}, e, t), this.__events__ = Object.assign({}, s), this.options.on)
458
+ const { SETTINGS: e, EVENTS: s } = vt;
459
+ if (this.elements = t.state == "not active" ? k(i + `:not([${this.active}])`) : k(i), this.elements = k(i), this.options = Object.assign({}, e, t), this.__events__ = Object.assign({}, s), this.options.on)
458
460
  for (const [o, a] of Object.entries(this.options.on))
459
461
  this.__events__[o] = [a];
460
- d(this, bt, ai).call(this);
461
- }, bt = new WeakSet(), ai = function() {
462
+ d(this, Tt, ui).call(this);
463
+ }, Tt = new WeakSet(), ui = function() {
462
464
  const { elements: i, options: t } = this;
463
465
  i.forEach((e) => {
464
- e.anchor = {}, e.anchor.instance = this, e.anchor.eventHandler = d(this, yt, ri), e.anchor.defaultOptions = t, e.anchor.methods = {}, e.anchor.methods.destroy = this.destroy, e.anchor.methods.update = this.update, e.addEventListener("click", e.anchor.eventHandler), e.setAttribute(this.active, "");
466
+ e.anchor = {}, e.anchor.instance = this, e.anchor.eventHandler = d(this, Et, hi), e.anchor.defaultOptions = t, e.anchor.methods = {}, e.anchor.methods.destroy = this.destroy, e.anchor.methods.update = this.update, e.addEventListener("click", e.anchor.eventHandler), e.setAttribute(this.active, "");
465
467
  }), this.emit("afterInit");
466
- }, yt = new WeakSet(), ri = function() {
468
+ }, Et = new WeakSet(), hi = function() {
467
469
  const { defaultOptions: i, eventHandler: t, instance: e } = this.anchor, s = {
468
470
  target: this.getAttribute("data-anchor-target") || i.target,
469
471
  container: this.getAttribute("data-anchor-container") || i.container,
@@ -477,28 +479,28 @@ V = new WeakSet(), xe = function() {
477
479
  this.removeEventListener("click", t), setTimeout(() => {
478
480
  this.addEventListener("click", t);
479
481
  }, s.speed), setTimeout(() => {
480
- ke(s, e);
482
+ $e(s, e);
481
483
  }, s.delay);
482
484
  };
483
- Object.assign(oi.prototype, j);
485
+ Object.assign(di.prototype, z);
484
486
  window.MODALS || (window.MODALS = {});
485
- const { MODALS: O } = window, Ns = (n) => {
486
- const { TEMPLATE: i } = P, { childDom: t } = n, e = document.createElement("div");
487
+ const { MODALS: P } = window, Ws = (n) => {
488
+ const { TEMPLATE: i } = j, { childDom: t } = n, e = document.createElement("div");
487
489
  e.innerHTML = i(n.getAttribute("data-modal-template-setting"));
488
490
  const s = e.querySelector(".modal-content");
489
491
  return [...t].forEach((o) => {
490
492
  s.append(o);
491
493
  }), e.children[0];
492
494
  };
493
- var wt, ci, Tt, di, Et, ui, At, hi, Lt, pi;
494
- class li extends HTMLElement {
495
+ var At, mi, Lt, gi, St, fi, Dt, vi, kt, bi;
496
+ class pi extends HTMLElement {
495
497
  constructor() {
496
498
  super();
497
- h(this, wt);
498
- h(this, Tt);
499
- h(this, Et);
500
499
  h(this, At);
501
500
  h(this, Lt);
501
+ h(this, St);
502
+ h(this, Dt);
503
+ h(this, kt);
502
504
  this.initialize = !1;
503
505
  }
504
506
  static get observedAttributes() {
@@ -507,12 +509,12 @@ class li extends HTMLElement {
507
509
  attributeChangedCallback(t, e, s) {
508
510
  switch (t) {
509
511
  case ":state":
510
- d(this, Lt, pi).call(this, s);
512
+ d(this, kt, bi).call(this, s);
511
513
  break;
512
514
  }
513
515
  }
514
516
  connectedCallback() {
515
- this.initialize || (this.initialize = !0, d(this, wt, ci).call(this));
517
+ this.initialize || (this.initialize = !0, d(this, At, mi).call(this));
516
518
  }
517
519
  open() {
518
520
  return this.setAttribute(":state", "open"), this;
@@ -524,38 +526,38 @@ class li extends HTMLElement {
524
526
  return this.setAttribute(":state", "destroy"), this;
525
527
  }
526
528
  }
527
- wt = new WeakSet(), ci = function() {
528
- const { ATTRS: t } = P;
529
+ At = new WeakSet(), mi = function() {
530
+ const { ATTRS: t } = j;
529
531
  this.__events__ = {}, this.getAttribute(":state") || this.setAttribute(":state", "close");
530
- const e = this.getAttribute(t.id) || Is();
531
- this.getAttribute(t.id) || (L(`modern-modal needs a ${t.id} attribute with a unique id.`), this.setAttribute(t.id, e)), O[e] && L(`the ${t.id} "${e}" is already be used.`), O[e] = this, d(this, Tt, di).call(this);
532
- }, Tt = new WeakSet(), di = function() {
533
- this.childDom = this.childNodes, this.template = Ns(this), this.innerHTML = "", this.append(this.template), d(this, Et, ui).call(this);
534
- }, Et = new WeakSet(), ui = function() {
532
+ const e = this.getAttribute(t.id) || Ns();
533
+ this.getAttribute(t.id) || (E(`modern-modal needs a ${t.id} attribute with a unique id.`), this.setAttribute(t.id, e)), P[e] && E(`the ${t.id} "${e}" is already be used.`), P[e] = this, d(this, Lt, gi).call(this);
534
+ }, Lt = new WeakSet(), gi = function() {
535
+ this.childDom = this.childNodes, this.template = Ws(this), this.innerHTML = "", this.append(this.template), d(this, St, fi).call(this);
536
+ }, St = new WeakSet(), fi = function() {
535
537
  const t = this.querySelector(".modal-scroller");
536
- this.__scroller__ = ze(t, {
538
+ this.__scroller__ = Xe(t, {
537
539
  overflowBehavior: {
538
540
  x: "hidden"
539
541
  },
540
542
  autoUpdate: !0
541
- }), window.modalScroll = this.__scroller__, d(this, At, hi).call(this);
542
- }, At = new WeakSet(), hi = function() {
543
+ }), window.modalScroll = this.__scroller__, d(this, Dt, vi).call(this);
544
+ }, Dt = new WeakSet(), vi = function() {
543
545
  var a, r, l;
544
- const t = this, { ATTRS: e } = P, { close: s, destroy: o } = e;
546
+ const t = this, { ATTRS: e } = j, { close: s, destroy: o } = e;
545
547
  (a = t.querySelectorAll(`[${s}]`)) == null || a.forEach((c) => {
546
548
  c.addEventListener("click", function() {
547
549
  const u = this.getAttribute(s);
548
- (u && O[u] ? O[u] : t).close();
550
+ (u && P[u] ? P[u] : t).close();
549
551
  });
550
552
  }), (r = t.querySelectorAll(`[${o}]`)) == null || r.forEach((c) => {
551
553
  c.addEventListener("click", function() {
552
554
  const u = this.getAttribute(o);
553
- (u && O[u] ? O[u] : t).destroy();
555
+ (u && P[u] ? P[u] : t).destroy();
554
556
  });
555
557
  }), (l = t.querySelector("[stop-propagation]")) == null || l.addEventListener("click", function(c) {
556
558
  c.stopPropagation();
557
559
  });
558
- }, Lt = new WeakSet(), pi = function(t) {
560
+ }, kt = new WeakSet(), bi = function(t) {
559
561
  const { __scroller__: e } = this;
560
562
  if (t === "open") {
561
563
  if (this.style.display = "block", e) {
@@ -580,28 +582,28 @@ wt = new WeakSet(), ci = function() {
580
582
  if (t === "destroy") {
581
583
  this.classList.remove("show");
582
584
  const s = () => {
583
- const { ATTRS: o } = P, a = this.getAttribute(o.id);
584
- this.style.removeProperty("display"), this.emit("close"), this.remove(), this.emit("destroy"), O[a] && delete O[a];
585
+ const { ATTRS: o } = j, a = this.getAttribute(o.id);
586
+ this.style.removeProperty("display"), this.emit("close"), this.remove(), this.emit("destroy"), P[a] && delete P[a];
585
587
  };
586
588
  this.addEventListener("transitionend", s);
587
589
  }
588
590
  };
589
- Object.assign(li.prototype, j);
590
- const { MODALS: We } = window, ht = {}, mi = (n, i, ...t) => {
591
+ Object.assign(pi.prototype, z);
592
+ const { MODALS: Fe } = window, gt = {}, yi = (n, i, ...t) => {
591
593
  if (!i)
592
594
  return;
593
595
  const e = n[i];
594
596
  e && G(e) && e.apply(n, t);
595
- }, gi = (n, ...i) => {
596
- n && G(n) && n.apply(K, i);
597
- }, Fe = (n, i) => {
598
- const { target: t } = n, e = We[t] || k(n.target);
599
- e && fi(n, i), e || Ps(n, i);
600
- }, fi = (n, i) => {
601
- const { target: t, action: e, on: s, e: o } = n, a = We[t] || k(n.target);
597
+ }, wi = (n, ...i) => {
598
+ n && G(n) && n.apply(V, i);
599
+ }, Qe = (n, i) => {
600
+ const { target: t } = n, e = Fe[t] || D(n.target);
601
+ e && Ti(n, i), e || Gs(n, i);
602
+ }, Ti = (n, i) => {
603
+ const { target: t, action: e, on: s, e: o } = n, a = Fe[t] || D(n.target);
602
604
  switch (["open", "close", "destroy"].forEach((l) => {
603
605
  a.once(l, () => {
604
- i && (i.emit(l, a, o), mi(i, s[l], a, o)), i || gi(s[l], a);
606
+ i && (i.emit(l, a, o), yi(i, s[l], a, o)), i || wi(s[l], a);
605
607
  });
606
608
  }), e) {
607
609
  case "open":
@@ -618,34 +620,34 @@ const { MODALS: We } = window, ht = {}, mi = (n, i, ...t) => {
618
620
  l === "close" && a.open(), l === "open" && a.close();
619
621
  break;
620
622
  }
621
- }, Ps = async (n, i) => {
623
+ }, Gs = async (n, i) => {
622
624
  const { target: t, route: e, container: s, on: o, e: a } = n;
623
625
  if (!e)
624
- return L("modal4", "cannot find target or data-modal-route is not defined");
626
+ return E("modal4", "cannot find target or data-modal-route is not defined");
625
627
  const r = (l, ...c) => {
626
- i && (i.emit(l, ...c), mi(i, o[l], ...c)), i || gi(o[l], ...c);
628
+ i && (i.emit(l, ...c), yi(i, o[l], ...c)), i || wi(o[l], ...c);
627
629
  };
628
- ht[t] || (ht[t] = !0, fetch(e).then((l) => (r("success", a), l.text())).then((l) => {
629
- const c = Ms(l), u = k(s) || k(P.SETTINGS.container);
630
+ gt[t] || (gt[t] = !0, fetch(e).then((l) => (r("success", a), l.text())).then((l) => {
631
+ const c = js(l), u = D(s) || D(j.SETTINGS.container);
630
632
  [...c].forEach((g) => {
631
633
  u.append(g);
632
634
  });
633
- const p = We[t] || k(n.target);
634
- r("complete", p), fi(n, i), delete ht[t];
635
+ const p = Fe[t] || D(n.target);
636
+ r("complete", p), Ti(n, i), delete gt[t];
635
637
  }).catch((l) => {
636
- r("error", l), delete ht[t];
638
+ r("error", l), delete gt[t];
637
639
  }));
638
640
  };
639
- var tt, $e, St, vi, Dt, bi;
641
+ var et, He, _t, Ei, xt, Ai;
640
642
  const B = class B {
641
643
  constructor(i, t = {}) {
642
- h(this, tt);
643
- h(this, St);
644
- h(this, Dt);
644
+ h(this, et);
645
+ h(this, _t);
646
+ h(this, xt);
645
647
  this.__storage__ = {
646
648
  el: i,
647
649
  options: t
648
- }, this.active = "data-modal-active", d(this, tt, $e).call(this);
650
+ }, this.active = "data-modal-active", d(this, et, He).call(this);
649
651
  }
650
652
  destroy() {
651
653
  const { elements: i } = this;
@@ -655,12 +657,12 @@ const B = class B {
655
657
  }
656
658
  update() {
657
659
  var i;
658
- return d(i = this.destroy(), tt, $e).call(i), this.emit("update"), this;
660
+ return d(i = this.destroy(), et, He).call(i), this.emit("update"), this;
659
661
  }
660
662
  /** static method 'open' */
661
663
  static open(i) {
662
- const { SETTINGS: t } = P, e = Object.assign({}, t, { on: {} }, i);
663
- Fe(e);
664
+ const { SETTINGS: t } = j, e = Object.assign({}, t, { on: {} }, i);
665
+ Qe(e);
664
666
  }
665
667
  /** static method 'defineMethods' */
666
668
  static defineMethods(i) {
@@ -671,23 +673,23 @@ const B = class B {
671
673
  Object.assign(B.prototype, B.prototype.__methods__);
672
674
  }
673
675
  };
674
- tt = new WeakSet(), $e = function() {
676
+ et = new WeakSet(), He = function() {
675
677
  const { el: i, options: t } = this.__storage__;
676
- if (!dt(i) || !E(i))
678
+ if (!pt(i) || !A(i))
677
679
  return;
678
- const { SETTINGS: e, EVENTS: s } = P;
679
- if (this.elements = t.state == "not active" ? x(i + `:not([${this.active}])`) : x(i), this.options = Object.assign({}, e, t), this.__events__ = Object.assign({}, s), this.options.on)
680
+ const { SETTINGS: e, EVENTS: s } = j;
681
+ if (this.elements = t.state == "not active" ? k(i + `:not([${this.active}])`) : k(i), this.options = Object.assign({}, e, t), this.__events__ = Object.assign({}, s), this.options.on)
680
682
  for (const [o, a] of Object.entries(this.options.on))
681
683
  this.__events__[o] = [a];
682
- d(this, St, vi).call(this);
683
- }, St = new WeakSet(), vi = function() {
684
+ d(this, _t, Ei).call(this);
685
+ }, _t = new WeakSet(), Ei = function() {
684
686
  const { elements: i, options: t } = this;
685
687
  i.forEach((e) => {
686
- e.modal = {}, e.modal.instance = this, e.modal.eventHandler = d(this, Dt, bi), e.modal.defaultOptions = t, e.modal.methods = {}, e.modal.methods.destroy = this.destroy, e.modal.methods.update = this.update, e.addEventListener("click", e.modal.eventHandler), e.setAttribute(this.active, "");
688
+ e.modal = {}, e.modal.instance = this, e.modal.eventHandler = d(this, xt, Ai), e.modal.defaultOptions = t, e.modal.methods = {}, e.modal.methods.destroy = this.destroy, e.modal.methods.update = this.update, e.addEventListener("click", e.modal.eventHandler), e.setAttribute(this.active, "");
687
689
  }), this.emit("init");
688
- }, Dt = new WeakSet(), bi = function(i) {
689
- const { defaultOptions: t, eventHandler: e, instance: s } = this.modal, o = qs(this.getAttribute("data-modal-on"));
690
- o && typeof o != "object" && L("modal4", "data-modal-on must be a json string.");
690
+ }, xt = new WeakSet(), Ai = function(i) {
691
+ const { defaultOptions: t, eventHandler: e, instance: s } = this.modal, o = zs(this.getAttribute("data-modal-on"));
692
+ o && typeof o != "object" && E("modal4", "data-modal-on must be a json string.");
691
693
  const a = {
692
694
  target: this.getAttribute("data-modal-target") || t.target,
693
695
  action: this.getAttribute("data-modal-action") || t.action,
@@ -698,12 +700,12 @@ tt = new WeakSet(), $e = function() {
698
700
  };
699
701
  this.removeEventListener("click", e), setTimeout(() => {
700
702
  this.addEventListener("click", e);
701
- }, 200), Fe(a, s);
703
+ }, 200), Qe(a, s);
702
704
  };
703
- let K = B;
704
- Object.assign(K.prototype, j);
705
- customElements.define("modern-modal", li);
706
- const js = (n, i) => {
705
+ let V = B;
706
+ Object.assign(V.prototype, z);
707
+ customElements.define("modern-modal", pi);
708
+ const Rs = (n, i) => {
707
709
  const t = n === window ? n.innerHeight : n.getBoundingClientRect().height, e = n === window ? 0 : n.getBoundingClientRect().top;
708
710
  i.forEach((s) => {
709
711
  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);
@@ -718,22 +720,22 @@ const js = (n, i) => {
718
720
  }, a);
719
721
  }
720
722
  });
721
- }, zs = (n, i) => n === "up" || n === "down" ? n : n !== null ? n === "true" ? !0 : n === "false" ? !1 : i.repeat : i.repeat;
722
- var et, _e, kt, wi;
723
- class yi {
723
+ }, Xs = (n, i) => n === "up" || n === "down" ? n : n !== null ? n === "true" ? !0 : n === "false" ? !1 : i.repeat : i.repeat;
724
+ var it, Me, $t, Si;
725
+ class Li {
724
726
  constructor(i, t = {}) {
725
- h(this, et);
726
- h(this, kt);
727
+ h(this, it);
728
+ h(this, $t);
727
729
  this.__storage__ = {
728
730
  el: i,
729
731
  options: t
730
- }, this.active = "data-aost-active", d(this, et, _e).call(this);
732
+ }, this.active = "data-aost-active", d(this, it, Me).call(this);
731
733
  }
732
734
  destroy(i) {
733
735
  const { elements: t, options: e } = this;
734
736
  if (!t)
735
737
  return this;
736
- const { scroller: s } = e, o = s === window || !E(s) ? window : k(s);
738
+ const { scroller: s } = e, o = s === window || !A(s) ? window : D(s);
737
739
  return o.aost && (o.removeEventListener("scroll", o.aost.eventHandler), delete o.aost), t.forEach((a) => {
738
740
  if (!a.aost)
739
741
  return;
@@ -743,58 +745,58 @@ class yi {
743
745
  }
744
746
  update(i) {
745
747
  var t;
746
- d(t = this.destroy(i), et, _e).call(t);
748
+ d(t = this.destroy(i), it, Me).call(t);
747
749
  }
748
750
  }
749
- et = new WeakSet(), _e = function() {
751
+ it = new WeakSet(), Me = function() {
750
752
  const { el: i, options: t } = this.__storage__;
751
- if (!dt(i) || !E(i))
753
+ if (!pt(i) || !A(i))
752
754
  return;
753
- const { SETTINGS: e, EVENTS: s } = ei;
754
- if (this.elements = t.state == "not active" ? x(i + `:not([${this.active}])`) : x(i), this.options = Object.assign({}, e, t), this.__events__ = Object.assign({}, s), this.options.on)
755
+ const { SETTINGS: e, EVENTS: s } = ai;
756
+ if (this.elements = t.state == "not active" ? k(i + `:not([${this.active}])`) : k(i), this.options = Object.assign({}, e, t), this.__events__ = Object.assign({}, s), this.options.on)
755
757
  for (const [o, a] of Object.entries(this.options.on))
756
758
  this.__events__[o] = [a];
757
- d(this, kt, wi).call(this);
758
- }, kt = new WeakSet(), wi = function() {
759
- const { elements: i, options: t } = this, { scroller: e } = t, s = e === window || !E(e) ? window : k(e);
759
+ d(this, $t, Si).call(this);
760
+ }, $t = new WeakSet(), Si = function() {
761
+ const { elements: i, options: t } = this, { scroller: e } = t, s = e === window || !A(e) ? window : D(e);
760
762
  this.eventHandler = () => {
761
- js(s, i);
763
+ Rs(s, i);
762
764
  }, i.forEach((a) => {
763
- a.aost = {}, a.aost.class = a.getAttribute("data-aost-class") || t.class, a.aost.delay = parseInt(a.getAttribute("data-aost-delay")) || t.delay, a.aost.start = parseInt(a.getAttribute("data-aost-start")) || t.start, a.aost.end = parseInt(a.getAttribute("data-aost-end")) || t.end, a.aost.repeat = zs(a.getAttribute("data-aost-repeat"), t), a.aost.methods = {}, a.aost.methods.destroy = this.destroy, a.aost.methods.update = this.update, a.aost.instance = this, a.setAttribute(this.active, "");
765
+ a.aost = {}, a.aost.class = a.getAttribute("data-aost-class") || t.class, a.aost.delay = parseInt(a.getAttribute("data-aost-delay")) || t.delay, a.aost.start = parseInt(a.getAttribute("data-aost-start")) || t.start, a.aost.end = parseInt(a.getAttribute("data-aost-end")) || t.end, a.aost.repeat = Xs(a.getAttribute("data-aost-repeat"), t), a.aost.methods = {}, a.aost.methods.destroy = this.destroy, a.aost.methods.update = this.update, a.aost.instance = this, a.setAttribute(this.active, "");
764
766
  });
765
767
  const { eventHandler: o } = this;
766
768
  o(), s.aost = {}, s.aost.eventHandler = o, s.addEventListener("scroll", s.aost.eventHandler, !1);
767
769
  };
768
- Object.assign(yi.prototype, j);
769
- const Bs = (n) => {
770
- const { TEMPLATE: i } = Se, { childDom: t } = n, e = document.createElement("div");
770
+ Object.assign(Li.prototype, z);
771
+ const Ys = (n) => {
772
+ const { TEMPLATE: i } = _e, { childDom: t } = n, e = document.createElement("div");
771
773
  e.innerHTML = i();
772
774
  const s = e.querySelector(".player-wrapper");
773
775
  return [...t].forEach((o) => {
774
776
  s.append(o);
775
777
  }), e.children[0];
776
778
  };
777
- var xt, Ti, $t, Ei, _t, Ai, Ct, Li, Ht, Si, It, Di, Mt, ki, qt, xi, Ot, $i, Nt, _i;
778
- class Ws extends HTMLElement {
779
+ var Ct, Di, Ht, ki, Mt, _i, It, xi, qt, $i, Ot, Ci, Pt, Hi, Nt, Mi, jt, Ii, zt, qi;
780
+ class Fs extends HTMLElement {
779
781
  constructor() {
780
782
  super();
781
- h(this, xt);
782
- h(this, $t);
783
- h(this, _t);
784
- // youtube iframe
785
783
  h(this, Ct);
786
- // vimeo iframe
787
784
  h(this, Ht);
788
- // youku iframe
789
- h(this, It);
790
785
  h(this, Mt);
791
- // 2025.02.11 新增 ig
786
+ // youtube iframe
787
+ h(this, It);
788
+ // vimeo iframe
792
789
  h(this, qt);
793
- // 2025.02.11 新增 tiktok
790
+ // youku iframe
794
791
  h(this, Ot);
795
- // 2026.01.15 新增 video
792
+ h(this, Pt);
793
+ // 2025.02.11 新增 ig
796
794
  h(this, Nt);
797
- d(this, xt, Ti).call(this);
795
+ // 2025.02.11 新增 tiktok
796
+ h(this, jt);
797
+ // 2026.01.15 新增 video
798
+ h(this, zt);
799
+ d(this, Ct, Di).call(this);
798
800
  }
799
801
  play() {
800
802
  const { videoType: t } = this;
@@ -831,16 +833,16 @@ class Ws extends HTMLElement {
831
833
  }
832
834
  }
833
835
  }
834
- xt = new WeakSet(), Ti = function() {
836
+ Ct = new WeakSet(), Di = function() {
835
837
  if (!this.getAttribute("video-id")) {
836
- L("videoPlayer", "video-render needs a ['video-id'] attribute to creat player.");
838
+ E("videoPlayer", "video-render needs a ['video-id'] attribute to creat player.");
837
839
  return;
838
840
  }
839
- this.videoId = this.getAttribute("video-id"), this.videoType = this.getAttribute("video-type"), this.videoMode = this.getAttribute("video-mode"), this.autoplay = this.getAttribute("video-autoplay"), this.startTime = this.getAttribute("video-starttime"), this.videoInboxImg = this.getAttribute("video-inbox-img"), d(this, $t, Ei).call(this);
840
- }, $t = new WeakSet(), Ei = function() {
841
- this.childDom = this.childNodes, this.template = Bs(this), this.innerHTML = "", this.append(this.template), d(this, _t, Ai).call(this);
842
- }, _t = new WeakSet(), Ai = function() {
843
- const { videoType: t, videoMode: e } = this, { COOKIEDISAGREELAYOUT: s } = Se;
841
+ this.videoId = this.getAttribute("video-id"), this.videoType = this.getAttribute("video-type"), this.videoMode = this.getAttribute("video-mode"), this.autoplay = this.getAttribute("video-autoplay"), this.startTime = this.getAttribute("video-starttime"), this.videoInboxImg = this.getAttribute("video-inbox-img"), d(this, Ht, ki).call(this);
842
+ }, Ht = new WeakSet(), ki = function() {
843
+ this.childDom = this.childNodes, this.template = Ys(this), this.innerHTML = "", this.append(this.template), d(this, Mt, _i).call(this);
844
+ }, Mt = new WeakSet(), _i = function() {
845
+ const { videoType: t, videoMode: e } = this, { COOKIEDISAGREELAYOUT: s } = _e;
844
846
  let o = "";
845
847
  function a(r) {
846
848
  f(r).addClass("cookie-disagree"), f(".cookie-disagree").append(s);
@@ -849,72 +851,72 @@ xt = new WeakSet(), Ti = function() {
849
851
  case "youtubeAPI":
850
852
  break;
851
853
  case "youtube":
852
- document.body.wd_youtube == !1 ? a("video-player") : o = d(this, Ct, Li).call(this);
854
+ document.body.wd_youtube == !1 ? a("video-player") : o = d(this, It, xi).call(this);
853
855
  break;
854
856
  case "youkuAPI":
855
857
  break;
856
858
  case "youku":
857
- document.body.wd_youku == !1 ? a("video-player") : o = d(this, It, Di).call(this);
859
+ document.body.wd_youku == !1 ? a("video-player") : o = d(this, Ot, Ci).call(this);
858
860
  break;
859
861
  case "vimeo":
860
- document.body.wd_vimeo == !1 ? a("video-player") : o = d(this, Ht, Si).call(this);
862
+ document.body.wd_vimeo == !1 ? a("video-player") : o = d(this, qt, $i).call(this);
861
863
  break;
862
864
  case "bilibili":
863
- document.body.wd_bilibili == !1 ? a("video-player") : o = d(this, Mt, ki).call(this);
865
+ document.body.wd_bilibili == !1 ? a("video-player") : o = d(this, Pt, Hi).call(this);
864
866
  break;
865
867
  case "instagram":
866
- document.body.wd_instagram == !1 ? a(".instagram-media") : o = d(this, qt, xi).call(this);
868
+ document.body.wd_instagram == !1 ? a(".instagram-media") : o = d(this, Nt, Mi).call(this);
867
869
  break;
868
870
  case "tiktok":
869
- document.body.wd_tiktok == !1 ? a("video-player") : o = d(this, Ot, $i).call(this);
871
+ document.body.wd_tiktok == !1 ? a("video-player") : o = d(this, jt, Ii).call(this);
870
872
  break;
871
873
  case "videojs":
872
874
  break;
873
875
  case "video":
874
- o = d(this, Nt, _i).call(this);
876
+ o = d(this, zt, qi).call(this);
875
877
  break;
876
878
  }
877
- this.querySelector(".player-wrapper").insertAdjacentHTML(S.prepend, o);
878
- }, Ct = new WeakSet(), Li = function() {
879
+ this.querySelector(".player-wrapper").insertAdjacentHTML(L.prepend, o);
880
+ }, It = new WeakSet(), xi = function() {
879
881
  const { videoId: t, autoplay: e, startTime: s } = this;
880
882
  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>`;
881
- }, Ht = new WeakSet(), Si = function() {
883
+ }, qt = new WeakSet(), $i = function() {
882
884
  const { videoId: t, autoplay: e, hash: s } = this;
883
885
  return `<iframe src="https://player.vimeo.com/video/${t}?h=${s}&${e === "on" ? "autoplay=1" : ""}&loop=1&color=ffffff&title=0&byline=0&portrait=0" frameborder="0" allow="${e === "on" ? "autoplay;" : ""} fullscreen; picture-in-picture" allowfullscreen></iframe><script src="https://player.vimeo.com/api/player.js"><\/script>`;
884
- }, It = new WeakSet(), Di = function() {
886
+ }, Ot = new WeakSet(), Ci = function() {
885
887
  const { videoId: t, autoplay: e } = this;
886
888
  return `<iframe src="https://player.youku.com/embed/${t}?rel=0&${e === "on" ? "autoplay=1" : ""}" frameborder=0 "allowfullscreen"></iframe>`;
887
- }, Mt = new WeakSet(), ki = function() {
889
+ }, Pt = new WeakSet(), Hi = function() {
888
890
  const { videoId: t, autoplay: e } = this;
889
891
  return `<iframe src="//player.bilibili.com/player.html?bvid=${t}&page=1&as_wide=1&high_quality=1&danmaku=0" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true"></iframe>`;
890
- }, qt = new WeakSet(), xi = function() {
892
+ }, Nt = new WeakSet(), Mi = function() {
891
893
  const { videoId: t, autoplay: e } = this;
892
894
  return `<iframe class="instagram-media instagram-media-rendered" id="instagram-embed-0" src="https://www.instagram.com/p/${t}/embed/" width="num-w" height=" num-h" scrolling="auto" frameborder="0" data-instgrm-payload-id="instagram-media-payload-0"></iframe>`;
893
- }, Ot = new WeakSet(), $i = function() {
895
+ }, jt = new WeakSet(), Ii = function() {
894
896
  const { videoId: t, autoplay: e } = this;
895
897
  return `<iframe name="__tt_embed__v79271677875424740" sandbox="allow-popups allow-popups-to-escape-sandbox allow-scripts allow-top-navigation allow-same-origin" src="https://www.tiktok.com/player/v1/${t}?&${e === "on" ? "autoplay=1" : ""}"></iframe>`;
896
- }, Nt = new WeakSet(), _i = function() {
898
+ }, zt = new WeakSet(), qi = function() {
897
899
  const { videoId: t, autoplay: e } = this;
898
900
  return `<video src="${t}" ${e == "on" ? "autoplay" : ""} muted playsinline controls></video>`;
899
901
  };
900
- let Z = 0;
901
- function Ci(n) {
902
+ let Q = 0;
903
+ function Oi(n) {
902
904
  const i = [];
903
905
  return (n || []).forEach((t) => {
904
906
  t instanceof HTMLElement ? i.push(t) : typeof t == "string" && i.push(...document.querySelectorAll(t));
905
907
  }), i;
906
908
  }
907
- function Hi(n) {
908
- const i = Ci(n);
909
- Z += 1, Z === 1 && (document.documentElement.classList.add("scrollLock"), $s(i));
909
+ function Pi(n) {
910
+ const i = Oi(n);
911
+ Q += 1, Q === 1 && (document.documentElement.classList.add("scrollLock"), Is(i));
910
912
  }
911
- function Ii(n) {
912
- if (Z = Math.max(0, Z - 1), Z === 0) {
913
- const i = Ci(n);
914
- _s(i), document.documentElement.classList.remove("scrollLock");
913
+ function Ni(n) {
914
+ if (Q = Math.max(0, Q - 1), Q === 0) {
915
+ const i = Oi(n);
916
+ qs(i), document.documentElement.classList.remove("scrollLock");
915
917
  }
916
918
  }
917
- async function kn(n = 0) {
919
+ async function Hn(n = 0) {
918
920
  if (f(".loading-wrapper").length)
919
921
  return;
920
922
  f("body").append(`
@@ -928,30 +930,30 @@ async function kn(n = 0) {
928
930
  </div>
929
931
  </div>
930
932
  `), f(".loading-wrapper").delay(n).fadeIn(300).promise().done(function() {
931
- Hi();
933
+ Pi();
932
934
  });
933
935
  }
934
- function xn() {
936
+ function Mn() {
935
937
  f(".loading-wrapper").fadeOut(300).promise().done(function() {
936
- f(".loading-wrapper").remove(), Ii();
938
+ f(".loading-wrapper").remove(), Ni();
937
939
  });
938
940
  }
939
- function $n(n, i) {
940
- new vn(n, i);
941
+ function In(n, i) {
942
+ new En(n, i);
941
943
  }
942
- function Gs() {
943
- const n = document.querySelector("[data-aost]") && new yi("[data-aost]"), i = document.querySelector("[data-anchor-target]") && new oi("[data-anchor-target]"), t = new ti({ callback_loaded: () => {
944
- } }), e = new dn();
944
+ function Us() {
945
+ const n = document.querySelector("[data-aost]") && new Li("[data-aost]"), i = document.querySelector("[data-anchor-target]") && new di("[data-anchor-target]"), t = new oi({ callback_loaded: () => {
946
+ } }), e = new gn();
945
947
  n == null || n.update(), t.update(), e.reValidate(), i == null || i.update();
946
948
  }
947
- function _n(n, i = () => {
949
+ function qn(n, i = () => {
948
950
  }) {
949
951
  f(`[data-tab-content=${n}]`).fadeIn(function() {
950
952
  typeof i == "function" && i();
951
- }).siblings("[data-tab-content]").hide(), Gs();
953
+ }).siblings("[data-tab-content]").hide(), Us();
952
954
  }
953
- function Cn() {
954
- ze(
955
+ function On() {
956
+ Xe(
955
957
  {
956
958
  target: document.body,
957
959
  cancel: {
@@ -975,31 +977,31 @@ function Cn() {
975
977
  }
976
978
  );
977
979
  }
978
- function Hn() {
980
+ function Pn() {
979
981
  window.onpageshow = function(n) {
980
982
  n.persisted && window.location.reload();
981
983
  };
982
984
  }
983
- function In() {
985
+ function Nn() {
984
986
  const n = navigator.userAgent;
985
987
  return {
986
988
  BigSurUP: /Mac OS X 10.15/.test(n) || /Mac OS X 10_15_7/.test(n) || /Mac OS X 10_15_8/.test(n) || /Mac OS X 10_15_9/.test(n) || /Mac OS X 11_/.test(n) || /Mac OS X 12_/.test(n)
987
989
  };
988
990
  }
989
- function Mn(n, i) {
991
+ function jn(n, i) {
990
992
  f(n).on("click", function() {
991
993
  f(this).toggleClass(i);
992
994
  });
993
995
  }
994
- function qn(n, i) {
996
+ function zn(n, i) {
995
997
  f(n).on("click", function() {
996
998
  f(n).not(this).removeClass(i), f(this).addClass(i);
997
999
  });
998
1000
  }
999
- const On = (n) => new Promise((i) => {
1001
+ const Bn = (n) => new Promise((i) => {
1000
1002
  let t = setTimeout(() => (clearTimeout(t), i()), n);
1001
1003
  });
1002
- function Rs(n, i = 250) {
1004
+ function Js(n, i = 250) {
1003
1005
  let t = null;
1004
1006
  return function(...e) {
1005
1007
  let s = this;
@@ -1008,7 +1010,7 @@ function Rs(n, i = 250) {
1008
1010
  }, i);
1009
1011
  };
1010
1012
  }
1011
- function Nn(n, i = 250) {
1013
+ function Wn(n, i = 250) {
1012
1014
  let t, e;
1013
1015
  return function() {
1014
1016
  const s = this, o = arguments, a = +/* @__PURE__ */ new Date();
@@ -1017,7 +1019,7 @@ function Nn(n, i = 250) {
1017
1019
  }, i)) : (t = a, n.apply(s, o));
1018
1020
  };
1019
1021
  }
1020
- function Pn() {
1022
+ function Gn() {
1021
1023
  window._g.interval = [], f(".countdown").each((i, t) => {
1022
1024
  const e = Number(f(t).attr("data-seconds")) + 1;
1023
1025
  let s = Math.floor(e / 60) + ":" + e % 60;
@@ -1027,21 +1029,21 @@ function Pn() {
1027
1029
  }, 1e3);
1028
1030
  });
1029
1031
  }
1030
- function jn(n = 500) {
1032
+ function Rn(n = 500) {
1031
1033
  return new Promise((i, t) => {
1032
1034
  let e = setTimeout(() => {
1033
1035
  clearTimeout(e), i();
1034
1036
  }, n);
1035
1037
  });
1036
1038
  }
1037
- function zn() {
1039
+ function Xn() {
1038
1040
  const n = function() {
1039
1041
  let i = window.innerHeight * 0.01;
1040
1042
  document.documentElement.style.setProperty("--vh", i + "px");
1041
1043
  };
1042
- n(), window.addEventListener("resize", Rs(n));
1044
+ n(), window.addEventListener("resize", Js(n));
1043
1045
  }
1044
- function Bn(n, i, t, e, s) {
1046
+ function Yn(n, i, t, e, s) {
1045
1047
  const o = this, r = f(n).html().split("<br>");
1046
1048
  let l = "", c = 0;
1047
1049
  r.forEach((u, p) => {
@@ -1050,11 +1052,11 @@ function Bn(n, i, t, e, s) {
1050
1052
  });
1051
1053
  }), f(n).html(l);
1052
1054
  }
1053
- function Wn(n, i) {
1055
+ function Fn(n, i) {
1054
1056
  const t = Math.pow(10, i);
1055
1057
  return Math.round(n * t) / t;
1056
1058
  }
1057
- function Gn(n) {
1059
+ function Un(n) {
1058
1060
  let i = n.activeIndex, t = n.slides.length;
1059
1061
  if (n.params.loop)
1060
1062
  switch (n.activeIndex) {
@@ -1069,18 +1071,18 @@ function Gn(n) {
1069
1071
  }
1070
1072
  return i;
1071
1073
  }
1072
- function Rn(n, i) {
1074
+ function Jn(n, i) {
1073
1075
  const t = n.$el, e = n.params.grid.rows, s = i || n.params.slidesPerView * e;
1074
1076
  (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());
1075
1077
  }
1076
- function Xn(n) {
1078
+ function Zn(n) {
1077
1079
  n.el.querySelectorAll("img.detect-shade").forEach((i) => {
1078
1080
  i.addEventListener("load", function() {
1079
1081
  detectShade(i);
1080
1082
  });
1081
1083
  });
1082
1084
  }
1083
- function Yn(n) {
1085
+ function Qn(n) {
1084
1086
  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");
1085
1087
  n.autoplay.stop(), f(e).off("ended"), e ? (s.each((o, a) => {
1086
1088
  a.currentTime = 0;
@@ -1088,7 +1090,7 @@ function Yn(n) {
1088
1090
  n.slideNext();
1089
1091
  }), e.play()) : n.params.autoplay.enabled && n.autoplay.start();
1090
1092
  }
1091
- function Fn() {
1093
+ function Kn() {
1092
1094
  f(".number-grow").each(function(n, i) {
1093
1095
  const t = f(i), o = t.attr("data-num").replace(/(\d)(?=(?:\d{3})+$)/g, "$1,").split(""), a = () => {
1094
1096
  let r = "";
@@ -1102,7 +1104,7 @@ function Fn() {
1102
1104
  });
1103
1105
  });
1104
1106
  }
1105
- function Un() {
1107
+ function Vn() {
1106
1108
  f(".letter-grow").each(function(n, i) {
1107
1109
  const t = f(i), s = t.attr("data-letter").split(""), o = () => {
1108
1110
  let a = "";
@@ -1116,46 +1118,48 @@ function Un() {
1116
1118
  });
1117
1119
  });
1118
1120
  }
1119
- function Jn(n) {
1121
+ function to(n) {
1120
1122
  const i = getComputedStyle(n).transform;
1121
1123
  let t = i.match(/^matrix3d\((.+)\)$/);
1122
1124
  return t ? parseFloat(t[1].split(", ")[12]) : (t = i.match(/^matrix\((.+)\)$/), t ? parseFloat(t[1].split(", ")[4]) : 0);
1123
1125
  }
1124
- function Zn(n) {
1126
+ function eo(n) {
1125
1127
  const i = getComputedStyle(n).transform;
1126
1128
  let t = i.match(/^matrix3d\((.+)\)$/);
1127
1129
  return t ? parseFloat(t[1].split(", ")[13]) : (t = i.match(/^matrix\((.+)\)$/), t ? parseFloat(t[1].split(", ")[5]) : 0);
1128
1130
  }
1129
- function Qn(n) {
1131
+ function io(n) {
1130
1132
  const i = document.createElement("div");
1131
1133
  return i.innerHTML = n, i.childNodes[0];
1132
1134
  }
1133
- const Ue = (n) => n.videoId !== "" || typeof n.videoId < "u", Xs = (n) => n.$selector.getAttribute("video4-active") === "on", pt = (n) => `<video-player video-id="${n.videoId}" video-type="${n.videoType}" video-startTime="${n.videoStartTime}" video-autoplay="${n.videoAutoplay}"></video-player>`;
1134
- var it, He, Pt, Mi, jt, qi, st, Ie, zt, Oi;
1135
+ const Ke = (n) => n.videoId !== "" || typeof n.videoId < "u", Zs = (n) => n.$selector.getAttribute("video4-active") === "on", ft = (n) => `<video-player video-id="${n.videoId}" video-type="${n.videoType}" video-startTime="${n.videoStartTime}" video-autoplay="${n.videoAutoplay}"></video-player>`, Ve = (n) => (console.log(n.videoId, "params.videoId"), `<blockquote class="instagram-media" data-instgrm-captioned data-instgrm-permalink="${n.videoId}"></blockquote>`);
1136
+ var st, qe, Bt, ji, nt, Oe, ot, Pe, Wt, zi, at, Ne, Gt, Bi;
1135
1137
  const X = class X {
1136
1138
  //*-* 給Article4用的 **//
1137
1139
  constructor(i, t = {}) {
1138
- h(this, it);
1139
- h(this, Pt);
1140
- h(this, jt);
1141
1140
  h(this, st);
1142
- h(this, zt);
1143
- if (!dt(i) && !De(i) && !ut(i)) {
1144
- Ye("video4", `找不到該物件 -> ${i}`);
1141
+ h(this, Bt);
1142
+ h(this, nt);
1143
+ h(this, ot);
1144
+ h(this, Wt);
1145
+ h(this, at);
1146
+ h(this, Gt);
1147
+ if (!pt(i) && !xe(i) && !mt(i)) {
1148
+ Ze("video4", `找不到該物件 -> ${i}`);
1145
1149
  return;
1146
1150
  }
1147
1151
  this.__storage__ = {
1148
1152
  el: i,
1149
1153
  options: t
1150
- }, this.active = "data-video-active", d(this, it, He).call(this);
1154
+ }, this.active = "data-video-active", d(this, st, qe).call(this);
1151
1155
  }
1152
1156
  update() {
1153
- d(this, it, He).call(this);
1157
+ d(this, st, qe).call(this);
1154
1158
  }
1155
1159
  };
1156
- it = new WeakSet(), He = function() {
1157
- const { el: i, options: t } = this.__storage__, { SETTINGS: e, EVENTS: s, LAYOUT: o } = Se;
1158
- if (t.isGlobal && (X.globalOptions = t), this.elements = t.state == "not active" ? x(i + `:not([${this.active}])`) : x(i), this.options = Object.assign(
1160
+ st = new WeakSet(), qe = function() {
1161
+ const { el: i, options: t } = this.__storage__, { SETTINGS: e, EVENTS: s, LAYOUT: o } = _e;
1162
+ if (t.isGlobal && (X.globalOptions = t), this.elements = t.state == "not active" ? k(i + `:not([${this.active}])`) : k(i), this.options = Object.assign(
1159
1163
  {},
1160
1164
  { LAYOUT: o },
1161
1165
  // 原始 configs 的 LAYOUT
@@ -1168,20 +1172,44 @@ it = new WeakSet(), He = function() {
1168
1172
  ), this.__events__ = Object.assign({}, s), this.options.on)
1169
1173
  for (const [a, r] of Object.entries(this.options.on))
1170
1174
  this.__events__[a] = [r];
1171
- d(this, Pt, Mi).call(this);
1172
- }, Pt = new WeakSet(), Mi = function() {
1175
+ d(this, Bt, ji).call(this);
1176
+ }, Bt = new WeakSet(), ji = function() {
1173
1177
  const { elements: i, options: t } = this;
1174
1178
  i.forEach((e) => {
1175
- e.video = {}, e.video.instance = this, e.video.defaultOptions = t, e.video.params = d(this, zt, Oi).call(this, e), e.video.methods = {}, e.video.methods.update = this.update, e.setAttribute(this.active, ""), Ue(e.video.params) && !Xs(e.video.params) && (e.setAttribute("video4-active", "on"), d(this, jt, qi).call(this, e)), Ue(e.video.params) || Ye("video4", "無法取得影片 ID");
1179
+ e.video = {}, e.video.instance = this, e.video.defaultOptions = t, e.video.params = d(this, Gt, Bi).call(this, e), e.video.methods = {}, e.video.methods.update = this.update, e.setAttribute(this.active, ""), Ke(e.video.params) && !Zs(e.video.params) && (e.setAttribute("video4-active", "on"), d(this, Wt, zi).call(this, e)), Ke(e.video.params) || Ze("video4", "無法取得影片 ID");
1176
1180
  }), this.emit("init");
1177
- }, jt = new WeakSet(), qi = function(i) {
1181
+ }, nt = new WeakSet(), Oe = function(i) {
1182
+ const { $selector: t, videoId: e, videoType: s, videoInboxImg: o, videoHighQualityPic: a } = i, r = t == null ? void 0 : t.querySelector("img"), l = (r == null ? void 0 : r.getAttribute("src")) || (r == null ? void 0 : r.getAttribute("data-src"));
1183
+ return o ? Promise.resolve(o) : l ? Promise.resolve(l) : s == "youtube" ? a == "on" ? Promise.resolve(`https://img.youtube.com/vi/${e}/maxresdefault.jpg`) : Promise.resolve(`https://img.youtube.com/vi/${e}/0.jpg`) : s == "vimeo" ? Promise.resolve(`https://vumbnail.com/${e}_large.jpg`) : s == "tiktok" ? fetch(`https://www.tiktok.com/oembed?url=https://www.tiktok.com/@/video/${e}`, { method: "GET", redirect: "follow" }).then((c) => c.json()).then((c) => c.thumbnail_url).catch(function() {
1184
+ return "";
1185
+ }) : Promise.resolve("");
1186
+ }, ot = new WeakSet(), Pe = function(i, t) {
1187
+ const { videoType: e, videoId: s } = t;
1188
+ if (!(i != null && i.getAttribute("src") || i != null && i.getAttribute("data-src"))) {
1189
+ if (e === "video") {
1190
+ const a = document.createElement("video");
1191
+ a.src = s, a.preload = "metadata", a.muted = !0, a.playsInline = !0, a.crossOrigin = "anonymous", a.onloadeddata = () => {
1192
+ a.currentTime = 0.5;
1193
+ }, a.onseeked = () => {
1194
+ const r = document.createElement("canvas");
1195
+ r.width = a.videoWidth, r.height = a.videoHeight, r.getContext("2d").drawImage(a, 0, 0), i.src = r.toDataURL("image/jpeg", 0.85);
1196
+ };
1197
+ return;
1198
+ }
1199
+ d(this, nt, Oe).call(this, t).then((a) => {
1200
+ a ? i.setAttribute("src", `${a}`) : E("video4", "僅 youtube & vimeo 提供,無圖片時放置預設封面畫面,其他影片平台請自行上傳封面照片");
1201
+ });
1202
+ }
1203
+ }, Wt = new WeakSet(), zi = function(i) {
1178
1204
  const { LAYOUT: t } = this.options, e = i.video.params, { $selector: s, videoLayoutNo: o, videoId: a, videoType: r, videoMode: l, videoButton: c, videoCover: u, videoHighQualityPic: p } = e;
1179
1205
  if (l === "onBox" || l === "inBox") {
1180
1206
  let g = null;
1181
1207
  if (u === "on") {
1182
- i.classList.add("video4-cover"), s.querySelector("img") || (s.insertAdjacentHTML(S.prepend, '<picture><source srcset="" type="image/webp"><source srcset="" type="image/jpeg"><img src="" alt></picture>'), L("video4", "若啟用 [videoCover] 且選擇 onBox 模式必須於 video-target 內放置 img 結構,若無結構則自動加入圖片結構"));
1208
+ i.classList.add("video4-cover"), s.querySelector("img") || (s.insertAdjacentHTML(L.prepend, '<picture><source srcset="" type="image/webp"><source srcset="" type="image/jpeg"><img src="" alt></picture>'), E("video4", "若啟用 [videoCover] 且選擇 onBox 模式必須於 video-target 內放置 img 結構,若無結構則自動加入圖片結構"));
1183
1209
  const m = s.querySelector("img"), v = (m == null ? void 0 : m.getAttribute("src")) || (m == null ? void 0 : m.getAttribute("data-src")), w = t[o] ? t[o] : t[0] || "";
1184
- if (w ? m.insertAdjacentHTML(S.after, w) : L("video4", `找不到對應的 LAYOUT 設定 (No: ${o}),且無預設樣式。`), !v && r == "youtube")
1210
+ if (w ? m.insertAdjacentHTML(L.after, w) : E("video4", `找不到對應的 LAYOUT 設定 (No: ${o}),且無預設樣式。`), !v)
1211
+ d(this, ot, Pe).call(this, m, e);
1212
+ else if (!v && r == "youtube")
1185
1213
  p == "on" ? m.setAttribute("src", `https://img.youtube.com/vi/${a}/maxresdefault.jpg `) : m.setAttribute("src", `https://img.youtube.com/vi/${a}/0.jpg`);
1186
1214
  else if (!v && r == "vimeo")
1187
1215
  m.setAttribute("src", `https://vumbnail.com/${a}_large.jpg`);
@@ -1199,30 +1227,30 @@ it = new WeakSet(), He = function() {
1199
1227
  m.setAttribute("src", `${T}`);
1200
1228
  }).catch(function(b) {
1201
1229
  console.log("error");
1202
- }) : L("video4", "僅 youtube & vimeo 提供,無圖片時放置預設封面畫面,其他影片平台請自行上傳封面照片");
1230
+ }) : E("video4", "僅 youtube & vimeo 提供,無圖片時放置預設封面畫面,其他影片平台請自行上傳封面照片");
1203
1231
  }
1204
- c == "off" ? g = s : (g = s.querySelector(c) ?? s, s.querySelector(c) || L("video4", `找不到 videoButton 設定的 element -> '${c}' , 點擊物件轉移至 '${this.__storage__.el}'`)), g.video || (g.video = {}, g.video.params = e), g.video.eventHandler = d(this, st, Ie), g.addEventListener("click", g.video.eventHandler);
1232
+ 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.instance = this), g.video.eventHandler = d(this, at, Ne), g.addEventListener("click", g.video.eventHandler);
1205
1233
  } else if (l === "onPage") {
1206
1234
  let g = null;
1207
1235
  if (u == "on") {
1208
- i.classList.add("video4-cover"), s.querySelector("img") || (s.insertAdjacentHTML(S.prepend, '<picture><source srcset="" type="image/webp"><source srcset="" type="image/jpeg"><img src="" alt></picture>'), L("video", "若啟用 [videoCover] 且選擇 onBox 模式必須於 video-target 內放置 img 結構"));
1236
+ i.classList.add("video4-cover"), s.querySelector("img") || (s.insertAdjacentHTML(L.prepend, '<picture><source srcset="" type="image/webp"><source srcset="" type="image/jpeg"><img src="" alt></picture>'), E("video", "若啟用 [videoCover] 且選擇 onBox 模式必須於 video-target 內放置 img 結構"));
1209
1237
  const m = s.querySelector("img");
1210
- m.insertAdjacentHTML(S.after, t[o]);
1238
+ m.insertAdjacentHTML(L.after, t[o]);
1211
1239
  const v = (m == null ? void 0 : m.getAttribute("src")) || (m == null ? void 0 : m.getAttribute("data-src"));
1212
- !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((w) => w.json()).then((w) => {
1240
+ v ? !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((w) => w.json()).then((w) => {
1213
1241
  const b = w.thumbnail_url;
1214
1242
  m.setAttribute("src", `${b}`);
1215
1243
  }).catch(function(w) {
1216
1244
  console.log("error");
1217
- }) : v || L("video4", "僅 youtube & vimeo 提供,無圖片時放置預設封面畫面,其他影片平台請自行上傳封面照片"), c == "off" ? g = s : (g = s.querySelector(c) ?? s, s.querySelector(c) || L("video4", `找不到 videoButton 設定的 element -> '${c}', 點擊物件轉移至 '${this.__storage__.el}'`));
1245
+ }) : v || E("video4", "僅 youtube & vimeo 提供,無圖片時放置預設封面畫面,其他影片平台請自行上傳封面照片") : d(this, ot, Pe).call(this, m, e), c == "off" ? g = s : (g = s.querySelector(c) ?? s, s.querySelector(c) || E("video4", `找不到 videoButton 設定的 element -> '${c}', 點擊物件轉移至 '${this.__storage__.el}'`));
1218
1246
  } else {
1219
- s.innerHTML = pt(e);
1247
+ s.innerHTML = ft(e);
1220
1248
  return;
1221
1249
  }
1222
- g.video || (g.video = {}, g.video.params = e), g.video.eventHandler = d(this, st, Ie), g.addEventListener("click", g.video.eventHandler);
1250
+ g.video || (g.video = {}, g.video.params = e), g.video.eventHandler = d(this, at, Ne), g.addEventListener("click", g.video.eventHandler);
1223
1251
  }
1224
- }, st = new WeakSet(), Ie = function(i) {
1225
- const { video: t, emit: e } = this, {
1252
+ }, at = new WeakSet(), Ne = function(i) {
1253
+ const { video: t } = this, e = t.instance, {
1226
1254
  $selector: s,
1227
1255
  videoMode: o,
1228
1256
  videoTarget: a,
@@ -1235,7 +1263,7 @@ it = new WeakSet(), He = function() {
1235
1263
  videoButton: m,
1236
1264
  videoLayoutNo: v,
1237
1265
  videoStartTime: w
1238
- } = t.params, b = new ti({ callback_loaded: (C) => {
1266
+ } = t.params, b = new oi({ callback_loaded: (C) => {
1239
1267
  } }), T = new URLSearchParams({
1240
1268
  video_mode: o,
1241
1269
  video_type: u,
@@ -1247,82 +1275,77 @@ it = new WeakSet(), He = function() {
1247
1275
  route: c + `?${T.toString()}`,
1248
1276
  on: {
1249
1277
  complete(y) {
1250
- var D;
1251
- o == "onBox" && (u == "instagram" ? (y.setAttribute("video-typeStyle", `${u}`), (D = window.instgrm) != null && D.Embeds ? window.instgrm.Embeds.process() : console.log("window.instgrm is undefined")) : (y.querySelector(".modal-content").insertAdjacentHTML("beforeend", pt(t.params)), y.setAttribute("video-typeStyle", `${u}`))), o == "inBox" && y.setAttribute("video-typeStyle", `${u}`);
1278
+ var S, O;
1279
+ o == "onBox" && (u == "instagram" ? (y.setAttribute("video-typeStyle", `${u}`), (S = window.instgrm) != null && S.Embeds ? (y.querySelector(".modal-content").insertAdjacentHTML("beforeend", Ve(t.params)), window.instgrm.Embeds.process()) : console.log("window.instgrm is undefined")) : (y.querySelector(".modal-content").insertAdjacentHTML("beforeend", ft(t.params)), y.setAttribute("video-typeStyle", `${u}`))), o == "inBox" && (y.setAttribute("video-typeStyle", `${u}`), u == "instagram" && ((O = window.instgrm) != null && O.Embeds ? (y.querySelector(".modal-content").insertAdjacentHTML("beforeend", Ve(t.params)), window.instgrm.Embeds.process()) : console.log("window.instgrm is undefined")));
1252
1280
  },
1253
1281
  open(y) {
1254
- var U;
1255
- const D = y.querySelectorAll("[data-overlayscrollbars-viewport]");
1256
- if (b.update(), Hi([...D]), o == "onBox" && u == "instagram") {
1257
- const A = document.querySelector("[video-template] .modal-content");
1258
- new ResizeObserver((Ge) => {
1259
- Ge[0].contentRect.height > 50 && A.classList.add("active");
1260
- }).observe(A);
1261
- }
1262
- if (o == "inBox") {
1263
- const A = g || ((U = s.querySelector("img")) == null ? void 0 : U.src);
1264
- let z;
1265
- A == null ? z = `
1266
- <div
1267
- class="photo-box"
1268
- video-target
1269
- video-mode="onPage"
1270
- video-type="${u}"
1271
- video-id="${l}"
1272
- video-button="${m}"
1273
- video-layout-no="${v}"
1274
- video-starttime="${w}"
1275
- >
1276
- </div>` : z = `
1277
- <div
1278
- class="photo-box"
1279
- video-target
1280
- video-mode="onPage"
1281
- video-type="${u}"
1282
- video-id="${l}"
1283
- video-button="${m}"
1284
- video-layout-no="${v}"
1285
- video-starttime="${w}"
1286
- >
1287
- <picture>
1288
- <source
1289
- srcset="${A}"
1290
- type="image/webp"
1291
- />
1292
- <source
1293
- srcset="${A}"
1294
- type="image/jpeg"
1295
- />
1296
- <img src="${A}" alt="" />
1297
- </picture>
1298
- </div>`, y.querySelector(".video-content").insertAdjacentHTML(S.prepend, z);
1299
- const Re = y.querySelectorAll("[video-target]");
1300
- Re.length > 0 && new X(Re, {
1301
- LAYOUT: t.params.LAYOUT,
1302
- videoLayoutNo: t.params.videoLayoutNo
1303
- });
1282
+ var O;
1283
+ const S = y.querySelectorAll("[data-overlayscrollbars-viewport]");
1284
+ if (b.update(), Pi([...S]), u == "instagram") {
1285
+ const _ = document.querySelector("[video-template] .modal-content");
1286
+ new ResizeObserver((J) => {
1287
+ J[0].contentRect.height > 50 && _.classList.add("active");
1288
+ }).observe(_);
1304
1289
  }
1290
+ if (o == "inBox")
1291
+ if (u == "instagram")
1292
+ f(".video-content").remove();
1293
+ else {
1294
+ let _;
1295
+ const U = y.querySelector(".video-content");
1296
+ d(O = e, nt, Oe).call(O, t.params).then((J) => {
1297
+ _ = `
1298
+ <div
1299
+ class="photo-box"
1300
+ video-target
1301
+ video-mode="onPage"
1302
+ video-type="${u}"
1303
+ video-id="${l}"
1304
+ video-button="${m}"
1305
+ video-layout-no="${v}"
1306
+ video-starttime="${w}"
1307
+ >
1308
+ <picture>
1309
+ <source
1310
+ srcset="${J || ""}"
1311
+ type="image/webp"
1312
+ />
1313
+ <source
1314
+ srcset="${J || ""}"
1315
+ type="image/jpeg"
1316
+ />
1317
+ <img src="${J || ""}" alt="" />
1318
+ </picture>
1319
+ </div>`, U.insertAdjacentHTML(L.prepend, _);
1320
+ const Ue = y.querySelectorAll("[video-target]");
1321
+ Ue.length > 0 && new X(Ue, {
1322
+ LAYOUT: t.params.LAYOUT,
1323
+ videoLayoutNo: t.params.videoLayoutNo
1324
+ });
1325
+ });
1326
+ }
1327
+ e == null || e.emit("openModal");
1305
1328
  },
1306
1329
  close(y) {
1307
- const D = y.querySelectorAll("[data-overlayscrollbars-viewport]");
1308
- Ii([...D]);
1330
+ const S = y.querySelectorAll("[data-overlayscrollbars-viewport]");
1331
+ Ni([...S]), e == null || e.emit("closeModal");
1309
1332
  },
1310
1333
  destroy(y) {
1311
1334
  }
1312
1335
  }
1313
1336
  };
1314
- K.open(C);
1337
+ V.open(C);
1315
1338
  } else if (o == "onPage")
1316
1339
  if (t.params.videoAutoplay = "on", r == "off") {
1317
1340
  if (s.querySelector("video-player"))
1318
1341
  return;
1319
- s.innerHTML = pt(t.params);
1342
+ s.innerHTML = ft(t.params);
1320
1343
  return;
1321
1344
  } else {
1322
- (s.querySelector(r) ?? s).insertAdjacentHTML("beforeend", pt(t.params));
1345
+ (s.querySelector(r) ?? s).insertAdjacentHTML("beforeend", ft(t.params));
1323
1346
  return;
1324
1347
  }
1325
- }, zt = new WeakSet(), Oi = function(i) {
1348
+ }, Gt = new WeakSet(), Bi = function(i) {
1326
1349
  const t = this.options;
1327
1350
  return {
1328
1351
  $selector: i,
@@ -1342,11 +1365,11 @@ it = new WeakSet(), He = function() {
1342
1365
  videoInboxImg: i.getAttribute("video-inbox-img") || t.videoInboxImgHtml,
1343
1366
  LAYOUT: t.LAYOUT || []
1344
1367
  };
1345
- }, Xe(X, "globalOptions", {});
1346
- let Ce = X;
1347
- Object.assign(Ce.prototype, j);
1348
- customElements.define("video-player", Ws);
1349
- const Ys = {
1368
+ }, Je(X, "globalOptions", {});
1369
+ let Ie = X;
1370
+ Object.assign(Ie.prototype, z);
1371
+ customElements.define("video-player", Fs);
1372
+ const Qs = {
1350
1373
  "zh-tw": {
1351
1374
  臺北市: [
1352
1375
  ["中正區", "100"],
@@ -2176,9 +2199,9 @@ const Ys = {
2176
2199
  ]
2177
2200
  }
2178
2201
  };
2179
- let Q;
2180
- const Fs = (n) => {
2181
- const { TEMPLATE: i } = Be, { childDom: t } = n.s, e = document.createElement("div"), s = n.classList.contains("filter"), o = n.getAttribute("filter-placeholder"), a = n.getAttribute("d4-icon"), r = n.getAttribute("custom-template");
2202
+ let K;
2203
+ const Ks = (n) => {
2204
+ const { TEMPLATE: i } = Ye, { childDom: t } = n.s, e = document.createElement("div"), s = n.classList.contains("filter"), o = n.getAttribute("filter-placeholder"), a = n.getAttribute("d4-icon"), r = n.getAttribute("custom-template");
2182
2205
  e.innerHTML = i(
2183
2206
  s,
2184
2207
  o,
@@ -2191,14 +2214,14 @@ const Fs = (n) => {
2191
2214
  (!p.hasAttribute("data-option") || p.getAttribute("data-option").trim() === "") && p.setAttribute("data-option", p.textContent.trim());
2192
2215
  }) : (!c.hasAttribute("data-option") || c.getAttribute("data-option").trim() === "") && c.setAttribute("data-option", c.textContent.trim())), l.append(c);
2193
2216
  }), e.children[0];
2194
- }, Us = (n) => {
2217
+ }, Vs = (n) => {
2195
2218
  var t;
2196
2219
  const i = (t = n.getAttribute("control-elements")) == null ? void 0 : t.split(",");
2197
2220
  i && i.forEach((e) => {
2198
2221
  const s = document.querySelector(e);
2199
- s || L("dropdown", `Can't not find control element(${e})`), s && s.classList.contains("disabled") && (s.classList.remove("disabled"), s.tagName === "DROPDOWN-EL" && s.s.activeLi && M(s, [...s.s.allLi].indexOf(s.s.activeLi)));
2222
+ 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 && I(s, [...s.s.allLi].indexOf(s.s.activeLi)));
2200
2223
  });
2201
- }, M = (n, i) => {
2224
+ }, I = (n, i) => {
2202
2225
  const t = n.getAttribute("d4-placeholder"), e = n.querySelectorAll(".dropdown-list li");
2203
2226
  if (i < 0 || i.length === 0) {
2204
2227
  switch (e.forEach((s) => {
@@ -2239,7 +2262,7 @@ const Fs = (n) => {
2239
2262
  const o = n.querySelectorAll(".dropdown-list li.active");
2240
2263
  o.length <= 0 ? n.s.selectDisplayEl.textContent = t.trim() : (n.s.selectDisplayEl.textContent = "", o.forEach((r) => {
2241
2264
  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>`;
2242
- n.s.selectDisplayEl.insertAdjacentHTML(S.append, u);
2265
+ n.s.selectDisplayEl.insertAdjacentHTML(L.append, u);
2243
2266
  })), n.s.activeLi = o, n.s.value = [...o].map((r) => ({
2244
2267
  index: [...e].indexOf(r),
2245
2268
  id: r.getAttribute("data-option"),
@@ -2250,42 +2273,42 @@ const Fs = (n) => {
2250
2273
  break;
2251
2274
  }
2252
2275
  }
2253
- }, Js = (n) => {
2276
+ }, tn = (n) => {
2254
2277
  const i = n.s.cityLang;
2255
- f("#newCityData").length > 0 ? f("#newCityData").val() !== "" && (Q = JSON.parse(f("#newCityData").val())[0], console.log([0])) : Q = Ys, n.classList.contains("city") && (n.s.dropdownEl.querySelector(".dropdown-list").innerHTML = "", Object.keys(Q[i]).forEach((t) => {
2278
+ f("#newCityData").length > 0 ? f("#newCityData").val() !== "" && (K = JSON.parse(f("#newCityData").val())[0], console.log([0])) : K = Qs, n.classList.contains("city") && (n.s.dropdownEl.querySelector(".dropdown-list").innerHTML = "", Object.keys(K[i]).forEach((t) => {
2256
2279
  const e = document.createElement("li");
2257
2280
  e.textContent = t, e.setAttribute("data-option", t), n.s.dropdownEl.querySelector(".dropdown-list").append(e);
2258
2281
  }), n.s.allLi = n.querySelectorAll(".dropdown-list li"));
2259
- }, Zs = (n, i) => {
2282
+ }, en = (n, i) => {
2260
2283
  const t = n.s.cityLang;
2261
- Q[t][i].forEach((e, s) => {
2284
+ K[t][i].forEach((e, s) => {
2262
2285
  const o = document.createElement("li");
2263
2286
  o.textContent = e[0], o.setAttribute("data-option", e[0]), n.querySelector(".dropdown-list").append(o);
2264
2287
  });
2265
- }, Ni = () => {
2266
- x('dropdown-el[d4-status="open"]').forEach((i) => {
2288
+ }, Wi = () => {
2289
+ k('dropdown-el[d4-status="open"]').forEach((i) => {
2267
2290
  i.close();
2268
2291
  });
2269
- }, Qs = () => {
2270
- const { SETTINGS: n } = Be;
2292
+ }, sn = () => {
2293
+ const { SETTINGS: n } = Ye;
2271
2294
  ((t, e) => {
2272
2295
  Object.keys(e).forEach((s) => {
2273
2296
  t.style.setProperty(`--${s}`, e[s]);
2274
2297
  });
2275
2298
  })(document.documentElement, n.scrollbar);
2276
2299
  };
2277
- Qs();
2300
+ sn();
2278
2301
  document.addEventListener("click", function() {
2279
- Ni();
2302
+ Wi();
2280
2303
  });
2281
- var Bt, ji, Wt, zi, Gt, Bi, Rt, Wi;
2282
- class Pi extends HTMLElement {
2304
+ var Rt, Ri, Xt, Xi, Yt, Yi, Ft, Fi;
2305
+ class Gi extends HTMLElement {
2283
2306
  constructor() {
2284
2307
  super();
2285
- h(this, Bt);
2286
- h(this, Wt);
2287
- h(this, Gt);
2288
2308
  h(this, Rt);
2309
+ h(this, Xt);
2310
+ h(this, Yt);
2311
+ h(this, Ft);
2289
2312
  this.initialize = !1;
2290
2313
  }
2291
2314
  static get observedAttributes() {
@@ -2306,36 +2329,36 @@ class Pi extends HTMLElement {
2306
2329
  switch (o.hasAttribute("multiple") ? "multiple" : "single") {
2307
2330
  case "single":
2308
2331
  const r = o.querySelector(`.dropdown-list li[data-option="${s}"]`);
2309
- E(r) ? M(o, [...o.s.allLi].indexOf(r)) : M(o, -1);
2332
+ A(r) ? I(o, [...o.s.allLi].indexOf(r)) : I(o, -1);
2310
2333
  break;
2311
2334
  case "multiple":
2312
2335
  const l = [];
2313
2336
  o.querySelector(".dropdown-list li").classList.remove("active"), s.split(",").forEach((u) => {
2314
2337
  const p = o.querySelector(`.dropdown-list li[data-option="${u}"]`);
2315
- E(p) && (p.classList.add("active"), l.push(p));
2338
+ A(p) && (p.classList.add("active"), l.push(p));
2316
2339
  });
2317
2340
  const c = l.map((u) => [...o.s.allLi].indexOf(u));
2318
- M(o, c);
2341
+ I(o, c);
2319
2342
  break;
2320
2343
  }
2321
2344
  else
2322
- M(o, -1);
2345
+ I(o, -1);
2323
2346
  o.emit("change");
2324
2347
  break;
2325
2348
  case "d4-placeholder":
2326
2349
  if (e === null)
2327
2350
  return;
2328
- e !== s && o.s.value.index < 0 && M(o, o.s.value.index);
2351
+ e !== s && o.s.value.index < 0 && I(o, o.s.value.index);
2329
2352
  break;
2330
2353
  }
2331
2354
  }
2332
2355
  connectedCallback() {
2333
2356
  const t = this;
2334
- t.initialize || t.classList.contains("d4-initialize") || (t.initialize = !0, d(this, Bt, ji).call(this));
2357
+ t.initialize || t.classList.contains("d4-initialize") || (t.initialize = !0, d(this, Rt, Ri).call(this));
2335
2358
  }
2336
2359
  open() {
2337
2360
  const t = this, e = t.querySelector(".dropdown-scroller").clientHeight, s = t.classList.contains("filter"), o = () => s ? t.querySelector(".dropdown-scroller .filter-bar") ? e : t.querySelector(".filter-bar").clientHeight + e : e;
2338
- return Ni(), t.setAttribute("d4-status", "open"), t.setAttribute("d4-default-height", o()), t.style.cssText = `--maxHeight: ${o()}px;`, t.s.dropdownEl.style.cssText = `
2361
+ return Wi(), t.setAttribute("d4-status", "open"), t.setAttribute("d4-default-height", o()), t.style.cssText = `--maxHeight: ${o()}px;`, t.s.dropdownEl.style.cssText = `
2339
2362
  height: ${o()}px;
2340
2363
  z-index: 2;
2341
2364
  `, this;
@@ -2357,14 +2380,14 @@ class Pi extends HTMLElement {
2357
2380
  this.__events__.selectOption();
2358
2381
  }
2359
2382
  }
2360
- Bt = new WeakSet(), ji = function() {
2361
- this.s = {}, this.__events__ = {}, this.hasAttribute("d4-status") || this.setAttribute("d4-status", "close"), this.hasAttribute("d4-value") || this.setAttribute("d4-value", ""), d(this, Wt, zi).call(this);
2362
- }, Wt = new WeakSet(), zi = function() {
2363
- this.s.childDom = this.childNodes, this.s.template = Fs(this), this.innerHTML = "", this.append(this.s.template), d(this, Gt, Bi).call(this);
2364
- }, Gt = new WeakSet(), Bi = function() {
2383
+ Rt = new WeakSet(), Ri = function() {
2384
+ this.s = {}, this.__events__ = {}, this.hasAttribute("d4-status") || this.setAttribute("d4-status", "close"), this.hasAttribute("d4-value") || this.setAttribute("d4-value", ""), d(this, Xt, Xi).call(this);
2385
+ }, Xt = new WeakSet(), Xi = function() {
2386
+ this.s.childDom = this.childNodes, this.s.template = Ks(this), this.innerHTML = "", this.append(this.s.template), d(this, Yt, Yi).call(this);
2387
+ }, Yt = new WeakSet(), Yi = function() {
2365
2388
  var s;
2366
2389
  const t = this;
2367
- t.s.allLi = t.querySelectorAll(".dropdown-list li"), t.s.selectDisplayEl = t.querySelector(".select-display"), t.s.dropdownEl = t.querySelector(".dropdown"), t.s.selectType = t.hasAttribute("multiple") ? "multiple" : "single", t.s.cityLang = t.hasAttribute("city-lang") ? t.getAttribute("city-lang") : "zh-tw", Js(t), t.s.subDropdownTotalH = 0;
2390
+ t.s.allLi = t.querySelectorAll(".dropdown-list li"), t.s.selectDisplayEl = t.querySelector(".select-display"), t.s.dropdownEl = t.querySelector(".dropdown"), t.s.selectType = t.hasAttribute("multiple") ? "multiple" : "single", t.s.cityLang = t.hasAttribute("city-lang") ? t.getAttribute("city-lang") : "zh-tw", tn(t), t.s.subDropdownTotalH = 0;
2368
2391
  const e = t.getAttribute("d4-value");
2369
2392
  switch (t.s.selectType) {
2370
2393
  case "single":
@@ -2373,14 +2396,14 @@ Bt = new WeakSet(), ji = function() {
2373
2396
  const r = document.querySelector(`dropdown-el[dist-select="${t.id}"]`), l = r ? r.getAttribute("d4-value") !== "" : !1;
2374
2397
  if (r && l) {
2375
2398
  const c = r.getAttribute("d4-value");
2376
- if (Zs(t, c), t.s.allLi = t.querySelectorAll(".dropdown-list li"), t.classList.remove("disabled"), t.getAttribute("d4-value") !== "") {
2399
+ if (en(t, c), t.s.allLi = t.querySelectorAll(".dropdown-list li"), t.classList.remove("disabled"), t.getAttribute("d4-value") !== "") {
2377
2400
  const u = e.split(",")[1];
2378
2401
  o = t.querySelector(`.dropdown-list li[data-option="${u}"]`), t.setAttribute("d4-value", u);
2379
2402
  }
2380
2403
  }
2381
2404
  } else
2382
2405
  o = t.querySelector(`.dropdown-list li[data-option="${e}"]`);
2383
- E(o) ? (o.classList.add("active"), t.s.activeLi = o, t.s.value = {
2406
+ A(o) ? (o.classList.add("active"), t.s.activeLi = o, t.s.value = {
2384
2407
  index: [...t.s.allLi].indexOf(o),
2385
2408
  id: e,
2386
2409
  el: o
@@ -2394,7 +2417,7 @@ Bt = new WeakSet(), ji = function() {
2394
2417
  const a = [];
2395
2418
  e.split(",").forEach((r) => {
2396
2419
  const l = t.querySelector(`.dropdown-list li[data-option="${r}"]`);
2397
- E(l) && a.push(l);
2420
+ A(l) && a.push(l);
2398
2421
  }), a.length > 0 ? t.s.value = {
2399
2422
  index: a.map((r) => [...t.s.allLi].indexOf(r)),
2400
2423
  id: a.map((r) => r.getAttribute("data-option")),
@@ -2406,8 +2429,8 @@ Bt = new WeakSet(), ji = function() {
2406
2429
  };
2407
2430
  break;
2408
2431
  }
2409
- M(t, t.s.value.index), d(s = t, Rt, Wi).call(s), t.classList.add("d4-initialize");
2410
- }, Rt = new WeakSet(), Wi = function() {
2432
+ I(t, t.s.value.index), d(s = t, Ft, Fi).call(s), t.classList.add("d4-initialize");
2433
+ }, Ft = new WeakSet(), Fi = function() {
2411
2434
  const t = this;
2412
2435
  t.__events__.dropdownToggle = () => {
2413
2436
  t.addEventListener("click", function(e) {
@@ -2429,7 +2452,7 @@ Bt = new WeakSet(), ji = function() {
2429
2452
  const r = t.querySelector(".dropdown-scroller"), l = () => {
2430
2453
  if (t.__scroller__) {
2431
2454
  const { viewport: c } = t.__scroller__.elements();
2432
- if (E(t.s.activeLi)) {
2455
+ if (A(t.s.activeLi)) {
2433
2456
  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;
2434
2457
  c.scrollTo({
2435
2458
  top: g,
@@ -2453,7 +2476,7 @@ Bt = new WeakSet(), ji = function() {
2453
2476
  t.s.dropdownEl.addEventListener("transitionend", e);
2454
2477
  }, t.__events__.bindScrollbar = (e = this) => {
2455
2478
  const s = e.querySelector(".dropdown-scroller");
2456
- e.__scroller__ = ze(s, {
2479
+ e.__scroller__ = Xe(s, {
2457
2480
  overflowBehavior: {
2458
2481
  x: "hidden"
2459
2482
  }
@@ -2473,16 +2496,16 @@ Bt = new WeakSet(), ji = function() {
2473
2496
  s = g + e.s.subDropdownTotalH, o = s > C ? C : s, e.style.cssText = `--maxHeight: ${o}px;`, e.s.dropdownEl.style.height = `${o}px`;
2474
2497
  };
2475
2498
  u.classList.contains("open") ? (u.classList.remove("open"), e.s.subDropdownTotalH -= T, y()) : (u.classList.add("open"), e.s.subDropdownTotalH += T, y());
2476
- const D = () => {
2477
- e.__scroller__.update(!0), v.removeEventListener("transitionend", D);
2499
+ const S = () => {
2500
+ e.__scroller__.update(!0), v.removeEventListener("transitionend", S);
2478
2501
  };
2479
- v.addEventListener("transitionend", D);
2502
+ v.addEventListener("transitionend", S);
2480
2503
  } else
2481
- switch (Us(e), e.s.selectType) {
2504
+ switch (Vs(e), e.s.selectType) {
2482
2505
  case "single":
2483
2506
  if (e.setAttribute("d4-value", u.getAttribute("data-option")), r) {
2484
2507
  const v = e.s.cityLang, w = l.textContent.trim(), b = document.getElementById(e.getAttribute("dist-select"));
2485
- b && (b.querySelector(".dropdown-list").textContent = "", M(b, -1), Q[v][w].forEach((T, C) => {
2508
+ b && (b.querySelector(".dropdown-list").textContent = "", I(b, -1), K[v][w].forEach((T, C) => {
2486
2509
  const y = document.createElement("li");
2487
2510
  y.textContent = T[0], y.setAttribute("data-option", T[0]), b.querySelector(".dropdown-list").append(y);
2488
2511
  }), e.__events__.selectOption(b));
@@ -2490,7 +2513,7 @@ Bt = new WeakSet(), ji = function() {
2490
2513
  (m = u.parentNode.closest("li")) != null && m.classList.contains("has-sublayer") && (c.stopPropagation(), e.close());
2491
2514
  break;
2492
2515
  case "multiple":
2493
- c.stopPropagation(), u.classList.toggle("active"), M(e, p);
2516
+ c.stopPropagation(), u.classList.toggle("active"), I(e, p);
2494
2517
  break;
2495
2518
  }
2496
2519
  });
@@ -2523,9 +2546,9 @@ Bt = new WeakSet(), ji = function() {
2523
2546
  });
2524
2547
  }, t.__events__.dropdownToggle(), t.__events__.bindScrollbar(), t.__events__.selectOption(), t.__events__.filterHandler(), t.__events__.removeTag(), t.__events__.transitionend();
2525
2548
  };
2526
- Object.assign(Pi.prototype, j);
2527
- customElements.define("dropdown-el", Pi);
2528
- function gt(n) {
2549
+ Object.assign(Gi.prototype, z);
2550
+ customElements.define("dropdown-el", Gi);
2551
+ function bt(n) {
2529
2552
  const i = {};
2530
2553
  return [...n.attributes].forEach((t) => {
2531
2554
  if (t.name.includes("duration-")) {
@@ -2534,10 +2557,10 @@ function gt(n) {
2534
2557
  }
2535
2558
  }), Object.keys(i).length === 0 ? null : i;
2536
2559
  }
2537
- function Je(n) {
2538
- if (gt(n)) {
2560
+ function ti(n) {
2561
+ if (bt(n)) {
2539
2562
  let i;
2540
- const t = Object.keys(gt(n)).map((e) => ({
2563
+ const t = Object.keys(bt(n)).map((e) => ({
2541
2564
  value: e,
2542
2565
  point: e
2543
2566
  }));
@@ -2546,11 +2569,11 @@ function Je(n) {
2546
2569
  const { point: s, value: o } = t[e];
2547
2570
  window.matchMedia(`(max-width: ${o}px)`).matches && (i = s);
2548
2571
  }
2549
- return i ? Number(gt(n)[i]) : n.s.options.duration;
2572
+ return i ? Number(bt(n)[i]) : n.s.options.duration;
2550
2573
  } else
2551
2574
  return n.s.options.duration;
2552
2575
  }
2553
- function Ks(n) {
2576
+ function nn(n) {
2554
2577
  const { behavior: i, continual: t, gap: e } = n.s.options, s = n.childNodes, o = document.createElement("div"), a = document.createElement("div");
2555
2578
  o.className = "animate-container", a.className = "animate-item", [...s].forEach((l) => {
2556
2579
  a.append(l);
@@ -2617,20 +2640,20 @@ function H(n) {
2617
2640
  }
2618
2641
  return s;
2619
2642
  }
2620
- function Vs(n) {
2643
+ function on(n) {
2621
2644
  let i;
2622
2645
  return function(t) {
2623
2646
  i && clearTimeout(i), i = setTimeout(n, 200, t);
2624
2647
  };
2625
2648
  }
2626
- var Xt, Gi, Yt, Ri, Ft, Xi, Ut, Yi;
2627
- class tn extends HTMLElement {
2649
+ var Ut, Ui, Jt, Ji, Zt, Zi, Qt, Qi;
2650
+ class an extends HTMLElement {
2628
2651
  constructor() {
2629
2652
  super();
2630
- h(this, Xt);
2631
- h(this, Yt);
2632
- h(this, Ft);
2633
2653
  h(this, Ut);
2654
+ h(this, Jt);
2655
+ h(this, Zt);
2656
+ h(this, Qt);
2634
2657
  this.initialize = !1;
2635
2658
  }
2636
2659
  static get observedAttributes() {
@@ -2639,7 +2662,7 @@ class tn extends HTMLElement {
2639
2662
  attributeChangedCallback(t, e, s) {
2640
2663
  }
2641
2664
  connectedCallback() {
2642
- this.initialize || (this.initialize = !0, d(this, Xt, Gi).call(this));
2665
+ this.initialize || (this.initialize = !0, d(this, Ut, Ui).call(this));
2643
2666
  }
2644
2667
  play() {
2645
2668
  this.s.animation.play(), this.s.animateEl.classList.add("start"), this.s.options.continual && (this.s.cloneAnimation.play(), this.s.cloneAnimateEl.classList.add("start"));
@@ -2648,25 +2671,25 @@ class tn extends HTMLElement {
2648
2671
  this.s.animation.pause(), this.s.options.continual && this.s.cloneAnimation.pause();
2649
2672
  }
2650
2673
  }
2651
- Xt = new WeakSet(), Gi = function() {
2674
+ Ut = new WeakSet(), Ui = function() {
2652
2675
  const t = {
2653
- direction: this.getAttribute("direction") || I.SETTINGS.direction,
2676
+ direction: this.getAttribute("direction") || M.SETTINGS.direction,
2654
2677
  // up / down / left / right
2655
- behavior: this.getAttribute("behavior") || I.SETTINGS.behavior,
2678
+ behavior: this.getAttribute("behavior") || M.SETTINGS.behavior,
2656
2679
  // normal / alternate / endStop
2657
- duration: Number(this.getAttribute("duration")) || I.SETTINGS.duration,
2680
+ duration: Number(this.getAttribute("duration")) || M.SETTINGS.duration,
2658
2681
  // ms
2659
- durationBreakpoints: gt(this) || I.SETTINGS.durationBreakpoints,
2660
- autoplay: this.getAttribute("autoplay") || I.SETTINGS.autoplay,
2682
+ durationBreakpoints: bt(this) || M.SETTINGS.durationBreakpoints,
2683
+ autoplay: this.getAttribute("autoplay") || M.SETTINGS.autoplay,
2661
2684
  // normal / alternate / endStop
2662
- pauseOnMouseenter: this.getAttribute("pauseOnMouseEnter") ? this.getAttribute("pauseOnMouseEnter") === "true" : I.SETTINGS.pauseOnMouseenter,
2685
+ pauseOnMouseenter: this.getAttribute("pauseOnMouseEnter") ? this.getAttribute("pauseOnMouseEnter") === "true" : M.SETTINGS.pauseOnMouseenter,
2663
2686
  // true / false
2664
- continual: this.getAttribute("continual") ? this.getAttribute("continual") === "true" : I.SETTINGS.continual,
2687
+ continual: this.getAttribute("continual") ? this.getAttribute("continual") === "true" : M.SETTINGS.continual,
2665
2688
  // true / false
2666
- gap: Number(this.getAttribute("gap")) || I.SETTINGS.gap
2689
+ gap: Number(this.getAttribute("gap")) || M.SETTINGS.gap
2667
2690
  };
2668
- this.s = {}, this.s.options = t, this.s.nowDuration = Je(this), Ks(this), d(this, Yt, Ri).call(this);
2669
- }, Yt = new WeakSet(), Ri = function() {
2691
+ this.s = {}, this.s.options = t, this.s.nowDuration = ti(this), nn(this), d(this, Jt, Ji).call(this);
2692
+ }, Jt = new WeakSet(), Ji = function() {
2670
2693
  const { direction: t, continual: e, gap: s } = this.s.options;
2671
2694
  switch (t) {
2672
2695
  case "left":
@@ -2678,8 +2701,8 @@ Xt = new WeakSet(), Gi = function() {
2678
2701
  e ? this.style.cssText = `height: ${this.s.animateEl.clientHeight}px;--continual-gap: ${s}px;` : this.style.cssText = `min-height: ${this.s.animateEl.clientHeight}px;--continual-gap: ${s}px;`;
2679
2702
  break;
2680
2703
  }
2681
- d(this, Ft, Xi).call(this), d(this, Ut, Yi).call(this), e && this.classList.add("continual"), this.classList.add("m4-initialize");
2682
- }, Ft = new WeakSet(), Xi = function() {
2704
+ d(this, Zt, Zi).call(this), d(this, Qt, Qi).call(this), e && this.classList.add("continual"), this.classList.add("m4-initialize");
2705
+ }, Zt = new WeakSet(), Zi = function() {
2683
2706
  const t = this, { direction: e, behavior: s, duration: o, autoplay: a, pauseOnMouseenter: r, continual: l } = t.s.options;
2684
2707
  let c;
2685
2708
  function u() {
@@ -2744,11 +2767,11 @@ Xt = new WeakSet(), Gi = function() {
2744
2767
  }), t.addEventListener("mouseleave", function() {
2745
2768
  t.s.animation && r && t.s.animation.playState === "paused" && t.play();
2746
2769
  });
2747
- }, Ut = new WeakSet(), Yi = function() {
2770
+ }, Qt = new WeakSet(), Qi = function() {
2748
2771
  const t = this;
2749
2772
  function e() {
2750
2773
  const s = t.s.animation.startTime, o = t.s.cloneAnimation ? t.s.cloneAnimation.startTime : null;
2751
- t.s.nowDuration = Je(t), t.s.animation.cancel(), t.s.cloneAnimation && t.s.cloneAnimation.cancel(), t.s.animation = t.s.animateEl.animate(H(t).animate1, {
2774
+ t.s.nowDuration = ti(t), t.s.animation.cancel(), t.s.cloneAnimation && t.s.cloneAnimation.cancel(), t.s.animation = t.s.animateEl.animate(H(t).animate1, {
2752
2775
  duration: t.s.nowDuration,
2753
2776
  iterations: 1 / 0
2754
2777
  }), t.s.animation.startTime = s, t.s.cloneAnimation && (t.s.cloneAnimation = t.s.cloneAnimateEl.animate(H(t).animate2, {
@@ -2757,24 +2780,24 @@ Xt = new WeakSet(), Gi = function() {
2757
2780
  iterations: 1 / 0
2758
2781
  }), t.s.cloneAnimation.startTime = o);
2759
2782
  }
2760
- window.addEventListener("resize", Vs(e));
2783
+ window.addEventListener("resize", on(e));
2761
2784
  };
2762
- customElements.define("marquee-el", tn);
2763
- const Ze = function(n, i) {
2785
+ customElements.define("marquee-el", an);
2786
+ const ei = function(n, i) {
2764
2787
  let t;
2765
2788
  return function(e) {
2766
2789
  t && clearTimeout(t), t = setTimeout(n, 200, e);
2767
2790
  };
2768
- }, $ = (n, i) => {
2769
- if (ut(n)) {
2791
+ }, x = (n, i) => {
2792
+ if (mt(n)) {
2770
2793
  n.forEach((t) => {
2771
2794
  t.classList.add(i);
2772
2795
  });
2773
2796
  return;
2774
2797
  }
2775
2798
  n.classList.add(i);
2776
- }, _ = (n, i) => {
2777
- if (ut(n)) {
2799
+ }, $ = (n, i) => {
2800
+ if (mt(n)) {
2778
2801
  n.forEach((t) => {
2779
2802
  t.classList.remove(i);
2780
2803
  });
@@ -2782,22 +2805,22 @@ const Ze = function(n, i) {
2782
2805
  }
2783
2806
  n.classList.remove(i);
2784
2807
  };
2785
- var Jt, Fi, Zt, Ui, Qt, Ji, nt, Me, Y, ft, Kt, Zi;
2786
- class Qe {
2808
+ var Kt, Ki, Vt, Vi, te, ts, rt, je, Y, yt, ee, es;
2809
+ class ii {
2787
2810
  constructor(i) {
2788
2811
  // 初始化
2789
- h(this, Jt);
2812
+ h(this, Kt);
2790
2813
  // 左右箭頭事件綁定
2791
- h(this, Zt);
2814
+ h(this, Vt);
2792
2815
  // 左右拖拉事件綁定
2793
- h(this, Qt);
2816
+ h(this, te);
2794
2817
  // 卷軸位置判斷
2795
- h(this, nt);
2818
+ h(this, rt);
2796
2819
  // 隱藏按鈕判斷
2797
2820
  h(this, Y);
2798
2821
  // 選項事件綁定
2799
- h(this, Kt);
2800
- this.$element = i, this.option = i.s.option.drag, this._didInitialScroll = !1, d(this, Jt, Fi).call(this);
2822
+ h(this, ee);
2823
+ this.$element = i, this.option = i.s.option.drag, this._didInitialScroll = !1, d(this, Kt, Ki).call(this);
2801
2824
  }
2802
2825
  // 更新 active 位置
2803
2826
  update(i = !1) {
@@ -2818,7 +2841,7 @@ class Qe {
2818
2841
  s();
2819
2842
  }
2820
2843
  }
2821
- Jt = new WeakSet(), Fi = function() {
2844
+ Kt = new WeakSet(), Ki = function() {
2822
2845
  var s, o, a, r;
2823
2846
  const i = this;
2824
2847
  if (!i.$element)
@@ -2827,11 +2850,11 @@ Jt = new WeakSet(), Fi = function() {
2827
2850
  let t = !1;
2828
2851
  const e = () => {
2829
2852
  t || (requestAnimationFrame(() => {
2830
- d(this, nt, Me).call(this), d(this, Y, ft).call(this), t = !1;
2853
+ d(this, rt, je).call(this), d(this, Y, yt).call(this), t = !1;
2831
2854
  }), t = !0);
2832
2855
  };
2833
- i.$wrapper.removeEventListener("scroll", e), i.$wrapper.addEventListener("scroll", e), window.removeEventListener("resize", e), window.addEventListener("resize", e), (i.option.draggable || i.$element.s.type == "collapse") && d(s = i, Qt, Ji).call(s), i.option.navigation && i.$element.s.type !== "collapse" && (i.$container.insertAdjacentHTML(
2834
- S.prepend,
2856
+ i.$wrapper.removeEventListener("scroll", e), i.$wrapper.addEventListener("scroll", e), window.removeEventListener("resize", e), window.addEventListener("resize", e), (i.option.draggable || i.$element.s.type == "collapse") && d(s = i, te, ts).call(s), i.option.navigation && i.$element.s.type !== "collapse" && (i.$container.insertAdjacentHTML(
2857
+ L.prepend,
2835
2858
  `<div class="navigation">
2836
2859
  <div class="button prev">
2837
2860
  <div></div>
@@ -2840,10 +2863,10 @@ Jt = new WeakSet(), Fi = function() {
2840
2863
  <div></div>
2841
2864
  </div>
2842
2865
  </div>`
2843
- ), i.$button = (o = i.$container) == null ? void 0 : o.querySelectorAll(".button"), d(a = i, Zt, Ui).call(a)), d(r = i, Kt, Zi).call(r), i.update(!0), requestAnimationFrame(() => {
2844
- d(this, nt, Me).call(this), d(this, Y, ft).call(this);
2866
+ ), i.$button = (o = i.$container) == null ? void 0 : o.querySelectorAll(".button"), d(a = i, Vt, Vi).call(a)), d(r = i, ee, es).call(r), i.update(!0), requestAnimationFrame(() => {
2867
+ d(this, rt, je).call(this), d(this, Y, yt).call(this);
2845
2868
  });
2846
- }, Zt = new WeakSet(), Ui = function() {
2869
+ }, Vt = new WeakSet(), Vi = function() {
2847
2870
  const i = this, { $wrapper: t, $button: e } = i, s = function() {
2848
2871
  const o = this.classList.contains("next"), a = parseInt(t.getBoundingClientRect().width * 0.7);
2849
2872
  t.scrollTo({
@@ -2851,13 +2874,13 @@ Jt = new WeakSet(), Fi = function() {
2851
2874
  behavior: "smooth"
2852
2875
  }), setTimeout(() => {
2853
2876
  var r;
2854
- d(r = i, Y, ft).call(r);
2877
+ d(r = i, Y, yt).call(r);
2855
2878
  }, 100);
2856
2879
  };
2857
2880
  e.forEach((o) => {
2858
2881
  o.removeEventListener("click", s), o.addEventListener("click", s);
2859
2882
  });
2860
- }, Qt = new WeakSet(), Ji = function() {
2883
+ }, te = new WeakSet(), ts = function() {
2861
2884
  const { $wrapper: i } = this;
2862
2885
  let t = !1, e = !1, s = 0, o = 0;
2863
2886
  const a = function(p) {
@@ -2887,32 +2910,32 @@ Jt = new WeakSet(), Fi = function() {
2887
2910
  i.querySelectorAll("a").forEach((p) => {
2888
2911
  p.removeEventListener("click", u), p.addEventListener("click", u);
2889
2912
  });
2890
- }, nt = new WeakSet(), Me = function() {
2913
+ }, rt = new WeakSet(), je = function() {
2891
2914
  const { $container: i, $wrapper: t } = this, e = t.scrollWidth - t.clientWidth, s = Math.round(t.scrollLeft);
2892
- e <= 0 || ($(i, "scrollable"), s == 0 ? ($(t, "start"), _(t, "end")) : s + 1 >= e ? (_(t, "start"), $(t, "end")) : ($(t, "center"), _(t, "start"), _(t, "end")));
2893
- }, Y = new WeakSet(), ft = function() {
2915
+ e <= 0 || (x(i, "scrollable"), s == 0 ? (x(t, "start"), $(t, "end")) : s + 1 >= e ? ($(t, "start"), x(t, "end")) : (x(t, "center"), $(t, "start"), $(t, "end")));
2916
+ }, Y = new WeakSet(), yt = function() {
2894
2917
  const { $wrapper: i, $button: t, $element: e } = this;
2895
2918
  if (!t)
2896
2919
  return;
2897
2920
  const s = i.scrollWidth - i.clientWidth, o = i.scrollLeft;
2898
2921
  if (s <= 0) {
2899
- $(t, "hide"), _(t, "active"), $(e, "noScrollable");
2922
+ x(t, "hide"), $(t, "active"), x(e, "noScrollable");
2900
2923
  return;
2901
2924
  }
2902
- s > 0 && ($(t, "active"), _(e, "noScrollable")), o == 0 ? t.forEach((a) => {
2925
+ s > 0 && (x(t, "active"), $(e, "noScrollable")), o == 0 ? t.forEach((a) => {
2903
2926
  if (a.classList.contains("next")) {
2904
- _(a, "hide");
2927
+ $(a, "hide");
2905
2928
  return;
2906
2929
  }
2907
- $(a, "hide");
2930
+ x(a, "hide");
2908
2931
  }) : o + 1 >= s ? t.forEach((a) => {
2909
2932
  if (a.classList.contains("next")) {
2910
- $(a, "hide");
2933
+ x(a, "hide");
2911
2934
  return;
2912
2935
  }
2913
- _(a, "hide");
2914
- }) : _(t, "hide");
2915
- }, Kt = new WeakSet(), Zi = function() {
2936
+ $(a, "hide");
2937
+ }) : $(t, "hide");
2938
+ }, ee = new WeakSet(), es = function() {
2916
2939
  const { $element: i } = this, t = (s) => {
2917
2940
  if (this.option.selected) {
2918
2941
  const o = s.getAttribute("data-option").trim();
@@ -2926,31 +2949,31 @@ Jt = new WeakSet(), Fi = function() {
2926
2949
  s.removeEventListener("click", e), s.addEventListener("click", e);
2927
2950
  });
2928
2951
  };
2929
- var Vt, Qi, te, Ki, ee, Vi, ie, ts;
2930
- class en {
2952
+ var ie, is, se, ss, ne, ns, oe, os;
2953
+ class rn {
2931
2954
  constructor(i) {
2932
2955
  // 初始化
2933
- h(this, Vt);
2956
+ h(this, ie);
2934
2957
  // 隱藏按鈕判斷
2935
- h(this, te);
2958
+ h(this, se);
2936
2959
  // 展開箭頭事件綁定
2937
- h(this, ee);
2960
+ h(this, ne);
2938
2961
  // 選項事件綁定
2939
- h(this, ie);
2940
- this.$element = i, this.option = i.s.option.collapse, d(this, Vt, Qi).call(this);
2962
+ h(this, oe);
2963
+ this.$element = i, this.option = i.s.option.collapse, d(this, ie, is).call(this);
2941
2964
  }
2942
2965
  }
2943
- Vt = new WeakSet(), Qi = function() {
2944
- this.$element && (this.$container = this.$element.querySelector(".collapse-container"), this.$wrapper = this.$container.querySelector(".wrapper"), d(this, te, Ki).call(this) && d(this, ee, Vi).call(this), d(this, ie, ts).call(this));
2945
- }, te = new WeakSet(), Ki = function() {
2966
+ ie = new WeakSet(), is = function() {
2967
+ this.$element && (this.$container = this.$element.querySelector(".collapse-container"), this.$wrapper = this.$container.querySelector(".wrapper"), d(this, se, ss).call(this) && d(this, ne, ns).call(this), d(this, oe, os).call(this));
2968
+ }, se = new WeakSet(), ss = function() {
2946
2969
  const i = this.$element.querySelector(".drag-container"), t = i.querySelector(".wrapper");
2947
- return t.scrollWidth - t.clientWidth > 0 ? (i.insertAdjacentHTML(S.append, '<div class="open-collapse"></div>'), this.$button = i.querySelector(".open-collapse"), _(this.$element, "noScrollable"), !0) : ($(this.$element, "noScrollable"), !1);
2948
- }, ee = new WeakSet(), Vi = function() {
2970
+ return t.scrollWidth - t.clientWidth > 0 ? (i.insertAdjacentHTML(L.append, '<div class="open-collapse"></div>'), this.$button = i.querySelector(".open-collapse"), $(this.$element, "noScrollable"), !0) : (x(this.$element, "noScrollable"), !1);
2971
+ }, ne = new WeakSet(), ns = function() {
2949
2972
  const { $element: i, $button: t } = this, e = function() {
2950
2973
  i.classList.contains("expand") ? i.classList.remove("expand") : i.classList.add("expand");
2951
2974
  };
2952
2975
  t.removeEventListener("click", e), t.addEventListener("click", e);
2953
- }, ie = new WeakSet(), ts = function() {
2976
+ }, oe = new WeakSet(), os = function() {
2954
2977
  const { $element: i } = this, t = (s, o) => {
2955
2978
  if (i != null && i.classList.contains("expand") ? i == null || i.classList.remove("expand") : i == null || i.classList.add("expand"), this.option.selected) {
2956
2979
  const a = s.getAttribute("data-option").trim();
@@ -2964,18 +2987,18 @@ Vt = new WeakSet(), Qi = function() {
2964
2987
  s.removeEventListener("click", e), s.addEventListener("click", e);
2965
2988
  });
2966
2989
  };
2967
- const sn = (n) => {
2990
+ const ln = (n) => {
2968
2991
  const { type: i, option: t, originalDomString: e } = n.s, s = document.createElement("div");
2969
- return i == "drag" && (s.innerHTML = q.TEMPLATE[i]().trim(), s.querySelector(".drag-container .wrapper").insertAdjacentHTML(S.append, e)), i == "collapse" && (s.innerHTML = q.TEMPLATE[i](t == null ? void 0 : t.collapse).trim(), s.querySelector(".drag-container .wrapper").insertAdjacentHTML(S.append, e), s.querySelector(".collapse-container .wrapper").insertAdjacentHTML(S.append, e)), i == "dropdown" && (s.innerHTML = q.TEMPLATE[i](t == null ? void 0 : t.dropdown).trim(), s.querySelector("dropdown-el").insertAdjacentHTML(S.append, e)), s.children;
2992
+ return i == "drag" && (s.innerHTML = q.TEMPLATE[i]().trim(), s.querySelector(".drag-container .wrapper").insertAdjacentHTML(L.append, e)), i == "collapse" && (s.innerHTML = q.TEMPLATE[i](t == null ? void 0 : t.collapse).trim(), s.querySelector(".drag-container .wrapper").insertAdjacentHTML(L.append, e), s.querySelector(".collapse-container .wrapper").insertAdjacentHTML(L.append, e)), i == "dropdown" && (s.innerHTML = q.TEMPLATE[i](t == null ? void 0 : t.dropdown).trim(), s.querySelector("dropdown-el").insertAdjacentHTML(L.append, e)), s.children;
2970
2993
  };
2971
- var se, es, ne, is, ot, qe, F, vt;
2972
- class nn extends HTMLElement {
2994
+ var ae, as, re, rs, lt, ze, F, wt;
2995
+ class cn extends HTMLElement {
2973
2996
  constructor() {
2974
2997
  super();
2975
- h(this, se);
2976
- h(this, ne);
2998
+ h(this, ae);
2999
+ h(this, re);
2977
3000
  // 斷點設定
2978
- h(this, ot);
3001
+ h(this, lt);
2979
3002
  // check type
2980
3003
  h(this, F);
2981
3004
  this.initialize = !1, this.__events__ = {}, this.s = {}, this.s.originalDomString = this.innerHTML.trim().replace(/\n/g, ""), this.previousWidth = window.innerWidth;
@@ -2989,7 +3012,7 @@ class nn extends HTMLElement {
2989
3012
  case "m4-type":
2990
3013
  if (e === null || e === s)
2991
3014
  return;
2992
- this.s.type = s, d(this, F, vt).call(this);
3015
+ this.s.type = s, d(this, F, wt).call(this);
2993
3016
  break;
2994
3017
  case "m4-status":
2995
3018
  if (e === s)
@@ -3006,13 +3029,13 @@ class nn extends HTMLElement {
3006
3029
  }
3007
3030
  }
3008
3031
  connectedCallback() {
3009
- this.initialize || this.classList.contains("m4-init") || (this.initialize = !0, d(this, se, es).call(this));
3032
+ this.initialize || this.classList.contains("m4-init") || (this.initialize = !0, d(this, ae, as).call(this));
3010
3033
  }
3011
3034
  update() {
3012
- d(this, ot, qe).call(this);
3035
+ d(this, lt, ze).call(this);
3013
3036
  }
3014
3037
  }
3015
- se = new WeakSet(), es = function() {
3038
+ ae = new WeakSet(), as = function() {
3016
3039
  let t = {};
3017
3040
  this.hasAttribute("m4-value") || this.setAttribute("m4-value", ""), this.s.type = this.getAttribute("m4-type") ?? q.SETTINGS.type, this.hasAttribute("m4-option") && (t = this.getAttribute("m4-option") ? JSON.parse(this.getAttribute("m4-option")) : {}, this.removeAttribute("m4-option"));
3018
3041
  const e = (s) => {
@@ -3023,84 +3046,84 @@ se = new WeakSet(), es = function() {
3023
3046
  }
3024
3047
  this.update();
3025
3048
  };
3026
- window.removeEventListener("resize", Ze(e)), window.addEventListener("resize", Ze(e)), this.s.option = {}, this.s.option.drag = Object.assign({}, q.SETTINGS.drag, t == null ? void 0 : t.drag), this.s.option.collapse = Object.assign({}, q.SETTINGS.collapse, t == null ? void 0 : t.collapse), this.s.option.dropdown = Object.assign({}, q.SETTINGS.dropdown, t == null ? void 0 : t.dropdown), this.s.option.breakpoint = Object.assign({}, q.SETTINGS.breakpoint, t == null ? void 0 : t.breakpoint), d(this, ne, is).call(this);
3027
- }, ne = new WeakSet(), is = function() {
3028
- this.classList.add("m4-init"), d(this, ot, qe).call(this);
3029
- }, ot = new WeakSet(), qe = function() {
3049
+ window.removeEventListener("resize", ei(e)), window.addEventListener("resize", ei(e)), this.s.option = {}, this.s.option.drag = Object.assign({}, q.SETTINGS.drag, t == null ? void 0 : t.drag), this.s.option.collapse = Object.assign({}, q.SETTINGS.collapse, t == null ? void 0 : t.collapse), this.s.option.dropdown = Object.assign({}, q.SETTINGS.dropdown, t == null ? void 0 : t.dropdown), this.s.option.breakpoint = Object.assign({}, q.SETTINGS.breakpoint, t == null ? void 0 : t.breakpoint), d(this, re, rs).call(this);
3050
+ }, re = new WeakSet(), rs = function() {
3051
+ this.classList.add("m4-init"), d(this, lt, ze).call(this);
3052
+ }, lt = new WeakSet(), ze = function() {
3030
3053
  const t = Object.keys(this.s.option.breakpoint);
3031
3054
  if (!t.length) {
3032
- d(this, F, vt).call(this);
3055
+ d(this, F, wt).call(this);
3033
3056
  return;
3034
3057
  }
3035
3058
  t.map((e) => Number(e)).sort((e, s) => s - e).some((e) => {
3036
3059
  var s, o, a, r;
3037
- 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, F, vt).call(this), window.innerWidth >= e;
3060
+ 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, F, wt).call(this), window.innerWidth >= e;
3038
3061
  });
3039
- }, F = new WeakSet(), vt = function() {
3062
+ }, F = new WeakSet(), wt = function() {
3040
3063
  var o;
3041
3064
  const { type: t } = this.s;
3042
- this.innerHTML = "", [...sn(this)].forEach((a) => {
3065
+ this.innerHTML = "", [...ln(this)].forEach((a) => {
3043
3066
  this.append(a);
3044
3067
  });
3045
3068
  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")}"]`);
3046
3069
  switch (e == null || e.classList.add("active"), s == null || s.classList.add("active"), t) {
3047
3070
  case "drag":
3048
- this.drag = new Qe(this);
3071
+ this.drag = new ii(this);
3049
3072
  break;
3050
3073
  case "collapse":
3051
- this.drag = new Qe(this), this.collapse = new en(this);
3074
+ this.drag = new ii(this), this.collapse = new rn(this);
3052
3075
  break;
3053
3076
  }
3054
3077
  (o = this.drag) == null || o.update();
3055
3078
  };
3056
- customElements.define("multipurpose-nav", nn);
3057
- var oe, ns, ae, os, at, Oe, W, J, re, as, le, rs, ce, ls, de, cs, ue, ds, he, us, pe, hs, me, ps, ge, ms, N, R, fe, gs, ve, fs, be, vs, ye, bs;
3058
- class ss extends HTMLElement {
3079
+ customElements.define("multipurpose-nav", cn);
3080
+ var le, cs, ce, ds, ct, Be, W, Z, de, us, ue, hs, he, ps, pe, ms, me, gs, ge, fs, fe, vs, ve, bs, be, ys, N, R, ye, ws, we, Ts, Te, Es, Ee, As;
3081
+ class ls extends HTMLElement {
3059
3082
  // 定義組件的初始狀態
3060
3083
  constructor(t, e) {
3061
3084
  super();
3062
- h(this, oe);
3063
- h(this, ae);
3085
+ h(this, le);
3086
+ h(this, ce);
3064
3087
  // 第一關 判斷數量以及id設定
3065
- h(this, at);
3088
+ h(this, ct);
3066
3089
  // 第二關 id命名提醒
3067
3090
  h(this, W);
3068
- h(this, re);
3069
- h(this, le);
3070
- h(this, ce);
3091
+ h(this, de);
3092
+ h(this, ue);
3093
+ h(this, he);
3071
3094
  // 執行函式
3072
3095
  // 移動至指定位置
3073
- h(this, de);
3096
+ h(this, pe);
3074
3097
  // 移動
3075
- h(this, ue);
3098
+ h(this, me);
3076
3099
  // 步驟狀態
3077
- h(this, he);
3100
+ h(this, ge);
3078
3101
  // next 按鈕狀態
3079
- h(this, pe);
3102
+ h(this, fe);
3080
3103
  // prev 按鈕狀態
3081
- h(this, me);
3104
+ h(this, ve);
3082
3105
  // 頁籤狀態
3083
- h(this, ge);
3106
+ h(this, be);
3084
3107
  // 第三關各種元件判斷 及 執行
3085
3108
  h(this, N);
3086
3109
  // 消失動畫
3087
- h(this, fe);
3110
+ h(this, ye);
3088
3111
  // 出現動畫
3089
- h(this, ve);
3112
+ h(this, we);
3090
3113
  // 狀態
3091
- h(this, be);
3114
+ h(this, Te);
3092
3115
  // resize
3093
- h(this, ye);
3116
+ h(this, Ee);
3094
3117
  }
3095
3118
  // 當組件的屬性被更改時會被呼叫
3096
3119
  static get observedAttributes() {
3097
3120
  return ["t4-active"];
3098
3121
  }
3099
3122
  attributeChangedCallback(t, e, s) {
3100
- t === "t4-active" && e !== s && d(this, be, vs).call(this, s);
3123
+ t === "t4-active" && e !== s && d(this, Te, Es).call(this, s);
3101
3124
  }
3102
3125
  connectedCallback() {
3103
- this.classList.contains("t4-initialize") || d(this, oe, ns).call(this);
3126
+ this.classList.contains("t4-initialize") || d(this, le, cs).call(this);
3104
3127
  }
3105
3128
  // ------------- 我是分隔線呦 -------------
3106
3129
  // 頁籤切換
@@ -3114,28 +3137,28 @@ class ss extends HTMLElement {
3114
3137
  setActiveTab(t) {
3115
3138
  const { t: e } = this, s = t === "" ? e.tabPanels[0].getAttribute("t4-id") : t;
3116
3139
  e.activeTab = s, this.setAttribute("t4-active", s);
3117
- const o = d(this, W, J).call(this, s);
3140
+ const o = d(this, W, Z).call(this, s);
3118
3141
  e.tabPanels.forEach((a, r) => {
3119
- r === o ? d(this, ve, fs).call(this, r) : d(this, fe, gs).call(this, r);
3142
+ r === o ? d(this, we, Ts).call(this, r) : d(this, ye, ws).call(this, r);
3120
3143
  });
3121
3144
  }
3122
3145
  // 外部呼叫方法 $0.goNext()
3123
3146
  goNext() {
3124
- const t = d(this, W, J).call(this, this.t.activeTab), e = Math.min(this.t.tabPanels.length - 1, t + 1), s = this.t.tabPanels[e].getAttribute("t4-id");
3147
+ const t = d(this, W, Z).call(this, this.t.activeTab), e = Math.min(this.t.tabPanels.length - 1, t + 1), s = this.t.tabPanels[e].getAttribute("t4-id");
3125
3148
  this.setActiveTab(s);
3126
3149
  }
3127
3150
  // 外部呼叫方法 $0.goPrev()
3128
3151
  goPrev() {
3129
- const t = d(this, W, J).call(this, this.t.activeTab), e = Math.max(0, t - 1), s = this.t.tabPanels[e].getAttribute("t4-id");
3152
+ const t = d(this, W, Z).call(this, this.t.activeTab), e = Math.max(0, t - 1), s = this.t.tabPanels[e].getAttribute("t4-id");
3130
3153
  this.setActiveTab(s);
3131
3154
  }
3132
3155
  // 外部呼叫方法 $0.update()
3133
3156
  update() {
3134
- this.t.tabs = d(this, at, Oe).call(this), ys(), console.log("tab update!!!!");
3157
+ this.t.tabs = d(this, ct, Be).call(this), Ls(), console.log("tab update!!!!");
3135
3158
  }
3136
3159
  }
3137
- oe = new WeakSet(), ns = function() {
3138
- const t = this.getAttribute("t4-name"), { SETTINGS: e } = ii;
3160
+ le = new WeakSet(), cs = function() {
3161
+ const t = this.getAttribute("t4-name"), { SETTINGS: e } = ri;
3139
3162
  document.querySelectorAll(`tab-el[t4-name=${t}]`).length > 1 && console.warn(t, "名字有重複喔!!!"), this.t = {
3140
3163
  tabs: [],
3141
3164
  name: t,
@@ -3154,36 +3177,36 @@ oe = new WeakSet(), ns = function() {
3154
3177
  delay: this.getAttribute("t4-delay") || e.transition.delay
3155
3178
  },
3156
3179
  tabGroup: this.getAttribute("t4-group") || e.tabGroup
3157
- }, this.__events__ = {}, this.t.tabs = d(this, at, Oe).call(this), this.t.step = document.querySelector(`[t4-control="${this.t.name}"]${this.t.stepOutput}`), d(this, ae, os).call(this);
3158
- }, ae = new WeakSet(), os = function() {
3159
- if (this.t.activeTab = this.t.defaultPage, this.t.display === "swiper" && d(this, re, as).call(this), this.t.recordUrl) {
3180
+ }, this.__events__ = {}, this.t.tabs = d(this, ct, Be).call(this), this.t.step = document.querySelector(`[t4-control="${this.t.name}"]${this.t.stepOutput}`), d(this, ce, ds).call(this);
3181
+ }, ce = new WeakSet(), ds = function() {
3182
+ if (this.t.activeTab = this.t.defaultPage, this.t.display === "swiper" && d(this, de, us).call(this), this.t.recordUrl) {
3160
3183
  const e = new URLSearchParams(document.location.search).get(this.t.name), s = document.querySelectorAll(`[t4-name="${this.t.name}"] .tab-panel[t4-id="${e}"]`);
3161
3184
  e && s.length === 1 ? this.t.activeTab = e : console.warn(`沒有${e}這頁喔!!`);
3162
3185
  }
3163
- this.setActiveTab(this.t.activeTab), this.classList.add("t4-initialize"), d(this, ye, bs).call(this);
3164
- }, at = new WeakSet(), Oe = function() {
3186
+ this.setActiveTab(this.t.activeTab), this.classList.add("t4-initialize"), d(this, Ee, As).call(this);
3187
+ }, ct = new WeakSet(), Be = function() {
3165
3188
  const { t } = this, e = Array.from(document.querySelectorAll(`[t4-control="${t.name}"][t4-role="tab"]`));
3166
3189
  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) => {
3167
3190
  s.getAttribute("t4-id") || console.warn(s, "請幫我設定id!!");
3168
3191
  }), e;
3169
- }, W = new WeakSet(), J = function(t) {
3192
+ }, W = new WeakSet(), Z = function(t) {
3170
3193
  const { t: e } = this, s = e.tabPanels.filter((a) => a.getAttribute("t4-id") === t);
3171
3194
  s.length > 1 && console.warn("有兩個相同id設定", s);
3172
3195
  const o = s[0];
3173
3196
  return o ? e.tabPanels.indexOf(o) : (console.warn(`找不到t4-id為${t}的頁籤`), 0);
3174
- }, re = new WeakSet(), as = function() {
3197
+ }, de = new WeakSet(), us = function() {
3175
3198
  const t = document.createElement("div");
3176
3199
  t.classList.add("swiper-container");
3177
3200
  const e = document.createElement("div");
3178
3201
  e.classList.add("swiper-wrapper"), this.t.tabPanels.forEach((s) => {
3179
3202
  e.appendChild(s.cloneNode(!0));
3180
- }), this.t.tabPanels = [...e.children], t.appendChild(e), this.innerHTML = "", this.appendChild(t), d(this, le, rs).call(this);
3181
- }, le = new WeakSet(), rs = function() {
3203
+ }), this.t.tabPanels = [...e.children], t.appendChild(e), this.innerHTML = "", this.appendChild(t), d(this, ue, hs).call(this);
3204
+ }, ue = new WeakSet(), hs = function() {
3182
3205
  const t = this.querySelector(".swiper-container"), e = this.querySelector(".swiper-wrapper"), s = this.t.tabPanels;
3183
3206
  t.style.overflow = "hidden", e.style.display = "flex";
3184
3207
  const o = s.length * 100 + "%";
3185
3208
  e.style.width = o;
3186
- }, ce = new WeakSet(), ls = function(t) {
3209
+ }, he = new WeakSet(), ps = function(t) {
3187
3210
  const { t: e } = this;
3188
3211
  if (e.recordUrl === "true") {
3189
3212
  const s = new URLSearchParams(document.location.search);
@@ -3191,28 +3214,28 @@ oe = new WeakSet(), ns = function() {
3191
3214
  const o = `${window.location.pathname}?${s.toString()}`;
3192
3215
  history.replaceState({ t4Id: t }, "", o);
3193
3216
  }
3194
- }, de = new WeakSet(), cs = function() {
3217
+ }, pe = new WeakSet(), ms = function() {
3195
3218
  const t = parseInt(this.t.gap, 10), e = window.pageYOffset, o = this.getBoundingClientRect().top + e - t;
3196
- d(this, ue, ds).call(this, o);
3197
- }, ue = new WeakSet(), ds = function(t) {
3219
+ d(this, me, gs).call(this, o);
3220
+ }, me = new WeakSet(), gs = function(t) {
3198
3221
  window.scrollTo({
3199
3222
  top: t,
3200
3223
  behavior: "smooth"
3201
3224
  });
3202
- }, he = new WeakSet(), us = function(t) {
3225
+ }, ge = new WeakSet(), fs = function(t) {
3203
3226
  let e = parseInt(t, 10) + 1;
3204
3227
  this.t.step.textContent = `${e}`, this.t.step.setAttribute("now-page", e);
3205
- }, pe = new WeakSet(), hs = function(t) {
3228
+ }, fe = new WeakSet(), vs = function(t) {
3206
3229
  const e = document.querySelectorAll(`[t4-role="next"][t4-control="${this.t.name}"]`), s = this.t.tabPanels.length === 1, o = t === this.t.tabPanels.length - 1;
3207
3230
  e.forEach((a) => {
3208
3231
  s || o ? a.setAttribute("disabled", "") : a.removeAttribute("disabled");
3209
3232
  });
3210
- }, me = new WeakSet(), ps = function(t) {
3233
+ }, ve = new WeakSet(), bs = function(t) {
3211
3234
  const e = document.querySelectorAll(`[t4-role="prev"][t4-control="${this.t.name}"]`), s = this.t.tabPanels.length === 1, o = t === 0;
3212
3235
  e.forEach((a) => {
3213
3236
  s || o ? a.setAttribute("disabled", "") : a.removeAttribute("disabled");
3214
3237
  });
3215
- }, ge = new WeakSet(), ms = function(t, e) {
3238
+ }, be = new WeakSet(), ys = function(t, e) {
3216
3239
  this.t.tabGroup === "true" ? this.t.tabs.forEach((s, o) => {
3217
3240
  o == t ? s.setAttribute("aria-selected", !0) : s.setAttribute("aria-selected", !1);
3218
3241
  }) : this.t.tabs.forEach((s, o) => {
@@ -3221,25 +3244,25 @@ oe = new WeakSet(), ns = function() {
3221
3244
  }, N = new WeakSet(), R = function(t, e, s) {
3222
3245
  switch (t) {
3223
3246
  case "step":
3224
- De(this.t.step) && d(this, he, us).call(this, e);
3247
+ xe(this.t.step) && d(this, ge, fs).call(this, e);
3225
3248
  break;
3226
3249
  case "eventAnchor":
3227
- this.t.anchor && d(this, de, cs).call(this);
3250
+ this.t.anchor && d(this, pe, ms).call(this);
3228
3251
  break;
3229
3252
  case "tabState":
3230
- this.t.type == "normal" && d(this, ge, ms).call(this, e, s);
3253
+ this.t.type == "normal" && d(this, be, ys).call(this, e, s);
3231
3254
  break;
3232
3255
  case "btnState":
3233
- d(this, pe, hs).call(this, e), d(this, me, ps).call(this, e);
3256
+ d(this, fe, vs).call(this, e), d(this, ve, bs).call(this, e);
3234
3257
  break;
3235
3258
  case "tabUrl":
3236
- this.t.recordUrl === "true" && d(this, ce, ls).call(this, e);
3259
+ this.t.recordUrl === "true" && d(this, he, ps).call(this, e);
3237
3260
  break;
3238
3261
  default:
3239
3262
  console.warn("請增加判斷,謝謝");
3240
3263
  break;
3241
3264
  }
3242
- }, fe = new WeakSet(), gs = function(t) {
3265
+ }, ye = new WeakSet(), ws = function(t) {
3243
3266
  const { t: e } = this;
3244
3267
  this.t.transition;
3245
3268
  const s = e.tabPanels[t];
@@ -3256,7 +3279,7 @@ oe = new WeakSet(), ns = function() {
3256
3279
  s.style.display = "none";
3257
3280
  break;
3258
3281
  }
3259
- }, ve = new WeakSet(), fs = function(t) {
3282
+ }, we = new WeakSet(), Ts = function(t) {
3260
3283
  const { duration: e, timing: s, delay: o } = this.t.transition, a = this.t.tabPanels[t];
3261
3284
  let r;
3262
3285
  switch (a.classList.add("show"), a.classList.remove("hide"), a.style.transition = `opacity ${e}ms ${s} ${o}ms`, a.style.display = "block", this.t.display) {
@@ -3281,25 +3304,25 @@ oe = new WeakSet(), ns = function() {
3281
3304
  console.warn(this.t.display, "沒有這個效果請自己想辦法!!!!");
3282
3305
  break;
3283
3306
  }
3284
- }, be = new WeakSet(), vs = function(t) {
3285
- const e = d(this, W, J).call(this, t);
3307
+ }, Te = new WeakSet(), Es = function(t) {
3308
+ const e = d(this, W, Z).call(this, t);
3286
3309
  d(this, N, R).call(this, "step", e), d(this, N, R).call(this, "btnState", e), d(this, N, R).call(this, "tabState", e, t), d(this, N, R).call(this, "tabUrl", t), this.emit("change");
3287
- }, ye = new WeakSet(), bs = function() {
3310
+ }, Ee = new WeakSet(), As = function() {
3288
3311
  const t = this;
3289
3312
  window.addEventListener(
3290
3313
  "resize",
3291
- on(() => {
3314
+ dn(() => {
3292
3315
  t.update();
3293
3316
  }, 1e3)
3294
3317
  );
3295
3318
  };
3296
- function on(n, i = 1e3) {
3319
+ function dn(n, i = 1e3) {
3297
3320
  let t;
3298
3321
  return function(e) {
3299
3322
  t && clearTimeout(t), t = setTimeout(n, i, e);
3300
3323
  };
3301
3324
  }
3302
- function ys() {
3325
+ function Ls() {
3303
3326
  const n = document.querySelectorAll("[t4-control]");
3304
3327
  document.addEventListener("click", function(i) {
3305
3328
  let t = !1;
@@ -3329,91 +3352,91 @@ function ys() {
3329
3352
  }
3330
3353
  });
3331
3354
  }
3332
- ys();
3333
- Object.assign(ss.prototype, j);
3334
- customElements.define("tab-el", ss);
3335
- const Ke = (n) => {
3355
+ Ls();
3356
+ Object.assign(ls.prototype, z);
3357
+ customElements.define("tab-el", ls);
3358
+ const si = (n) => {
3336
3359
  const { defaultOptions: i } = n.collapse, { collapseClass: t, target: e, transition: s } = i, o = n.querySelector(e);
3337
3360
  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";
3338
- }, an = (n) => {
3361
+ }, un = (n) => {
3339
3362
  const { defaultOptions: i } = n.collapse, { collapseClass: t, target: e, transition: s } = i, o = n.querySelector(e), a = o.children[0].offsetHeight;
3340
3363
  n.collapse.height = a, n.classList.remove(t), o.style.display = "block", o.style.height = `${a}px`, 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";
3341
3364
  };
3342
- var rt, Ne, we, ws, Te, Ts, lt, Pe;
3343
- class rn {
3365
+ var dt, We, Ae, Ss, Le, Ds, ut, Ge;
3366
+ class hn {
3344
3367
  constructor(i, t = {}) {
3345
- h(this, rt);
3346
- h(this, we);
3347
- h(this, Te);
3348
- h(this, lt);
3349
- !dt(i) && !De(i) && !ut(i) && !E(i) || (this.__storage__ = {
3368
+ h(this, dt);
3369
+ h(this, Ae);
3370
+ h(this, Le);
3371
+ h(this, ut);
3372
+ !pt(i) && !xe(i) && !mt(i) && !A(i) || (this.__storage__ = {
3350
3373
  el: i,
3351
3374
  options: t
3352
- }, this.active = "data-collapse-active", d(this, rt, Ne).call(this));
3375
+ }, this.active = "data-collapse-active", d(this, dt, We).call(this));
3353
3376
  }
3354
3377
  update() {
3355
- d(this, rt, Ne).call(this);
3378
+ d(this, dt, We).call(this);
3356
3379
  }
3357
3380
  }
3358
- rt = new WeakSet(), Ne = function() {
3359
- const { el: i, options: t } = this.__storage__, { SETTINGS: e, EVENTS: s } = si;
3360
- if (this.elements = t.state == "not active" ? x(i + `:not([${this.active}])`) : x(i), this.options = Object.assign({}, e, t), this.__events__ = Object.assign({}, s), this.options.on)
3381
+ dt = new WeakSet(), We = function() {
3382
+ const { el: i, options: t } = this.__storage__, { SETTINGS: e, EVENTS: s } = li;
3383
+ if (this.elements = t.state == "not active" ? k(i + `:not([${this.active}])`) : k(i), this.options = Object.assign({}, e, t), this.__events__ = Object.assign({}, s), this.options.on)
3361
3384
  for (const [o, a] of Object.entries(this.options.on))
3362
3385
  this.__events__[o] = [a];
3363
- d(this, we, ws).call(this);
3364
- }, we = new WeakSet(), ws = function() {
3386
+ d(this, Ae, Ss).call(this);
3387
+ }, Ae = new WeakSet(), Ss = function() {
3365
3388
  const { elements: i, options: t } = this;
3366
3389
  i.forEach((e) => {
3367
- e.collapse = {}, e.collapse.instance = this, e.collapse.defaultOptions = t, e.collapse.methods = {}, e.collapse.methods.update = this.update, e.setAttribute(this.active, ""), d(this, Te, Ts).call(this, e);
3390
+ e.collapse = {}, e.collapse.instance = this, e.collapse.defaultOptions = t, e.collapse.methods = {}, e.collapse.methods.update = this.update, e.setAttribute(this.active, ""), d(this, Le, Ds).call(this, e);
3368
3391
  }), this.emit("init");
3369
- }, Te = new WeakSet(), Ts = function(i) {
3392
+ }, Le = new WeakSet(), Ds = function(i) {
3370
3393
  const { options: t } = this, { collapseClass: e, block: s, target: o, defaultOpen: a, targetStopPropagation: r, defaultActiveMark: l } = t, c = i, u = c.querySelector(o);
3371
- 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, lt, Pe)), c.addEventListener("click", d(this, lt, Pe)), r) {
3394
+ 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, ut, Ge)), c.addEventListener("click", d(this, ut, Ge)), r) {
3372
3395
  const p = (g) => {
3373
3396
  g.stopPropagation();
3374
3397
  };
3375
3398
  u.removeEventListener("click", p), u.addEventListener("click", p);
3376
3399
  }
3377
- }, lt = new WeakSet(), Pe = function() {
3400
+ }, ut = new WeakSet(), Ge = function() {
3378
3401
  const { instance: i, defaultOptions: t } = this.collapse, { collapseClass: e, block: s, target: o, single: a } = t, r = this;
3379
3402
  r.classList.contains(e) ? (a && r.parentNode.querySelectorAll(`.${r.classList[0]}`).forEach((l) => {
3380
- Ke(l);
3381
- }), an(r)) : Ke(r), i.emit("afterCollapse");
3403
+ si(l);
3404
+ }), un(r)) : si(r), i.emit("afterCollapse");
3382
3405
  };
3383
- Object.assign(rn.prototype, j);
3384
- function ln(n, i) {
3406
+ Object.assign(hn.prototype, z);
3407
+ function pn(n, i) {
3385
3408
  const t = i, { color: e, opacity: s, duration: o } = i.s.options;
3386
3409
  let a = document.createElement("span"), r = n.clientX - t.getBoundingClientRect().left, l = n.clientY - t.getBoundingClientRect().top;
3387
3410
  a.style.cssText = `background: ${e};left: ${r}px;top: ${l}px;opacity: ${s};animation-duration: ${o}ms`, a.classList.add("circle"), t.appendChild(a), setTimeout(function() {
3388
3411
  a.remove();
3389
3412
  }, `${o}`);
3390
3413
  }
3391
- function Es() {
3414
+ function ks() {
3392
3415
  document.querySelectorAll("ripple-btn").forEach((n) => {
3393
3416
  n.querySelector(".hover-ball"), n.style.setProperty("--r", ""), n.classList.remove("entered");
3394
3417
  });
3395
3418
  }
3396
- document.addEventListener("click", Es);
3397
- var ct, je, Ee, As, Ae, Ls, Le, Ss;
3398
- class cn extends HTMLElement {
3419
+ document.addEventListener("click", ks);
3420
+ var ht, Re, Se, _s, De, xs, ke, $s;
3421
+ class mn extends HTMLElement {
3399
3422
  constructor() {
3400
3423
  super();
3401
- h(this, ct);
3402
- h(this, Ee);
3403
- h(this, Ae);
3404
- h(this, Le);
3424
+ h(this, ht);
3425
+ h(this, Se);
3426
+ h(this, De);
3427
+ h(this, ke);
3405
3428
  this.initialize = !1;
3406
3429
  }
3407
3430
  connectedCallback() {
3408
3431
  const t = this;
3409
- t.initialize || t.classList.contains("r4-initialize") || (t.initialize = !0, d(this, ct, je).call(this));
3432
+ t.initialize || t.classList.contains("r4-initialize") || (t.initialize = !0, d(this, ht, Re).call(this));
3410
3433
  }
3411
3434
  update() {
3412
- this.classList.remove("r4-initialize"), this.querySelector("i.hover-ball").remove(), d(this, ct, je).call(this);
3435
+ this.classList.remove("r4-initialize"), this.querySelector("i.hover-ball").remove(), d(this, ht, Re).call(this);
3413
3436
  }
3414
3437
  }
3415
- ct = new WeakSet(), je = function() {
3416
- const { SETTINGS: t } = ni;
3438
+ ht = new WeakSet(), Re = function() {
3439
+ const { SETTINGS: t } = ci;
3417
3440
  this.s = {};
3418
3441
  function e(o) {
3419
3442
  let a = !!o;
@@ -3427,20 +3450,20 @@ ct = new WeakSet(), je = function() {
3427
3450
  hover: this.getAttribute("r4-hover") ? e(this.getAttribute("r4-hover")) : t.hover,
3428
3451
  click: this.getAttribute("r4-hover-click") ? e(this.getAttribute("r4-hover-click")) : t.click
3429
3452
  };
3430
- this.s.options = s, this.s.options.hover && this.classList.add("hover-btn"), d(this, Ee, As).call(this);
3431
- }, Ee = new WeakSet(), As = function() {
3432
- d(this, Ae, Ls).call(this), d(this, Le, Ss).call(this), this.classList.add("r4-initialize");
3433
- }, Ae = new WeakSet(), Ls = function() {
3453
+ this.s.options = s, this.s.options.hover && this.classList.add("hover-btn"), d(this, Se, _s).call(this);
3454
+ }, Se = new WeakSet(), _s = function() {
3455
+ d(this, De, xs).call(this), d(this, ke, $s).call(this), this.classList.add("r4-initialize");
3456
+ }, De = new WeakSet(), xs = function() {
3434
3457
  const t = this, e = document.createElement("i");
3435
3458
  e.classList.add("hover-ball"), e.style.transitionDuration = `${t.s.options.speed}ms`, t.appendChild(e);
3436
- }, Le = new WeakSet(), Ss = function() {
3459
+ }, ke = new WeakSet(), $s = function() {
3437
3460
  const t = this.querySelector("i.hover-ball"), e = this;
3438
3461
  e.addEventListener("click", function(a) {
3439
- a.stopPropagation(), e.s.options.click && ln(a, e);
3462
+ a.stopPropagation(), e.s.options.click && pn(a, e);
3440
3463
  });
3441
3464
  let s = "ontouchstart" in document.documentElement ? "touchstart" : "mouseenter", o = "ontouchend" in document.documentElement ? "touchend" : "mouseleave";
3442
3465
  e.addEventListener(s, function(a) {
3443
- if (s === "touchstart" && Es(), e.s.options.hover) {
3466
+ if (s === "touchstart" && ks(), e.s.options.hover) {
3444
3467
  const r = Math.round(s === "mouseenter" ? a.clientX - e.getBoundingClientRect().left : a.changedTouches[0].clientX - e.getBoundingClientRect().x), l = Math.round(s === "mouseenter" ? a.clientY - e.getBoundingClientRect().top : a.changedTouches[0].clientY - e.getBoundingClientRect().y), { offsetWidth: c, offsetHeight: u } = e, p = Math.max(c, u);
3445
3468
  t.style.width = p * 2 + "px", t.style.height = p * 2 + "px", t.style.left = r + "px", t.style.top = l + "px", e.classList.add("entered");
3446
3469
  }
@@ -3451,8 +3474,8 @@ ct = new WeakSet(), je = function() {
3451
3474
  }
3452
3475
  });
3453
3476
  };
3454
- customElements.define("ripple-btn", cn);
3455
- class dn {
3477
+ customElements.define("ripple-btn", mn);
3478
+ class gn {
3456
3479
  constructor() {
3457
3480
  this.init();
3458
3481
  }
@@ -3504,12 +3527,12 @@ class dn {
3504
3527
  this.init();
3505
3528
  }
3506
3529
  }
3507
- function Ve(n, i) {
3530
+ function ni(n, i) {
3508
3531
  return n ? function(t, e) {
3509
3532
  Function(n)(t, e);
3510
3533
  } : i;
3511
3534
  }
3512
- function un(n, i, t, e) {
3535
+ function fn(n, i, t, e) {
3513
3536
  const s = i.params, o = n.closest("[data-upload-item]").querySelector("[data-preview]");
3514
3537
  o.querySelector("img") && o.querySelector("img").remove(), o.appendChild(e.imgElement);
3515
3538
  const a = n.dataset.group, r = document.querySelector(i.el).dataset.index;
@@ -3532,7 +3555,7 @@ function un(n, i, t, e) {
3532
3555
  info: e
3533
3556
  }, s.on.changeAfter && typeof s.on.changeAfter == "function" && s.on.changeAfter(n, e);
3534
3557
  }
3535
- function hn(n, i, t, e) {
3558
+ function vn(n, i, t, e) {
3536
3559
  const s = document.createElement("canvas"), o = s.getContext("2d"), a = i.width, l = i.height / a * 100, c = e / t * 100;
3537
3560
  let u = 0, p = 0;
3538
3561
  switch (s.width = t, s.height = e, n.previewSize) {
@@ -3546,14 +3569,14 @@ function hn(n, i, t, e) {
3546
3569
  const g = (s.width - u) * 0.5, m = (s.height - p) * 0.5;
3547
3570
  return o.drawImage(i, g, m, u, p), s;
3548
3571
  }
3549
- function pn(n, i) {
3572
+ function bn(n, i) {
3550
3573
  return new Promise((t, e) => {
3551
3574
  if (i) {
3552
3575
  const s = new Image();
3553
3576
  s.src = i, s.classList.add(n.previewSize), s.onload = () => {
3554
3577
  let o = {
3555
3578
  imgElement: s,
3556
- originalCanvas: hn(n, s, s.width, s.height),
3579
+ originalCanvas: vn(n, s, s.width, s.height),
3557
3580
  info: {
3558
3581
  originalWidth: s.width,
3559
3582
  originalHeight: s.height,
@@ -3566,31 +3589,31 @@ function pn(n, i) {
3566
3589
  t();
3567
3590
  });
3568
3591
  }
3569
- function mn(n, i) {
3592
+ function yn(n, i) {
3570
3593
  const t = Math.pow(10, i);
3571
3594
  return Math.round(n * t) / t;
3572
3595
  }
3573
- function gn(n, i) {
3596
+ function wn(n, i) {
3574
3597
  let t = n.size / 1024 / 1024;
3575
- return `${mn(t, 2)}` <= i;
3598
+ return `${yn(t, 2)}` <= i;
3576
3599
  }
3577
- function fn(n, i, t) {
3600
+ function Tn(n, i, t) {
3578
3601
  if (n.target.files.length <= 0)
3579
3602
  return;
3580
3603
  const e = n.target.files[0], s = i.closest("[data-upload-item]");
3581
3604
  let o = new FileReader();
3582
3605
  o.onload = (a) => {
3583
3606
  const r = e.type.split("/")[0] === "image" ? a.target.result : null;
3584
- if (t.params.sizeLimit && !gn(e, t.params.sizeLimit)) {
3607
+ if (t.params.sizeLimit && !wn(e, t.params.sizeLimit)) {
3585
3608
  i.value = "", s.classList.add("over-limit"), t.params.on.overLimit && typeof t.params.on.overLimit == "function" && t.params.on.overLimit(i, t.params.sizeLimit);
3586
3609
  return;
3587
3610
  } else
3588
- s.classList.remove("over-limit"), s.classList.add("uploaded"), pn(t.params, r).then((l) => {
3589
- un(i, t, e, l);
3611
+ s.classList.remove("over-limit"), s.classList.add("uploaded"), bn(t.params, r).then((l) => {
3612
+ fn(i, t, e, l);
3590
3613
  });
3591
3614
  }, o.readAsDataURL(e);
3592
3615
  }
3593
- class vn {
3616
+ class En {
3594
3617
  constructor(i, t) {
3595
3618
  const e = this;
3596
3619
  e.el = i, e.params = {
@@ -3618,67 +3641,67 @@ class vn {
3618
3641
  previewSize: e.dataset.previewSize || i.params.previewSize,
3619
3642
  compress: e.dataset.compress || i.params.compress,
3620
3643
  on: {
3621
- changeAfter: Ve(e.dataset.changeAfter, i.params.on.changeAfter),
3622
- overLimit: Ve(e.dataset.overLimit, i.params.on.overLimit)
3644
+ changeAfter: ni(e.dataset.changeAfter, i.params.on.changeAfter),
3645
+ overLimit: ni(e.dataset.overLimit, i.params.on.overLimit)
3623
3646
  }
3624
3647
  };
3625
3648
  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) {
3626
- fn(a, e, i);
3649
+ Tn(a, e, i);
3627
3650
  });
3628
3651
  }));
3629
3652
  }
3630
3653
  }
3631
3654
  export {
3632
- oi as A,
3633
- In as B,
3634
- rn as C,
3635
- Pi as D,
3636
- Mn as E,
3637
- qn as F,
3638
- On as G,
3639
- Nn as H,
3640
- dn as I,
3641
- Pn as J,
3642
- jn as K,
3643
- zn as L,
3644
- K as M,
3645
- Bn as N,
3646
- Wn as O,
3647
- Gn as P,
3648
- Rn as Q,
3649
- cn as R,
3650
- Xn as S,
3651
- ss as T,
3652
- Yn as U,
3653
- Fn as V,
3654
- Un as W,
3655
- Jn as X,
3656
- Zn as Y,
3657
- E as a,
3658
- ut as b,
3659
- Is as c,
3660
- Hs as d,
3661
- Se as e,
3662
- S as f,
3663
- x as g,
3664
- Dn as h,
3665
- dt as i,
3666
- yi as j,
3667
- tn as k,
3668
- nn as l,
3669
- vn as m,
3670
- Rs as n,
3671
- Qn as o,
3672
- Hi as p,
3673
- Ii as q,
3674
- kn as r,
3675
- Cs as s,
3676
- xn as t,
3677
- $n as u,
3678
- Ce as v,
3679
- Gs as w,
3680
- _n as x,
3681
- Cn as y,
3682
- Hn as z
3655
+ di as A,
3656
+ Nn as B,
3657
+ hn as C,
3658
+ Gi as D,
3659
+ jn as E,
3660
+ zn as F,
3661
+ Bn as G,
3662
+ Wn as H,
3663
+ gn as I,
3664
+ Gn as J,
3665
+ Rn as K,
3666
+ Xn as L,
3667
+ V as M,
3668
+ Yn as N,
3669
+ Fn as O,
3670
+ Un as P,
3671
+ Jn as Q,
3672
+ mn as R,
3673
+ Zn as S,
3674
+ ls as T,
3675
+ Qn as U,
3676
+ Kn as V,
3677
+ Vn as W,
3678
+ to as X,
3679
+ eo as Y,
3680
+ A as a,
3681
+ mt as b,
3682
+ Ns as c,
3683
+ Ps as d,
3684
+ _e as e,
3685
+ L as f,
3686
+ k as g,
3687
+ Cn as h,
3688
+ pt as i,
3689
+ Li as j,
3690
+ an as k,
3691
+ cn as l,
3692
+ En as m,
3693
+ Js as n,
3694
+ io as o,
3695
+ Pi as p,
3696
+ Ni as q,
3697
+ Hn as r,
3698
+ Os as s,
3699
+ Mn as t,
3700
+ In as u,
3701
+ Ie as v,
3702
+ Us as w,
3703
+ qn as x,
3704
+ On as y,
3705
+ Pn as z
3683
3706
  };
3684
3707
  //# sourceMappingURL=image-preview-bundle.js.map