@xwadex/fesd 0.0.36 → 0.0.38

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.
@@ -8,7 +8,7 @@ var h = (n, i, t) => {
8
8
  i instanceof WeakSet ? i.add(n) : i.set(n, t);
9
9
  };
10
10
  var d = (n, i, t) => (fs(n, i, "access private method"), t);
11
- import { OverlayScrollbars as Me } from "overlayscrollbars";
11
+ import { OverlayScrollbars as qe } from "overlayscrollbars";
12
12
  import v from "jquery";
13
13
  import "./vendor-bundle.js";
14
14
  import "validator";
@@ -108,7 +108,7 @@ const Y = {
108
108
  gap: 30
109
109
  // 跑馬燈內容之間的距離 - Number
110
110
  }
111
- }, qe = {
111
+ }, Ie = {
112
112
  SETTINGS: {
113
113
  scrollbar: {
114
114
  "scrollbar-track-color": "transparent",
@@ -167,7 +167,7 @@ const Y = {
167
167
  enter: null,
168
168
  leave: null
169
169
  }
170
- }, ct = {
170
+ }, dt = {
171
171
  SETTINGS: {
172
172
  target: null,
173
173
  container: null,
@@ -295,13 +295,13 @@ const Y = {
295
295
  // hover 毫秒 ?
296
296
  speed: 600
297
297
  }
298
- }, mn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
298
+ }, gn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
299
299
  __proto__: null,
300
- anchor4: ct,
300
+ anchor4: dt,
301
301
  aost4: Ye,
302
302
  article4: ws,
303
303
  collapse4: Je,
304
- dropdown4: qe,
304
+ dropdown4: Ie,
305
305
  marquee4: x,
306
306
  modal4: I,
307
307
  multipurpose4: H,
@@ -314,7 +314,7 @@ const Y = {
314
314
  after: "afterend",
315
315
  append: "beforeend",
316
316
  prepend: "afterbegin"
317
- }, at = (n) => typeof n == "string" && n !== "", we = (n) => n instanceof HTMLElement, rt = (n) => n instanceof NodeList, w = (n) => L(n) !== null, j = (n) => typeof n == "function", L = (n) => we(n) ? n : document.querySelector(n), S = (n) => rt(n) ? n : document.querySelectorAll(n), Ts = () => Math.random().toString(36).substr(2, 9), Es = (n) => {
317
+ }, rt = (n) => typeof n == "string" && n !== "", Te = (n) => n instanceof HTMLElement, lt = (n) => n instanceof NodeList, w = (n) => L(n) !== null, j = (n) => typeof n == "function", L = (n) => Te(n) ? n : document.querySelector(n), S = (n) => lt(n) ? n : document.querySelectorAll(n), Ts = () => Math.random().toString(36).substr(2, 9), Es = (n) => {
318
318
  const i = document.createElement("div");
319
319
  return i.innerHTML = n, i.childNodes;
320
320
  }, As = (n) => {
@@ -369,7 +369,7 @@ const Y = {
369
369
  easeOutQuart(n, i, t, e) {
370
370
  return -t * ((n = n / e - 1) * n * n * n - 1) + i;
371
371
  }
372
- }, Te = (n, i) => {
372
+ }, Ee = (n, i) => {
373
373
  const { target: t, container: e, spacer: s, speed: o, gap: a, easing: r, direction: l } = n, c = l === "horizontal", u = c ? "scrollLeft" : "scrollTop", p = c ? "left" : "top", g = c ? "width" : "height", m = w(e) ? L(e) : document.scrollingElement, f = m[u], b = w(t) ? L(t).getBoundingClientRect()[p] : 0 - f, y = w(s) ? L(s).getBoundingClientRect()[g] : 0, _ = b - a - y, G = 15;
374
374
  let D = 0;
375
375
  if (_ === 0)
@@ -386,16 +386,16 @@ const Y = {
386
386
  };
387
387
  requestAnimationFrame(Ne);
388
388
  };
389
- var J, Ee, mt, Ve, gt, Ke;
389
+ var Z, Ae, gt, Ve, ft, Ke;
390
390
  class Qe {
391
391
  constructor(i, t = {}) {
392
- h(this, J);
393
- h(this, mt);
392
+ h(this, Z);
394
393
  h(this, gt);
394
+ h(this, ft);
395
395
  this.__storage__ = {
396
396
  el: i,
397
397
  options: t
398
- }, this.active = "data-anchor-active", d(this, J, Ee).call(this);
398
+ }, this.active = "data-anchor-active", d(this, Z, Ae).call(this);
399
399
  }
400
400
  destroy() {
401
401
  const { elements: i } = this;
@@ -405,39 +405,39 @@ class Qe {
405
405
  }
406
406
  update() {
407
407
  var i;
408
- return d(i = this.destroy(), J, Ee).call(i), this.emit("afterUpdate"), this;
408
+ return d(i = this.destroy(), Z, Ae).call(i), this.emit("afterUpdate"), this;
409
409
  }
410
410
  static run(i) {
411
- const { SETTINGS: t } = ct, e = Object.assign({}, t, i);
411
+ const { SETTINGS: t } = dt, e = Object.assign({}, t, i);
412
412
  setTimeout(() => {
413
- Te(e);
413
+ Ee(e);
414
414
  }, e.delay);
415
415
  }
416
416
  static url(i) {
417
- const { SETTINGS: t } = ct, { 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()}"]`);
417
+ const { SETTINGS: t } = dt, { 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()}"]`);
418
418
  if (!a)
419
419
  return;
420
420
  const r = Object.assign({}, t, i, { target: a });
421
421
  setTimeout(() => {
422
- Te(r);
422
+ Ee(r);
423
423
  }, r.delay);
424
424
  }
425
425
  }
426
- J = new WeakSet(), Ee = function() {
426
+ Z = new WeakSet(), Ae = function() {
427
427
  const { el: i, options: t } = this.__storage__;
428
- if (!at(i) || !w(i))
428
+ if (!rt(i) || !w(i))
429
429
  return;
430
- const { SETTINGS: e, EVENTS: s } = ct;
430
+ const { SETTINGS: e, EVENTS: s } = dt;
431
431
  if (this.elements = t.state == "not active" ? S(i + `:not([${this.active}])`) : S(i), this.elements = S(i), this.options = Object.assign({}, e, t), this.__events__ = Object.assign({}, s), this.options.on)
432
432
  for (const [o, a] of Object.entries(this.options.on))
433
433
  this.__events__[o] = [a];
434
- d(this, mt, Ve).call(this);
435
- }, mt = new WeakSet(), Ve = function() {
434
+ d(this, gt, Ve).call(this);
435
+ }, gt = new WeakSet(), Ve = function() {
436
436
  const { elements: i, options: t } = this;
437
437
  i.forEach((e) => {
438
- e.anchor = {}, e.anchor.instance = this, e.anchor.eventHandler = d(this, gt, Ke), 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, "");
438
+ e.anchor = {}, e.anchor.instance = this, e.anchor.eventHandler = d(this, ft, Ke), 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, "");
439
439
  }), this.emit("afterInit");
440
- }, gt = new WeakSet(), Ke = function() {
440
+ }, ft = new WeakSet(), Ke = function() {
441
441
  const { defaultOptions: i, eventHandler: t, instance: e } = this.anchor, s = {
442
442
  target: this.getAttribute("data-anchor-target") || i.target,
443
443
  container: this.getAttribute("data-anchor-container") || i.container,
@@ -451,7 +451,7 @@ J = new WeakSet(), Ee = function() {
451
451
  this.removeEventListener("click", t), setTimeout(() => {
452
452
  this.addEventListener("click", t);
453
453
  }, s.speed), setTimeout(() => {
454
- Te(s, e);
454
+ Ee(s, e);
455
455
  }, s.delay);
456
456
  };
457
457
  Object.assign(Qe.prototype, O);
@@ -464,15 +464,15 @@ const { MODALS: M } = window, Ss = (n) => {
464
464
  s.append(o);
465
465
  }), e.children[0];
466
466
  };
467
- var ft, ei, vt, ii, bt, si, yt, ni, wt, oi;
467
+ var vt, ei, bt, ii, yt, si, wt, ni, Tt, oi;
468
468
  class ti extends HTMLElement {
469
469
  constructor() {
470
470
  super();
471
- h(this, ft);
472
471
  h(this, vt);
473
472
  h(this, bt);
474
473
  h(this, yt);
475
474
  h(this, wt);
475
+ h(this, Tt);
476
476
  this.initialize = !1;
477
477
  }
478
478
  static get observedAttributes() {
@@ -481,12 +481,12 @@ class ti extends HTMLElement {
481
481
  attributeChangedCallback(t, e, s) {
482
482
  switch (t) {
483
483
  case ":state":
484
- d(this, wt, oi).call(this, s);
484
+ d(this, Tt, oi).call(this, s);
485
485
  break;
486
486
  }
487
487
  }
488
488
  connectedCallback() {
489
- this.initialize || (this.initialize = !0, d(this, ft, ei).call(this));
489
+ this.initialize || (this.initialize = !0, d(this, vt, ei).call(this));
490
490
  }
491
491
  open() {
492
492
  return this.setAttribute(":state", "open"), this;
@@ -498,22 +498,22 @@ class ti extends HTMLElement {
498
498
  return this.setAttribute(":state", "destroy"), this;
499
499
  }
500
500
  }
501
- ft = new WeakSet(), ei = function() {
501
+ vt = new WeakSet(), ei = function() {
502
502
  const { ATTRS: t } = I;
503
503
  this.__events__ = {}, this.getAttribute(":state") || this.setAttribute(":state", "close");
504
504
  const e = this.getAttribute(t.id) || Ts();
505
- this.getAttribute(t.id) || (E(`modern-modal needs a ${t.id} attribute with a unique id.`), this.setAttribute(t.id, e)), M[e] && E(`the ${t.id} "${e}" is already be used.`), M[e] = this, d(this, vt, ii).call(this);
506
- }, vt = new WeakSet(), ii = function() {
507
- this.childDom = this.childNodes, this.template = Ss(this), this.innerHTML = "", this.append(this.template), d(this, bt, si).call(this);
508
- }, bt = new WeakSet(), si = function() {
505
+ this.getAttribute(t.id) || (E(`modern-modal needs a ${t.id} attribute with a unique id.`), this.setAttribute(t.id, e)), M[e] && E(`the ${t.id} "${e}" is already be used.`), M[e] = this, d(this, bt, ii).call(this);
506
+ }, bt = new WeakSet(), ii = function() {
507
+ this.childDom = this.childNodes, this.template = Ss(this), this.innerHTML = "", this.append(this.template), d(this, yt, si).call(this);
508
+ }, yt = new WeakSet(), si = function() {
509
509
  const t = this.querySelector(".modal-scroller");
510
- this.__scroller__ = Me(t, {
510
+ this.__scroller__ = qe(t, {
511
511
  overflowBehavior: {
512
512
  x: "hidden"
513
513
  },
514
514
  autoUpdate: !0
515
- }), window.modalScroll = this.__scroller__, d(this, yt, ni).call(this);
516
- }, yt = new WeakSet(), ni = function() {
515
+ }), window.modalScroll = this.__scroller__, d(this, wt, ni).call(this);
516
+ }, wt = new WeakSet(), ni = function() {
517
517
  var a, r, l;
518
518
  const t = this, { ATTRS: e } = I, { close: s, destroy: o } = e;
519
519
  (a = t.querySelectorAll(`[${s}]`)) == null || a.forEach((c) => {
@@ -529,7 +529,7 @@ ft = new WeakSet(), ei = function() {
529
529
  }), (l = t.querySelector("[stop-propagation]")) == null || l.addEventListener("click", function(c) {
530
530
  c.stopPropagation();
531
531
  });
532
- }, wt = new WeakSet(), oi = function(t) {
532
+ }, Tt = new WeakSet(), oi = function(t) {
533
533
  const { __scroller__: e } = this;
534
534
  if (t === "open") {
535
535
  if (this.style.display = "block", e) {
@@ -561,18 +561,18 @@ ft = new WeakSet(), ei = function() {
561
561
  }
562
562
  };
563
563
  Object.assign(ti.prototype, O);
564
- const { MODALS: Ie } = window, ai = (n, i, ...t) => {
564
+ const { MODALS: Oe } = window, ai = (n, i, ...t) => {
565
565
  if (!i)
566
566
  return;
567
567
  const e = n[i];
568
568
  e && j(e) && e.apply(n, t);
569
569
  }, ri = (n, ...i) => {
570
- n && j(n) && n.apply(U, i);
570
+ n && j(n) && n.apply(J, i);
571
571
  }, ze = (n, i) => {
572
- const { target: t } = n, e = Ie[t] || L(n.target);
572
+ const { target: t } = n, e = Oe[t] || L(n.target);
573
573
  e && li(n, i), e || Ds(n, i);
574
574
  }, li = (n, i) => {
575
- const { target: t, action: e, on: s, e: o } = n, a = Ie[t] || L(n.target);
575
+ const { target: t, action: e, on: s, e: o } = n, a = Oe[t] || L(n.target);
576
576
  switch (["open", "close", "destroy"].forEach((l) => {
577
577
  a.once(l, () => {
578
578
  i && (i.emit(l, a, o), ai(i, s[l], a, o)), i || ri(s[l], a);
@@ -604,22 +604,22 @@ const { MODALS: Ie } = window, ai = (n, i, ...t) => {
604
604
  [...c].forEach((g) => {
605
605
  u.append(g);
606
606
  });
607
- const p = Ie[t] || L(n.target);
607
+ const p = Oe[t] || L(n.target);
608
608
  r("complete", p), li(n, i);
609
609
  }).catch((l) => {
610
610
  r("error", l);
611
611
  });
612
612
  };
613
- var Z, Ae, Tt, ci, Et, di;
613
+ var Q, Le, Et, ci, At, di;
614
614
  const N = class N {
615
615
  constructor(i, t = {}) {
616
- h(this, Z);
617
- h(this, Tt);
616
+ h(this, Q);
618
617
  h(this, Et);
618
+ h(this, At);
619
619
  this.__storage__ = {
620
620
  el: i,
621
621
  options: t
622
- }, this.active = "data-modal-active", d(this, Z, Ae).call(this);
622
+ }, this.active = "data-modal-active", d(this, Q, Le).call(this);
623
623
  }
624
624
  destroy() {
625
625
  const { elements: i } = this;
@@ -629,7 +629,7 @@ const N = class N {
629
629
  }
630
630
  update() {
631
631
  var i;
632
- return d(i = this.destroy(), Z, Ae).call(i), this.emit("update"), this;
632
+ return d(i = this.destroy(), Q, Le).call(i), this.emit("update"), this;
633
633
  }
634
634
  /** static method 'open' */
635
635
  static open(i) {
@@ -645,21 +645,21 @@ const N = class N {
645
645
  Object.assign(N.prototype, N.prototype.__methods__);
646
646
  }
647
647
  };
648
- Z = new WeakSet(), Ae = function() {
648
+ Q = new WeakSet(), Le = function() {
649
649
  const { el: i, options: t } = this.__storage__;
650
- if (!at(i) || !w(i))
650
+ if (!rt(i) || !w(i))
651
651
  return;
652
652
  const { SETTINGS: e, EVENTS: s } = I;
653
653
  if (this.elements = t.state == "not active" ? S(i + `:not([${this.active}])`) : S(i), this.options = Object.assign({}, e, t), this.__events__ = Object.assign({}, s), this.options.on)
654
654
  for (const [o, a] of Object.entries(this.options.on))
655
655
  this.__events__[o] = [a];
656
- d(this, Tt, ci).call(this);
657
- }, Tt = new WeakSet(), ci = function() {
656
+ d(this, Et, ci).call(this);
657
+ }, Et = new WeakSet(), ci = function() {
658
658
  const { elements: i, options: t } = this;
659
659
  i.forEach((e) => {
660
- e.modal = {}, e.modal.instance = this, e.modal.eventHandler = d(this, Et, di), 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, "");
660
+ e.modal = {}, e.modal.instance = this, e.modal.eventHandler = d(this, At, di), 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, "");
661
661
  }), this.emit("init");
662
- }, Et = new WeakSet(), di = function(i) {
662
+ }, At = new WeakSet(), di = function(i) {
663
663
  const { defaultOptions: t, eventHandler: e, instance: s } = this.modal, o = As(this.getAttribute("data-modal-on"));
664
664
  o && typeof o != "object" && E("modal4", "data-modal-on must be a json string.");
665
665
  const a = {
@@ -674,8 +674,8 @@ Z = new WeakSet(), Ae = function() {
674
674
  this.addEventListener("click", e);
675
675
  }, 200), ze(a, s);
676
676
  };
677
- let U = N;
678
- Object.assign(U.prototype, O);
677
+ let J = N;
678
+ Object.assign(J.prototype, O);
679
679
  customElements.define("modern-modal", ti);
680
680
  const _s = (n, i) => {
681
681
  const t = n === window ? n.innerHeight : n.getBoundingClientRect().height, e = n === window ? 0 : n.getBoundingClientRect().top;
@@ -693,15 +693,15 @@ const _s = (n, i) => {
693
693
  }
694
694
  });
695
695
  }, ks = (n, i) => n === "up" || n === "down" ? n : n !== null ? n === "true" ? !0 : n === "false" ? !1 : i.repeat : i.repeat;
696
- var Q, Le, At, hi;
696
+ var V, Se, Lt, hi;
697
697
  class ui {
698
698
  constructor(i, t = {}) {
699
- h(this, Q);
700
- h(this, At);
699
+ h(this, V);
700
+ h(this, Lt);
701
701
  this.__storage__ = {
702
702
  el: i,
703
703
  options: t
704
- }, this.active = "data-aost-active", d(this, Q, Le).call(this);
704
+ }, this.active = "data-aost-active", d(this, V, Se).call(this);
705
705
  }
706
706
  destroy(i) {
707
707
  const { elements: t, options: e } = this;
@@ -717,19 +717,19 @@ class ui {
717
717
  }
718
718
  update(i) {
719
719
  var t;
720
- d(t = this.destroy(i), Q, Le).call(t);
720
+ d(t = this.destroy(i), V, Se).call(t);
721
721
  }
722
722
  }
723
- Q = new WeakSet(), Le = function() {
723
+ V = new WeakSet(), Se = function() {
724
724
  const { el: i, options: t } = this.__storage__;
725
- if (!at(i) || !w(i))
725
+ if (!rt(i) || !w(i))
726
726
  return;
727
727
  const { SETTINGS: e, EVENTS: s } = Ye;
728
728
  if (this.elements = t.state == "not active" ? S(i + `:not([${this.active}])`) : S(i), this.options = Object.assign({}, e, t), this.__events__ = Object.assign({}, s), this.options.on)
729
729
  for (const [o, a] of Object.entries(this.options.on))
730
730
  this.__events__[o] = [a];
731
- d(this, At, hi).call(this);
732
- }, At = new WeakSet(), hi = function() {
731
+ d(this, Lt, hi).call(this);
732
+ }, Lt = new WeakSet(), hi = function() {
733
733
  const { elements: i, options: t } = this, { scroller: e } = t, s = e === window || !w(e) ? window : L(e);
734
734
  this.eventHandler = () => {
735
735
  _s(s, i);
@@ -748,25 +748,25 @@ const $s = (n) => {
748
748
  s.append(o);
749
749
  }), e.children[0];
750
750
  };
751
- var Lt, pi, St, mi, Dt, gi, _t, fi, kt, vi, $t, bi, xt, yi, Ct, wi, Ht, Ti;
751
+ var St, pi, Dt, mi, _t, gi, kt, fi, $t, vi, xt, bi, Ct, yi, Ht, wi, Mt, Ti;
752
752
  class xs extends HTMLElement {
753
753
  constructor() {
754
754
  super();
755
- h(this, Lt);
756
755
  h(this, St);
757
756
  h(this, Dt);
758
- // youtube iframe
759
757
  h(this, _t);
760
- // vimeo iframe
758
+ // youtube iframe
761
759
  h(this, kt);
762
- // youku iframe
760
+ // vimeo iframe
763
761
  h(this, $t);
762
+ // youku iframe
764
763
  h(this, xt);
765
- // 2025.02.11 新增 ig
766
764
  h(this, Ct);
767
- // 2025.02.11 新增 tiktok
765
+ // 2025.02.11 新增 ig
768
766
  h(this, Ht);
769
- d(this, Lt, pi).call(this);
767
+ // 2025.02.11 新增 tiktok
768
+ h(this, Mt);
769
+ d(this, St, pi).call(this);
770
770
  }
771
771
  play() {
772
772
  const { videoType: t } = this;
@@ -803,62 +803,74 @@ class xs extends HTMLElement {
803
803
  }
804
804
  }
805
805
  }
806
- Lt = new WeakSet(), pi = function() {
806
+ St = new WeakSet(), pi = function() {
807
807
  if (!this.getAttribute("video-id")) {
808
808
  E("videoPlayer", "video-render needs a ['video-id'] attribute to creat player.");
809
809
  return;
810
810
  }
811
- this.videoId = this.getAttribute("video-id"), this.videoType = this.getAttribute("video-type"), this.autoplay = this.getAttribute("video-autoplay"), this.startTime = this.getAttribute("video-starttime"), d(this, St, mi).call(this);
812
- }, St = new WeakSet(), mi = function() {
813
- this.childDom = this.childNodes, this.template = $s(this), this.innerHTML = "", this.append(this.template), d(this, Dt, gi).call(this);
814
- }, Dt = new WeakSet(), gi = function() {
811
+ this.videoId = this.getAttribute("video-id"), this.videoType = this.getAttribute("video-type"), this.autoplay = this.getAttribute("video-autoplay"), this.startTime = this.getAttribute("video-starttime"), d(this, Dt, mi).call(this);
812
+ }, Dt = new WeakSet(), mi = function() {
813
+ this.childDom = this.childNodes, this.template = $s(this), this.innerHTML = "", this.append(this.template), d(this, _t, gi).call(this);
814
+ }, _t = new WeakSet(), gi = function() {
815
815
  const { videoType: t } = this;
816
816
  let e = "";
817
817
  switch (t) {
818
818
  case "youtubeAPI":
819
819
  break;
820
820
  case "youtube":
821
- e = d(this, _t, fi).call(this);
821
+ if (!document.body.wd_youtube)
822
+ return;
823
+ e = d(this, kt, fi).call(this);
822
824
  break;
823
825
  case "youkuAPI":
824
826
  break;
825
827
  case "youku":
826
- e = d(this, $t, bi).call(this);
828
+ if (!document.body.wd_youku)
829
+ return;
830
+ e = d(this, xt, bi).call(this);
827
831
  break;
828
832
  case "vimeo":
829
- e = d(this, kt, vi).call(this);
833
+ if (!document.body.wd_vimeo)
834
+ return;
835
+ e = d(this, $t, vi).call(this);
830
836
  break;
831
837
  case "bilibili":
832
- e = d(this, xt, yi).call(this);
838
+ if (!document.body.wd_bilibili)
839
+ return;
840
+ e = d(this, Ct, yi).call(this);
833
841
  break;
834
842
  case "instagram":
835
- e = d(this, Ct, wi).call(this);
843
+ if (!document.body.wd_instagram)
844
+ return;
845
+ e = d(this, Ht, wi).call(this);
836
846
  break;
837
847
  case "tiktok":
838
- e = d(this, Ht, Ti).call(this);
848
+ if (!document.body.wd_tiktok)
849
+ return;
850
+ e = d(this, Mt, Ti).call(this);
839
851
  break;
840
852
  }
841
853
  this.querySelector(".player-wrapper").insertAdjacentHTML(A.prepend, e);
842
- }, _t = new WeakSet(), fi = function() {
854
+ }, kt = new WeakSet(), fi = function() {
843
855
  const { videoId: t, autoplay: e, startTime: s } = this;
844
856
  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>`;
845
- }, kt = new WeakSet(), vi = function() {
857
+ }, $t = new WeakSet(), vi = function() {
846
858
  const { videoId: t, autoplay: e, hash: s } = this;
847
859
  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>`;
848
- }, $t = new WeakSet(), bi = function() {
860
+ }, xt = new WeakSet(), bi = function() {
849
861
  const { videoId: t, autoplay: e } = this;
850
862
  return `<iframe src="https://player.youku.com/embed/${t}?rel=0&${e === "on" ? "autoplay=1" : ""}" frameborder=0 "allowfullscreen"></iframe>`;
851
- }, xt = new WeakSet(), yi = function() {
863
+ }, Ct = new WeakSet(), yi = function() {
852
864
  const { videoId: t, autoplay: e } = this;
853
865
  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>`;
854
- }, Ct = new WeakSet(), wi = function() {
866
+ }, Ht = new WeakSet(), wi = function() {
855
867
  const { videoId: t, autoplay: e } = this;
856
868
  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>`;
857
- }, Ht = new WeakSet(), Ti = function() {
869
+ }, Mt = new WeakSet(), Ti = function() {
858
870
  const { videoId: t, autoplay: e } = this;
859
871
  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>`;
860
872
  };
861
- const gn = (n) => new Promise((i) => {
873
+ const fn = (n) => new Promise((i) => {
862
874
  let t = setTimeout(() => (clearTimeout(t), i()), n);
863
875
  });
864
876
  function Ei(n) {
@@ -873,7 +885,7 @@ function Ai(n) {
873
885
  t instanceof HTMLElement ? i.push(t) : typeof t == "string" && i.push(...document.querySelectorAll(`${t}`));
874
886
  }), v("html").removeClass("scrollLock"), bs(i);
875
887
  }
876
- async function fn(n = 0) {
888
+ async function vn(n = 0) {
877
889
  if (v(".loading-wrapper").length)
878
890
  return;
879
891
  v("body").append(`
@@ -890,27 +902,27 @@ async function fn(n = 0) {
890
902
  Ei();
891
903
  });
892
904
  }
893
- function vn() {
905
+ function bn() {
894
906
  v(".loading-wrapper").fadeOut(300).promise().done(function() {
895
907
  v(".loading-wrapper").remove(), Ai();
896
908
  });
897
909
  }
898
- function bn(n, i) {
899
- new on(n, i);
910
+ function yn(n, i) {
911
+ new an(n, i);
900
912
  }
901
913
  function Cs() {
902
914
  const n = document.querySelector("[data-aost]") && new ui("[data-aost]"), i = document.querySelector("[data-anchor-target]") && new Qe("[data-anchor-target]"), t = new Fe({ callback_loaded: () => {
903
- } }), e = new Qs();
915
+ } }), e = new Vs();
904
916
  n == null || n.update(), t.update(), e.reValidate(), i == null || i.update();
905
917
  }
906
- function yn(n, i = () => {
918
+ function wn(n, i = () => {
907
919
  }) {
908
920
  v(`[data-tab-content=${n}]`).fadeIn(function() {
909
921
  typeof i == "function" && i();
910
922
  }).siblings("[data-tab-content]").hide(), Cs();
911
923
  }
912
- function wn() {
913
- Me(
924
+ function Tn() {
925
+ qe(
914
926
  {
915
927
  target: document.body,
916
928
  cancel: {
@@ -934,23 +946,23 @@ function wn() {
934
946
  }
935
947
  );
936
948
  }
937
- function Tn() {
949
+ function En() {
938
950
  window.onpageshow = function(n) {
939
951
  n.persisted && window.location.reload();
940
952
  };
941
953
  }
942
- function En() {
954
+ function An() {
943
955
  const n = navigator.userAgent;
944
956
  return {
945
957
  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)
946
958
  };
947
959
  }
948
- function An(n, i) {
960
+ function Ln(n, i) {
949
961
  v(n).on("click", function() {
950
962
  v(this).toggleClass(i);
951
963
  });
952
964
  }
953
- function Ln(n, i) {
965
+ function Sn(n, i) {
954
966
  v(n).on("click", function() {
955
967
  v(n).not(this).removeClass(i), v(this).addClass(i);
956
968
  });
@@ -964,7 +976,7 @@ function Hs(n, i = 250) {
964
976
  }, i);
965
977
  };
966
978
  }
967
- function Sn(n, i = 250) {
979
+ function Dn(n, i = 250) {
968
980
  let t, e;
969
981
  return function() {
970
982
  const s = this, o = arguments, a = +/* @__PURE__ */ new Date();
@@ -973,7 +985,7 @@ function Sn(n, i = 250) {
973
985
  }, i)) : (t = a, n.apply(s, o));
974
986
  };
975
987
  }
976
- function Dn() {
988
+ function _n() {
977
989
  window._g.interval = [], v(".countdown").each((i, t) => {
978
990
  const e = Number(v(t).attr("data-seconds")) + 1;
979
991
  let s = Math.floor(e / 60) + ":" + e % 60;
@@ -983,21 +995,21 @@ function Dn() {
983
995
  }, 1e3);
984
996
  });
985
997
  }
986
- function _n(n = 500) {
998
+ function kn(n = 500) {
987
999
  return new Promise((i, t) => {
988
1000
  let e = setTimeout(() => {
989
1001
  clearTimeout(e), i();
990
1002
  }, n);
991
1003
  });
992
1004
  }
993
- function kn() {
1005
+ function $n() {
994
1006
  const n = function() {
995
1007
  let i = window.innerHeight * 0.01;
996
1008
  document.documentElement.style.setProperty("--vh", i + "px");
997
1009
  };
998
1010
  n(), window.addEventListener("resize", Hs(n));
999
1011
  }
1000
- function $n(n, i, t, e, s) {
1012
+ function xn(n, i, t, e, s) {
1001
1013
  const o = this, r = v(n).html().split("<br>");
1002
1014
  let l = "", c = 0;
1003
1015
  r.forEach((u, p) => {
@@ -1006,11 +1018,11 @@ function $n(n, i, t, e, s) {
1006
1018
  });
1007
1019
  }), v(n).html(l);
1008
1020
  }
1009
- function xn(n, i) {
1021
+ function Cn(n, i) {
1010
1022
  const t = Math.pow(10, i);
1011
1023
  return Math.round(n * t) / t;
1012
1024
  }
1013
- function Cn(n) {
1025
+ function Hn(n) {
1014
1026
  let i = n.activeIndex, t = n.slides.length;
1015
1027
  if (n.params.loop)
1016
1028
  switch (n.activeIndex) {
@@ -1025,18 +1037,18 @@ function Cn(n) {
1025
1037
  }
1026
1038
  return i;
1027
1039
  }
1028
- function Hn(n, i) {
1040
+ function Mn(n, i) {
1029
1041
  const t = n.$el, e = n.params.grid.rows, s = i || n.params.slidesPerView * e;
1030
1042
  (n.loopedSlides ? n.slides.length - n.loopedSlides * 2 : n.slides.length) <= s ? (t.addClass("swiper-no-swiping"), v(n.params.navigation.nextEl).hide(), v(n.params.navigation.prevEl).hide(), v(n.params.pagination.el).hide(), n.params.autoplay.enabled = !1, n.autoplay.stop()) : (t.removeClass("swiper-no-swiping"), v(n.params.navigation.nextEl).show(), v(n.params.navigation.prevEl).show(), v(n.params.pagination.el).show(), n.params.autoplay.enabled && n.autoplay.start());
1031
1043
  }
1032
- function Mn(n) {
1044
+ function qn(n) {
1033
1045
  n.el.querySelectorAll("img.detect-shade").forEach((i) => {
1034
1046
  i.addEventListener("load", function() {
1035
1047
  detectShade(i);
1036
1048
  });
1037
1049
  });
1038
1050
  }
1039
- function qn(n) {
1051
+ function In(n) {
1040
1052
  const i = n.el, t = v(i).find(".swiper-slide-active"), e = v(t).find("video").get(0), s = v(i).find(".swiper-slide video");
1041
1053
  n.autoplay.stop(), v(e).off("ended"), e ? (s.each((o, a) => {
1042
1054
  a.currentTime = 0;
@@ -1044,7 +1056,7 @@ function qn(n) {
1044
1056
  n.slideNext();
1045
1057
  }), e.play()) : n.params.autoplay.enabled && n.autoplay.start();
1046
1058
  }
1047
- function In() {
1059
+ function On() {
1048
1060
  v(".number-grow").each(function(n, i) {
1049
1061
  const t = v(i), o = t.attr("data-num").replace(/(\d)(?=(?:\d{3})+$)/g, "$1,").split(""), a = () => {
1050
1062
  let r = "";
@@ -1058,7 +1070,7 @@ function In() {
1058
1070
  });
1059
1071
  });
1060
1072
  }
1061
- function On() {
1073
+ function Nn() {
1062
1074
  v(".letter-grow").each(function(n, i) {
1063
1075
  const t = v(i), s = t.attr("data-letter").split(""), o = () => {
1064
1076
  let a = "";
@@ -1072,54 +1084,54 @@ function On() {
1072
1084
  });
1073
1085
  });
1074
1086
  }
1075
- function Nn(n) {
1087
+ function Pn(n) {
1076
1088
  const i = getComputedStyle(n).transform;
1077
1089
  let t = i.match(/^matrix3d\((.+)\)$/);
1078
1090
  return t ? parseFloat(t[1].split(", ")[12]) : (t = i.match(/^matrix\((.+)\)$/), t ? parseFloat(t[1].split(", ")[4]) : 0);
1079
1091
  }
1080
- function Pn(n) {
1092
+ function jn(n) {
1081
1093
  const i = getComputedStyle(n).transform;
1082
1094
  let t = i.match(/^matrix3d\((.+)\)$/);
1083
1095
  return t ? parseFloat(t[1].split(", ")[13]) : (t = i.match(/^matrix\((.+)\)$/), t ? parseFloat(t[1].split(", ")[5]) : 0);
1084
1096
  }
1085
- function jn(n) {
1097
+ function zn(n) {
1086
1098
  const i = document.createElement("div");
1087
1099
  return i.innerHTML = n, i.childNodes[0];
1088
1100
  }
1089
- const We = (n) => n.videoId !== "" || typeof n.videoId < "u", Ms = (n) => n.$selector.getAttribute("video4-active") === "on", lt = (n) => `<video-player video-id="${n.videoId}" video-type="${n.videoType}" video-startTime="${n.videoStartTime}" video-autoplay="${n.videoAutoplay}"></video-player>`;
1090
- var V, Se, Mt, Li, qt, Si, K, De, It, Di;
1101
+ const We = (n) => n.videoId !== "" || typeof n.videoId < "u", Ms = (n) => n.$selector.getAttribute("video4-active") === "on", ct = (n) => `<video-player video-id="${n.videoId}" video-type="${n.videoType}" video-startTime="${n.videoStartTime}" video-autoplay="${n.videoAutoplay}"></video-player>`;
1102
+ var K, De, qt, Li, It, Si, tt, _e, Ot, Di;
1091
1103
  class qs {
1092
1104
  constructor(i, t = {}) {
1093
- h(this, V);
1094
- h(this, Mt);
1095
- h(this, qt);
1096
1105
  h(this, K);
1106
+ h(this, qt);
1097
1107
  h(this, It);
1098
- if (!at(i) && !we(i) && !rt(i)) {
1108
+ h(this, tt);
1109
+ h(this, Ot);
1110
+ if (!rt(i) && !Te(i) && !lt(i)) {
1099
1111
  je("video4", `找不到該物件 -> ${i}`);
1100
1112
  return;
1101
1113
  }
1102
1114
  this.__storage__ = {
1103
1115
  el: i,
1104
1116
  options: t
1105
- }, this.active = "data-video-active", d(this, V, Se).call(this);
1117
+ }, this.active = "data-video-active", d(this, K, De).call(this);
1106
1118
  }
1107
1119
  update() {
1108
- d(this, V, Se).call(this);
1120
+ d(this, K, De).call(this);
1109
1121
  }
1110
1122
  }
1111
- V = new WeakSet(), Se = function() {
1123
+ K = new WeakSet(), De = function() {
1112
1124
  const { el: i, options: t } = this.__storage__, { SETTINGS: e, EVENTS: s } = Y;
1113
1125
  if (this.elements = t.state == "not active" ? S(i + `:not([${this.active}])`) : S(i), this.options = Object.assign({}, e, t), this.__events__ = Object.assign({}, s), this.options.on)
1114
1126
  for (const [o, a] of Object.entries(this.options.on))
1115
1127
  this.__events__[o] = [a];
1116
- d(this, Mt, Li).call(this);
1117
- }, Mt = new WeakSet(), Li = function() {
1128
+ d(this, qt, Li).call(this);
1129
+ }, qt = new WeakSet(), Li = function() {
1118
1130
  const { elements: i, options: t } = this;
1119
1131
  i.forEach((e) => {
1120
- e.video = {}, e.video.instance = this, e.video.defaultOptions = t, e.video.params = d(this, It, Di).call(this, e), e.video.methods = {}, e.video.methods.update = this.update, e.setAttribute(this.active, ""), We(e.video.params) && !Ms(e.video.params) && (e.setAttribute("video4-active", "on"), d(this, qt, Si).call(this, e)), We(e.video.params) || je("video4", "無法取得影片 ID");
1132
+ e.video = {}, e.video.instance = this, e.video.defaultOptions = t, e.video.params = d(this, Ot, Di).call(this, e), e.video.methods = {}, e.video.methods.update = this.update, e.setAttribute(this.active, ""), We(e.video.params) && !Ms(e.video.params) && (e.setAttribute("video4-active", "on"), d(this, It, Si).call(this, e)), We(e.video.params) || je("video4", "無法取得影片 ID");
1121
1133
  }), this.emit("init");
1122
- }, qt = new WeakSet(), Si = function(i) {
1134
+ }, It = new WeakSet(), Si = function(i) {
1123
1135
  const { LAYOUT: t } = Y, e = i.video.params, { $selector: s, videoLayoutNo: o, videoId: a, videoType: r, videoMode: l, videoButton: c, videoCover: u, videoHighQualityPic: p } = e;
1124
1136
  if (l === "onBox") {
1125
1137
  let g = null;
@@ -1128,14 +1140,14 @@ V = new WeakSet(), Se = function() {
1128
1140
  const m = s.querySelector("img");
1129
1141
  m.insertAdjacentHTML(A.after, t[o]);
1130
1142
  const f = (m == null ? void 0 : m.getAttribute("src")) || (m == null ? void 0 : m.getAttribute("data-src"));
1131
- !f && r == "youtube" ? p == "on" ? m.setAttribute("src", `http://img.youtube.com/vi/${a}/maxresdefault.jpg `) : m.setAttribute("src", `https://img.youtube.com/vi/${a}/0.jpg`) : !f && r == "vimeo" ? m.setAttribute("src", `https://vumbnail.com/${a}_large.jpg`) : !f && r == "tiktok" ? fetch(`https://www.tiktok.com/oembed?url=https://www.tiktok.com/@/video/${a}`, { method: "GET", redirect: "follow" }).then((b) => b.json()).then((b) => {
1143
+ !f && r == "youtube" ? p == "on" ? m.setAttribute("src", `https://img.youtube.com/vi/${a}/maxresdefault.jpg `) : m.setAttribute("src", `https://img.youtube.com/vi/${a}/0.jpg`) : !f && r == "vimeo" ? m.setAttribute("src", `https://vumbnail.com/${a}_large.jpg`) : !f && r == "tiktok" ? fetch(`https://www.tiktok.com/oembed?url=https://www.tiktok.com/@/video/${a}`, { method: "GET", redirect: "follow" }).then((b) => b.json()).then((b) => {
1132
1144
  const y = b.thumbnail_url;
1133
1145
  m.setAttribute("src", `${y}`);
1134
1146
  }).catch(function(b) {
1135
1147
  console.log("error");
1136
1148
  }) : E("video4", "僅 youtube & vimeo 提供,無圖片時放置預設封面畫面,其他影片平台請自行上傳封面照片");
1137
1149
  }
1138
- c == "off" ? g = s : (g = s.querySelector(c) ?? s, s.querySelector(c) || E("video4", `找不到 videoButton 設定的 element -> '${c}' , 點擊物件轉移至 '${this.__storage__.el}'`)), g.video || (g.video = {}, g.video.params = e), g.video.eventHandler = d(this, K, De), g.addEventListener("click", g.video.eventHandler);
1150
+ c == "off" ? g = s : (g = s.querySelector(c) ?? s, s.querySelector(c) || E("video4", `找不到 videoButton 設定的 element -> '${c}' , 點擊物件轉移至 '${this.__storage__.el}'`)), g.video || (g.video = {}, g.video.params = e), g.video.eventHandler = d(this, tt, _e), g.addEventListener("click", g.video.eventHandler);
1139
1151
  } else if (l === "onPage") {
1140
1152
  let g = null;
1141
1153
  if (u == "on") {
@@ -1150,12 +1162,12 @@ V = new WeakSet(), Se = function() {
1150
1162
  console.log("error");
1151
1163
  }) : f || E("video4", "僅 youtube & vimeo 提供,無圖片時放置預設封面畫面,其他影片平台請自行上傳封面照片"), c == "off" ? g = s : (g = s.querySelector(c) ?? s, s.querySelector(c) || E("video4", `找不到 videoButton 設定的 element -> '${c}', 點擊物件轉移至 '${this.__storage__.el}'`));
1152
1164
  } else {
1153
- s.innerHTML = lt(e);
1165
+ s.innerHTML = ct(e);
1154
1166
  return;
1155
1167
  }
1156
- g.video || (g.video = {}, g.video.params = e), g.video.eventHandler = d(this, K, De), g.addEventListener("click", g.video.eventHandler);
1168
+ g.video || (g.video = {}, g.video.params = e), g.video.eventHandler = d(this, tt, _e), g.addEventListener("click", g.video.eventHandler);
1157
1169
  }
1158
- }, K = new WeakSet(), De = function(i) {
1170
+ }, tt = new WeakSet(), _e = function(i) {
1159
1171
  const { video: t, emit: e } = this, { $selector: s, videoMode: o, videoTarget: a, videoKeep: r, videoTargetRoute: l, videoType: c, videoIgHtml: u } = t.params, p = new Fe({ callback_loaded: (g) => {
1160
1172
  } });
1161
1173
  if (o == "onBox") {
@@ -1165,7 +1177,7 @@ V = new WeakSet(), Se = function() {
1165
1177
  on: {
1166
1178
  complete(m) {
1167
1179
  var f;
1168
- c == "instagram" ? (m.setAttribute("video-typeStyle", `${c}`), (f = window.instgrm) != null && f.Embeds ? window.instgrm.Embeds.process() : console.log("window.instgrm is undefined")) : (m.querySelector(".modal-content").insertAdjacentHTML("beforeend", lt(t.params)), m.setAttribute("video-typeStyle", `${c}`));
1180
+ c == "instagram" ? (m.setAttribute("video-typeStyle", `${c}`), (f = window.instgrm) != null && f.Embeds ? window.instgrm.Embeds.process() : console.log("window.instgrm is undefined")) : (m.querySelector(".modal-content").insertAdjacentHTML("beforeend", ct(t.params)), m.setAttribute("video-typeStyle", `${c}`));
1169
1181
  },
1170
1182
  open(m) {
1171
1183
  const f = m.querySelectorAll("[data-overlayscrollbars-viewport]");
@@ -1184,16 +1196,16 @@ V = new WeakSet(), Se = function() {
1184
1196
  }
1185
1197
  }
1186
1198
  };
1187
- U.open(g);
1199
+ J.open(g);
1188
1200
  } else if (o == "onPage")
1189
1201
  if (t.params.videoAutoplay = "on", r == "off") {
1190
- s.innerHTML = lt(t.params);
1202
+ s.innerHTML = ct(t.params);
1191
1203
  return;
1192
1204
  } else {
1193
- (s.querySelector(r) ?? s).insertAdjacentHTML("beforeend", lt(t.params));
1205
+ (s.querySelector(r) ?? s).insertAdjacentHTML("beforeend", ct(t.params));
1194
1206
  return;
1195
1207
  }
1196
- }, It = new WeakSet(), Di = function(i) {
1208
+ }, Ot = new WeakSet(), Di = function(i) {
1197
1209
  const { SETTINGS: t } = Y;
1198
1210
  return {
1199
1211
  $selector: i,
@@ -1214,7 +1226,7 @@ V = new WeakSet(), Se = function() {
1214
1226
  };
1215
1227
  Object.assign(qs.prototype, O);
1216
1228
  customElements.define("video-player", xs);
1217
- const Oe = {
1229
+ const Is = {
1218
1230
  "zh-tw": {
1219
1231
  臺北市: [
1220
1232
  ["中正區", "100"],
@@ -2043,8 +2055,10 @@ const Oe = {
2043
2055
  ["Dongyin Township", "212"]
2044
2056
  ]
2045
2057
  }
2046
- }, Is = (n) => {
2047
- const { TEMPLATE: i } = qe, { 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");
2058
+ };
2059
+ let U;
2060
+ const Os = (n) => {
2061
+ const { TEMPLATE: i } = Ie, { 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");
2048
2062
  e.innerHTML = i(
2049
2063
  s,
2050
2064
  o,
@@ -2057,7 +2071,7 @@ const Oe = {
2057
2071
  (!p.hasAttribute("data-option") || p.getAttribute("data-option").trim() === "") && p.setAttribute("data-option", p.textContent.trim());
2058
2072
  }) : (!c.hasAttribute("data-option") || c.getAttribute("data-option").trim() === "") && c.setAttribute("data-option", c.textContent.trim())), l.append(c);
2059
2073
  }), e.children[0];
2060
- }, Os = (n) => {
2074
+ }, Ns = (n) => {
2061
2075
  var t;
2062
2076
  const i = (t = n.getAttribute("control-elements")) == null ? void 0 : t.split(",");
2063
2077
  i && i.forEach((e) => {
@@ -2116,15 +2130,15 @@ const Oe = {
2116
2130
  break;
2117
2131
  }
2118
2132
  }
2119
- }, Ns = (n) => {
2133
+ }, Ps = (n) => {
2120
2134
  const i = n.s.cityLang;
2121
- n.classList.contains("city") && (n.s.dropdownEl.querySelector(".dropdown-list").innerHTML = "", Object.keys(Oe[i]).forEach((t) => {
2135
+ v("#newCityData").val() !== "" ? (U = JSON.parse(v("#newCityData").val())[0], console.log([0])) : U = Is, n.classList.contains("city") && (n.s.dropdownEl.querySelector(".dropdown-list").innerHTML = "", Object.keys(U[i]).forEach((t) => {
2122
2136
  const e = document.createElement("li");
2123
2137
  e.textContent = t, e.setAttribute("data-option", t), n.s.dropdownEl.querySelector(".dropdown-list").append(e);
2124
2138
  }), n.s.allLi = n.querySelectorAll(".dropdown-list li"));
2125
- }, Ps = (n, i) => {
2139
+ }, js = (n, i) => {
2126
2140
  const t = n.s.cityLang;
2127
- Oe[t][i].forEach((e, s) => {
2141
+ U[t][i].forEach((e, s) => {
2128
2142
  const o = document.createElement("li");
2129
2143
  o.textContent = e[0], o.setAttribute("data-option", e[0]), n.querySelector(".dropdown-list").append(o);
2130
2144
  });
@@ -2132,26 +2146,26 @@ const Oe = {
2132
2146
  S('dropdown-el[d4-status="open"]').forEach((i) => {
2133
2147
  i.close();
2134
2148
  });
2135
- }, js = () => {
2136
- const { SETTINGS: n } = qe;
2149
+ }, zs = () => {
2150
+ const { SETTINGS: n } = Ie;
2137
2151
  ((t, e) => {
2138
2152
  Object.keys(e).forEach((s) => {
2139
2153
  t.style.setProperty(`--${s}`, e[s]);
2140
2154
  });
2141
2155
  })(document.documentElement, n.scrollbar);
2142
2156
  };
2143
- js();
2157
+ zs();
2144
2158
  document.addEventListener("click", function() {
2145
2159
  _i();
2146
2160
  });
2147
- var Ot, $i, Nt, xi, Pt, Ci, jt, Hi;
2161
+ var Nt, $i, Pt, xi, jt, Ci, zt, Hi;
2148
2162
  class ki extends HTMLElement {
2149
2163
  constructor() {
2150
2164
  super();
2151
- h(this, Ot);
2152
2165
  h(this, Nt);
2153
2166
  h(this, Pt);
2154
2167
  h(this, jt);
2168
+ h(this, zt);
2155
2169
  this.initialize = !1;
2156
2170
  }
2157
2171
  static get observedAttributes() {
@@ -2197,7 +2211,7 @@ class ki extends HTMLElement {
2197
2211
  }
2198
2212
  connectedCallback() {
2199
2213
  const t = this;
2200
- t.initialize || t.classList.contains("d4-initialize") || (t.initialize = !0, d(this, Ot, $i).call(this));
2214
+ t.initialize || t.classList.contains("d4-initialize") || (t.initialize = !0, d(this, Nt, $i).call(this));
2201
2215
  }
2202
2216
  open() {
2203
2217
  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;
@@ -2223,14 +2237,14 @@ class ki extends HTMLElement {
2223
2237
  this.__events__.selectOption();
2224
2238
  }
2225
2239
  }
2226
- Ot = new WeakSet(), $i = function() {
2227
- this.s = {}, this.__events__ = {}, this.hasAttribute("d4-status") || this.setAttribute("d4-status", "close"), this.hasAttribute("d4-value") || this.setAttribute("d4-value", ""), d(this, Nt, xi).call(this);
2228
- }, Nt = new WeakSet(), xi = function() {
2229
- this.s.childDom = this.childNodes, this.s.template = Is(this), this.innerHTML = "", this.append(this.s.template), d(this, Pt, Ci).call(this);
2230
- }, Pt = new WeakSet(), Ci = function() {
2240
+ Nt = new WeakSet(), $i = function() {
2241
+ this.s = {}, this.__events__ = {}, this.hasAttribute("d4-status") || this.setAttribute("d4-status", "close"), this.hasAttribute("d4-value") || this.setAttribute("d4-value", ""), d(this, Pt, xi).call(this);
2242
+ }, Pt = new WeakSet(), xi = function() {
2243
+ this.s.childDom = this.childNodes, this.s.template = Os(this), this.innerHTML = "", this.append(this.s.template), d(this, jt, Ci).call(this);
2244
+ }, jt = new WeakSet(), Ci = function() {
2231
2245
  var s;
2232
2246
  const t = this;
2233
- 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", Ns(t), t.s.subDropdownTotalH = 0;
2247
+ 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", Ps(t), t.s.subDropdownTotalH = 0;
2234
2248
  const e = t.getAttribute("d4-value");
2235
2249
  switch (t.s.selectType) {
2236
2250
  case "single":
@@ -2239,7 +2253,7 @@ Ot = new WeakSet(), $i = function() {
2239
2253
  const r = document.querySelector(`dropdown-el[dist-select="${t.id}"]`), l = r ? r.getAttribute("d4-value") !== "" : !1;
2240
2254
  if (r && l) {
2241
2255
  const c = r.getAttribute("d4-value");
2242
- if (Ps(t, c), t.s.allLi = t.querySelectorAll(".dropdown-list li"), t.classList.remove("disabled"), t.getAttribute("d4-value") !== "") {
2256
+ if (js(t, c), t.s.allLi = t.querySelectorAll(".dropdown-list li"), t.classList.remove("disabled"), t.getAttribute("d4-value") !== "") {
2243
2257
  const u = e.split(",")[1];
2244
2258
  o = t.querySelector(`.dropdown-list li[data-option="${u}"]`), t.setAttribute("d4-value", u);
2245
2259
  }
@@ -2272,8 +2286,8 @@ Ot = new WeakSet(), $i = function() {
2272
2286
  };
2273
2287
  break;
2274
2288
  }
2275
- C(t, t.s.value.index), d(s = t, jt, Hi).call(s), t.classList.add("d4-initialize");
2276
- }, jt = new WeakSet(), Hi = function() {
2289
+ C(t, t.s.value.index), d(s = t, zt, Hi).call(s), t.classList.add("d4-initialize");
2290
+ }, zt = new WeakSet(), Hi = function() {
2277
2291
  const t = this;
2278
2292
  t.__events__.dropdownToggle = () => {
2279
2293
  t.addEventListener("click", function(e) {
@@ -2319,7 +2333,7 @@ Ot = new WeakSet(), $i = function() {
2319
2333
  t.s.dropdownEl.addEventListener("transitionend", e);
2320
2334
  }, t.__events__.bindScrollbar = (e = this) => {
2321
2335
  const s = e.querySelector(".dropdown-scroller");
2322
- e.__scroller__ = Me(s, {
2336
+ e.__scroller__ = qe(s, {
2323
2337
  overflowBehavior: {
2324
2338
  x: "hidden"
2325
2339
  }
@@ -2344,11 +2358,11 @@ Ot = new WeakSet(), $i = function() {
2344
2358
  };
2345
2359
  f.addEventListener("transitionend", R);
2346
2360
  } else
2347
- switch (Os(e), e.s.selectType) {
2361
+ switch (Ns(e), e.s.selectType) {
2348
2362
  case "single":
2349
2363
  if (e.setAttribute("d4-value", u.getAttribute("data-option")), r) {
2350
2364
  const f = e.s.cityLang, b = l.textContent.trim(), y = document.getElementById(e.getAttribute("dist-select"));
2351
- y && (y.querySelector(".dropdown-list").textContent = "", C(y, -1), Oe[f][b].forEach((_, G) => {
2365
+ y && (y.querySelector(".dropdown-list").textContent = "", C(y, -1), U[f][b].forEach((_, G) => {
2352
2366
  const D = document.createElement("li");
2353
2367
  D.textContent = _[0], D.setAttribute("data-option", _[0]), y.querySelector(".dropdown-list").append(D);
2354
2368
  }), e.__events__.selectOption(y));
@@ -2391,7 +2405,7 @@ Ot = new WeakSet(), $i = function() {
2391
2405
  };
2392
2406
  Object.assign(ki.prototype, O);
2393
2407
  customElements.define("dropdown-el", ki);
2394
- function dt(n) {
2408
+ function ut(n) {
2395
2409
  const i = {};
2396
2410
  return [...n.attributes].forEach((t) => {
2397
2411
  if (t.name.includes("duration-")) {
@@ -2401,9 +2415,9 @@ function dt(n) {
2401
2415
  }), Object.keys(i).length === 0 ? null : i;
2402
2416
  }
2403
2417
  function Be(n) {
2404
- if (dt(n)) {
2418
+ if (ut(n)) {
2405
2419
  let i;
2406
- const t = Object.keys(dt(n)).map((e) => ({
2420
+ const t = Object.keys(ut(n)).map((e) => ({
2407
2421
  value: e,
2408
2422
  point: e
2409
2423
  }));
@@ -2412,11 +2426,11 @@ function Be(n) {
2412
2426
  const { point: s, value: o } = t[e];
2413
2427
  window.matchMedia(`(max-width: ${o}px)`).matches && (i = s);
2414
2428
  }
2415
- return i ? Number(dt(n)[i]) : n.s.options.duration;
2429
+ return i ? Number(ut(n)[i]) : n.s.options.duration;
2416
2430
  } else
2417
2431
  return n.s.options.duration;
2418
2432
  }
2419
- function zs(n) {
2433
+ function Ws(n) {
2420
2434
  const { behavior: i, continual: t, gap: e } = n.s.options, s = n.childNodes, o = document.createElement("div"), a = document.createElement("div");
2421
2435
  o.className = "animate-container", a.className = "animate-item", [...s].forEach((l) => {
2422
2436
  a.append(l);
@@ -2483,20 +2497,20 @@ function $(n) {
2483
2497
  }
2484
2498
  return s;
2485
2499
  }
2486
- function Ws(n) {
2500
+ function Bs(n) {
2487
2501
  let i;
2488
2502
  return function(t) {
2489
2503
  i && clearTimeout(i), i = setTimeout(n, 200, t);
2490
2504
  };
2491
2505
  }
2492
- var zt, Mi, Wt, qi, Bt, Ii, Gt, Oi;
2493
- class Bs extends HTMLElement {
2506
+ var Wt, Mi, Bt, qi, Gt, Ii, Rt, Oi;
2507
+ class Gs extends HTMLElement {
2494
2508
  constructor() {
2495
2509
  super();
2496
- h(this, zt);
2497
2510
  h(this, Wt);
2498
2511
  h(this, Bt);
2499
2512
  h(this, Gt);
2513
+ h(this, Rt);
2500
2514
  this.initialize = !1;
2501
2515
  }
2502
2516
  static get observedAttributes() {
@@ -2505,7 +2519,7 @@ class Bs extends HTMLElement {
2505
2519
  attributeChangedCallback(t, e, s) {
2506
2520
  }
2507
2521
  connectedCallback() {
2508
- this.initialize || (this.initialize = !0, d(this, zt, Mi).call(this));
2522
+ this.initialize || (this.initialize = !0, d(this, Wt, Mi).call(this));
2509
2523
  }
2510
2524
  play() {
2511
2525
  this.s.animation.play(), this.s.animateEl.classList.add("start"), this.s.options.continual && (this.s.cloneAnimation.play(), this.s.cloneAnimateEl.classList.add("start"));
@@ -2514,7 +2528,7 @@ class Bs extends HTMLElement {
2514
2528
  this.s.animation.pause(), this.s.options.continual && this.s.cloneAnimation.pause();
2515
2529
  }
2516
2530
  }
2517
- zt = new WeakSet(), Mi = function() {
2531
+ Wt = new WeakSet(), Mi = function() {
2518
2532
  const t = {
2519
2533
  direction: this.getAttribute("direction") || x.SETTINGS.direction,
2520
2534
  // up / down / left / right
@@ -2522,7 +2536,7 @@ zt = new WeakSet(), Mi = function() {
2522
2536
  // normal / alternate / endStop
2523
2537
  duration: Number(this.getAttribute("duration")) || x.SETTINGS.duration,
2524
2538
  // ms
2525
- durationBreakpoints: dt(this) || x.SETTINGS.durationBreakpoints,
2539
+ durationBreakpoints: ut(this) || x.SETTINGS.durationBreakpoints,
2526
2540
  autoplay: this.getAttribute("autoplay") || x.SETTINGS.autoplay,
2527
2541
  // normal / alternate / endStop
2528
2542
  pauseOnMouseenter: this.getAttribute("pauseOnMouseEnter") ? this.getAttribute("pauseOnMouseEnter") === "true" : x.SETTINGS.pauseOnMouseenter,
@@ -2531,8 +2545,8 @@ zt = new WeakSet(), Mi = function() {
2531
2545
  // true / false
2532
2546
  gap: Number(this.getAttribute("gap")) || x.SETTINGS.gap
2533
2547
  };
2534
- this.s = {}, this.s.options = t, this.s.nowDuration = Be(this), zs(this), d(this, Wt, qi).call(this);
2535
- }, Wt = new WeakSet(), qi = function() {
2548
+ this.s = {}, this.s.options = t, this.s.nowDuration = Be(this), Ws(this), d(this, Bt, qi).call(this);
2549
+ }, Bt = new WeakSet(), qi = function() {
2536
2550
  const { direction: t, continual: e, gap: s } = this.s.options;
2537
2551
  switch (t) {
2538
2552
  case "left":
@@ -2544,8 +2558,8 @@ zt = new WeakSet(), Mi = function() {
2544
2558
  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;`;
2545
2559
  break;
2546
2560
  }
2547
- d(this, Bt, Ii).call(this), d(this, Gt, Oi).call(this), e && this.classList.add("continual"), this.classList.add("m4-initialize");
2548
- }, Bt = new WeakSet(), Ii = function() {
2561
+ d(this, Gt, Ii).call(this), d(this, Rt, Oi).call(this), e && this.classList.add("continual"), this.classList.add("m4-initialize");
2562
+ }, Gt = new WeakSet(), Ii = function() {
2549
2563
  const t = this, { direction: e, behavior: s, duration: o, autoplay: a, pauseOnMouseenter: r, continual: l } = t.s.options;
2550
2564
  let c;
2551
2565
  function u() {
@@ -2610,7 +2624,7 @@ zt = new WeakSet(), Mi = function() {
2610
2624
  }), t.addEventListener("mouseleave", function() {
2611
2625
  t.s.animation && r && t.s.animation.playState === "paused" && t.play();
2612
2626
  });
2613
- }, Gt = new WeakSet(), Oi = function() {
2627
+ }, Rt = new WeakSet(), Oi = function() {
2614
2628
  const t = this;
2615
2629
  function e() {
2616
2630
  const s = t.s.animation.startTime, o = t.s.cloneAnimation ? t.s.cloneAnimation.startTime : null;
@@ -2623,16 +2637,16 @@ zt = new WeakSet(), Mi = function() {
2623
2637
  iterations: 1 / 0
2624
2638
  }), t.s.cloneAnimation.startTime = o);
2625
2639
  }
2626
- window.addEventListener("resize", Ws(e));
2640
+ window.addEventListener("resize", Bs(e));
2627
2641
  };
2628
- customElements.define("marquee-el", Bs);
2629
- const pt = function(n, i) {
2642
+ customElements.define("marquee-el", Gs);
2643
+ const mt = function(n, i) {
2630
2644
  let t;
2631
2645
  return function(e) {
2632
2646
  t && clearTimeout(t), t = setTimeout(n, 200, e);
2633
2647
  };
2634
2648
  }, k = (n, i) => {
2635
- if (rt(n)) {
2649
+ if (lt(n)) {
2636
2650
  n.forEach((t) => {
2637
2651
  t.classList.add(i);
2638
2652
  });
@@ -2640,7 +2654,7 @@ const pt = function(n, i) {
2640
2654
  }
2641
2655
  n.classList.add(i);
2642
2656
  }, T = (n, i) => {
2643
- if (rt(n)) {
2657
+ if (lt(n)) {
2644
2658
  n.forEach((t) => {
2645
2659
  t.classList.remove(i);
2646
2660
  });
@@ -2648,22 +2662,22 @@ const pt = function(n, i) {
2648
2662
  }
2649
2663
  n.classList.remove(i);
2650
2664
  };
2651
- var Rt, Ni, Xt, Pi, Ft, ji, tt, _e, W, ut, Yt, zi;
2665
+ var Xt, Ni, Ft, Pi, Yt, ji, et, ke, W, ht, Ut, zi;
2652
2666
  class Ge {
2653
2667
  constructor(i) {
2654
2668
  // 初始化
2655
- h(this, Rt);
2656
- // 左右箭頭事件綁定
2657
2669
  h(this, Xt);
2658
- // 左右拖拉事件綁定
2670
+ // 左右箭頭事件綁定
2659
2671
  h(this, Ft);
2672
+ // 左右拖拉事件綁定
2673
+ h(this, Yt);
2660
2674
  // 卷軸位置判斷
2661
- h(this, tt);
2675
+ h(this, et);
2662
2676
  // 隱藏按鈕判斷
2663
2677
  h(this, W);
2664
2678
  // 選項事件綁定
2665
- h(this, Yt);
2666
- this.$element = i, this.option = i.s.option.drag, d(this, Rt, Ni).call(this);
2679
+ h(this, Ut);
2680
+ this.$element = i, this.option = i.s.option.drag, d(this, Xt, Ni).call(this);
2667
2681
  }
2668
2682
  // 更新 active 位置
2669
2683
  update(i) {
@@ -2677,7 +2691,7 @@ class Ge {
2677
2691
  }
2678
2692
  }
2679
2693
  }
2680
- Rt = new WeakSet(), Ni = function() {
2694
+ Xt = new WeakSet(), Ni = function() {
2681
2695
  var e, s, o, a, r, l;
2682
2696
  const i = this;
2683
2697
  if (!i.$element)
@@ -2685,9 +2699,9 @@ Rt = new WeakSet(), Ni = function() {
2685
2699
  i.$container = i.$element.querySelector(".drag-container"), i.$wrapper = i.$container.querySelector(".wrapper");
2686
2700
  const t = () => {
2687
2701
  var c, u;
2688
- d(c = i, tt, _e).call(c), d(u = i, W, ut).call(u);
2702
+ d(c = i, et, ke).call(c), d(u = i, W, ht).call(u);
2689
2703
  };
2690
- i.$wrapper.removeEventListener("scroll", t), i.$wrapper.addEventListener("scroll", t), window.removeEventListener("resize", pt(t)), window.addEventListener("resize", pt(t)), (i.option.draggable || i.$element.s.type == "collapse") && d(e = i, Ft, ji).call(e), i.option.navigation && i.$element.s.type !== "collapse" && (i.$container.insertAdjacentHTML(
2704
+ i.$wrapper.removeEventListener("scroll", t), i.$wrapper.addEventListener("scroll", t), window.removeEventListener("resize", mt(t)), window.addEventListener("resize", mt(t)), (i.option.draggable || i.$element.s.type == "collapse") && d(e = i, Yt, ji).call(e), i.option.navigation && i.$element.s.type !== "collapse" && (i.$container.insertAdjacentHTML(
2691
2705
  A.prepend,
2692
2706
  `<div class="navigation">
2693
2707
  <div class="button prev">
@@ -2697,8 +2711,8 @@ Rt = new WeakSet(), Ni = function() {
2697
2711
  <div></div>
2698
2712
  </div>
2699
2713
  </div>`
2700
- ), i.$button = (s = i.$container) == null ? void 0 : s.querySelectorAll(".button"), d(o = i, Xt, Pi).call(o)), d(a = i, tt, _e).call(a), d(r = i, W, ut).call(r), d(l = i, Yt, zi).call(l), i.update();
2701
- }, Xt = new WeakSet(), Pi = function() {
2714
+ ), i.$button = (s = i.$container) == null ? void 0 : s.querySelectorAll(".button"), d(o = i, Ft, Pi).call(o)), d(a = i, et, ke).call(a), d(r = i, W, ht).call(r), d(l = i, Ut, zi).call(l), i.update();
2715
+ }, Ft = new WeakSet(), Pi = function() {
2702
2716
  const i = this, { $wrapper: t, $button: e } = i, s = function() {
2703
2717
  const o = this.classList.contains("next"), a = parseInt(t.getBoundingClientRect().width * 0.7);
2704
2718
  t.scrollTo({
@@ -2706,13 +2720,13 @@ Rt = new WeakSet(), Ni = function() {
2706
2720
  behavior: "smooth"
2707
2721
  }), setTimeout(() => {
2708
2722
  var r;
2709
- d(r = i, W, ut).call(r);
2723
+ d(r = i, W, ht).call(r);
2710
2724
  }, 100);
2711
2725
  };
2712
2726
  e.forEach((o) => {
2713
2727
  o.removeEventListener("click", s), o.addEventListener("click", s);
2714
2728
  });
2715
- }, Ft = new WeakSet(), ji = function() {
2729
+ }, Yt = new WeakSet(), ji = function() {
2716
2730
  const { $wrapper: i } = this;
2717
2731
  let t = !1, e = !1, s = 0, o = 0;
2718
2732
  const a = function(p) {
@@ -2742,10 +2756,10 @@ Rt = new WeakSet(), Ni = function() {
2742
2756
  i.querySelectorAll("a").forEach((p) => {
2743
2757
  p.removeEventListener("click", u), p.addEventListener("click", u);
2744
2758
  });
2745
- }, tt = new WeakSet(), _e = function() {
2759
+ }, et = new WeakSet(), ke = function() {
2746
2760
  const { $container: i, $wrapper: t } = this, e = t.scrollWidth - t.clientWidth, s = Math.round(t.scrollLeft);
2747
2761
  e <= 0 || (k(i, "scrollable"), s == 0 ? (T(i, "scrollable"), k(t, "start"), T(t, "end")) : s + 1 >= e ? (T(i, "scrollable"), T(t, "start"), k(t, "end")) : (k(t, "center"), T(t, "start"), T(t, "end")));
2748
- }, W = new WeakSet(), ut = function() {
2762
+ }, W = new WeakSet(), ht = function() {
2749
2763
  const { $wrapper: i, $button: t, $element: e } = this;
2750
2764
  if (!t)
2751
2765
  return;
@@ -2767,7 +2781,7 @@ Rt = new WeakSet(), Ni = function() {
2767
2781
  }
2768
2782
  T(a, "hide");
2769
2783
  }) : T(t, "hide");
2770
- }, Yt = new WeakSet(), zi = function() {
2784
+ }, Ut = new WeakSet(), zi = function() {
2771
2785
  const { $element: i } = this, t = (s) => {
2772
2786
  if (this.option.selected) {
2773
2787
  const o = s.getAttribute("data-option").trim();
@@ -2781,31 +2795,31 @@ Rt = new WeakSet(), Ni = function() {
2781
2795
  s.removeEventListener("click", e), s.addEventListener("click", e);
2782
2796
  });
2783
2797
  };
2784
- var Ut, Wi, Jt, Bi, Zt, Gi, Qt, Ri;
2785
- class Gs {
2798
+ var Jt, Wi, Zt, Bi, Qt, Gi, Vt, Ri;
2799
+ class Rs {
2786
2800
  constructor(i) {
2787
2801
  // 初始化
2788
- h(this, Ut);
2789
- // 隱藏按鈕判斷
2790
2802
  h(this, Jt);
2791
- // 展開箭頭事件綁定
2803
+ // 隱藏按鈕判斷
2792
2804
  h(this, Zt);
2793
- // 選項事件綁定
2805
+ // 展開箭頭事件綁定
2794
2806
  h(this, Qt);
2795
- this.$element = i, this.option = i.s.option.collapse, d(this, Ut, Wi).call(this);
2807
+ // 選項事件綁定
2808
+ h(this, Vt);
2809
+ this.$element = i, this.option = i.s.option.collapse, d(this, Jt, Wi).call(this);
2796
2810
  }
2797
2811
  }
2798
- Ut = new WeakSet(), Wi = function() {
2799
- this.$element && (this.$container = this.$element.querySelector(".collapse-container"), this.$wrapper = this.$container.querySelector(".wrapper"), d(this, Jt, Bi).call(this) && d(this, Zt, Gi).call(this), d(this, Qt, Ri).call(this));
2800
- }, Jt = new WeakSet(), Bi = function() {
2812
+ Jt = new WeakSet(), Wi = function() {
2813
+ this.$element && (this.$container = this.$element.querySelector(".collapse-container"), this.$wrapper = this.$container.querySelector(".wrapper"), d(this, Zt, Bi).call(this) && d(this, Qt, Gi).call(this), d(this, Vt, Ri).call(this));
2814
+ }, Zt = new WeakSet(), Bi = function() {
2801
2815
  const i = this.$element.querySelector(".drag-container"), t = i.querySelector(".wrapper");
2802
2816
  return t.scrollWidth - t.clientWidth > 0 ? (i.insertAdjacentHTML(A.append, '<div class="open-collapse"></div>'), this.$button = i.querySelector(".open-collapse"), T(this.$element, "noScrollable"), !0) : (k(this.$element, "noScrollable"), !1);
2803
- }, Zt = new WeakSet(), Gi = function() {
2817
+ }, Qt = new WeakSet(), Gi = function() {
2804
2818
  const { $element: i, $button: t } = this, e = function() {
2805
2819
  i.classList.contains("expand") ? i.classList.remove("expand") : i.classList.add("expand");
2806
2820
  };
2807
2821
  t.removeEventListener("click", e), t.addEventListener("click", e);
2808
- }, Qt = new WeakSet(), Ri = function() {
2822
+ }, Vt = new WeakSet(), Ri = function() {
2809
2823
  const { $element: i } = this, t = (s, o) => {
2810
2824
  if (i != null && i.classList.contains("expand") ? i == null || i.classList.remove("expand") : i == null || i.classList.add("expand"), this.option.selected) {
2811
2825
  const a = s.getAttribute("data-option").trim();
@@ -2819,18 +2833,18 @@ Ut = new WeakSet(), Wi = function() {
2819
2833
  s.removeEventListener("click", e), s.addEventListener("click", e);
2820
2834
  });
2821
2835
  };
2822
- const Rs = (n) => {
2836
+ const Xs = (n) => {
2823
2837
  const { type: i, option: t, originalDomString: e } = n.s, s = document.createElement("div");
2824
2838
  return i == "drag" && (s.innerHTML = H.TEMPLATE[i]().trim(), s.querySelector(".drag-container .wrapper").insertAdjacentHTML(A.append, e)), i == "collapse" && (s.innerHTML = H.TEMPLATE[i](t == null ? void 0 : t.collapse).trim(), s.querySelector(".drag-container .wrapper").insertAdjacentHTML(A.append, e), s.querySelector(".collapse-container .wrapper").insertAdjacentHTML(A.append, e)), i == "dropdown" && (s.innerHTML = H.TEMPLATE[i](t == null ? void 0 : t.dropdown).trim(), s.querySelector("dropdown-el").insertAdjacentHTML(A.append, e)), s.children;
2825
2839
  };
2826
- var Vt, Xi, Kt, Fi, et, ke, B, ht;
2827
- class Xs extends HTMLElement {
2840
+ var Kt, Xi, te, Fi, it, $e, B, pt;
2841
+ class Fs extends HTMLElement {
2828
2842
  constructor() {
2829
2843
  super();
2830
- h(this, Vt);
2831
2844
  h(this, Kt);
2845
+ h(this, te);
2832
2846
  // 斷點設定
2833
- h(this, et);
2847
+ h(this, it);
2834
2848
  // check type
2835
2849
  h(this, B);
2836
2850
  this.initialize = !1, this.__events__ = {}, this.s = {}, this.s.originalDomString = this.innerHTML.trim().replace(/\n/g, ""), this.previousWidth = window.innerWidth;
@@ -2844,7 +2858,7 @@ class Xs extends HTMLElement {
2844
2858
  case "m4-type":
2845
2859
  if (e === null || e === s)
2846
2860
  return;
2847
- this.s.type = s, d(this, B, ht).call(this);
2861
+ this.s.type = s, d(this, B, pt).call(this);
2848
2862
  break;
2849
2863
  case "m4-status":
2850
2864
  if (e === s)
@@ -2861,13 +2875,13 @@ class Xs extends HTMLElement {
2861
2875
  }
2862
2876
  }
2863
2877
  connectedCallback() {
2864
- this.initialize || this.classList.contains("m4-init") || (this.initialize = !0, d(this, Vt, Xi).call(this));
2878
+ this.initialize || this.classList.contains("m4-init") || (this.initialize = !0, d(this, Kt, Xi).call(this));
2865
2879
  }
2866
2880
  update() {
2867
- d(this, et, ke).call(this);
2881
+ d(this, it, $e).call(this);
2868
2882
  }
2869
2883
  }
2870
- Vt = new WeakSet(), Xi = function() {
2884
+ Kt = new WeakSet(), Xi = function() {
2871
2885
  let t = {};
2872
2886
  this.hasAttribute("m4-value") || this.setAttribute("m4-value", ""), this.s.type = this.getAttribute("m4-type") ?? H.SETTINGS.type, this.hasAttribute("m4-option") && (t = this.getAttribute("m4-option") ? JSON.parse(this.getAttribute("m4-option")) : {}, this.removeAttribute("m4-option"));
2873
2887
  const e = (s) => {
@@ -2878,23 +2892,23 @@ Vt = new WeakSet(), Xi = function() {
2878
2892
  }
2879
2893
  this.update();
2880
2894
  };
2881
- window.removeEventListener("resize", pt(e)), window.addEventListener("resize", pt(e)), this.s.option = {}, this.s.option.drag = Object.assign({}, H.SETTINGS.drag, t == null ? void 0 : t.drag), this.s.option.collapse = Object.assign({}, H.SETTINGS.collapse, t == null ? void 0 : t.collapse), this.s.option.dropdown = Object.assign({}, H.SETTINGS.dropdown, t == null ? void 0 : t.dropdown), this.s.option.breakpoint = Object.assign({}, H.SETTINGS.breakpoint, t == null ? void 0 : t.breakpoint), d(this, Kt, Fi).call(this);
2882
- }, Kt = new WeakSet(), Fi = function() {
2883
- this.classList.add("m4-init"), d(this, et, ke).call(this);
2884
- }, et = new WeakSet(), ke = function() {
2895
+ window.removeEventListener("resize", mt(e)), window.addEventListener("resize", mt(e)), this.s.option = {}, this.s.option.drag = Object.assign({}, H.SETTINGS.drag, t == null ? void 0 : t.drag), this.s.option.collapse = Object.assign({}, H.SETTINGS.collapse, t == null ? void 0 : t.collapse), this.s.option.dropdown = Object.assign({}, H.SETTINGS.dropdown, t == null ? void 0 : t.dropdown), this.s.option.breakpoint = Object.assign({}, H.SETTINGS.breakpoint, t == null ? void 0 : t.breakpoint), d(this, te, Fi).call(this);
2896
+ }, te = new WeakSet(), Fi = function() {
2897
+ this.classList.add("m4-init"), d(this, it, $e).call(this);
2898
+ }, it = new WeakSet(), $e = function() {
2885
2899
  const t = Object.keys(this.s.option.breakpoint);
2886
2900
  if (!t.length) {
2887
- d(this, B, ht).call(this);
2901
+ d(this, B, pt).call(this);
2888
2902
  return;
2889
2903
  }
2890
2904
  t.map((e) => Number(e)).sort((e, s) => s - e).some((e) => {
2891
2905
  var s, o, a, r;
2892
- 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, B, ht).call(this), window.innerWidth >= e;
2906
+ 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, B, pt).call(this), window.innerWidth >= e;
2893
2907
  });
2894
- }, B = new WeakSet(), ht = function() {
2908
+ }, B = new WeakSet(), pt = function() {
2895
2909
  var o;
2896
2910
  const { type: t } = this.s;
2897
- this.innerHTML = "", [...Rs(this)].forEach((a) => {
2911
+ this.innerHTML = "", [...Xs(this)].forEach((a) => {
2898
2912
  this.append(a);
2899
2913
  });
2900
2914
  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")}"]`);
@@ -2903,59 +2917,59 @@ Vt = new WeakSet(), Xi = function() {
2903
2917
  this.drag = new Ge(this);
2904
2918
  break;
2905
2919
  case "collapse":
2906
- this.drag = new Ge(this), this.collapse = new Gs(this);
2920
+ this.drag = new Ge(this), this.collapse = new Rs(this);
2907
2921
  break;
2908
2922
  }
2909
2923
  (o = this.drag) == null || o.update();
2910
2924
  };
2911
- customElements.define("multipurpose-nav", Xs);
2912
- var te, Ui, ee, Ji, it, $e, P, F, ie, Zi, se, Qi, ne, Vi, oe, Ki, ae, ts, re, es, le, is, ce, ss, de, ns, q, z, ue, os, he, as, pe, rs, me, ls;
2925
+ customElements.define("multipurpose-nav", Fs);
2926
+ var ee, Ui, ie, Ji, st, xe, P, F, se, Zi, ne, Qi, oe, Vi, ae, Ki, re, ts, le, es, ce, is, de, ss, ue, ns, q, z, he, os, pe, as, me, rs, ge, ls;
2913
2927
  class Yi extends HTMLElement {
2914
2928
  // 定義組件的初始狀態
2915
2929
  constructor(t, e) {
2916
2930
  super();
2917
- h(this, te);
2918
2931
  h(this, ee);
2932
+ h(this, ie);
2919
2933
  // 第一關 判斷數量以及id設定
2920
- h(this, it);
2934
+ h(this, st);
2921
2935
  // 第二關 id命名提醒
2922
2936
  h(this, P);
2923
- h(this, ie);
2924
2937
  h(this, se);
2925
2938
  h(this, ne);
2939
+ h(this, oe);
2926
2940
  // 執行函式
2927
2941
  // 移動至指定位置
2928
- h(this, oe);
2929
- // 移動
2930
2942
  h(this, ae);
2931
- // 步驟狀態
2943
+ // 移動
2932
2944
  h(this, re);
2933
- // next 按鈕狀態
2945
+ // 步驟狀態
2934
2946
  h(this, le);
2935
- // prev 按鈕狀態
2947
+ // next 按鈕狀態
2936
2948
  h(this, ce);
2937
- // 頁籤狀態
2949
+ // prev 按鈕狀態
2938
2950
  h(this, de);
2951
+ // 頁籤狀態
2952
+ h(this, ue);
2939
2953
  // 第三關各種元件判斷 及 執行
2940
2954
  h(this, q);
2941
2955
  // 消失動畫
2942
- h(this, ue);
2943
- // 出現動畫
2944
2956
  h(this, he);
2945
- // 狀態
2957
+ // 出現動畫
2946
2958
  h(this, pe);
2947
- // resize
2959
+ // 狀態
2948
2960
  h(this, me);
2961
+ // resize
2962
+ h(this, ge);
2949
2963
  }
2950
2964
  // 當組件的屬性被更改時會被呼叫
2951
2965
  static get observedAttributes() {
2952
2966
  return ["t4-active"];
2953
2967
  }
2954
2968
  attributeChangedCallback(t, e, s) {
2955
- t === "t4-active" && e !== s && d(this, pe, rs).call(this, s);
2969
+ t === "t4-active" && e !== s && d(this, me, rs).call(this, s);
2956
2970
  }
2957
2971
  connectedCallback() {
2958
- this.classList.contains("t4-initialize") || d(this, te, Ui).call(this);
2972
+ this.classList.contains("t4-initialize") || d(this, ee, Ui).call(this);
2959
2973
  }
2960
2974
  // ------------- 我是分隔線呦 -------------
2961
2975
  // 頁籤切換
@@ -2971,7 +2985,7 @@ class Yi extends HTMLElement {
2971
2985
  e.activeTab = s, this.setAttribute("t4-active", s);
2972
2986
  const o = d(this, P, F).call(this, s);
2973
2987
  e.tabPanels.forEach((a, r) => {
2974
- r === o ? d(this, he, as).call(this, r) : d(this, ue, os).call(this, r);
2988
+ r === o ? d(this, pe, as).call(this, r) : d(this, he, os).call(this, r);
2975
2989
  });
2976
2990
  }
2977
2991
  // 外部呼叫方法 $0.goNext()
@@ -2986,10 +3000,10 @@ class Yi extends HTMLElement {
2986
3000
  }
2987
3001
  // 外部呼叫方法 $0.update()
2988
3002
  update() {
2989
- this.t.tabs = d(this, it, $e).call(this), cs(), console.log("tab update!!!!");
3003
+ this.t.tabs = d(this, st, xe).call(this), cs(), console.log("tab update!!!!");
2990
3004
  }
2991
3005
  }
2992
- te = new WeakSet(), Ui = function() {
3006
+ ee = new WeakSet(), Ui = function() {
2993
3007
  const t = this.getAttribute("t4-name"), { SETTINGS: e } = Ue;
2994
3008
  document.querySelectorAll(`tab-el[t4-name=${t}]`).length > 1 && console.warn(t, "名字有重複喔!!!"), this.t = {
2995
3009
  tabs: [],
@@ -3009,14 +3023,14 @@ te = new WeakSet(), Ui = function() {
3009
3023
  delay: this.getAttribute("t4-delay") || e.transition.delay
3010
3024
  },
3011
3025
  tabGroup: this.getAttribute("t4-group") || e.tabGroup
3012
- }, this.__events__ = {}, this.t.tabs = d(this, it, $e).call(this), this.t.step = document.querySelector(`[t4-control="${this.t.name}"]${this.t.stepOutput}`), d(this, ee, Ji).call(this);
3013
- }, ee = new WeakSet(), Ji = function() {
3014
- if (this.t.activeTab = this.t.defaultPage, this.t.display === "swiper" && d(this, ie, Zi).call(this), this.t.recordUrl) {
3026
+ }, this.__events__ = {}, this.t.tabs = d(this, st, xe).call(this), this.t.step = document.querySelector(`[t4-control="${this.t.name}"]${this.t.stepOutput}`), d(this, ie, Ji).call(this);
3027
+ }, ie = new WeakSet(), Ji = function() {
3028
+ if (this.t.activeTab = this.t.defaultPage, this.t.display === "swiper" && d(this, se, Zi).call(this), this.t.recordUrl) {
3015
3029
  const e = new URLSearchParams(document.location.search).get(this.t.name), s = document.querySelectorAll(`[t4-name="${this.t.name}"] .tab-panel[t4-id="${e}"]`);
3016
3030
  e && s.length === 1 ? this.t.activeTab = e : console.warn(`沒有${e}這頁喔!!`);
3017
3031
  }
3018
- this.setActiveTab(this.t.activeTab), this.classList.add("t4-initialize"), d(this, me, ls).call(this);
3019
- }, it = new WeakSet(), $e = function() {
3032
+ this.setActiveTab(this.t.activeTab), this.classList.add("t4-initialize"), d(this, ge, ls).call(this);
3033
+ }, st = new WeakSet(), xe = function() {
3020
3034
  const { t } = this, e = Array.from(document.querySelectorAll(`[t4-control="${t.name}"][t4-role="tab"]`));
3021
3035
  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) => {
3022
3036
  s.getAttribute("t4-id") || console.warn(s, "請幫我設定id!!");
@@ -3026,19 +3040,19 @@ te = new WeakSet(), Ui = function() {
3026
3040
  s.length > 1 && console.warn("有兩個相同id設定", s);
3027
3041
  const o = s[0];
3028
3042
  return o ? e.tabPanels.indexOf(o) : (console.warn(`找不到t4-id為${t}的頁籤`), 0);
3029
- }, ie = new WeakSet(), Zi = function() {
3043
+ }, se = new WeakSet(), Zi = function() {
3030
3044
  const t = document.createElement("div");
3031
3045
  t.classList.add("swiper-container");
3032
3046
  const e = document.createElement("div");
3033
3047
  e.classList.add("swiper-wrapper"), this.t.tabPanels.forEach((s) => {
3034
3048
  e.appendChild(s.cloneNode(!0));
3035
- }), this.t.tabPanels = [...e.children], t.appendChild(e), this.innerHTML = "", this.appendChild(t), d(this, se, Qi).call(this);
3036
- }, se = new WeakSet(), Qi = function() {
3049
+ }), this.t.tabPanels = [...e.children], t.appendChild(e), this.innerHTML = "", this.appendChild(t), d(this, ne, Qi).call(this);
3050
+ }, ne = new WeakSet(), Qi = function() {
3037
3051
  const t = this.querySelector(".swiper-container"), e = this.querySelector(".swiper-wrapper"), s = this.t.tabPanels;
3038
3052
  t.style.overflow = "hidden", e.style.display = "flex";
3039
3053
  const o = s.length * 100 + "%";
3040
3054
  e.style.width = o;
3041
- }, ne = new WeakSet(), Vi = function(t) {
3055
+ }, oe = new WeakSet(), Vi = function(t) {
3042
3056
  const { t: e } = this;
3043
3057
  if (e.recordUrl === "true") {
3044
3058
  const s = new URLSearchParams(document.location.search);
@@ -3046,28 +3060,28 @@ te = new WeakSet(), Ui = function() {
3046
3060
  const o = `${window.location.pathname}?${s.toString()}`;
3047
3061
  history.replaceState({ t4Id: t }, "", o);
3048
3062
  }
3049
- }, oe = new WeakSet(), Ki = function() {
3063
+ }, ae = new WeakSet(), Ki = function() {
3050
3064
  const t = parseInt(this.t.gap, 10), e = window.pageYOffset, o = this.getBoundingClientRect().top + e - t;
3051
- d(this, ae, ts).call(this, o);
3052
- }, ae = new WeakSet(), ts = function(t) {
3065
+ d(this, re, ts).call(this, o);
3066
+ }, re = new WeakSet(), ts = function(t) {
3053
3067
  window.scrollTo({
3054
3068
  top: t,
3055
3069
  behavior: "smooth"
3056
3070
  });
3057
- }, re = new WeakSet(), es = function(t) {
3071
+ }, le = new WeakSet(), es = function(t) {
3058
3072
  let e = parseInt(t, 10) + 1;
3059
3073
  this.t.step.textContent = `${e}`, this.t.step.setAttribute("now-page", e);
3060
- }, le = new WeakSet(), is = function(t) {
3074
+ }, ce = new WeakSet(), is = function(t) {
3061
3075
  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;
3062
3076
  e.forEach((a) => {
3063
3077
  s || o ? a.setAttribute("disabled", "") : a.removeAttribute("disabled");
3064
3078
  });
3065
- }, ce = new WeakSet(), ss = function(t) {
3079
+ }, de = new WeakSet(), ss = function(t) {
3066
3080
  const e = document.querySelectorAll(`[t4-role="prev"][t4-control="${this.t.name}"]`), s = this.t.tabPanels.length === 1, o = t === 0;
3067
3081
  e.forEach((a) => {
3068
3082
  s || o ? a.setAttribute("disabled", "") : a.removeAttribute("disabled");
3069
3083
  });
3070
- }, de = new WeakSet(), ns = function(t, e) {
3084
+ }, ue = new WeakSet(), ns = function(t, e) {
3071
3085
  this.t.tabGroup === "true" ? this.t.tabs.forEach((s, o) => {
3072
3086
  o == t ? s.setAttribute("aria-selected", !0) : s.setAttribute("aria-selected", !1);
3073
3087
  }) : this.t.tabs.forEach((s, o) => {
@@ -3076,25 +3090,25 @@ te = new WeakSet(), Ui = function() {
3076
3090
  }, q = new WeakSet(), z = function(t, e, s) {
3077
3091
  switch (t) {
3078
3092
  case "step":
3079
- we(this.t.step) && d(this, re, es).call(this, e);
3093
+ Te(this.t.step) && d(this, le, es).call(this, e);
3080
3094
  break;
3081
3095
  case "eventAnchor":
3082
- this.t.anchor && d(this, oe, Ki).call(this);
3096
+ this.t.anchor && d(this, ae, Ki).call(this);
3083
3097
  break;
3084
3098
  case "tabState":
3085
- this.t.type == "normal" && d(this, de, ns).call(this, e, s);
3099
+ this.t.type == "normal" && d(this, ue, ns).call(this, e, s);
3086
3100
  break;
3087
3101
  case "btnState":
3088
- d(this, le, is).call(this, e), d(this, ce, ss).call(this, e);
3102
+ d(this, ce, is).call(this, e), d(this, de, ss).call(this, e);
3089
3103
  break;
3090
3104
  case "tabUrl":
3091
- this.t.recordUrl === "true" && d(this, ne, Vi).call(this, e);
3105
+ this.t.recordUrl === "true" && d(this, oe, Vi).call(this, e);
3092
3106
  break;
3093
3107
  default:
3094
3108
  console.warn("請增加判斷,謝謝");
3095
3109
  break;
3096
3110
  }
3097
- }, ue = new WeakSet(), os = function(t) {
3111
+ }, he = new WeakSet(), os = function(t) {
3098
3112
  const { t: e } = this;
3099
3113
  this.t.transition;
3100
3114
  const s = e.tabPanels[t];
@@ -3111,7 +3125,7 @@ te = new WeakSet(), Ui = function() {
3111
3125
  s.style.display = "none";
3112
3126
  break;
3113
3127
  }
3114
- }, he = new WeakSet(), as = function(t) {
3128
+ }, pe = new WeakSet(), as = function(t) {
3115
3129
  const { duration: e, timing: s, delay: o } = this.t.transition, a = this.t.tabPanels[t];
3116
3130
  let r;
3117
3131
  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) {
@@ -3136,19 +3150,19 @@ te = new WeakSet(), Ui = function() {
3136
3150
  console.warn(this.t.display, "沒有這個效果請自己想辦法!!!!");
3137
3151
  break;
3138
3152
  }
3139
- }, pe = new WeakSet(), rs = function(t) {
3153
+ }, me = new WeakSet(), rs = function(t) {
3140
3154
  const e = d(this, P, F).call(this, t);
3141
3155
  d(this, q, z).call(this, "step", e), d(this, q, z).call(this, "btnState", e), d(this, q, z).call(this, "tabState", e, t), d(this, q, z).call(this, "tabUrl", t), this.emit("change");
3142
- }, me = new WeakSet(), ls = function() {
3156
+ }, ge = new WeakSet(), ls = function() {
3143
3157
  const t = this;
3144
3158
  window.addEventListener(
3145
3159
  "resize",
3146
- Fs(() => {
3160
+ Ys(() => {
3147
3161
  t.update();
3148
3162
  }, 1e3)
3149
3163
  );
3150
3164
  };
3151
- function Fs(n, i = 1e3) {
3165
+ function Ys(n, i = 1e3) {
3152
3166
  let t;
3153
3167
  return function(e) {
3154
3168
  t && clearTimeout(t), t = setTimeout(n, i, e);
@@ -3190,53 +3204,53 @@ customElements.define("tab-el", Yi);
3190
3204
  const Re = (n) => {
3191
3205
  const { defaultOptions: i } = n.collapse, { collapseClass: t, target: e, transition: s } = i, o = n.querySelector(e);
3192
3206
  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";
3193
- }, Ys = (n) => {
3207
+ }, Us = (n) => {
3194
3208
  const { defaultOptions: i } = n.collapse, { collapseClass: t, target: e, transition: s } = i, o = n.querySelector(e), a = o.children[0].offsetHeight;
3195
3209
  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";
3196
3210
  };
3197
- var st, xe, ge, ds, fe, us, nt, Ce;
3198
- class Us {
3211
+ var nt, Ce, fe, ds, ve, us, ot, He;
3212
+ class Js {
3199
3213
  constructor(i, t = {}) {
3200
- h(this, st);
3201
- h(this, ge);
3202
- h(this, fe);
3203
3214
  h(this, nt);
3204
- !at(i) && !we(i) && !rt(i) && !w(i) || (this.__storage__ = {
3215
+ h(this, fe);
3216
+ h(this, ve);
3217
+ h(this, ot);
3218
+ !rt(i) && !Te(i) && !lt(i) && !w(i) || (this.__storage__ = {
3205
3219
  el: i,
3206
3220
  options: t
3207
- }, this.active = "data-collapse-active", d(this, st, xe).call(this));
3221
+ }, this.active = "data-collapse-active", d(this, nt, Ce).call(this));
3208
3222
  }
3209
3223
  update() {
3210
- d(this, st, xe).call(this);
3224
+ d(this, nt, Ce).call(this);
3211
3225
  }
3212
3226
  }
3213
- st = new WeakSet(), xe = function() {
3227
+ nt = new WeakSet(), Ce = function() {
3214
3228
  const { el: i, options: t } = this.__storage__, { SETTINGS: e, EVENTS: s } = Je;
3215
3229
  if (this.elements = t.state == "not active" ? S(i + `:not([${this.active}])`) : S(i), this.options = Object.assign({}, e, t), this.__events__ = Object.assign({}, s), this.options.on)
3216
3230
  for (const [o, a] of Object.entries(this.options.on))
3217
3231
  this.__events__[o] = [a];
3218
- d(this, ge, ds).call(this);
3219
- }, ge = new WeakSet(), ds = function() {
3232
+ d(this, fe, ds).call(this);
3233
+ }, fe = new WeakSet(), ds = function() {
3220
3234
  const { elements: i, options: t } = this;
3221
3235
  i.forEach((e) => {
3222
- 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, fe, us).call(this, e);
3236
+ 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, ve, us).call(this, e);
3223
3237
  }), this.emit("init");
3224
- }, fe = new WeakSet(), us = function(i) {
3238
+ }, ve = new WeakSet(), us = function(i) {
3225
3239
  const { options: t } = this, { collapseClass: e, block: s, target: o, defaultOpen: a, targetStopPropagation: r, defaultActiveMark: l } = t, c = i, u = c.querySelector(o);
3226
- if (c.collapse.height = u.children[0].offsetHeight, a ? (u.style.height = `${u.children[0].offsetHeight}px`, c.classList.remove(e)) : !c.classList.contains(l) && !c.hasAttribute(l) ? (c.classList.add(e), u.style.height = "0px", u.style.overflow = "hidden") : (u.style.height = `${u.children[0].offsetHeight}px`, c.classList.remove(e)), c.removeEventListener("click", d(this, nt, Ce)), c.addEventListener("click", d(this, nt, Ce)), r) {
3240
+ 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, ot, He)), c.addEventListener("click", d(this, ot, He)), r) {
3227
3241
  const p = (g) => {
3228
3242
  g.stopPropagation();
3229
3243
  };
3230
3244
  u.removeEventListener("click", p), u.addEventListener("click", p);
3231
3245
  }
3232
- }, nt = new WeakSet(), Ce = function() {
3246
+ }, ot = new WeakSet(), He = function() {
3233
3247
  const { instance: i, defaultOptions: t } = this.collapse, { collapseClass: e, block: s, target: o, single: a } = t, r = this;
3234
3248
  r.classList.contains(e) ? (a && r.parentNode.querySelectorAll(`.${r.classList[0]}`).forEach((l) => {
3235
3249
  Re(l);
3236
- }), Ys(r)) : Re(r), i.emit("afterCollapse");
3250
+ }), Us(r)) : Re(r), i.emit("afterCollapse");
3237
3251
  };
3238
- Object.assign(Us.prototype, O);
3239
- function Js(n, i) {
3252
+ Object.assign(Js.prototype, O);
3253
+ function Zs(n, i) {
3240
3254
  const t = i, { color: e, opacity: s, duration: o } = i.s.options;
3241
3255
  let a = document.createElement("span"), r = n.clientX - t.getBoundingClientRect().left, l = n.clientY - t.getBoundingClientRect().top;
3242
3256
  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() {
@@ -3249,25 +3263,25 @@ function hs() {
3249
3263
  });
3250
3264
  }
3251
3265
  document.addEventListener("click", hs);
3252
- var ot, He, ve, ps, be, ms, ye, gs;
3253
- class Zs extends HTMLElement {
3266
+ var at, Me, be, ps, ye, ms, we, gs;
3267
+ class Qs extends HTMLElement {
3254
3268
  constructor() {
3255
3269
  super();
3256
- h(this, ot);
3257
- h(this, ve);
3270
+ h(this, at);
3258
3271
  h(this, be);
3259
3272
  h(this, ye);
3273
+ h(this, we);
3260
3274
  this.initialize = !1;
3261
3275
  }
3262
3276
  connectedCallback() {
3263
3277
  const t = this;
3264
- t.initialize || t.classList.contains("r4-initialize") || (t.initialize = !0, d(this, ot, He).call(this));
3278
+ t.initialize || t.classList.contains("r4-initialize") || (t.initialize = !0, d(this, at, Me).call(this));
3265
3279
  }
3266
3280
  update() {
3267
- this.classList.remove("r4-initialize"), this.querySelector("i.hover-ball").remove(), d(this, ot, He).call(this);
3281
+ this.classList.remove("r4-initialize"), this.querySelector("i.hover-ball").remove(), d(this, at, Me).call(this);
3268
3282
  }
3269
3283
  }
3270
- ot = new WeakSet(), He = function() {
3284
+ at = new WeakSet(), Me = function() {
3271
3285
  const { SETTINGS: t } = Ze;
3272
3286
  this.s = {};
3273
3287
  function e(o) {
@@ -3282,16 +3296,16 @@ ot = new WeakSet(), He = function() {
3282
3296
  hover: this.getAttribute("r4-hover") ? e(this.getAttribute("r4-hover")) : t.hover,
3283
3297
  click: this.getAttribute("r4-hover-click") ? e(this.getAttribute("r4-hover-click")) : t.click
3284
3298
  };
3285
- this.s.options = s, this.s.options.hover && this.classList.add("hover-btn"), d(this, ve, ps).call(this);
3286
- }, ve = new WeakSet(), ps = function() {
3287
- d(this, be, ms).call(this), d(this, ye, gs).call(this), this.classList.add("r4-initialize");
3288
- }, be = new WeakSet(), ms = function() {
3299
+ this.s.options = s, this.s.options.hover && this.classList.add("hover-btn"), d(this, be, ps).call(this);
3300
+ }, be = new WeakSet(), ps = function() {
3301
+ d(this, ye, ms).call(this), d(this, we, gs).call(this), this.classList.add("r4-initialize");
3302
+ }, ye = new WeakSet(), ms = function() {
3289
3303
  const t = this, e = document.createElement("i");
3290
3304
  e.classList.add("hover-ball"), e.style.transitionDuration = `${t.s.options.speed}ms`, t.appendChild(e);
3291
- }, ye = new WeakSet(), gs = function() {
3305
+ }, we = new WeakSet(), gs = function() {
3292
3306
  const t = this.querySelector("i.hover-ball"), e = this;
3293
3307
  e.addEventListener("click", function(a) {
3294
- a.stopPropagation(), e.s.options.click && Js(a, e);
3308
+ a.stopPropagation(), e.s.options.click && Zs(a, e);
3295
3309
  });
3296
3310
  let s = "ontouchstart" in document.documentElement ? "touchstart" : "mouseenter", o = "ontouchend" in document.documentElement ? "touchend" : "mouseleave";
3297
3311
  e.addEventListener(s, function(a) {
@@ -3306,8 +3320,8 @@ ot = new WeakSet(), He = function() {
3306
3320
  }
3307
3321
  });
3308
3322
  };
3309
- customElements.define("ripple-btn", Zs);
3310
- class Qs {
3323
+ customElements.define("ripple-btn", Qs);
3324
+ class Vs {
3311
3325
  constructor() {
3312
3326
  this.init();
3313
3327
  }
@@ -3364,7 +3378,7 @@ function Xe(n, i) {
3364
3378
  Function(n)(t, e);
3365
3379
  } : i;
3366
3380
  }
3367
- function Vs(n, i, t, e) {
3381
+ function Ks(n, i, t, e) {
3368
3382
  const s = i.params, o = n.closest("[data-upload-item]").querySelector("[data-preview]");
3369
3383
  o.querySelector("img") && o.querySelector("img").remove(), o.appendChild(e.imgElement);
3370
3384
  const a = n.dataset.group, r = document.querySelector(i.el).dataset.index;
@@ -3387,7 +3401,7 @@ function Vs(n, i, t, e) {
3387
3401
  info: e
3388
3402
  }, s.on.changeAfter && typeof s.on.changeAfter == "function" && s.on.changeAfter(n, e);
3389
3403
  }
3390
- function Ks(n, i, t, e) {
3404
+ function tn(n, i, t, e) {
3391
3405
  const s = document.createElement("canvas"), o = s.getContext("2d"), a = i.width, l = i.height / a * 100, c = e / t * 100;
3392
3406
  let u = 0, p = 0;
3393
3407
  switch (s.width = t, s.height = e, n.previewSize) {
@@ -3401,14 +3415,14 @@ function Ks(n, i, t, e) {
3401
3415
  const g = (s.width - u) * 0.5, m = (s.height - p) * 0.5;
3402
3416
  return o.drawImage(i, g, m, u, p), s;
3403
3417
  }
3404
- function tn(n, i) {
3418
+ function en(n, i) {
3405
3419
  return new Promise((t, e) => {
3406
3420
  if (i) {
3407
3421
  const s = new Image();
3408
3422
  s.src = i, s.classList.add(n.previewSize), s.onload = () => {
3409
3423
  let o = {
3410
3424
  imgElement: s,
3411
- originalCanvas: Ks(n, s, s.width, s.height),
3425
+ originalCanvas: tn(n, s, s.width, s.height),
3412
3426
  info: {
3413
3427
  originalWidth: s.width,
3414
3428
  originalHeight: s.height,
@@ -3421,31 +3435,31 @@ function tn(n, i) {
3421
3435
  t();
3422
3436
  });
3423
3437
  }
3424
- function en(n, i) {
3438
+ function sn(n, i) {
3425
3439
  const t = Math.pow(10, i);
3426
3440
  return Math.round(n * t) / t;
3427
3441
  }
3428
- function sn(n, i) {
3442
+ function nn(n, i) {
3429
3443
  let t = n.size / 1024 / 1024;
3430
- return `${en(t, 2)}` <= i;
3444
+ return `${sn(t, 2)}` <= i;
3431
3445
  }
3432
- function nn(n, i, t) {
3446
+ function on(n, i, t) {
3433
3447
  if (n.target.files.length <= 0)
3434
3448
  return;
3435
3449
  const e = n.target.files[0], s = i.closest("[data-upload-item]");
3436
3450
  let o = new FileReader();
3437
3451
  o.onload = (a) => {
3438
3452
  const r = e.type.split("/")[0] === "image" ? a.target.result : null;
3439
- if (t.params.sizeLimit && !sn(e, t.params.sizeLimit)) {
3453
+ if (t.params.sizeLimit && !nn(e, t.params.sizeLimit)) {
3440
3454
  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);
3441
3455
  return;
3442
3456
  } else
3443
- s.classList.remove("over-limit"), s.classList.add("uploaded"), tn(t.params, r).then((l) => {
3444
- Vs(i, t, e, l);
3457
+ s.classList.remove("over-limit"), s.classList.add("uploaded"), en(t.params, r).then((l) => {
3458
+ Ks(i, t, e, l);
3445
3459
  });
3446
3460
  }, o.readAsDataURL(e);
3447
3461
  }
3448
- class on {
3462
+ class an {
3449
3463
  constructor(i, t) {
3450
3464
  const e = this;
3451
3465
  e.el = i, e.params = {
@@ -3478,62 +3492,62 @@ class on {
3478
3492
  }
3479
3493
  };
3480
3494
  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) {
3481
- nn(a, e, i);
3495
+ on(a, e, i);
3482
3496
  });
3483
3497
  }));
3484
3498
  }
3485
3499
  }
3486
3500
  export {
3487
3501
  Qe as A,
3488
- Tn as B,
3489
- Us as C,
3502
+ En as B,
3503
+ Js as C,
3490
3504
  ki as D,
3491
- En as E,
3492
- An as F,
3493
- Ln as G,
3494
- Sn as H,
3495
- Qs as I,
3496
- Dn as J,
3497
- _n as K,
3498
- kn as L,
3499
- U as M,
3500
- $n as N,
3501
- xn as O,
3502
- Cn as P,
3503
- Hn as Q,
3504
- Zs as R,
3505
- Mn as S,
3505
+ An as E,
3506
+ Ln as F,
3507
+ Sn as G,
3508
+ Dn as H,
3509
+ Vs as I,
3510
+ _n as J,
3511
+ kn as K,
3512
+ $n as L,
3513
+ J as M,
3514
+ xn as N,
3515
+ Cn as O,
3516
+ Hn as P,
3517
+ Mn as Q,
3518
+ Qs as R,
3519
+ qn as S,
3506
3520
  Yi as T,
3507
- qn as U,
3508
- In as V,
3509
- On as W,
3510
- Nn as X,
3511
- Pn as Y,
3521
+ In as U,
3522
+ On as V,
3523
+ Nn as W,
3524
+ Pn as X,
3525
+ jn as Y,
3512
3526
  w as a,
3513
- rt as b,
3527
+ lt as b,
3514
3528
  Ts as c,
3515
3529
  ws as d,
3516
3530
  Y as e,
3517
3531
  A as f,
3518
3532
  S as g,
3519
- mn as h,
3520
- at as i,
3533
+ gn as h,
3534
+ rt as i,
3521
3535
  ui as j,
3522
- Bs as k,
3523
- Xs as l,
3524
- on as m,
3536
+ Gs as k,
3537
+ Fs as l,
3538
+ an as m,
3525
3539
  Hs as n,
3526
- jn as o,
3527
- gn as p,
3540
+ zn as o,
3541
+ fn as p,
3528
3542
  Ei as q,
3529
3543
  Ai as r,
3530
3544
  ys as s,
3531
- fn as t,
3532
- vn as u,
3545
+ vn as t,
3546
+ bn as u,
3533
3547
  qs as v,
3534
- bn as w,
3548
+ yn as w,
3535
3549
  Cs as x,
3536
- yn as y,
3537
- wn as z
3550
+ wn as y,
3551
+ Tn as z
3538
3552
  };
3539
3553
  //# sourceMappingURL=image-preview-bundle.js.map