@webority/ui-elements 0.31.0 → 0.33.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ui-chart.global.js +1 -1
- package/dist/ui-chart.js +204 -186
- package/dist/ui-elements.global.js +67 -67
- package/dist/ui-elements.js +847 -780
- package/dist/ui-rich-text.global.js +1 -1
- package/dist/ui-rich-text.js +3 -0
- package/package.json +3 -5
package/dist/ui-elements.js
CHANGED
|
@@ -589,6 +589,9 @@ var at = Object.freeze([
|
|
|
589
589
|
cancelled: (e) => `${e} was not moved.`,
|
|
590
590
|
rolledBack: (e, t) => `${e} went back to ${t}.`,
|
|
591
591
|
locked: (e) => `${e} cannot be moved.`,
|
|
592
|
+
more: (e) => `Show ${e} more`,
|
|
593
|
+
fewer: "Show fewer",
|
|
594
|
+
swipeHint: "Swipe sideways or tap a column",
|
|
592
595
|
busy: "This card is still saving. Try again in a moment.",
|
|
593
596
|
failed: Object.freeze({
|
|
594
597
|
forbidden: "You do not have permission to move this card.",
|
|
@@ -597,16 +600,29 @@ var at = Object.freeze([
|
|
|
597
600
|
server: "Something went wrong on our side, so the card went back. Try again in a moment.",
|
|
598
601
|
network: "Could not reach the server, so the card went back. Check your connection and try again."
|
|
599
602
|
})
|
|
600
|
-
}), dt = "[data-wui-column]", ft = "[data-wui-body]", pt = "[data-wui-card]", mt = "[data-wui-count]", ht = "[data-wui-summary]", gt = "[data-wui-empty]", _t = "[data-wui-drop-note]", vt = "[data-wui-live]", yt = "[data-wui-help]", bt = "[data-wui-switch]", xt = "[data-wui-scroller]", St = "[data-wui-collapse]", Ct = "input, select, textarea, [contenteditable=\"\"], [contenteditable=\"true\"], [data-wui-no-drag]",
|
|
601
|
-
function
|
|
603
|
+
}), dt = "[data-wui-column]", ft = "[data-wui-body]", pt = "[data-wui-card]", mt = "[data-wui-count]", ht = "[data-wui-summary]", gt = "[data-wui-empty]", _t = "[data-wui-drop-note]", vt = "[data-wui-live]", yt = "[data-wui-help]", bt = "[data-wui-switch]", xt = "[data-wui-scroller]", St = "[data-wui-collapse]", Ct = "[data-wui-more]", wt = "data-wui-visible-limit", Tt = "data-wui-overflow", Et = "input, select, textarea, [contenteditable=\"\"], [contenteditable=\"true\"], [data-wui-no-drag]", Dt = 48, Ot = 16, M = (e) => e.getAttribute("data-wui-column"), N = (e) => e.getAttribute("data-wui-card"), kt = (e) => e.hidden || e.hasAttribute("hidden"), At = (e) => kt(e) || e.hasAttribute(Tt);
|
|
604
|
+
function jt(e) {
|
|
605
|
+
if (e == null || e === "") return null;
|
|
606
|
+
let t = typeof e == "number" ? e : Number(e);
|
|
607
|
+
if (!Number.isInteger(t) || t < 1) throw TypeError(`Unsupported kanban visible limit "${String(e)}". Use a whole number of 1 or more.`);
|
|
608
|
+
return t;
|
|
609
|
+
}
|
|
610
|
+
function Mt(e, t, n, r) {
|
|
611
|
+
let i = /* @__PURE__ */ new Set();
|
|
612
|
+
if (t == null || n) return i;
|
|
613
|
+
let a = 0;
|
|
614
|
+
for (let n of e) r.has(n) || (a < t ? a++ : i.add(n));
|
|
615
|
+
return i;
|
|
616
|
+
}
|
|
617
|
+
function P(e) {
|
|
602
618
|
let t = (e.getAttribute("aria-label") || e.textContent || "").replace(/\s+/g, " ").trim();
|
|
603
|
-
return t.length > 80 ? `${t.slice(0, 79)}…` : t ||
|
|
619
|
+
return t.length > 80 ? `${t.slice(0, 79)}…` : t || N(e) || "Card";
|
|
604
620
|
}
|
|
605
|
-
function
|
|
621
|
+
function Nt(e) {
|
|
606
622
|
return e ? `${st}${e}` : null;
|
|
607
623
|
}
|
|
608
|
-
function
|
|
609
|
-
let n =
|
|
624
|
+
function Pt(e, t = globalThis.localStorage) {
|
|
625
|
+
let n = Nt(e);
|
|
610
626
|
if (!n || !t) return {};
|
|
611
627
|
try {
|
|
612
628
|
let e = JSON.parse(t.getItem(n) || "null");
|
|
@@ -615,18 +631,18 @@ function kt(e, t = globalThis.localStorage) {
|
|
|
615
631
|
return {};
|
|
616
632
|
}
|
|
617
633
|
}
|
|
618
|
-
function
|
|
619
|
-
let i =
|
|
634
|
+
function Ft(e, t, n, r = globalThis.localStorage) {
|
|
635
|
+
let i = Nt(e);
|
|
620
636
|
if (!i || !r) return;
|
|
621
637
|
let a = {
|
|
622
|
-
...
|
|
638
|
+
...Pt(e, r),
|
|
623
639
|
[t]: !!n
|
|
624
640
|
};
|
|
625
641
|
try {
|
|
626
642
|
r.setItem(i, JSON.stringify({ collapsed: a }));
|
|
627
643
|
} catch {}
|
|
628
644
|
}
|
|
629
|
-
function
|
|
645
|
+
function It(e, t) {
|
|
630
646
|
if (!ot.includes(e)) throw TypeError(`Unsupported kanban summary format "${String(e)}". Use ${ot.join(", ")}.`);
|
|
631
647
|
if (t != null && t !== "" && !r.includes(t)) throw TypeError(`Unsupported kanban summary unit "${String(t)}". Use ${r.join(", ")}.`);
|
|
632
648
|
return e === "currency" ? {
|
|
@@ -641,7 +657,7 @@ function jt(e, t) {
|
|
|
641
657
|
decimals: 0
|
|
642
658
|
};
|
|
643
659
|
}
|
|
644
|
-
function
|
|
660
|
+
function Lt(e) {
|
|
645
661
|
let t = 0;
|
|
646
662
|
for (let n of e) {
|
|
647
663
|
if (n == null || n === "") continue;
|
|
@@ -650,11 +666,11 @@ function Mt(e) {
|
|
|
650
666
|
}
|
|
651
667
|
return t;
|
|
652
668
|
}
|
|
653
|
-
var
|
|
669
|
+
var Rt = (e, t) => {
|
|
654
670
|
e && window.WUI?.toast?.(e, { variant: t });
|
|
655
|
-
},
|
|
671
|
+
}, zt = class extends e {
|
|
656
672
|
constructor() {
|
|
657
|
-
super(), this._wired = !1, this._filter = null, this._press = null, this._drag = null, this._kbd = null, this._suppressClick = !1, this._observer = null, this._refreshQueued = !1, this._scrollTimer = 0, this._onPointerMove = (e) => this._pointerMove(e), this._onPointerUp = (e) => this._pointerUp(e), this._onPointerCancel = () => this._endPointer(!1), this._onDocKeyDown = (e) => {
|
|
673
|
+
super(), this._wired = !1, this._filter = null, this._expanded = /* @__PURE__ */ new Set(), this._revealed = /* @__PURE__ */ new Set(), this._press = null, this._drag = null, this._kbd = null, this._suppressClick = !1, this._observer = null, this._refreshQueued = !1, this._scrollTimer = 0, this._onPointerMove = (e) => this._pointerMove(e), this._onPointerUp = (e) => this._pointerUp(e), this._onPointerCancel = () => this._endPointer(!1), this._onDocKeyDown = (e) => {
|
|
658
674
|
e.key === "Escape" && this._drag && (e.preventDefault(), this._endPointer(!1));
|
|
659
675
|
}, this._onScroll = () => {
|
|
660
676
|
clearTimeout(this._scrollTimer), this._scrollTimer = setTimeout(() => this._syncSwitcherFromScroll(), 80);
|
|
@@ -694,14 +710,28 @@ var Nt = (e, t) => {
|
|
|
694
710
|
this._refreshQueued = !1;
|
|
695
711
|
let e = this._summaryFormat();
|
|
696
712
|
for (let t of this._columns()) {
|
|
697
|
-
let n =
|
|
698
|
-
for (let e of this._cardsIn(t))
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
713
|
+
let n = M(t), r = jt(t.getAttribute(wt)), i = [], a = [];
|
|
714
|
+
for (let e of this._cardsIn(t)) {
|
|
715
|
+
if (this._filter && (e.hidden = this._filter(e) === !1), kt(e)) {
|
|
716
|
+
e.removeAttribute(Tt);
|
|
717
|
+
continue;
|
|
718
|
+
}
|
|
719
|
+
i.push(e), a.push(e.getAttribute("data-wui-value"));
|
|
720
|
+
}
|
|
721
|
+
let o = this._expanded.has(n), s = Mt(i.map(N), r, o, this._revealed);
|
|
722
|
+
for (let e of i) e.toggleAttribute(Tt, s.has(N(e)));
|
|
723
|
+
let c = String(i.length);
|
|
724
|
+
for (let e of this._countsOf(t)) e.textContent !== c && (e.textContent = c);
|
|
725
|
+
let l = t.querySelector(gt);
|
|
726
|
+
if (l && (l.hidden = i.length > 0), e) {
|
|
703
727
|
let n = t.querySelector(ht);
|
|
704
|
-
n && (n.textContent = ie(
|
|
728
|
+
n && (n.textContent = ie(Lt(a), e));
|
|
729
|
+
}
|
|
730
|
+
let u = t.querySelector(Ct);
|
|
731
|
+
if (u) {
|
|
732
|
+
u.hidden = r == null || (o ? i.length <= r : s.size === 0), u.setAttribute("aria-expanded", o ? "true" : "false");
|
|
733
|
+
let e = o ? j.fewer : j.more(s.size);
|
|
734
|
+
u.textContent !== e && (u.textContent = e);
|
|
705
735
|
}
|
|
706
736
|
}
|
|
707
737
|
}
|
|
@@ -731,13 +761,13 @@ var Nt = (e, t) => {
|
|
|
731
761
|
return t ? [...t.children].filter((e) => e.matches(pt)) : [];
|
|
732
762
|
}
|
|
733
763
|
_visibleCardsIn(e) {
|
|
734
|
-
return this._cardsIn(e).filter((e) => !
|
|
764
|
+
return this._cardsIn(e).filter((e) => !At(e));
|
|
735
765
|
}
|
|
736
766
|
_allCards() {
|
|
737
767
|
return [...this.querySelectorAll(`${ft} > ${pt}`)];
|
|
738
768
|
}
|
|
739
769
|
_cardByKey(e) {
|
|
740
|
-
return this._allCards().find((t) =>
|
|
770
|
+
return this._allCards().find((t) => N(t) === e) || null;
|
|
741
771
|
}
|
|
742
772
|
_countsOf(e) {
|
|
743
773
|
let t = M(e), n = [...this.querySelectorAll(bt)].filter((e) => e.getAttribute("data-wui-switch") === t);
|
|
@@ -748,7 +778,7 @@ var Nt = (e, t) => {
|
|
|
748
778
|
}
|
|
749
779
|
_summaryFormat() {
|
|
750
780
|
let e = this.getAttribute("summary-format");
|
|
751
|
-
return e ?
|
|
781
|
+
return e ? It(e, this.getAttribute("summary-unit")) : null;
|
|
752
782
|
}
|
|
753
783
|
_queueRefresh() {
|
|
754
784
|
this._refreshQueued || (this._refreshQueued = !0, queueMicrotask(() => {
|
|
@@ -771,8 +801,12 @@ var Nt = (e, t) => {
|
|
|
771
801
|
}));
|
|
772
802
|
}
|
|
773
803
|
_canLift(e) {
|
|
774
|
-
let t =
|
|
775
|
-
return
|
|
804
|
+
let t = P(e), n = this.hasAttribute("readonly");
|
|
805
|
+
return n || e.hasAttribute("data-wui-locked") ? (this._announce(j.locked(t)), this._fire("wui:kanban:locked", {
|
|
806
|
+
key: N(e),
|
|
807
|
+
card: e,
|
|
808
|
+
reason: n ? "readonly" : "locked"
|
|
809
|
+
}, !0), !1) : e.getAttribute("aria-busy") === "true" ? (this._announce(j.busy), Rt(j.busy, "info"), !1) : !0;
|
|
776
810
|
}
|
|
777
811
|
_check(e, t, n) {
|
|
778
812
|
if (t === n) return {
|
|
@@ -802,7 +836,7 @@ var Nt = (e, t) => {
|
|
|
802
836
|
};
|
|
803
837
|
}
|
|
804
838
|
_markTargets(e, t) {
|
|
805
|
-
let n =
|
|
839
|
+
let n = P(e), r = /* @__PURE__ */ new Map();
|
|
806
840
|
for (let i of this._columns()) {
|
|
807
841
|
let a = M(i), o = this._check(e, t, a);
|
|
808
842
|
r.set(a, o), i.setAttribute("data-wui-drop", o.source ? "source" : o.ok ? "ok" : "refused");
|
|
@@ -819,12 +853,12 @@ var Nt = (e, t) => {
|
|
|
819
853
|
}
|
|
820
854
|
}
|
|
821
855
|
async _commit(e, t, n) {
|
|
822
|
-
let r = this._columnOf(e), i = M(r), a = this._columnByKey(t), o =
|
|
856
|
+
let r = this._columnOf(e), i = M(r), a = this._columnByKey(t), o = P(e);
|
|
823
857
|
if (i === t || !this._canLift(e)) return !1;
|
|
824
858
|
let s = this._check(e, i, t);
|
|
825
|
-
if (!s.ok) return this._announce(s.reason),
|
|
859
|
+
if (!s.ok) return this._announce(s.reason), Rt(s.reason, "info"), !1;
|
|
826
860
|
let c = this._cardsIn(a), l = Number.isInteger(n) ? Math.max(0, Math.min(n, c.length)) : c.length, u = {
|
|
827
|
-
key:
|
|
861
|
+
key: N(e),
|
|
828
862
|
card: e,
|
|
829
863
|
from: i,
|
|
830
864
|
to: t,
|
|
@@ -832,21 +866,24 @@ var Nt = (e, t) => {
|
|
|
832
866
|
}, d = e.contains(document.activeElement);
|
|
833
867
|
if (this._controlled()) return this._fire("wui:kanban:move", u), this._announce(j.moved(o, this._titleOf(a))), d && this._refocusSoon(u.key), !0;
|
|
834
868
|
if (!this._fire("wui:kanban:move", u, !0)) return !1;
|
|
835
|
-
let f =
|
|
869
|
+
let f = a.hasAttribute(wt) && !this._revealed.has(u.key);
|
|
870
|
+
f && this._revealed.add(u.key);
|
|
871
|
+
let p = {
|
|
836
872
|
parent: e.parentNode,
|
|
837
873
|
next: e.nextSibling,
|
|
838
|
-
column: r
|
|
874
|
+
column: r,
|
|
875
|
+
revealed: f
|
|
839
876
|
};
|
|
840
877
|
this._bodyOf(a).insertBefore(e, c[l] || null), d && e.focus(), this.refresh();
|
|
841
|
-
let
|
|
842
|
-
if (
|
|
843
|
-
let
|
|
844
|
-
if (!
|
|
878
|
+
let m = a.getAttribute("data-wui-step");
|
|
879
|
+
if (m) return this._runStep(e, u, p, m, a.getAttribute("data-wui-step-size"));
|
|
880
|
+
let h = this.getAttribute("move-url");
|
|
881
|
+
if (!h) return this._announce(j.moved(o, this._titleOf(a))), this._fire("wui:kanban:moved", {
|
|
845
882
|
...u,
|
|
846
883
|
result: null
|
|
847
884
|
}), !0;
|
|
848
885
|
this._lock(e, !0), this._announce(j.saving(o, this._titleOf(a)));
|
|
849
|
-
let
|
|
886
|
+
let g = await fe(h, {
|
|
850
887
|
method: "POST",
|
|
851
888
|
body: new URLSearchParams({
|
|
852
889
|
card: u.key,
|
|
@@ -855,24 +892,24 @@ var Nt = (e, t) => {
|
|
|
855
892
|
index: String(l)
|
|
856
893
|
})
|
|
857
894
|
});
|
|
858
|
-
if (this._lock(e, !1),
|
|
859
|
-
if (
|
|
860
|
-
let t = this._applyFragment(
|
|
861
|
-
return
|
|
895
|
+
if (this._lock(e, !1), g.kind === "session") return !1;
|
|
896
|
+
if (g.ok) {
|
|
897
|
+
let t = this._applyFragment(g.html) || e;
|
|
898
|
+
return Rt(g.message, "success"), this._announce(j.moved(P(t), this._titleOf(a))), this._fire("wui:kanban:moved", {
|
|
862
899
|
...u,
|
|
863
900
|
card: t,
|
|
864
|
-
result:
|
|
901
|
+
result: g
|
|
865
902
|
}), !0;
|
|
866
903
|
}
|
|
867
|
-
return this._rollback(e,
|
|
904
|
+
return this._rollback(e, p), g.kind !== "aborted" && Rt(g.message || j.failed[g.kind] || j.failed.server, "danger"), this._fire("wui:kanban:failed", {
|
|
868
905
|
...u,
|
|
869
|
-
kind:
|
|
870
|
-
status:
|
|
871
|
-
message:
|
|
906
|
+
kind: g.kind,
|
|
907
|
+
status: g.status,
|
|
908
|
+
message: g.message
|
|
872
909
|
}), !1;
|
|
873
910
|
}
|
|
874
911
|
async _runStep(e, t, n, r, i) {
|
|
875
|
-
let a =
|
|
912
|
+
let a = P(e), o = this._columnByKey(t.to), s = new URLSearchParams({
|
|
876
913
|
card: t.key,
|
|
877
914
|
from: t.from,
|
|
878
915
|
to: t.to
|
|
@@ -885,7 +922,7 @@ var Nt = (e, t) => {
|
|
|
885
922
|
size: i || void 0
|
|
886
923
|
})).closed;
|
|
887
924
|
} catch (r) {
|
|
888
|
-
return this._lock(e, !1), this._rollback(e, n), r?.name !== "AbortError" &&
|
|
925
|
+
return this._lock(e, !1), this._rollback(e, n), r?.name !== "AbortError" && Rt(j.failed.server, "danger"), this._fire("wui:kanban:failed", {
|
|
889
926
|
...t,
|
|
890
927
|
kind: "step",
|
|
891
928
|
status: 0,
|
|
@@ -903,7 +940,7 @@ var Nt = (e, t) => {
|
|
|
903
940
|
let n = await fe(`${d}${d.includes("?") ? "&" : "?"}${new URLSearchParams({ card: t.key })}`);
|
|
904
941
|
n.ok && (u = this._applyFragment(n.html) || e);
|
|
905
942
|
}
|
|
906
|
-
return this._lock(u, !1), this._announce(j.moved(
|
|
943
|
+
return this._lock(u, !1), this._announce(j.moved(P(u), this._titleOf(o))), this._fire("wui:kanban:moved", {
|
|
907
944
|
...t,
|
|
908
945
|
card: u,
|
|
909
946
|
result: l
|
|
@@ -914,7 +951,7 @@ var Nt = (e, t) => {
|
|
|
914
951
|
}
|
|
915
952
|
_rollback(e, t) {
|
|
916
953
|
let n = e.contains(document.activeElement), r = t.next && t.next.parentNode === t.parent ? t.next : null;
|
|
917
|
-
t.parent.insertBefore(e, r), n && e.focus(), this.refresh(), this._announce(j.rolledBack(
|
|
954
|
+
t.revealed && this._revealed.delete(N(e)), t.parent.insertBefore(e, r), n && e.focus(), this.refresh(), this._announce(j.rolledBack(P(e), this._titleOf(t.column)));
|
|
918
955
|
}
|
|
919
956
|
_applyFragment(e) {
|
|
920
957
|
if (!e) return null;
|
|
@@ -924,7 +961,7 @@ var Nt = (e, t) => {
|
|
|
924
961
|
let n = null;
|
|
925
962
|
for (let e of [...t.content.querySelectorAll(pt)]) {
|
|
926
963
|
if (e.closest("template")) continue;
|
|
927
|
-
let t = this._cardByKey(
|
|
964
|
+
let t = this._cardByKey(N(e));
|
|
928
965
|
if (!t) continue;
|
|
929
966
|
let r = t.contains(document.activeElement);
|
|
930
967
|
t.dispatchEvent(new CustomEvent("wui:teardown", { bubbles: !0 })), t.hidden && (e.hidden = !0), t.replaceWith(e), this._prepareCard(e), r && e.focus(), n ??= e;
|
|
@@ -939,7 +976,7 @@ var Nt = (e, t) => {
|
|
|
939
976
|
_pointerDown(e) {
|
|
940
977
|
if (e.button !== 0 || e.isPrimary === !1 || this._drag || this._kbd) return;
|
|
941
978
|
let t = e.target.closest?.(pt);
|
|
942
|
-
if (!t || !this.contains(t) || e.target.closest(
|
|
979
|
+
if (!t || !this.contains(t) || e.target.closest(Et)) return;
|
|
943
980
|
let n = {
|
|
944
981
|
card: t,
|
|
945
982
|
id: e.pointerId,
|
|
@@ -985,7 +1022,7 @@ var Nt = (e, t) => {
|
|
|
985
1022
|
dy: n - a.top,
|
|
986
1023
|
over: null,
|
|
987
1024
|
verdicts: this._markTargets(r, i)
|
|
988
|
-
}, this._announce(j.lifted(
|
|
1025
|
+
}, this._announce(j.lifted(P(r), this._titleOf(this._columnOf(r)))), document.addEventListener("keydown", this._onDocKeyDown), this._dragTo(t, n);
|
|
989
1026
|
}
|
|
990
1027
|
_dragTo(e, t) {
|
|
991
1028
|
let n = this._drag;
|
|
@@ -1011,10 +1048,10 @@ var Nt = (e, t) => {
|
|
|
1011
1048
|
let n = this._scroller();
|
|
1012
1049
|
if (n) {
|
|
1013
1050
|
let t = n.getBoundingClientRect();
|
|
1014
|
-
t.width > 0 && (e < t.left +
|
|
1051
|
+
t.width > 0 && (e < t.left + Dt ? n.scrollBy?.({ left: -16 }) : e > t.right - Dt && n.scrollBy?.({ left: Ot }));
|
|
1015
1052
|
}
|
|
1016
1053
|
let r = window.innerHeight || 0;
|
|
1017
|
-
r > 0 && (t <
|
|
1054
|
+
r > 0 && (t < Dt ? window.scrollBy?.({ top: -16 }) : t > r - Dt && window.scrollBy?.({ top: Ot }));
|
|
1018
1055
|
}
|
|
1019
1056
|
_endPointer(e) {
|
|
1020
1057
|
let t = this._press, n = this._drag;
|
|
@@ -1024,16 +1061,16 @@ var Nt = (e, t) => {
|
|
|
1024
1061
|
}, 0);
|
|
1025
1062
|
let r = n.over;
|
|
1026
1063
|
if (this._clearTargets(), !e || !r) {
|
|
1027
|
-
this._announce(j.cancelled(
|
|
1064
|
+
this._announce(j.cancelled(P(n.card)));
|
|
1028
1065
|
return;
|
|
1029
1066
|
}
|
|
1030
1067
|
let i = M(r), a = n.verdicts.get(i);
|
|
1031
1068
|
if (a?.source) {
|
|
1032
|
-
this._announce(j.cancelled(
|
|
1069
|
+
this._announce(j.cancelled(P(n.card)));
|
|
1033
1070
|
return;
|
|
1034
1071
|
}
|
|
1035
1072
|
if (!a?.ok) {
|
|
1036
|
-
this._announce(a?.reason),
|
|
1073
|
+
this._announce(a?.reason), Rt(a?.reason, "info");
|
|
1037
1074
|
return;
|
|
1038
1075
|
}
|
|
1039
1076
|
this._commit(n.card, i, this._indexAt(r, n.y));
|
|
@@ -1049,8 +1086,13 @@ var Nt = (e, t) => {
|
|
|
1049
1086
|
e && this._setCollapsed(e, !e.hasAttribute("data-collapsed"), !0);
|
|
1050
1087
|
return;
|
|
1051
1088
|
}
|
|
1052
|
-
let n = e.target.closest?.(
|
|
1053
|
-
|
|
1089
|
+
let n = e.target.closest?.(Ct);
|
|
1090
|
+
if (n && this.contains(n)) {
|
|
1091
|
+
this._controlled() || this._toggleMore(n.closest(dt));
|
|
1092
|
+
return;
|
|
1093
|
+
}
|
|
1094
|
+
let r = e.target.closest?.(bt);
|
|
1095
|
+
r && this.contains(r) && this._showColumn(r.getAttribute("data-wui-switch"));
|
|
1054
1096
|
}
|
|
1055
1097
|
_keyDown(e) {
|
|
1056
1098
|
if (this._kbd) {
|
|
@@ -1070,7 +1112,7 @@ var Nt = (e, t) => {
|
|
|
1070
1112
|
from: r,
|
|
1071
1113
|
target: i.indexOf(n),
|
|
1072
1114
|
verdicts: this._markTargets(t, r)
|
|
1073
|
-
}, t.setAttribute("data-wui-lifted", ""), this.setAttribute("data-wui-dragging", ""), n.setAttribute("data-wui-target", ""), this._announce(j.lifted(
|
|
1115
|
+
}, t.setAttribute("data-wui-lifted", ""), this.setAttribute("data-wui-dragging", ""), n.setAttribute("data-wui-target", ""), this._announce(j.lifted(P(t), this._titleOf(n)));
|
|
1074
1116
|
return;
|
|
1075
1117
|
}
|
|
1076
1118
|
case "ArrowDown":
|
|
@@ -1106,7 +1148,7 @@ var Nt = (e, t) => {
|
|
|
1106
1148
|
let i = n[r];
|
|
1107
1149
|
i.setAttribute("data-wui-target", ""), this._showColumn(M(i), !1);
|
|
1108
1150
|
let a = t.verdicts.get(M(i)), o = this._titleOf(i);
|
|
1109
|
-
this._announce(a.source ? j.overSource(o) : a.ok ? j.over(o, this.
|
|
1151
|
+
this._announce(a.source ? j.overSource(o) : a.ok ? j.over(o, this._cardsIn(i).filter((e) => !kt(e)).length) : j.overRefused(o, a.reason));
|
|
1110
1152
|
return;
|
|
1111
1153
|
}
|
|
1112
1154
|
case " ":
|
|
@@ -1118,12 +1160,12 @@ var Nt = (e, t) => {
|
|
|
1118
1160
|
this._announce(a.reason);
|
|
1119
1161
|
return;
|
|
1120
1162
|
}
|
|
1121
|
-
this._endKeyboard(), a.source ? this._announce(j.cancelled(
|
|
1163
|
+
this._endKeyboard(), a.source ? this._announce(j.cancelled(P(t.card))) : this._commit(t.card, i);
|
|
1122
1164
|
return;
|
|
1123
1165
|
}
|
|
1124
1166
|
case "Escape":
|
|
1125
1167
|
case "Tab":
|
|
1126
|
-
e.key === "Escape" && e.preventDefault(), this._endKeyboard(), this._showColumn(t.from, !1), this._announce(j.cancelled(
|
|
1168
|
+
e.key === "Escape" && e.preventDefault(), this._endKeyboard(), this._showColumn(t.from, !1), this._announce(j.cancelled(P(t.card)));
|
|
1127
1169
|
return;
|
|
1128
1170
|
default:
|
|
1129
1171
|
}
|
|
@@ -1133,7 +1175,7 @@ var Nt = (e, t) => {
|
|
|
1133
1175
|
this._kbd = null, e && (e.card.removeAttribute("data-wui-lifted"), this.removeAttribute("data-wui-dragging"), this._clearTargets());
|
|
1134
1176
|
}
|
|
1135
1177
|
_restoreCollapsed() {
|
|
1136
|
-
let e =
|
|
1178
|
+
let e = Pt(this.getAttribute("board-id"));
|
|
1137
1179
|
for (let t of this._columns()) {
|
|
1138
1180
|
let n = M(t);
|
|
1139
1181
|
t.hasAttribute("data-collapsible") && Object.hasOwn(e, n) && this._setCollapsed(t, e[n], !1);
|
|
@@ -1144,11 +1186,18 @@ var Nt = (e, t) => {
|
|
|
1144
1186
|
e.toggleAttribute("data-collapsed", t);
|
|
1145
1187
|
let i = this._titleOf(e);
|
|
1146
1188
|
for (let n of e.querySelectorAll(St)) n.setAttribute("aria-expanded", t ? "false" : "true"), n.setAttribute("aria-label", t ? j.expand(i) : j.collapse(i));
|
|
1147
|
-
n && (
|
|
1189
|
+
n && (Ft(this.getAttribute("board-id"), r, t), this._fire("wui:kanban:collapse", {
|
|
1148
1190
|
column: r,
|
|
1149
1191
|
collapsed: t
|
|
1150
1192
|
}));
|
|
1151
1193
|
}
|
|
1194
|
+
_toggleMore(e) {
|
|
1195
|
+
if (!e) return;
|
|
1196
|
+
let t = M(e);
|
|
1197
|
+
if (this._expanded.delete(t)) for (let t of this._cardsIn(e)) this._revealed.delete(N(t));
|
|
1198
|
+
else this._expanded.add(t);
|
|
1199
|
+
this.refresh();
|
|
1200
|
+
}
|
|
1152
1201
|
_isPhone() {
|
|
1153
1202
|
return typeof matchMedia == "function" && matchMedia("(max-width: 767.98px)").matches;
|
|
1154
1203
|
}
|
|
@@ -1168,20 +1217,20 @@ var Nt = (e, t) => {
|
|
|
1168
1217
|
let t = e.clientWidth || 1, n = this._columns()[Math.round(e.scrollLeft / t)];
|
|
1169
1218
|
if (n) for (let e of this.querySelectorAll(bt)) e.getAttribute("data-wui-switch") === M(n) ? e.setAttribute("aria-current", "true") : e.removeAttribute("aria-current");
|
|
1170
1219
|
}
|
|
1171
|
-
},
|
|
1220
|
+
}, Bt = {
|
|
1172
1221
|
delete: "data:image/webp;base64,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",
|
|
1173
1222
|
info: "data:image/webp;base64,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",
|
|
1174
1223
|
primary: "data:image/webp;base64,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",
|
|
1175
1224
|
success: "data:image/webp;base64,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",
|
|
1176
1225
|
warning: "data:image/webp;base64,UklGRi4IAABXRUJQVlA4WAoAAAAQAAAAiAAAiwAAQUxQSJQCAAABgFVtb97mg2AIghAIZrAwaBg0DGIGCwObQcfAEAJBEAxBF/1LbElXu4iICcC4NN/3XJmbPDeuNaclBtg63fPR5OxWUww2hHtucv2xR+3CVqVbzrNe4V6lc86kEm1NRqw3dWKVYfmmSqwyNN/UoCLD802FsDXRkGm8yKJlprHCryjKt5Eii66/YZhN1GUaI1RRuK0jEIvOW39zE60fobO7KM7U1SaqM3W0ifJM3WyiPlMnmxjI1MUmJnLoYBYjj+uoWSH5KmKxc72oiqXxkk1MZbogirH1PGJrZD2tiLmNTprF4HoSWyTrKZuY3MIJJEb/nlCsEvqKxOz6VbFL4hckhtcvimUSPyIxPX9UbGvhE7ZN0geLGN8+qNZJfENi/v5msa+FV9U+iS9IHLi/WDzQXjw8INNTc8EKYBIX/gFYfNAAFB8IAYcTfgBxYsLkhYzZCwdWLzTsXpDwcANVN8TDDQv7QdyY/o9ofmA3LH74qW6IxQ3T7oaweqFh9sIB8sIf0JyQgMMJP0BxAgGrDxjA5IM/AGguWJ+KC6an1QOM5+CB/ALVAT+vkn0Nr4N9+Q2qefHdah3jfWjG3T5AMo4+IdsyPq6m0WfRsowvq2H0TbQr4+tiFn1HzaiME5NNTGcENumGU6NFjJN3g+iswOYknB6tqbgw2cJ0BaopEZcGNiThYmpm7Lh8tuJAh6sNTD0gWcCEPpN+TOg1aceEfpNuTOg5aXYQ+p6bWo+A3omV2jEgVY3agjGTPkwYNbIye8C4VDThiLFnVmMPGD7pUCM0pDIe36AllbFaClCUyjgtBShLhYeoM1Ream9tj1CbltpPyxHK0/JoHdQ9wsZpKcd57bHPAbZO831/1INfMR+PnJYpYFxWUDggdAUAAPAmAJ0BKokAjAA+kT6ZSKWjoqEr0zyIsBIJZAYoAPvx49SOFf0nLi9feHfYl5vSVbA3q88wD9XelP5gP2q/XL3o/SZ6AHSd+g75dPsu/uZlMvWb6APrnlFdmsw4H9yZVhw9L2yx2Qc0ir46ImbCyF5Fosrd/87s6heTYI3JUhc7xwiXhD9Gj1VOnS9BfKLCz/ouhMWPbKRGcbnEGyVetpAC3xibiFL5Zunh9q36umFwvFIQv9v1MtswMw+HF1ht0eX/pNYrV9IRz8yv935/Yp8sBTT1UfJxnq2kY19skkQClDnl2Etr/n5/oi3OQW5dNQEgNjdvVzh1clDbiFyju3OZz7sxVF9xBjZru9nND4/pOG+qkv2UkcmrzZpNtYLRz1V4JayVISPraIPZ0ExsOJOI/on91QsGlREmBk0r9Q8QAP78XNcH/ILg/afi/Ene3CDuNLUp83ARh930rcfOX9BQtPxECmmETWXFAHRwnOcJrVv/ILg/cvr+Gycupedwsllu4F9O4X9V046eDx76cYmO/1Z/Z6//J7L42E6ubP68wc+mxcfaH6p7fBbKJh9WCYFqR5Vfk7+1AkXMrM/JJNwMPXCeNmT+gTuBE4VNWiWhFPl3Pw1bAeayIAnNtEXfpl/X6wc/Emie8P2Yeb7X5wK9ZOF0X9oIjEW6q90BY6WsqhZsIAgna6QEA0sEYwNemOY+KOHyWoAEtvP7MQe9MecjL1Oy5iVklSGe06QZXpQZ3Szl16CTk7WDkwAhtyRt823V1xr/kFbNxYBOdvUQgp81wVSPy5PGGhIOXCouyajqOUMjf//v0NqTJBYkUDVGWSPr+w+jvvK7HJEVdiZfP+ipqwyR9GnwWnep/8qggBSAEuT/Y2fwnwQ3aq2sCv2raOZhC6rlJSV32fNwFfbu4p6jwHv++pIkVCwvXrNTwGZp/WOGRWfLTzYPv6gOGb/kVs4g5HwyjUvNAa3fZB/YCYjI8iFxUq/xLu3hQrLrheac24MAZdoxmUr4e9l8dgibVHj6e6CW84foYzQ+75tL+mx994lHYYKa80GsI2PZ/6k7H+32wrpk+CHkMzFnPaSxmWL0IRb+r3wAAJNLa7Rv4ZRf5Y+r4mnFm3Yn65Yhku+22l9UttmElhLO0HjwLl9e0YVg8pQ3QUTXe7Azs/ajEpOnqWxfw9VkBpfGf7i6Bbgs66Wye/7JqBPmILrCtvFFn79zTyvqti4sb+duZfvCbl1PmObAuucG5ncB2Y4elUVnt4FLft9DQFBeNiMJclD4NSC/tNDD7KSDmd7cch1U8YOIQmwRlrYERg+pTKmzf6RTr4mehEpJbHVMlOcVDc1dg0HIaBsh68tx3K3vYs992CzuhJOZ/cf7Zv1ejOz20h3syMqdF1jUbMRbPqp4/f96K+LV1etvLZBqsUhxLoE+A7xM84pGf81t5kJXj4toZTPSHYYYckG+KjLxi43PidMT+AsoGmiMXSj3MWLHijSkGQEOWaYr57efks///foUajtDcX2x8t3YwQonEo1mSXKKIjDVcxm0QdMn/n94fILJ8jpdG267h4zj4z1vgCEX2tiu01a3JueayBKehW9HfPGTqCF57Rujz/bsMolTAVaD6GonBUIyFxvInkIi2IM9G1N3XB1U3QEEGvP+CoxGSIAzwyGF57YiDt90pO7R94NP1ZankVp1dtEccWyzU9DrUI8iLKYeKwy6Gvokz/NZHnpQd6ehlmIduqYS27V0kM0LbdpYI0qLGlVFA22uCW61dbyfUDaur9N+Tw6rwH/kW97h8HUyAQCnXLSDNgFqRN/1Xgdp0r0dzKU7ImzaKzjS1tYxLXAf/kXCghSyLnGF+uTjhAAAAAA="
|
|
1177
|
-
},
|
|
1226
|
+
}, Vt = { error: "<rect width=\"174\" height=\"174\" rx=\"87\" fill=\"var(--wui-danger-5)\"/>\n<rect x=\"24\" y=\"24\" width=\"126\" height=\"126\" rx=\"63\" stroke=\"var(--wui-danger-20)\" stroke-width=\"16\"/>\n<g clip-path=\"url(#wui_error_clip0)\">\n<rect x=\"32\" y=\"32\" width=\"110\" height=\"110\" rx=\"55\" fill=\"var(--wui-danger)\"/>\n<rect x=\"110.758\" y=\"62\" width=\"75.5044\" height=\"69.9535\" transform=\"rotate(45 110.758 62)\" fill=\"var(--wui-danger-active)\"/>\n<g clip-path=\"url(#wui_error_clip1)\">\n<path d=\"M95.9285 87.0037L112.943 69.9887C114.823 68.1087 114.823 65.0608 112.943 63.1838L110.675 60.9155C108.795 59.0349 105.747 59.0349 103.87 60.9155L86.8552 77.9298L69.8403 60.9119C67.9603 59.032 64.9124 59.032 63.0353 60.9119L60.7635 63.1802C58.8835 65.0608 58.8835 68.1087 60.7635 69.9858L77.7814 87.0037L60.767 104.018C58.8865 105.899 58.8865 108.947 60.767 110.824L63.0353 113.092C64.9153 114.972 67.9632 114.972 69.8403 113.092L86.8552 96.0769L103.87 113.092C105.75 114.972 108.798 114.972 110.675 113.092L112.943 110.824C114.823 108.943 114.823 105.895 112.943 104.018L95.9285 87.0037Z\" fill=\"white\"/>\n</g>\n</g>\n<defs><clipPath id=\"wui_error_clip0\"><rect x=\"32\" y=\"32\" width=\"110\" height=\"110\" rx=\"55\" fill=\"white\"/></clipPath><clipPath id=\"wui_error_clip1\"><rect width=\"55\" height=\"55\" fill=\"white\" transform=\"translate(59.3535 59.502)\"/></clipPath></defs>" }, Ht = [
|
|
1178
1227
|
"success",
|
|
1179
1228
|
"error",
|
|
1180
1229
|
"warning",
|
|
1181
1230
|
"info",
|
|
1182
1231
|
"delete",
|
|
1183
1232
|
"primary"
|
|
1184
|
-
],
|
|
1233
|
+
], Ut = class extends e {
|
|
1185
1234
|
static get observedAttributes() {
|
|
1186
1235
|
return ["tone", "size"];
|
|
1187
1236
|
}
|
|
@@ -1192,67 +1241,67 @@ var Nt = (e, t) => {
|
|
|
1192
1241
|
this.isConnected && this.render();
|
|
1193
1242
|
}
|
|
1194
1243
|
render() {
|
|
1195
|
-
let e = this.getAttribute("tone"), t = Number.parseInt(this.getAttribute("size"), 10) || 72, n =
|
|
1244
|
+
let e = this.getAttribute("tone"), t = Number.parseInt(this.getAttribute("size"), 10) || 72, n = Vt[e];
|
|
1196
1245
|
if (n) {
|
|
1197
1246
|
this.innerHTML = `<svg width="${t}" height="${t}" viewBox="0 0 174 174" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">${n}</svg>`;
|
|
1198
1247
|
return;
|
|
1199
1248
|
}
|
|
1200
|
-
let r =
|
|
1249
|
+
let r = Bt[e] || Bt.info;
|
|
1201
1250
|
this.innerHTML = `<img src="${r}" width="${t}" height="${t}" alt="" aria-hidden="true" draggable="false" />`;
|
|
1202
1251
|
}
|
|
1203
|
-
},
|
|
1204
|
-
function
|
|
1252
|
+
}, F = 4, Wt = 300, Gt = 400;
|
|
1253
|
+
function I(e, t, n = {}) {
|
|
1205
1254
|
if (!e || !t) return;
|
|
1206
1255
|
let r = e.getBoundingClientRect(), i = n.clampHeight ? t.scrollTop : 0;
|
|
1207
1256
|
n.clampHeight && (t.style.maxHeight = "");
|
|
1208
|
-
let a = t.offsetHeight, o = window.innerHeight - r.bottom, s = o < a +
|
|
1209
|
-
if (t.classList.toggle("drop-up", s), t.style.position = "fixed", t.style.top = s ? `${Math.max(
|
|
1210
|
-
let e = s ? r.top -
|
|
1257
|
+
let a = t.offsetHeight, o = window.innerHeight - r.bottom, s = o < a + F && r.top > o;
|
|
1258
|
+
if (t.classList.toggle("drop-up", s), t.style.position = "fixed", t.style.top = s ? `${Math.max(F, r.top - a - F)}px` : `${r.bottom + F}px`, n.clampHeight) {
|
|
1259
|
+
let e = s ? r.top - F * 2 : window.innerHeight - r.bottom - F * 2;
|
|
1211
1260
|
e < a && (t.style.maxHeight = `${Math.max(e, 0)}px`), t.scrollTop = i;
|
|
1212
1261
|
}
|
|
1213
|
-
n.matchWidth && (r.width >=
|
|
1214
|
-
let c = t.offsetWidth, l = Math.min(r.left, window.innerWidth - c -
|
|
1215
|
-
t.style.left = `${Math.max(
|
|
1262
|
+
n.matchWidth && (r.width >= Wt ? (t.style.minWidth = `${r.width}px`, t.style.width = `${r.width}px`, t.style.maxWidth = `${r.width}px`) : (t.style.minWidth = `${r.width}px`, t.style.width = "max-content", t.style.maxWidth = `${Math.min(Gt, window.innerWidth - F * 2)}px`));
|
|
1263
|
+
let c = t.offsetWidth, l = Math.min(r.left, window.innerWidth - c - F);
|
|
1264
|
+
t.style.left = `${Math.max(F, l)}px`;
|
|
1216
1265
|
}
|
|
1217
|
-
function
|
|
1218
|
-
|
|
1266
|
+
function L(e, t) {
|
|
1267
|
+
R(e), e._reanchor = t, e._reanchorScroll = (n) => {
|
|
1219
1268
|
n.target instanceof Node && typeof e.contains == "function" && e.contains(n.target) || t();
|
|
1220
1269
|
}, window.addEventListener("resize", e._reanchor), window.addEventListener("scroll", e._reanchorScroll, !0);
|
|
1221
1270
|
}
|
|
1222
|
-
function
|
|
1271
|
+
function R(e) {
|
|
1223
1272
|
e?._reanchor && (window.removeEventListener("resize", e._reanchor), window.removeEventListener("scroll", e._reanchorScroll, !0), e._reanchor = null, e._reanchorScroll = null);
|
|
1224
1273
|
}
|
|
1225
1274
|
//#endregion
|
|
1226
1275
|
//#region src/formMirror.js
|
|
1227
|
-
var
|
|
1228
|
-
function
|
|
1276
|
+
var Kt = "data-wui-mirror";
|
|
1277
|
+
function qt(e, t, n, r) {
|
|
1229
1278
|
t.name = n, t.value = r == null ? "" : String(r);
|
|
1230
1279
|
for (let n of [...t.attributes]) n.name.startsWith("data-val") && !e.hasAttribute(n.name) && t.removeAttribute(n.name);
|
|
1231
1280
|
for (let n of e.attributes) n.name.startsWith("data-val") && t.setAttribute(n.name, n.value);
|
|
1232
1281
|
t.disabled = e.hasAttribute("disabled");
|
|
1233
1282
|
}
|
|
1234
|
-
function
|
|
1283
|
+
function Jt(e) {
|
|
1235
1284
|
let t = document.createElement("input");
|
|
1236
|
-
return t.type = "hidden", t.setAttribute(
|
|
1285
|
+
return t.type = "hidden", t.setAttribute(Kt, ""), e.appendChild(t), t;
|
|
1237
1286
|
}
|
|
1238
|
-
function
|
|
1239
|
-
let n = e.getAttribute("name"), r = e.querySelector(`:scope > input[${
|
|
1287
|
+
function z(e, t) {
|
|
1288
|
+
let n = e.getAttribute("name"), r = e.querySelector(`:scope > input[${Kt}]`);
|
|
1240
1289
|
if (!n) {
|
|
1241
1290
|
r?.remove();
|
|
1242
1291
|
return;
|
|
1243
1292
|
}
|
|
1244
|
-
r ||=
|
|
1293
|
+
r ||= Jt(e), qt(e, r, n, t);
|
|
1245
1294
|
}
|
|
1246
|
-
function
|
|
1247
|
-
let n = e.getAttribute("name"), r = [...e.querySelectorAll(`:scope > input[${
|
|
1295
|
+
function B(e, t) {
|
|
1296
|
+
let n = e.getAttribute("name"), r = [...e.querySelectorAll(`:scope > input[${Kt}]`)], i = [...e.attributes].some((e) => e.name.startsWith("data-val")), a = n ? t.length > 0 ? t : i ? [""] : [] : [];
|
|
1248
1297
|
for (let e of r.splice(a.length)) e.remove();
|
|
1249
1298
|
a.forEach((t, i) => {
|
|
1250
|
-
|
|
1299
|
+
qt(e, r[i] ?? Jt(e), n, t);
|
|
1251
1300
|
});
|
|
1252
1301
|
}
|
|
1253
1302
|
//#endregion
|
|
1254
1303
|
//#region src/iconGlyphs.g.js
|
|
1255
|
-
var
|
|
1304
|
+
var Yt = {
|
|
1256
1305
|
activity: "<path d=\"M9 22h6c5 0 7-2 7-7V9c0-5-2-7-7-7H9C4 2 2 4 2 9v6c0 5 2 7 7 7Z\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path><path d=\"m7.33 14.49 2.38-3.09c.34-.44.97-.52 1.41-.18l1.83 1.44c.44.34 1.07.26 1.41-.17l2.31-2.98\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>",
|
|
1257
1306
|
add: "<path d=\"M6 12h12M12 18V6\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>",
|
|
1258
1307
|
"add-circle": "<path d=\"M12 22c5.5 0 10-4.5 10-10S17.5 2 12 2 2 6.5 2 12s4.5 10 10 10ZM8 12h8M12 16V8\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>",
|
|
@@ -1459,14 +1508,14 @@ var Wt = {
|
|
|
1459
1508
|
"zoom-in": "<path d=\"M11 20a9 9 0 1 0 0-18 9 9 0 0 0 0 18ZM8.5 11h5M11 13.5v-5M18.93 20.69c.53 1.6 1.74 1.76 2.67.36.85-1.28.29-2.33-1.25-2.33-1.14-.01-1.78.88-1.42 1.97Z\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>",
|
|
1460
1509
|
"zoom-out": "<path d=\"M9 11.7h5M11.5 21a9.5 9.5 0 1 0 0-19 9.5 9.5 0 0 0 0 19ZM22 22l-2-2\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>"
|
|
1461
1510
|
};
|
|
1462
|
-
Object.keys(
|
|
1463
|
-
function
|
|
1464
|
-
let i =
|
|
1511
|
+
Object.keys(Yt);
|
|
1512
|
+
function V(e, { size: t = 16, className: n = "", style: r = "" } = {}) {
|
|
1513
|
+
let i = Yt[e];
|
|
1465
1514
|
return i ? `<svg class="${n ? `wui-icon ${n}` : "wui-icon"}" data-icon="${e}" width="${t}" height="${t}" viewBox="0 0 24 24" fill="none" aria-hidden="true" style="vertical-align:-.125em${r ? `;${r}` : ""}">${i}</svg>` : "";
|
|
1466
1515
|
}
|
|
1467
1516
|
//#endregion
|
|
1468
1517
|
//#region src/listboxKeyNav.js
|
|
1469
|
-
function
|
|
1518
|
+
function Xt(e) {
|
|
1470
1519
|
let { getVisibleOptions: t, getActive: n, setActive: r, onEnter: i, onEscape: a, onTypeahead: o, typeaheadMs: s = 500 } = e, c = "", l = null, u = () => {
|
|
1471
1520
|
clearTimeout(l), l = null, c = "";
|
|
1472
1521
|
};
|
|
@@ -1497,18 +1546,18 @@ function Gt(e) {
|
|
|
1497
1546
|
}
|
|
1498
1547
|
//#endregion
|
|
1499
1548
|
//#region src/optionLabel.js
|
|
1500
|
-
var
|
|
1549
|
+
var Zt = Symbol("wui.trustedHtml"), H = (e) => String(e ?? "").replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """).replace(/'/g, "'"), Qt = (e) => {
|
|
1501
1550
|
if (!e) return "";
|
|
1502
1551
|
let t = String(e).toLowerCase().replace(/[^a-z0-9-]/g, "");
|
|
1503
|
-
return t ?
|
|
1504
|
-
},
|
|
1552
|
+
return t ? V(t) : "";
|
|
1553
|
+
}, $t = (e) => `wui-flag wui-flag-${e}`, en = (e) => {
|
|
1505
1554
|
let t = String(e ?? "").toLowerCase();
|
|
1506
|
-
return /^[a-z]{2}$/.test(t) ? `<span class="${
|
|
1507
|
-
},
|
|
1555
|
+
return /^[a-z]{2}$/.test(t) ? `<span class="${$t(t)}" aria-hidden="true"></span>` : "";
|
|
1556
|
+
}, tn = (e) => {
|
|
1508
1557
|
if (e == null) return "";
|
|
1509
|
-
let t = e[
|
|
1558
|
+
let t = e[Zt] ? String(e.label ?? "") : H(e.label), n = en(e.flag) + Qt(e.icon);
|
|
1510
1559
|
return n ? `<span class="wui-opt-label">${n}${t}</span>` : t;
|
|
1511
|
-
},
|
|
1560
|
+
}, nn = class extends e {
|
|
1512
1561
|
static formAssociated = !0;
|
|
1513
1562
|
_accessibleName() {
|
|
1514
1563
|
return this.getAttribute("aria-label") || this.getAttribute("placeholder") || "Select";
|
|
@@ -1567,14 +1616,14 @@ var Kt = Symbol("wui.trustedHtml"), V = (e) => String(e ?? "").replace(/&/g, "&a
|
|
|
1567
1616
|
return this._value;
|
|
1568
1617
|
}
|
|
1569
1618
|
set value(e) {
|
|
1570
|
-
this._value = e == null ? "" : String(e),
|
|
1619
|
+
this._value = e == null ? "" : String(e), z(this, this._value);
|
|
1571
1620
|
let t = this._readOptions().find((e) => String(e.value) === this._value);
|
|
1572
|
-
this._label = t ?
|
|
1621
|
+
this._label = t ? an(t.label) : "", this._syncInput(), this._renderOptions("");
|
|
1573
1622
|
}
|
|
1574
1623
|
set options(e) {
|
|
1575
1624
|
this._optionsProp = Array.isArray(e) ? e : [];
|
|
1576
1625
|
let t = this._readOptions().find((e) => String(e.value) === this._value);
|
|
1577
|
-
t && (this._label =
|
|
1626
|
+
t && (this._label = an(t.label)), this._renderOptions(), this._syncInput();
|
|
1578
1627
|
}
|
|
1579
1628
|
get options() {
|
|
1580
1629
|
return this._readOptions();
|
|
@@ -1593,7 +1642,7 @@ var Kt = Symbol("wui.trustedHtml"), V = (e) => String(e ?? "").replace(/&/g, "&a
|
|
|
1593
1642
|
}
|
|
1594
1643
|
_matchesKnownOption(e) {
|
|
1595
1644
|
let t = e.toLowerCase();
|
|
1596
|
-
return this._readOptions().some((e) =>
|
|
1645
|
+
return this._readOptions().some((e) => an(e.label).toLowerCase() === t || String(e.value ?? "").toLowerCase() === t);
|
|
1597
1646
|
}
|
|
1598
1647
|
get _minChars() {
|
|
1599
1648
|
return Math.max(0, Number(this.getAttribute("min-chars")) || +!!this._remote);
|
|
@@ -1611,7 +1660,7 @@ var Kt = Symbol("wui.trustedHtml"), V = (e) => String(e ?? "").replace(/&/g, "&a
|
|
|
1611
1660
|
value: e.getAttribute("value") ?? e.textContent.trim(),
|
|
1612
1661
|
label: e.innerHTML,
|
|
1613
1662
|
icon: e.getAttribute("icon") || void 0,
|
|
1614
|
-
[
|
|
1663
|
+
[Zt]: !0,
|
|
1615
1664
|
selected: e.hasAttribute("selected")
|
|
1616
1665
|
})));
|
|
1617
1666
|
}
|
|
@@ -1625,17 +1674,17 @@ var Kt = Symbol("wui.trustedHtml"), V = (e) => String(e ?? "").replace(/&/g, "&a
|
|
|
1625
1674
|
let r = `${this.id}-listbox`;
|
|
1626
1675
|
this._listboxId = r, this.innerHTML = `
|
|
1627
1676
|
<div class="search-select${n}">
|
|
1628
|
-
<div class="input search-select-control search-select-ac" role="combobox" aria-haspopup="listbox" aria-expanded="false" aria-controls="${
|
|
1629
|
-
<input class="search-select-input search-select-ac-input" placeholder="${
|
|
1677
|
+
<div class="input search-select-control search-select-ac" role="combobox" aria-haspopup="listbox" aria-expanded="false" aria-controls="${rn(r)}" aria-label="${rn(this._accessibleName())}"${this.hasAttribute("aria-invalid") ? " aria-invalid=\"true\"" : ""}>
|
|
1678
|
+
<input class="search-select-input search-select-ac-input" placeholder="${rn(e)}" aria-autocomplete="list" autocomplete="off"${this.hasAttribute("disabled") ? " disabled" : ""} />
|
|
1630
1679
|
<span class="search-select-spinner spinner-border spinner-border-sm" role="status" aria-hidden="true" hidden></span>
|
|
1631
|
-
<button type="button" class="search-select-clear" aria-label="Clear" hidden>${
|
|
1680
|
+
<button type="button" class="search-select-clear" aria-label="Clear" hidden>${V("x")}</button>
|
|
1632
1681
|
</div>
|
|
1633
|
-
<div class="search-select-menu search-select-menu-fixed" role="listbox" id="${
|
|
1682
|
+
<div class="search-select-menu search-select-menu-fixed" role="listbox" id="${rn(r)}" tabindex="-1" hidden>
|
|
1634
1683
|
<div class="search-select-options"></div>
|
|
1635
1684
|
<div class="search-select-empty" hidden>No matches</div>
|
|
1636
1685
|
<div class="search-select-hint" hidden>Type to search…</div>
|
|
1637
1686
|
</div>
|
|
1638
|
-
</div>`, this._rendered = !0,
|
|
1687
|
+
</div>`, this._rendered = !0, z(this, this._value), this._wire(), this._syncInput(), this._renderOptions();
|
|
1639
1688
|
}
|
|
1640
1689
|
_refs() {
|
|
1641
1690
|
return {
|
|
@@ -1664,7 +1713,7 @@ var Kt = Symbol("wui.trustedHtml"), V = (e) => String(e ?? "").replace(/&/g, "&a
|
|
|
1664
1713
|
let t = this._refs();
|
|
1665
1714
|
if (!t.optionsWrap) return;
|
|
1666
1715
|
let n = e ?? (t.input ? t.input.value : ""), r = n.trim().toLowerCase(), i = this._readOptions();
|
|
1667
|
-
!this._remote && r && (i = i.filter((e) =>
|
|
1716
|
+
!this._remote && r && (i = i.filter((e) => an(e.label).toLowerCase().includes(r)));
|
|
1668
1717
|
let a = n.trim(), o = this._allowCustom && a && !this._matchesKnownOption(a) ? [...i, {
|
|
1669
1718
|
value: a,
|
|
1670
1719
|
custom: !0
|
|
@@ -1672,11 +1721,11 @@ var Kt = Symbol("wui.trustedHtml"), V = (e) => String(e ?? "").replace(/&/g, "&a
|
|
|
1672
1721
|
t.optionsWrap.innerHTML = o.map((e, t) => {
|
|
1673
1722
|
let n = `${s}-opt-${t}`;
|
|
1674
1723
|
if (e.custom) {
|
|
1675
|
-
let t = `Add “${
|
|
1676
|
-
return `<button type="button" role="option" id="${
|
|
1724
|
+
let t = `Add “${H(e.value)}”`;
|
|
1725
|
+
return `<button type="button" role="option" id="${rn(n)}" class="search-select-option search-select-option-custom" data-value="${rn(e.value)}" data-custom="true" aria-selected="false">${t}</button>`;
|
|
1677
1726
|
}
|
|
1678
1727
|
let r = String(e.value) === String(this._value);
|
|
1679
|
-
return `<button type="button" role="option" id="${
|
|
1728
|
+
return `<button type="button" role="option" id="${rn(n)}" class="search-select-option${r ? " selected" : ""}" data-value="${rn(e.value)}" aria-selected="${r}">${tn(e)}</button>`;
|
|
1680
1729
|
}).join(""), this._active = -1, t.control?.removeAttribute("aria-activedescendant");
|
|
1681
1730
|
let c = r.length < this._minChars;
|
|
1682
1731
|
t.hint && (t.hint.hidden = !(this._remote && c && !i.length)), t.empty && (t.empty.hidden = this._loading || o.length > 0 || this._remote && c), this._reanchor?.();
|
|
@@ -1685,7 +1734,7 @@ var Kt = Symbol("wui.trustedHtml"), V = (e) => String(e ?? "").replace(/&/g, "&a
|
|
|
1685
1734
|
this._teardown();
|
|
1686
1735
|
let e = this._refs();
|
|
1687
1736
|
if (!e.control || !e.input) return;
|
|
1688
|
-
let t = () =>
|
|
1737
|
+
let t = () => I(e.control, e.menu, { matchWidth: !0 }), n = () => this._optionEls().filter((e) => !e.hidden), r = (t) => {
|
|
1689
1738
|
let r = n();
|
|
1690
1739
|
this._active = t;
|
|
1691
1740
|
for (let e of this._optionEls()) e.classList.remove("is-active");
|
|
@@ -1696,12 +1745,12 @@ var Kt = Symbol("wui.trustedHtml"), V = (e) => String(e ?? "").replace(/&/g, "&a
|
|
|
1696
1745
|
e.menu.hidden = !0, e.control.setAttribute("aria-expanded", "false"), e.control.classList.remove("open"), r(-1), clearTimeout(this._typeaheadTimer), this._typeaheadTimer = null, this._typeahead = "", this._syncInput();
|
|
1697
1746
|
}, s = (t) => {
|
|
1698
1747
|
let n = t.dataset.custom === "true";
|
|
1699
|
-
this._value = t.dataset.value, this._label = n ? t.dataset.value :
|
|
1748
|
+
this._value = t.dataset.value, this._label = n ? t.dataset.value : an(t.innerHTML), z(this, this._value), e.input.value = this._label, this.dispatchEvent(new CustomEvent("change", {
|
|
1700
1749
|
bubbles: !0,
|
|
1701
1750
|
detail: { isCustom: n }
|
|
1702
1751
|
})), o(), e.input.focus();
|
|
1703
1752
|
}, c = (t) => {
|
|
1704
|
-
this._value = t, this._label = t,
|
|
1753
|
+
this._value = t, this._label = t, z(this, t), e.input.value = t, this.dispatchEvent(new CustomEvent("change", {
|
|
1705
1754
|
bubbles: !0,
|
|
1706
1755
|
detail: { isCustom: !0 }
|
|
1707
1756
|
})), o();
|
|
@@ -1719,7 +1768,7 @@ var Kt = Symbol("wui.trustedHtml"), V = (e) => String(e ?? "").replace(/&/g, "&a
|
|
|
1719
1768
|
}, this._timer = setTimeout(() => this._fireSearch(t, e), this._debounceMs);
|
|
1720
1769
|
} else this._renderOptions(t);
|
|
1721
1770
|
};
|
|
1722
|
-
this._navHandler =
|
|
1771
|
+
this._navHandler = Xt({
|
|
1723
1772
|
getVisibleOptions: n,
|
|
1724
1773
|
getActive: () => this._active,
|
|
1725
1774
|
setActive: (e) => r(e),
|
|
@@ -1759,11 +1808,11 @@ var Kt = Symbol("wui.trustedHtml"), V = (e) => String(e ?? "").replace(/&/g, "&a
|
|
|
1759
1808
|
let t = e.target.closest(".search-select-option");
|
|
1760
1809
|
t && r(this._optionEls().indexOf(t));
|
|
1761
1810
|
}), e.optionsWrap.addEventListener("mouseleave", () => r(-1)), e.clear?.addEventListener("click", () => {
|
|
1762
|
-
this._value = "", this._label = "",
|
|
1811
|
+
this._value = "", this._label = "", z(this, ""), e.input.value = "", e.clear.hidden = !0, this._renderOptions(""), this.dispatchEvent(new Event("change", { bubbles: !0 })), e.input.focus();
|
|
1763
1812
|
}), this._bindGlobal = () => {
|
|
1764
1813
|
this._teardown(), this._onDocClick = (e) => {
|
|
1765
1814
|
i() && !this.contains(e.target) && o();
|
|
1766
|
-
}, document.addEventListener("click", this._onDocClick),
|
|
1815
|
+
}, document.addEventListener("click", this._onDocClick), L(this, () => {
|
|
1767
1816
|
i() && t();
|
|
1768
1817
|
});
|
|
1769
1818
|
}, this._bindGlobal();
|
|
@@ -1778,15 +1827,15 @@ var Kt = Symbol("wui.trustedHtml"), V = (e) => String(e ?? "").replace(/&/g, "&a
|
|
|
1778
1827
|
}));
|
|
1779
1828
|
}
|
|
1780
1829
|
_teardown() {
|
|
1781
|
-
this._onDocClick &&= (document.removeEventListener("click", this._onDocClick), null),
|
|
1830
|
+
this._onDocClick &&= (document.removeEventListener("click", this._onDocClick), null), R(this), clearTimeout(this._timer), this._navHandler?.teardown();
|
|
1782
1831
|
}
|
|
1783
1832
|
disconnectedCallback() {
|
|
1784
1833
|
this._teardown();
|
|
1785
1834
|
}
|
|
1786
|
-
},
|
|
1835
|
+
}, rn = (e) => String(e ?? "").replace(/&/g, "&").replace(/"/g, """).replace(/</g, "<"), an = (e) => String(e ?? "").replace(/<[^>]*>/g, "");
|
|
1787
1836
|
//#endregion
|
|
1788
1837
|
//#region src/textMatch.js
|
|
1789
|
-
function
|
|
1838
|
+
function on(e, t) {
|
|
1790
1839
|
let n = String(e ?? ""), r = String(t ?? "").trim();
|
|
1791
1840
|
if (!r || !n) return [{
|
|
1792
1841
|
text: n,
|
|
@@ -1812,7 +1861,7 @@ function $t(e, t) {
|
|
|
1812
1861
|
}
|
|
1813
1862
|
//#endregion
|
|
1814
1863
|
//#region src/WuiCommandPalette.js
|
|
1815
|
-
var
|
|
1864
|
+
var sn = "[role=\"option\"]", cn = "No results", ln = class extends e {
|
|
1816
1865
|
static get observedAttributes() {
|
|
1817
1866
|
return [
|
|
1818
1867
|
"filter",
|
|
@@ -1855,7 +1904,7 @@ var en = "[role=\"option\"]", tn = "No results", nn = class extends e {
|
|
|
1855
1904
|
this.setAttribute("highlight", e ? "true" : "false");
|
|
1856
1905
|
}
|
|
1857
1906
|
get emptyText() {
|
|
1858
|
-
return this.getAttribute("empty-text") ??
|
|
1907
|
+
return this.getAttribute("empty-text") ?? cn;
|
|
1859
1908
|
}
|
|
1860
1909
|
set emptyText(e) {
|
|
1861
1910
|
this.setAttribute("empty-text", String(e ?? ""));
|
|
@@ -1872,7 +1921,7 @@ var en = "[role=\"option\"]", tn = "No results", nn = class extends e {
|
|
|
1872
1921
|
return this.querySelector("[role=\"combobox\"]");
|
|
1873
1922
|
}
|
|
1874
1923
|
_optionFrom(e, t = !1) {
|
|
1875
|
-
let n = e?.closest?.(
|
|
1924
|
+
let n = e?.closest?.(sn);
|
|
1876
1925
|
return n && this.contains(n) && !this._isHidden(n) && (t || !this._isDisabled(n)) ? n : null;
|
|
1877
1926
|
}
|
|
1878
1927
|
_isDisabled(e) {
|
|
@@ -1882,11 +1931,11 @@ var en = "[role=\"option\"]", tn = "No results", nn = class extends e {
|
|
|
1882
1931
|
return e.hidden || !!e.closest("[role=\"group\"]")?.hidden;
|
|
1883
1932
|
}
|
|
1884
1933
|
_selectableOptions() {
|
|
1885
|
-
return [...this.querySelectorAll(
|
|
1934
|
+
return [...this.querySelectorAll(sn)].filter((e) => !this._isHidden(e) && !this._isDisabled(e));
|
|
1886
1935
|
}
|
|
1887
1936
|
_setActive(e, t) {
|
|
1888
1937
|
this._activeId = e ? e.id : null;
|
|
1889
|
-
for (let t of this.querySelectorAll(
|
|
1938
|
+
for (let t of this.querySelectorAll(sn)) t.setAttribute("aria-selected", t === e ? "true" : "false");
|
|
1890
1939
|
let n = this._input();
|
|
1891
1940
|
n && (e ? n.setAttribute("aria-activedescendant", e.id) : n.removeAttribute("aria-activedescendant")), e && t && e.scrollIntoView({ block: "nearest" });
|
|
1892
1941
|
}
|
|
@@ -1922,11 +1971,11 @@ var en = "[role=\"option\"]", tn = "No results", nn = class extends e {
|
|
|
1922
1971
|
}
|
|
1923
1972
|
_applyFilter() {
|
|
1924
1973
|
let e = this._input(), t = (e ? e.value : "").trim(), n = t.toLowerCase(), r = this.highlight, i = 0;
|
|
1925
|
-
for (let e of this.querySelectorAll(
|
|
1974
|
+
for (let e of this.querySelectorAll(sn)) {
|
|
1926
1975
|
let a = e.querySelector(".wui-cmd-item-label"), o = e.dataset.label ?? a?.textContent ?? "", s = !n || o.toLowerCase().includes(n);
|
|
1927
|
-
e.hidden = !s, s && i++, a && (a.innerHTML =
|
|
1976
|
+
e.hidden = !s, s && i++, a && (a.innerHTML = on(o, r ? t : "").map((e) => e.match ? `<mark class="wui-cmd-mark">${H(e.text)}</mark>` : H(e.text)).join(""));
|
|
1928
1977
|
}
|
|
1929
|
-
for (let e of this.querySelectorAll("[role=\"group\"]")) e.hidden = ![...e.querySelectorAll(
|
|
1978
|
+
for (let e of this.querySelectorAll("[role=\"group\"]")) e.hidden = ![...e.querySelectorAll(sn)].some((e) => !e.hidden);
|
|
1930
1979
|
let a = this.querySelector("[role=\"listbox\"]");
|
|
1931
1980
|
a && (a.hidden = i === 0);
|
|
1932
1981
|
let o = this.querySelector(".wui-cmd-empty");
|
|
@@ -1935,7 +1984,7 @@ var en = "[role=\"option\"]", tn = "No results", nn = class extends e {
|
|
|
1935
1984
|
_teardown() {
|
|
1936
1985
|
this.removeEventListener("keydown", this._onKeyDown), this.removeEventListener("click", this._onClick), this.removeEventListener("mousedown", this._onMouseDown), this.removeEventListener("mousemove", this._onMouseMove), this.removeEventListener("input", this._onInput);
|
|
1937
1986
|
}
|
|
1938
|
-
},
|
|
1987
|
+
}, un = {
|
|
1939
1988
|
"--color-primary": "#4F46E5",
|
|
1940
1989
|
"--color-primary-hover": "#4338CA",
|
|
1941
1990
|
"--color-text": "#071437",
|
|
@@ -1945,7 +1994,7 @@ var en = "[role=\"option\"]", tn = "No results", nn = class extends e {
|
|
|
1945
1994
|
"--wui-radius-lg": "14px",
|
|
1946
1995
|
"--wui-shadow-overlay-lg": "0 24px 60px -16px rgba(7, 20, 55, 0.28)",
|
|
1947
1996
|
"--wui-z-fixed": "1030"
|
|
1948
|
-
}, U = (e) => `var(${e}, ${
|
|
1997
|
+
}, U = (e) => `var(${e}, ${un[e]})`, dn = `
|
|
1949
1998
|
:host {
|
|
1950
1999
|
all: initial;
|
|
1951
2000
|
position: fixed;
|
|
@@ -2123,7 +2172,7 @@ var en = "[role=\"option\"]", tn = "No results", nn = class extends e {
|
|
|
2123
2172
|
max-width: none;
|
|
2124
2173
|
}
|
|
2125
2174
|
}
|
|
2126
|
-
`,
|
|
2175
|
+
`, fn = "wui-consent-save", pn = "[data-consent-settings]", W = {
|
|
2127
2176
|
heading: "Cookies on this site",
|
|
2128
2177
|
description: "We use cookies to understand how the site is used and to measure our campaigns. You can change your choice at any time.",
|
|
2129
2178
|
policyLabel: "Cookie policy",
|
|
@@ -2139,11 +2188,11 @@ var en = "[role=\"option\"]", tn = "No results", nn = class extends e {
|
|
|
2139
2188
|
rejectLabel: "Reject all",
|
|
2140
2189
|
acceptLabel: "Accept all",
|
|
2141
2190
|
saveLabel: "Save preferences"
|
|
2142
|
-
},
|
|
2191
|
+
}, mn = [
|
|
2143
2192
|
"analytics",
|
|
2144
2193
|
"functional",
|
|
2145
2194
|
"marketing"
|
|
2146
|
-
],
|
|
2195
|
+
], hn = 0, gn = class extends e {
|
|
2147
2196
|
static get observedAttributes() {
|
|
2148
2197
|
return [
|
|
2149
2198
|
"heading",
|
|
@@ -2156,12 +2205,12 @@ var en = "[role=\"option\"]", tn = "No results", nn = class extends e {
|
|
|
2156
2205
|
];
|
|
2157
2206
|
}
|
|
2158
2207
|
constructor() {
|
|
2159
|
-
super(),
|
|
2208
|
+
super(), hn += 1, this._uid = `wui-consent-${hn}`, this._preferences = {
|
|
2160
2209
|
analytics: !1,
|
|
2161
2210
|
functional: !1,
|
|
2162
2211
|
marketing: !1
|
|
2163
2212
|
}, this._settings = !1, this._onDocumentClick = (e) => {
|
|
2164
|
-
e.target instanceof Element && e.target.closest(
|
|
2213
|
+
e.target instanceof Element && e.target.closest(pn) && (e.preventDefault(), this.open({
|
|
2165
2214
|
settings: !0,
|
|
2166
2215
|
focus: !0
|
|
2167
2216
|
}));
|
|
@@ -2244,16 +2293,16 @@ var en = "[role=\"option\"]", tn = "No results", nn = class extends e {
|
|
|
2244
2293
|
this._rendered && this.render();
|
|
2245
2294
|
}
|
|
2246
2295
|
render() {
|
|
2247
|
-
let e = this.isOpen, t = this._uid, n = this.policyHref ? ` <a class="wui-consent-banner-policy" href="${
|
|
2248
|
-
r.innerHTML = `${r === this ? "" : `<style>${
|
|
2296
|
+
let e = this.isOpen, t = this._uid, n = this.policyHref ? ` <a class="wui-consent-banner-policy" href="${yn(this.policyHref)}">${vn(this.policyLabel)}</a>` : "", r = this._root();
|
|
2297
|
+
r.innerHTML = `${r === this ? "" : `<style>${dn}</style>`}
|
|
2249
2298
|
<div class="wui-consent-banner-panel" role="dialog" aria-labelledby="${t}-heading" aria-describedby="${t}-description" hidden>
|
|
2250
|
-
<h2 class="wui-consent-banner-heading" id="${t}-heading">${
|
|
2251
|
-
<p class="wui-consent-banner-description" id="${t}-description">${
|
|
2299
|
+
<h2 class="wui-consent-banner-heading" id="${t}-heading">${vn(this.heading)}</h2>
|
|
2300
|
+
<p class="wui-consent-banner-description" id="${t}-description">${vn(this.description)}${n}</p>
|
|
2252
2301
|
<div class="wui-consent-banner-settings" hidden>
|
|
2253
|
-
${
|
|
2254
|
-
${
|
|
2255
|
-
${
|
|
2256
|
-
${
|
|
2302
|
+
${_n(t, "essential", W.essentialLabel, W.essentialDescription, !0)}
|
|
2303
|
+
${_n(t, "analytics", W.analyticsLabel, this.analyticsDescription, !1)}
|
|
2304
|
+
${_n(t, "functional", W.functionalLabel, this.functionalDescription, !1)}
|
|
2305
|
+
${_n(t, "marketing", W.marketingLabel, this.marketingDescription, !1)}
|
|
2257
2306
|
</div>
|
|
2258
2307
|
<div class="wui-consent-banner-actions">
|
|
2259
2308
|
<button type="button" class="btn btn-sm btn-link wui-consent-banner-settings-toggle" aria-expanded="false">${W.settingsLabel}</button>
|
|
@@ -2289,7 +2338,7 @@ var en = "[role=\"option\"]", tn = "No results", nn = class extends e {
|
|
|
2289
2338
|
})), e.querySelector(".wui-consent-banner-save")?.addEventListener("click", () => this._save(this._switchValues())), e.querySelector(".wui-consent-banner-settings-toggle")?.addEventListener("click", () => this._showSettings(!this._settings));
|
|
2290
2339
|
}
|
|
2291
2340
|
_save(e) {
|
|
2292
|
-
this._preferences = { ...e }, this.dispatchEvent(new CustomEvent(
|
|
2341
|
+
this._preferences = { ...e }, this.dispatchEvent(new CustomEvent(fn, {
|
|
2293
2342
|
bubbles: !0,
|
|
2294
2343
|
composed: !0,
|
|
2295
2344
|
detail: { ...e }
|
|
@@ -2297,11 +2346,11 @@ var en = "[role=\"option\"]", tn = "No results", nn = class extends e {
|
|
|
2297
2346
|
}
|
|
2298
2347
|
_switchValues() {
|
|
2299
2348
|
let e = {};
|
|
2300
|
-
for (let t of
|
|
2349
|
+
for (let t of mn) e[t] = this._root().querySelector(`input[data-category="${t}"]`)?.checked === !0;
|
|
2301
2350
|
return e;
|
|
2302
2351
|
}
|
|
2303
2352
|
_applyPreferences() {
|
|
2304
|
-
for (let e of
|
|
2353
|
+
for (let e of mn) {
|
|
2305
2354
|
let t = this._root().querySelector(`input[data-category="${e}"]`);
|
|
2306
2355
|
t && (t.checked = this._preferences[e]);
|
|
2307
2356
|
}
|
|
@@ -2319,47 +2368,47 @@ var en = "[role=\"option\"]", tn = "No results", nn = class extends e {
|
|
|
2319
2368
|
}
|
|
2320
2369
|
}
|
|
2321
2370
|
};
|
|
2322
|
-
function
|
|
2371
|
+
function _n(e, t, n, r, i) {
|
|
2323
2372
|
let a = `${e}-${t}`;
|
|
2324
2373
|
return `<div class="wui-consent-banner-category">
|
|
2325
2374
|
<div class="form-check form-switch">
|
|
2326
2375
|
<input class="form-check-input" type="checkbox" role="switch" id="${a}" data-category="${t}"${i ? " checked disabled" : ""} />
|
|
2327
|
-
<label class="form-check-label" for="${a}">${
|
|
2376
|
+
<label class="form-check-label" for="${a}">${vn(n)}</label>
|
|
2328
2377
|
</div>
|
|
2329
|
-
<p class="wui-consent-banner-category-description">${
|
|
2378
|
+
<p class="wui-consent-banner-category-description">${vn(r)}</p>
|
|
2330
2379
|
</div>`;
|
|
2331
2380
|
}
|
|
2332
|
-
var
|
|
2333
|
-
function
|
|
2334
|
-
let r =
|
|
2381
|
+
var vn = (e) => String(e ?? "").replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">"), yn = (e) => String(e ?? "").replace(/&/g, "&").replace(/"/g, """).replace(/</g, "<"), bn = "[role=\"menuitem\"]", xn = "input, textarea, select, [contenteditable=\"\"], [contenteditable=\"true\"]", Sn = "data-open", Cn = 500, wn = 10, Tn = 400, En = null, Dn = null, On = /* @__PURE__ */ new WeakMap();
|
|
2382
|
+
function kn(e, t, n) {
|
|
2383
|
+
let r = On.get(e);
|
|
2335
2384
|
if (r) {
|
|
2336
2385
|
if (r.region === t || t.contains(r.region)) return !1;
|
|
2337
2386
|
r.cancel();
|
|
2338
2387
|
}
|
|
2339
|
-
return
|
|
2388
|
+
return On.set(e, {
|
|
2340
2389
|
region: t,
|
|
2341
2390
|
cancel: n
|
|
2342
2391
|
}), !0;
|
|
2343
2392
|
}
|
|
2344
|
-
var
|
|
2393
|
+
var An = (e) => e instanceof Element ? e : e?.parentElement ?? null, jn = class extends e {
|
|
2345
2394
|
static get observedAttributes() {
|
|
2346
2395
|
return ["disabled"];
|
|
2347
2396
|
}
|
|
2348
2397
|
constructor() {
|
|
2349
|
-
super(), this._region = null, this._origin = null, this._returnFocus = null, this._press = null, this._swallowClick = !1, this._nav =
|
|
2398
|
+
super(), this._region = null, this._origin = null, this._returnFocus = null, this._press = null, this._swallowClick = !1, this._nav = Xt({
|
|
2350
2399
|
getVisibleOptions: () => this._items(),
|
|
2351
2400
|
getActive: () => this._items().indexOf(document.activeElement),
|
|
2352
2401
|
setActive: (e) => this._items()[e]?.focus({ preventScroll: !0 })
|
|
2353
2402
|
}), this._onContextMenu = (e) => this._handleContextMenu(e), this._onContextMenuCapture = (e) => {
|
|
2354
2403
|
this.isOpen && !this._inPanel(e.target) && !this._isKeyEcho() && this.close();
|
|
2355
2404
|
}, this._onDocKeyDown = (e) => this._handleDocKeyDown(e), this._onPointerDown = (e) => this._handlePointerDown(e), this._onPressMove = (e) => {
|
|
2356
|
-
this._press && Math.hypot(e.clientX - this._press.x, e.clientY - this._press.y) >
|
|
2405
|
+
this._press && Math.hypot(e.clientX - this._press.x, e.clientY - this._press.y) > wn && this._cancelPress();
|
|
2357
2406
|
}, this._onPressEnd = () => this._cancelPress(), this._onClickCapture = (e) => {
|
|
2358
2407
|
!this._swallowClick || !this._region?.contains(e.target) || (this._swallowClick = !1, e.preventDefault(), e.stopImmediatePropagation());
|
|
2359
2408
|
}, this._onKeyDown = (e) => {
|
|
2360
2409
|
this._inPanel(e.target) && this._handleMenuKey(e);
|
|
2361
2410
|
}, this._onClick = (e) => this._handleClick(e), this._onMouseMove = (e) => {
|
|
2362
|
-
let t =
|
|
2411
|
+
let t = An(e.target)?.closest(bn);
|
|
2363
2412
|
t && this._inPanel(t) && !this._isDisabled(t) && t !== document.activeElement && t.focus({ preventScroll: !0 });
|
|
2364
2413
|
}, this._onDismiss = (e) => {
|
|
2365
2414
|
e.type === "scroll" && this._inPanel(e.target) || this.close();
|
|
@@ -2389,16 +2438,16 @@ var wn = (e) => e instanceof Element ? e : e?.parentElement ?? null, Tn = class
|
|
|
2389
2438
|
this.toggleAttribute("disabled", !!e);
|
|
2390
2439
|
}
|
|
2391
2440
|
get isOpen() {
|
|
2392
|
-
return this._panel()?.hasAttribute(
|
|
2441
|
+
return this._panel()?.hasAttribute(Sn) ?? !1;
|
|
2393
2442
|
}
|
|
2394
2443
|
open(e, t, { region: n = this, origin: r = n, keyboard: i = !1 } = {}) {
|
|
2395
2444
|
let a = this._panel();
|
|
2396
2445
|
if (a) {
|
|
2397
|
-
if (
|
|
2446
|
+
if (En && En !== this && En.close(!0), !this.isOpen) {
|
|
2398
2447
|
let e = document.activeElement;
|
|
2399
2448
|
this._returnFocus = e && e !== document.body && !this._inPanel(e) ? e : null;
|
|
2400
2449
|
}
|
|
2401
|
-
this._region = n, this._origin = r,
|
|
2450
|
+
this._region = n, this._origin = r, Dn = null, a.setAttribute(Sn, ""), En = this, I({ getBoundingClientRect: () => ({
|
|
2402
2451
|
left: e,
|
|
2403
2452
|
right: e,
|
|
2404
2453
|
top: t,
|
|
@@ -2418,8 +2467,8 @@ var wn = (e) => e instanceof Element ? e : e?.parentElement ?? null, Tn = class
|
|
|
2418
2467
|
}
|
|
2419
2468
|
close(e = !1) {
|
|
2420
2469
|
let t = this._panel();
|
|
2421
|
-
if (!t?.hasAttribute(
|
|
2422
|
-
t.removeAttribute(
|
|
2470
|
+
if (!t?.hasAttribute(Sn)) return;
|
|
2471
|
+
t.removeAttribute(Sn), En === this && (En = null), window.removeEventListener("scroll", this._onDismiss, !0), window.removeEventListener("resize", this._onDismiss), window.removeEventListener("blur", this._onDismiss), this._nav.teardown();
|
|
2423
2472
|
let n = this._returnFocus;
|
|
2424
2473
|
this._returnFocus = null, e && n?.isConnected && n.focus({ preventScroll: !0 });
|
|
2425
2474
|
}
|
|
@@ -2430,49 +2479,49 @@ var wn = (e) => e instanceof Element ? e : e?.parentElement ?? null, Tn = class
|
|
|
2430
2479
|
return !!e && !!this._panel()?.contains(e);
|
|
2431
2480
|
}
|
|
2432
2481
|
_items() {
|
|
2433
|
-
return [...this._panel()?.querySelectorAll(
|
|
2482
|
+
return [...this._panel()?.querySelectorAll(bn) ?? []].filter((e) => !this._isDisabled(e));
|
|
2434
2483
|
}
|
|
2435
2484
|
_isDisabled(e) {
|
|
2436
2485
|
return e.getAttribute("aria-disabled") === "true";
|
|
2437
2486
|
}
|
|
2438
2487
|
_regionFor(e) {
|
|
2439
|
-
let t =
|
|
2440
|
-
if (!t || this.disabled || !this._panel() || this._inPanel(t) || t.closest(
|
|
2488
|
+
let t = An(e);
|
|
2489
|
+
if (!t || this.disabled || !this._panel() || this._inPanel(t) || t.closest(xn)) return null;
|
|
2441
2490
|
let n = this.target;
|
|
2442
2491
|
return n ? t.closest(n) : this.contains(t) ? this : null;
|
|
2443
2492
|
}
|
|
2444
2493
|
_isKeyEcho() {
|
|
2445
|
-
return
|
|
2494
|
+
return Dn?.menu === this && this.isOpen && performance.now() - Dn.at < Tn;
|
|
2446
2495
|
}
|
|
2447
2496
|
_handleContextMenu(e) {
|
|
2448
2497
|
if (this._inPanel(e.target)) {
|
|
2449
2498
|
e.preventDefault();
|
|
2450
2499
|
return;
|
|
2451
2500
|
}
|
|
2452
|
-
if (e.defaultPrevented && !
|
|
2501
|
+
if (e.defaultPrevented && !On.has(e)) return;
|
|
2453
2502
|
let t = this._regionFor(e.target);
|
|
2454
2503
|
if (t) {
|
|
2455
2504
|
if (this._isKeyEcho()) {
|
|
2456
2505
|
e.preventDefault();
|
|
2457
2506
|
return;
|
|
2458
2507
|
}
|
|
2459
|
-
e.shiftKey ||
|
|
2508
|
+
e.shiftKey || kn(e, t, () => this.close(!0)) && (e.preventDefault(), this.open(e.clientX, e.clientY, {
|
|
2460
2509
|
region: t,
|
|
2461
|
-
origin:
|
|
2510
|
+
origin: An(e.target)
|
|
2462
2511
|
}));
|
|
2463
2512
|
}
|
|
2464
2513
|
}
|
|
2465
2514
|
_handleDocKeyDown(e) {
|
|
2466
|
-
if (e.defaultPrevented && !
|
|
2515
|
+
if (e.defaultPrevented && !On.has(e) || !(e.key === "ContextMenu" || e.key === "F10" && e.shiftKey) || this._inPanel(e.target)) return;
|
|
2467
2516
|
let t = this._regionFor(e.target);
|
|
2468
|
-
if (!t || !
|
|
2517
|
+
if (!t || !kn(e, t, () => this.close(!0))) return;
|
|
2469
2518
|
e.preventDefault();
|
|
2470
|
-
let n =
|
|
2519
|
+
let n = An(e.target), r = n.getBoundingClientRect();
|
|
2471
2520
|
this.open(r.left + Math.min(16, r.width / 2), r.bottom, {
|
|
2472
2521
|
region: t,
|
|
2473
2522
|
origin: n,
|
|
2474
2523
|
keyboard: !0
|
|
2475
|
-
}),
|
|
2524
|
+
}), Dn = {
|
|
2476
2525
|
menu: this,
|
|
2477
2526
|
at: performance.now()
|
|
2478
2527
|
};
|
|
@@ -2480,9 +2529,9 @@ var wn = (e) => e instanceof Element ? e : e?.parentElement ?? null, Tn = class
|
|
|
2480
2529
|
_handlePointerDown(e) {
|
|
2481
2530
|
if (e.pointerType !== "touch") return;
|
|
2482
2531
|
let t = this._regionFor(e.target);
|
|
2483
|
-
if (!t || !
|
|
2532
|
+
if (!t || !kn(e, t, () => this._cancelPress())) return;
|
|
2484
2533
|
this._cancelPress();
|
|
2485
|
-
let { clientX: n, clientY: r } = e, i =
|
|
2534
|
+
let { clientX: n, clientY: r } = e, i = An(e.target);
|
|
2486
2535
|
this._press = {
|
|
2487
2536
|
x: n,
|
|
2488
2537
|
y: r,
|
|
@@ -2491,7 +2540,7 @@ var wn = (e) => e instanceof Element ? e : e?.parentElement ?? null, Tn = class
|
|
|
2491
2540
|
region: t,
|
|
2492
2541
|
origin: i
|
|
2493
2542
|
});
|
|
2494
|
-
},
|
|
2543
|
+
}, Cn)
|
|
2495
2544
|
}, document.addEventListener("pointermove", this._onPressMove, { passive: !0 }), document.addEventListener("pointerup", this._onPressEnd), document.addEventListener("pointercancel", this._onPressEnd), window.addEventListener("scroll", this._onPressEnd, !0);
|
|
2496
2545
|
}
|
|
2497
2546
|
_cancelPress() {
|
|
@@ -2502,7 +2551,7 @@ var wn = (e) => e instanceof Element ? e : e?.parentElement ?? null, Tn = class
|
|
|
2502
2551
|
else if (e.key === "Tab") this.close(!0);
|
|
2503
2552
|
else if (e.key === "ArrowDown" || e.key === "ArrowUp") e.preventDefault(), this._step(e.key === "ArrowDown" ? 1 : -1);
|
|
2504
2553
|
else if (e.key === " ") {
|
|
2505
|
-
let t =
|
|
2554
|
+
let t = An(e.target)?.closest(bn);
|
|
2506
2555
|
e.preventDefault(), t && t.click();
|
|
2507
2556
|
} else this._nav.handler(e);
|
|
2508
2557
|
}
|
|
@@ -2513,7 +2562,7 @@ var wn = (e) => e instanceof Element ? e : e?.parentElement ?? null, Tn = class
|
|
|
2513
2562
|
t[n < 0 ? e > 0 ? 0 : t.length - 1 : (n + e + t.length) % t.length].focus({ preventScroll: !0 });
|
|
2514
2563
|
}
|
|
2515
2564
|
_handleClick(e) {
|
|
2516
|
-
let t =
|
|
2565
|
+
let t = An(e.target)?.closest(bn);
|
|
2517
2566
|
if (!(!t || !this._inPanel(t))) {
|
|
2518
2567
|
if (this._isDisabled(t)) {
|
|
2519
2568
|
e.preventDefault(), e.stopPropagation();
|
|
@@ -2533,7 +2582,7 @@ var wn = (e) => e instanceof Element ? e : e?.parentElement ?? null, Tn = class
|
|
|
2533
2582
|
_teardown() {
|
|
2534
2583
|
this.close(), this._cancelPress(), document.removeEventListener("contextmenu", this._onContextMenuCapture, !0), document.removeEventListener("contextmenu", this._onContextMenu), document.removeEventListener("keydown", this._onDocKeyDown), document.removeEventListener("pointerdown", this._onPointerDownCapture, !0), document.removeEventListener("pointerdown", this._onPointerDown), document.removeEventListener("click", this._onClickCapture, !0), this.removeEventListener("keydown", this._onKeyDown), this.removeEventListener("click", this._onClick), this.removeEventListener("mousemove", this._onMouseMove);
|
|
2535
2584
|
}
|
|
2536
|
-
},
|
|
2585
|
+
}, Mn = [
|
|
2537
2586
|
[
|
|
2538
2587
|
"AF",
|
|
2539
2588
|
"Afghanistan",
|
|
@@ -3759,11 +3808,11 @@ var wn = (e) => e instanceof Element ? e : e?.parentElement ?? null, Tn = class
|
|
|
3759
3808
|
"Zimbabwe",
|
|
3760
3809
|
"263"
|
|
3761
3810
|
]
|
|
3762
|
-
],
|
|
3811
|
+
], Nn = (e) => (Mn.find((t) => t[0] === e) || [
|
|
3763
3812
|
"",
|
|
3764
3813
|
"",
|
|
3765
3814
|
""
|
|
3766
|
-
])[2],
|
|
3815
|
+
])[2], Pn = class extends e {
|
|
3767
3816
|
static formAssociated = !0;
|
|
3768
3817
|
static get observedAttributes() {
|
|
3769
3818
|
return [
|
|
@@ -3822,7 +3871,7 @@ var wn = (e) => e instanceof Element ? e : e?.parentElement ?? null, Tn = class
|
|
|
3822
3871
|
return this._value;
|
|
3823
3872
|
}
|
|
3824
3873
|
set value(e) {
|
|
3825
|
-
this._value = e == null ? "" : String(e),
|
|
3874
|
+
this._value = e == null ? "" : String(e), z(this, this._value), this._syncSelected(), this._syncReset();
|
|
3826
3875
|
}
|
|
3827
3876
|
set options(e) {
|
|
3828
3877
|
this._optionsProp = Array.isArray(e) ? e : null, this.isConnected && this.render();
|
|
@@ -3837,7 +3886,7 @@ var wn = (e) => e instanceof Element ? e : e?.parentElement ?? null, Tn = class
|
|
|
3837
3886
|
value: e.getAttribute("value") ?? e.textContent.trim(),
|
|
3838
3887
|
label: e.innerHTML,
|
|
3839
3888
|
icon: e.getAttribute("icon") || void 0,
|
|
3840
|
-
[
|
|
3889
|
+
[Zt]: !0,
|
|
3841
3890
|
selected: e.hasAttribute("selected")
|
|
3842
3891
|
})));
|
|
3843
3892
|
}
|
|
@@ -3847,27 +3896,27 @@ var wn = (e) => e instanceof Element ? e : e?.parentElement ?? null, Tn = class
|
|
|
3847
3896
|
render() {
|
|
3848
3897
|
this._defaultValue === void 0 && (this._defaultValue = this.getAttribute("value") || ""), this._snapshotDeclared();
|
|
3849
3898
|
let e = this._readOptions(), t = this.hasAttribute("searchable"), n = this.hasAttribute("clearable"), r = this.getAttribute("size"), i = r === "sm" ? " search-select-sm" : r === "lg" ? " search-select-lg" : "", a = this.getAttribute("icon"), o = this.getAttribute("prefix"), s = this.getAttribute("placeholder") || "Select...", c = this.getAttribute("search-placeholder") || "Search...", l = e.find((e) => String(e.value) === String(this._value)) || e.find((e) => e.selected);
|
|
3850
|
-
l && (this._value = String(l.value)),
|
|
3899
|
+
l && (this._value = String(l.value)), z(this, this._value), this.id ||= `wui-select-${Math.random().toString(36).slice(2, 9)}`;
|
|
3851
3900
|
let u = `${this.id}-listbox`;
|
|
3852
3901
|
this._listboxId = u;
|
|
3853
3902
|
let d = e.map((e, t) => {
|
|
3854
3903
|
let n = String(e.value) === String(this._value);
|
|
3855
|
-
return `<button type="button" role="option" id="${
|
|
3904
|
+
return `<button type="button" role="option" id="${Fn(`${u}-opt-${t}`)}" class="search-select-option${n ? " selected" : ""}" data-value="${Fn(e.value)}" aria-selected="${n}">${tn(e)}</button>`;
|
|
3856
3905
|
}).join("");
|
|
3857
3906
|
this.innerHTML = `
|
|
3858
3907
|
<div class="search-select${this.hasAttribute("compact") ? " search-select-compact" : ""}${i}">
|
|
3859
|
-
<button type="button" role="combobox" class="input search-select-control" aria-haspopup="listbox" aria-expanded="false" aria-controls="${
|
|
3860
|
-
${a ?
|
|
3861
|
-
${o ? `<span class="search-select-prefix">${
|
|
3862
|
-
<span class="${l ? "" : "search-select-placeholder"}" data-label>${l ?
|
|
3863
|
-
${n ? `<span class="search-select-reset" role="button" aria-label="Clear selection" hidden>${
|
|
3864
|
-
${
|
|
3908
|
+
<button type="button" role="combobox" class="input search-select-control" aria-haspopup="listbox" aria-expanded="false" aria-controls="${Fn(u)}" aria-label="${Fn(this._accessibleName())}"${this.hasAttribute("aria-invalid") ? " aria-invalid=\"true\"" : ""}${this.hasAttribute("disabled") ? " disabled" : ""}>
|
|
3909
|
+
${a ? V(a, { className: "search-select-icon" }) : ""}
|
|
3910
|
+
${o ? `<span class="search-select-prefix">${H(o)}</span>` : ""}
|
|
3911
|
+
<span class="${l ? "" : "search-select-placeholder"}" data-label>${l ? tn(l) : H(s)}</span>
|
|
3912
|
+
${n ? `<span class="search-select-reset" role="button" aria-label="Clear selection" hidden>${V("x")}</span>` : ""}
|
|
3913
|
+
${V("chevron-down", { className: "search-select-caret" })}
|
|
3865
3914
|
</button>
|
|
3866
|
-
<div class="search-select-menu search-select-menu-fixed" role="listbox" id="${
|
|
3867
|
-
${t ? `<div class="search-select-search">${
|
|
3915
|
+
<div class="search-select-menu search-select-menu-fixed" role="listbox" id="${Fn(u)}" tabindex="-1" hidden>
|
|
3916
|
+
${t ? `<div class="search-select-search">${V("search")}<input class="search-select-input" placeholder="${Fn(c)}" aria-autocomplete="list" /><button type="button" class="search-select-clear" aria-label="Clear search" hidden>${V("x")}</button></div>` : ""}
|
|
3868
3917
|
<div class="search-select-options">${d}<div class="search-select-empty" hidden>No matches</div></div>
|
|
3869
3918
|
</div>
|
|
3870
|
-
</div>`, this._rendered = !0,
|
|
3919
|
+
</div>`, this._rendered = !0, z(this, this._value), this._wire(), this._syncReset();
|
|
3871
3920
|
}
|
|
3872
3921
|
_refs() {
|
|
3873
3922
|
return {
|
|
@@ -3893,7 +3942,7 @@ var wn = (e) => e instanceof Element ? e : e?.parentElement ?? null, Tn = class
|
|
|
3893
3942
|
let t = e.dataset.value === String(this._value);
|
|
3894
3943
|
e.classList.toggle("selected", t), e.setAttribute("aria-selected", String(t));
|
|
3895
3944
|
}
|
|
3896
|
-
e && (e.innerHTML = t ?
|
|
3945
|
+
e && (e.innerHTML = t ? tn(t) : H(this.getAttribute("placeholder") || "Select..."), e.classList.toggle("search-select-placeholder", !t));
|
|
3897
3946
|
}
|
|
3898
3947
|
_syncReset() {
|
|
3899
3948
|
let { reset: e } = this._refs();
|
|
@@ -3906,8 +3955,8 @@ var wn = (e) => e instanceof Element ? e : e?.parentElement ?? null, Tn = class
|
|
|
3906
3955
|
let t = () => {
|
|
3907
3956
|
if (this.hasAttribute("compact")) {
|
|
3908
3957
|
let t = e.control.getBoundingClientRect();
|
|
3909
|
-
e.menu.style.width = "max-content", e.menu.style.minWidth = `${t.width}px`, e.menu.style.maxWidth = "280px",
|
|
3910
|
-
} else
|
|
3958
|
+
e.menu.style.width = "max-content", e.menu.style.minWidth = `${t.width}px`, e.menu.style.maxWidth = "280px", I(e.control, e.menu);
|
|
3959
|
+
} else I(e.control, e.menu, { matchWidth: !0 });
|
|
3911
3960
|
}, n = (t) => {
|
|
3912
3961
|
let n = this._visible();
|
|
3913
3962
|
this._active = t;
|
|
@@ -3927,7 +3976,7 @@ var wn = (e) => e instanceof Element ? e : e?.parentElement ?? null, Tn = class
|
|
|
3927
3976
|
}, s = (t) => {
|
|
3928
3977
|
this.value = t.dataset.value, this.dispatchEvent(new Event("change", { bubbles: !0 })), o(), e.control.focus();
|
|
3929
3978
|
};
|
|
3930
|
-
this._navHandler =
|
|
3979
|
+
this._navHandler = Xt({
|
|
3931
3980
|
getVisibleOptions: () => this._visible(),
|
|
3932
3981
|
getActive: () => this._active,
|
|
3933
3982
|
setActive: (e) => n(e),
|
|
@@ -3958,40 +4007,40 @@ var wn = (e) => e instanceof Element ? e : e?.parentElement ?? null, Tn = class
|
|
|
3958
4007
|
}), e.menu.addEventListener("keydown", this._navHandler.handler), this._bindGlobal = () => {
|
|
3959
4008
|
this._teardown(), this._onDocClick = (e) => {
|
|
3960
4009
|
i() && !this.contains(e.target) && o();
|
|
3961
|
-
}, document.addEventListener("click", this._onDocClick),
|
|
4010
|
+
}, document.addEventListener("click", this._onDocClick), L(this, () => {
|
|
3962
4011
|
i() && t();
|
|
3963
4012
|
});
|
|
3964
4013
|
}, this._bindGlobal();
|
|
3965
4014
|
}
|
|
3966
4015
|
_teardown() {
|
|
3967
|
-
this._onDocClick &&= (document.removeEventListener("click", this._onDocClick), null),
|
|
4016
|
+
this._onDocClick &&= (document.removeEventListener("click", this._onDocClick), null), R(this), this._navHandler?.teardown();
|
|
3968
4017
|
}
|
|
3969
4018
|
disconnectedCallback() {
|
|
3970
4019
|
this._teardown();
|
|
3971
4020
|
}
|
|
3972
|
-
},
|
|
4021
|
+
}, Fn = (e) => String(e ?? "").replace(/&/g, "&").replace(/"/g, """).replace(/</g, "<"), In = (e) => {
|
|
3973
4022
|
if (e == null) return null;
|
|
3974
4023
|
let t = String(e).split(",").map((e) => e.trim().toUpperCase()).filter(Boolean);
|
|
3975
4024
|
return t.length ? new Set(t) : null;
|
|
3976
|
-
},
|
|
3977
|
-
let t =
|
|
3978
|
-
return
|
|
4025
|
+
}, Ln = (e) => {
|
|
4026
|
+
let t = In(e);
|
|
4027
|
+
return Mn.filter(([e]) => !t || t.has(e)).map(([e, t]) => ({
|
|
3979
4028
|
value: e,
|
|
3980
4029
|
label: t,
|
|
3981
4030
|
flag: e
|
|
3982
4031
|
}));
|
|
3983
|
-
},
|
|
4032
|
+
}, Rn = class extends Pn {
|
|
3984
4033
|
static get observedAttributes() {
|
|
3985
|
-
return [...
|
|
4034
|
+
return [...Pn.observedAttributes, "countries"];
|
|
3986
4035
|
}
|
|
3987
4036
|
_readOptions() {
|
|
3988
4037
|
let e = this.getAttribute("countries");
|
|
3989
4038
|
return this._countryCache?.attr !== e && (this._countryCache = {
|
|
3990
4039
|
attr: e,
|
|
3991
|
-
options:
|
|
4040
|
+
options: Ln(e)
|
|
3992
4041
|
}), this._countryCache.options;
|
|
3993
4042
|
}
|
|
3994
|
-
},
|
|
4043
|
+
}, zn = [
|
|
3995
4044
|
"January",
|
|
3996
4045
|
"February",
|
|
3997
4046
|
"March",
|
|
@@ -4004,7 +4053,7 @@ var wn = (e) => e instanceof Element ? e : e?.parentElement ?? null, Tn = class
|
|
|
4004
4053
|
"October",
|
|
4005
4054
|
"November",
|
|
4006
4055
|
"December"
|
|
4007
|
-
],
|
|
4056
|
+
], Bn = [
|
|
4008
4057
|
"Su",
|
|
4009
4058
|
"Mo",
|
|
4010
4059
|
"Tu",
|
|
@@ -4012,24 +4061,24 @@ var wn = (e) => e instanceof Element ? e : e?.parentElement ?? null, Tn = class
|
|
|
4012
4061
|
"Th",
|
|
4013
4062
|
"Fr",
|
|
4014
4063
|
"Sa"
|
|
4015
|
-
],
|
|
4064
|
+
], Vn = (e) => String(e).padStart(2, "0"), Hn = (e, t, n) => `${e}-${Vn(t + 1)}-${Vn(n)}`, G = (e) => {
|
|
4016
4065
|
let t = /^(\d{4})-(\d{2})-(\d{2})$/.exec(e || "");
|
|
4017
4066
|
return t ? {
|
|
4018
4067
|
y: +t[1],
|
|
4019
4068
|
m: t[2] - 1,
|
|
4020
4069
|
d: +t[3]
|
|
4021
4070
|
} : null;
|
|
4022
|
-
},
|
|
4071
|
+
}, Un = (e) => {
|
|
4023
4072
|
let t = G(e);
|
|
4024
|
-
return t ? `${
|
|
4025
|
-
},
|
|
4073
|
+
return t ? `${Vn(t.d)} ${zn[t.m].slice(0, 3)} ${t.y}` : "";
|
|
4074
|
+
}, Wn = (e, t) => new Date(e, t + 1, 0).getDate(), K = (e, t) => {
|
|
4026
4075
|
for (; t < 0;) t += 12, --e;
|
|
4027
4076
|
for (; t > 11;) t -= 12, e += 1;
|
|
4028
4077
|
return {
|
|
4029
4078
|
y: e,
|
|
4030
4079
|
m: t
|
|
4031
4080
|
};
|
|
4032
|
-
},
|
|
4081
|
+
}, Gn = class extends e {
|
|
4033
4082
|
static formAssociated = !0;
|
|
4034
4083
|
static get observedAttributes() {
|
|
4035
4084
|
return [
|
|
@@ -4081,7 +4130,7 @@ var wn = (e) => e instanceof Element ? e : e?.parentElement ?? null, Tn = class
|
|
|
4081
4130
|
return this._value;
|
|
4082
4131
|
}
|
|
4083
4132
|
set value(e) {
|
|
4084
|
-
this._value = e || "",
|
|
4133
|
+
this._value = e || "", z(this, this._value), this._syncTrigger();
|
|
4085
4134
|
}
|
|
4086
4135
|
_firstDay() {
|
|
4087
4136
|
let e = Number.parseInt(this.getAttribute("first-day") ?? "", 10);
|
|
@@ -4094,21 +4143,21 @@ var wn = (e) => e instanceof Element ? e : e?.parentElement ?? null, Tn = class
|
|
|
4094
4143
|
let n = this.getAttribute("size"), r = n === "sm" ? " input-sm" : n === "lg" ? " input-lg" : "", i = this.getAttribute("aria-label"), a = this.getAttribute("aria-describedby");
|
|
4095
4144
|
this.innerHTML = `
|
|
4096
4145
|
<div class="datepicker">
|
|
4097
|
-
<button type="button" class="input datepicker-trigger${r}${t ? " has-value" : ""}" aria-haspopup="dialog" aria-expanded="false"${this.hasAttribute("aria-invalid") ? " aria-invalid=\"true\"" : ""}${this.hasAttribute("disabled") ? " disabled" : ""}${i ? ` aria-label="${
|
|
4098
|
-
<span data-trigger-label class="${t ? "" : "search-select-placeholder"}">${t ?
|
|
4099
|
-
${
|
|
4146
|
+
<button type="button" class="input datepicker-trigger${r}${t ? " has-value" : ""}" aria-haspopup="dialog" aria-expanded="false"${this.hasAttribute("aria-invalid") ? " aria-invalid=\"true\"" : ""}${this.hasAttribute("disabled") ? " disabled" : ""}${i ? ` aria-label="${H(i)}"` : ""}${a ? ` aria-describedby="${H(a)}"` : ""}>
|
|
4147
|
+
<span data-trigger-label class="${t ? "" : "search-select-placeholder"}">${t ? Un(this._value) : H(e)}</span>
|
|
4148
|
+
${V("calendar-dots")}
|
|
4100
4149
|
</button>
|
|
4101
4150
|
<div class="datepicker-pop" role="dialog" aria-modal="false" hidden></div>
|
|
4102
|
-
</div>`, this._rendered = !0,
|
|
4151
|
+
</div>`, this._rendered = !0, z(this, this._value), this._wire();
|
|
4103
4152
|
}
|
|
4104
4153
|
_syncFormValue() {
|
|
4105
|
-
|
|
4154
|
+
z(this, this._value);
|
|
4106
4155
|
}
|
|
4107
4156
|
_syncTrigger() {
|
|
4108
4157
|
let e = this.querySelector(".datepicker-trigger"), t = this.querySelector("[data-trigger-label]");
|
|
4109
4158
|
if (!t) return;
|
|
4110
4159
|
let n = G(this._value);
|
|
4111
|
-
t.textContent = n ?
|
|
4160
|
+
t.textContent = n ? Un(this._value) : this.getAttribute("placeholder") || "Enter Date", t.classList.toggle("search-select-placeholder", !n), e?.classList.toggle("has-value", !!n);
|
|
4112
4161
|
}
|
|
4113
4162
|
_limits() {
|
|
4114
4163
|
let e = G(this.getAttribute("min")), t = G(this.getAttribute("max")), n = e ? new Date(e.y, e.m, e.d).getTime() : -Infinity, r = t ? new Date(t.y, t.m, t.d).getTime() : Infinity;
|
|
@@ -4119,7 +4168,7 @@ var wn = (e) => e instanceof Element ? e : e?.parentElement ?? null, Tn = class
|
|
|
4119
4168
|
},
|
|
4120
4169
|
monthDisabled: (e, t) => {
|
|
4121
4170
|
let i = new Date(e, t, 1).getTime();
|
|
4122
|
-
return new Date(e, t,
|
|
4171
|
+
return new Date(e, t, Wn(e, t)).getTime() < n || i > r;
|
|
4123
4172
|
},
|
|
4124
4173
|
yearDisabled: (e) => {
|
|
4125
4174
|
let t = new Date(e, 0, 1).getTime();
|
|
@@ -4132,29 +4181,29 @@ var wn = (e) => e instanceof Element ? e : e?.parentElement ?? null, Tn = class
|
|
|
4132
4181
|
e && (this._mode === "months" ? e.innerHTML = this._monthsHtml() : this._mode === "years" ? e.innerHTML = this._yearsHtml() : e.innerHTML = this._daysHtml(), this._focusActive());
|
|
4133
4182
|
}
|
|
4134
4183
|
_daysHtml() {
|
|
4135
|
-
let e = this._firstDay(), t = (new Date(this._viewY, this._viewM, 1).getDay() - e + 7) % 7, n =
|
|
4184
|
+
let e = this._firstDay(), t = (new Date(this._viewY, this._viewM, 1).getDay() - e + 7) % 7, n = Wn(this._viewY, this._viewM), r = G(this._value), i = /* @__PURE__ */ new Date(), { dayDisabled: a } = this._limits(), o = this._focus || r || {
|
|
4136
4185
|
y: this._viewY,
|
|
4137
4186
|
m: this._viewM,
|
|
4138
4187
|
d: 1
|
|
4139
4188
|
}, s = (e, t, n, s) => {
|
|
4140
|
-
let c =
|
|
4189
|
+
let c = Hn(e, t, n), l = r && r.y === e && r.m === t && r.d === n, u = i.getFullYear() === e && i.getMonth() === t && i.getDate() === n, d = o.y === e && o.m === t && o.d === n, f = a(e, t, n);
|
|
4141
4190
|
return `<button type="button" class="${[
|
|
4142
4191
|
"datepicker-day",
|
|
4143
4192
|
s ? "is-outside" : "",
|
|
4144
4193
|
u ? "is-today" : "",
|
|
4145
4194
|
l ? "is-selected" : ""
|
|
4146
4195
|
].filter(Boolean).join(" ")}" data-iso="${c}" role="gridcell" tabindex="${d && !f ? "0" : "-1"}"${l ? " aria-selected=\"true\"" : ""}${f ? " disabled aria-disabled=\"true\"" : ""}>${n}</button>`;
|
|
4147
|
-
}, c = "", l = K(this._viewY, this._viewM - 1), u =
|
|
4196
|
+
}, c = "", l = K(this._viewY, this._viewM - 1), u = Wn(l.y, l.m);
|
|
4148
4197
|
for (let e = t - 1; e >= 0; e--) c += s(l.y, l.m, u - e, !0);
|
|
4149
4198
|
for (let e = 1; e <= n; e++) c += s(this._viewY, this._viewM, e, !1);
|
|
4150
4199
|
let d = K(this._viewY, this._viewM + 1), f = (7 - (t + n) % 7) % 7;
|
|
4151
4200
|
for (let e = 1; e <= f; e++) c += s(d.y, d.m, e, !0);
|
|
4152
|
-
let p = a(i.getFullYear(), i.getMonth(), i.getDate()), m =
|
|
4201
|
+
let p = a(i.getFullYear(), i.getMonth(), i.getDate()), m = Bn.map((t, n) => Bn[(n + e) % 7]).map((e) => `<span>${e}</span>`).join("");
|
|
4153
4202
|
return `
|
|
4154
4203
|
<div class="datepicker-head">
|
|
4155
|
-
<button type="button" class="datepicker-nav-btn" data-nav="-1" aria-label="Previous month">${
|
|
4156
|
-
<button type="button" class="datepicker-month" data-view="months" aria-label="Choose month and year">${
|
|
4157
|
-
<button type="button" class="datepicker-nav-btn" data-nav="1" aria-label="Next month">${
|
|
4204
|
+
<button type="button" class="datepicker-nav-btn" data-nav="-1" aria-label="Previous month">${V("chevron-left")}</button>
|
|
4205
|
+
<button type="button" class="datepicker-month" data-view="months" aria-label="Choose month and year">${zn[this._viewM]} ${this._viewY}</button>
|
|
4206
|
+
<button type="button" class="datepicker-nav-btn" data-nav="1" aria-label="Next month">${V("chevron-right")}</button>
|
|
4158
4207
|
</div>
|
|
4159
4208
|
<div class="datepicker-weekdays">${m}</div>
|
|
4160
4209
|
<div class="datepicker-grid${this._slide ? ` ${this._slide}` : ""}" role="grid">${c}</div>
|
|
@@ -4171,13 +4220,13 @@ var wn = (e) => e instanceof Element ? e : e?.parentElement ?? null, Tn = class
|
|
|
4171
4220
|
o ? "is-today" : "",
|
|
4172
4221
|
a ? "is-selected" : ""
|
|
4173
4222
|
].filter(Boolean).join(" ");
|
|
4174
|
-
r += `<button type="button" class="${c}" data-month="${i}"${s ? " disabled" : ""}>${
|
|
4223
|
+
r += `<button type="button" class="${c}" data-month="${i}"${s ? " disabled" : ""}>${zn[i].slice(0, 3)}</button>`;
|
|
4175
4224
|
}
|
|
4176
4225
|
return `
|
|
4177
4226
|
<div class="datepicker-head">
|
|
4178
|
-
<button type="button" class="datepicker-nav-btn" data-nav-year="-1" aria-label="Previous year">${
|
|
4227
|
+
<button type="button" class="datepicker-nav-btn" data-nav-year="-1" aria-label="Previous year">${V("chevron-left")}</button>
|
|
4179
4228
|
<button type="button" class="datepicker-month" data-view="years" aria-label="Choose year">${this._viewY}</button>
|
|
4180
|
-
<button type="button" class="datepicker-nav-btn" data-nav-year="1" aria-label="Next year">${
|
|
4229
|
+
<button type="button" class="datepicker-nav-btn" data-nav-year="1" aria-label="Next year">${V("chevron-right")}</button>
|
|
4181
4230
|
</div>
|
|
4182
4231
|
<div class="datepicker-cells">${r}</div>`;
|
|
4183
4232
|
}
|
|
@@ -4193,9 +4242,9 @@ var wn = (e) => e instanceof Element ? e : e?.parentElement ?? null, Tn = class
|
|
|
4193
4242
|
}
|
|
4194
4243
|
return `
|
|
4195
4244
|
<div class="datepicker-head">
|
|
4196
|
-
<button type="button" class="datepicker-nav-btn" data-nav-decade="-1" aria-label="Previous decade">${
|
|
4245
|
+
<button type="button" class="datepicker-nav-btn" data-nav-decade="-1" aria-label="Previous decade">${V("chevron-left")}</button>
|
|
4197
4246
|
<span class="datepicker-month">${r + 1} to ${r + 10}</span>
|
|
4198
|
-
<button type="button" class="datepicker-nav-btn" data-nav-decade="1" aria-label="Next decade">${
|
|
4247
|
+
<button type="button" class="datepicker-nav-btn" data-nav-decade="1" aria-label="Next decade">${V("chevron-right")}</button>
|
|
4199
4248
|
</div>
|
|
4200
4249
|
<div class="datepicker-cells">${i}</div>`;
|
|
4201
4250
|
}
|
|
@@ -4204,7 +4253,7 @@ var wn = (e) => e instanceof Element ? e : e?.parentElement ?? null, Tn = class
|
|
|
4204
4253
|
t && e.contains(document.activeElement) && t.focus();
|
|
4205
4254
|
}
|
|
4206
4255
|
_position(e, t) {
|
|
4207
|
-
|
|
4256
|
+
I(e, t, { clampHeight: !0 });
|
|
4208
4257
|
}
|
|
4209
4258
|
_setFocus(e, t, n, r) {
|
|
4210
4259
|
let { y: i, m: a } = K(e, t);
|
|
@@ -4214,7 +4263,7 @@ var wn = (e) => e instanceof Element ? e : e?.parentElement ?? null, Tn = class
|
|
|
4214
4263
|
d: n
|
|
4215
4264
|
};
|
|
4216
4265
|
let o = i !== this._viewY || a !== this._viewM;
|
|
4217
|
-
this._viewY = i, this._viewM = a, this._slide = o && r || "", this._renderView(), this._slide = "", this.querySelector(`.datepicker-day[data-iso="${
|
|
4266
|
+
this._viewY = i, this._viewM = a, this._slide = o && r || "", this._renderView(), this._slide = "", this.querySelector(`.datepicker-day[data-iso="${Hn(i, a, n)}"]`)?.focus();
|
|
4218
4267
|
}
|
|
4219
4268
|
_onKey(e) {
|
|
4220
4269
|
if (this._mode !== "days") {
|
|
@@ -4240,16 +4289,16 @@ var wn = (e) => e instanceof Element ? e : e?.parentElement ?? null, Tn = class
|
|
|
4240
4289
|
case "PageUp": {
|
|
4241
4290
|
e.preventDefault();
|
|
4242
4291
|
let n = K(t.y, t.m - (e.shiftKey ? 12 : 1));
|
|
4243
|
-
return this._setFocus(n.y, n.m, Math.min(t.d,
|
|
4292
|
+
return this._setFocus(n.y, n.m, Math.min(t.d, Wn(n.y, n.m)), "slide-prev");
|
|
4244
4293
|
}
|
|
4245
4294
|
case "PageDown": {
|
|
4246
4295
|
e.preventDefault();
|
|
4247
4296
|
let n = K(t.y, t.m + (e.shiftKey ? 12 : 1));
|
|
4248
|
-
return this._setFocus(n.y, n.m, Math.min(t.d,
|
|
4297
|
+
return this._setFocus(n.y, n.m, Math.min(t.d, Wn(n.y, n.m)), "slide-next");
|
|
4249
4298
|
}
|
|
4250
4299
|
case "Enter":
|
|
4251
4300
|
case " ":
|
|
4252
|
-
e.preventDefault(), this._limits().dayDisabled(t.y, t.m, t.d) || (this.value =
|
|
4301
|
+
e.preventDefault(), this._limits().dayDisabled(t.y, t.m, t.d) || (this.value = Hn(t.y, t.m, t.d), this.dispatchEvent(new Event("change", { bubbles: !0 })), this._close());
|
|
4253
4302
|
return;
|
|
4254
4303
|
case "Escape": return this._close();
|
|
4255
4304
|
default:
|
|
@@ -4316,7 +4365,7 @@ var wn = (e) => e instanceof Element ? e : e?.parentElement ?? null, Tn = class
|
|
|
4316
4365
|
if (e.target.closest("[data-today]")) {
|
|
4317
4366
|
let e = /* @__PURE__ */ new Date();
|
|
4318
4367
|
if (this._limits().dayDisabled(e.getFullYear(), e.getMonth(), e.getDate())) return;
|
|
4319
|
-
this.value =
|
|
4368
|
+
this.value = Hn(e.getFullYear(), e.getMonth(), e.getDate()), this.dispatchEvent(new Event("change", { bubbles: !0 })), this._close();
|
|
4320
4369
|
return;
|
|
4321
4370
|
}
|
|
4322
4371
|
if (e.target.closest("[data-clear]")) {
|
|
@@ -4333,18 +4382,18 @@ var wn = (e) => e instanceof Element ? e : e?.parentElement ?? null, Tn = class
|
|
|
4333
4382
|
this._popClick = !1, r() && !t && !this.contains(e.target) && this._close();
|
|
4334
4383
|
}, document.addEventListener("click", this._onDocClick), this._onDocKey = (e) => {
|
|
4335
4384
|
r() && e.key === "Escape" && this._close();
|
|
4336
|
-
}, document.addEventListener("keydown", this._onDocKey),
|
|
4385
|
+
}, document.addEventListener("keydown", this._onDocKey), L(this, () => {
|
|
4337
4386
|
r() && this._position(e, t);
|
|
4338
4387
|
});
|
|
4339
4388
|
}, this._bindGlobal(), this._syncFormValue();
|
|
4340
4389
|
}
|
|
4341
4390
|
_teardown() {
|
|
4342
|
-
this._onDocClick &&= (document.removeEventListener("click", this._onDocClick), null), this._onDocKey &&= (document.removeEventListener("keydown", this._onDocKey), null),
|
|
4391
|
+
this._onDocClick &&= (document.removeEventListener("click", this._onDocClick), null), this._onDocKey &&= (document.removeEventListener("keydown", this._onDocKey), null), R(this);
|
|
4343
4392
|
}
|
|
4344
4393
|
disconnectedCallback() {
|
|
4345
4394
|
this._teardown();
|
|
4346
4395
|
}
|
|
4347
|
-
},
|
|
4396
|
+
}, Kn = class extends e {
|
|
4348
4397
|
static formAssociated = !0;
|
|
4349
4398
|
static get observedAttributes() {
|
|
4350
4399
|
return [
|
|
@@ -4412,7 +4461,7 @@ var wn = (e) => e instanceof Element ? e : e?.parentElement ?? null, Tn = class
|
|
|
4412
4461
|
text: e,
|
|
4413
4462
|
empty: !0
|
|
4414
4463
|
} : {
|
|
4415
|
-
text: `${
|
|
4464
|
+
text: `${Un(this._start) || "Start"} to ${Un(this._end) || "End"}`,
|
|
4416
4465
|
empty: !1
|
|
4417
4466
|
};
|
|
4418
4467
|
}
|
|
@@ -4423,9 +4472,9 @@ var wn = (e) => e instanceof Element ? e : e?.parentElement ?? null, Tn = class
|
|
|
4423
4472
|
let t = this.getAttribute("size"), n = t === "sm" ? " input-sm" : t === "lg" ? " input-lg" : "", { text: r, empty: i } = this._label(), a = this.getAttribute("aria-label"), o = this.getAttribute("aria-describedby");
|
|
4424
4473
|
this.innerHTML = `
|
|
4425
4474
|
<div class="daterange">
|
|
4426
|
-
<button type="button" class="input daterange-trigger${n}${i ? "" : " has-value"}" aria-haspopup="dialog" aria-expanded="false"${this.hasAttribute("aria-invalid") ? " aria-invalid=\"true\"" : ""}${this.hasAttribute("disabled") ? " disabled" : ""}${a ? ` aria-label="${
|
|
4427
|
-
<span data-range-label class="${i ? "search-select-placeholder" : ""}">${
|
|
4428
|
-
${
|
|
4475
|
+
<button type="button" class="input daterange-trigger${n}${i ? "" : " has-value"}" aria-haspopup="dialog" aria-expanded="false"${this.hasAttribute("aria-invalid") ? " aria-invalid=\"true\"" : ""}${this.hasAttribute("disabled") ? " disabled" : ""}${a ? ` aria-label="${H(a)}"` : ""}${o ? ` aria-describedby="${H(o)}"` : ""}>
|
|
4476
|
+
<span data-range-label class="${i ? "search-select-placeholder" : ""}">${H(r)}</span>
|
|
4477
|
+
${V("calendar")}
|
|
4429
4478
|
</button>
|
|
4430
4479
|
<div class="daterange-pop" role="dialog" aria-modal="false" hidden></div>
|
|
4431
4480
|
</div>`, this._rendered = !0, this._syncMirrors(), this._wire();
|
|
@@ -4459,17 +4508,17 @@ var wn = (e) => e instanceof Element ? e : e?.parentElement ?? null, Tn = class
|
|
|
4459
4508
|
};
|
|
4460
4509
|
}
|
|
4461
4510
|
_monthHtml(e, t) {
|
|
4462
|
-
let n = this._firstDay(), r = (new Date(e, t, 1).getDay() - n + 7) % 7, i =
|
|
4463
|
-
let i =
|
|
4511
|
+
let n = this._firstDay(), r = (new Date(e, t, 1).getDay() - n + 7) % 7, i = Wn(e, t), a = this._limits(), o = Bn.map((e, t) => Bn[(t + n) % 7]).map((e) => `<span>${e}</span>`).join(""), s = (e, t, n, r) => {
|
|
4512
|
+
let i = Hn(e, t, n), o = a(e, t, n);
|
|
4464
4513
|
return `<button type="button" class="${["datepicker-day", r ? "is-outside" : ""].filter(Boolean).join(" ")}" data-iso="${i}"${o ? " disabled" : ""}>${n}</button>`;
|
|
4465
|
-
}, c = "", l = K(e, t - 1), u =
|
|
4514
|
+
}, c = "", l = K(e, t - 1), u = Wn(l.y, l.m);
|
|
4466
4515
|
for (let e = r - 1; e >= 0; e--) c += s(l.y, l.m, u - e, !0);
|
|
4467
4516
|
for (let n = 1; n <= i; n++) c += s(e, t, n, !1);
|
|
4468
4517
|
let d = K(e, t + 1), f = (7 - (r + i) % 7) % 7;
|
|
4469
4518
|
for (let e = 1; e <= f; e++) c += s(d.y, d.m, e, !0);
|
|
4470
4519
|
return `
|
|
4471
4520
|
<div class="daterange-cal">
|
|
4472
|
-
<div class="datepicker-month-label">${
|
|
4521
|
+
<div class="datepicker-month-label">${zn[t]} ${e}</div>
|
|
4473
4522
|
<div class="datepicker-weekdays">${o}</div>
|
|
4474
4523
|
<div class="datepicker-grid" role="grid">${c}</div>
|
|
4475
4524
|
</div>`;
|
|
@@ -4480,8 +4529,8 @@ var wn = (e) => e instanceof Element ? e : e?.parentElement ?? null, Tn = class
|
|
|
4480
4529
|
let t = K(this._viewY, this._viewM + 1);
|
|
4481
4530
|
e.innerHTML = `
|
|
4482
4531
|
<div class="daterange-head">
|
|
4483
|
-
<button type="button" class="datepicker-nav-btn" data-nav="-1" aria-label="Previous month">${
|
|
4484
|
-
<button type="button" class="datepicker-nav-btn" data-nav="1" aria-label="Next month">${
|
|
4532
|
+
<button type="button" class="datepicker-nav-btn" data-nav="-1" aria-label="Previous month">${V("chevron-left")}</button>
|
|
4533
|
+
<button type="button" class="datepicker-nav-btn" data-nav="1" aria-label="Next month">${V("chevron-right")}</button>
|
|
4485
4534
|
</div>
|
|
4486
4535
|
<div class="daterange-cals">
|
|
4487
4536
|
${this._monthHtml(this._viewY, this._viewM)}
|
|
@@ -4503,10 +4552,10 @@ var wn = (e) => e instanceof Element ? e : e?.parentElement ?? null, Tn = class
|
|
|
4503
4552
|
n.classList.toggle("is-range-start", i), n.classList.toggle("is-range-end", a), n.classList.toggle("in-range", o);
|
|
4504
4553
|
}
|
|
4505
4554
|
let i = e.querySelector("[data-range-hint]");
|
|
4506
|
-
i && (i.textContent = this._start ? this._end ? `${
|
|
4555
|
+
i && (i.textContent = this._start ? this._end ? `${Un(this._start)} to ${Un(this._end)}` : "Pick an end date" : "Pick a start date");
|
|
4507
4556
|
}
|
|
4508
4557
|
_position(e, t) {
|
|
4509
|
-
|
|
4558
|
+
I(e, t, { clampHeight: !0 });
|
|
4510
4559
|
}
|
|
4511
4560
|
_pick(e) {
|
|
4512
4561
|
if (!this._start || this._start && this._end) {
|
|
@@ -4557,18 +4606,18 @@ var wn = (e) => e instanceof Element ? e : e?.parentElement ?? null, Tn = class
|
|
|
4557
4606
|
this._popClick = !1, r() && !t && !this.contains(e.target) && this._close();
|
|
4558
4607
|
}, document.addEventListener("click", this._onDocClick), this._onDocKey = (e) => {
|
|
4559
4608
|
r() && e.key === "Escape" && this._close();
|
|
4560
|
-
}, document.addEventListener("keydown", this._onDocKey),
|
|
4609
|
+
}, document.addEventListener("keydown", this._onDocKey), L(this, () => {
|
|
4561
4610
|
r() && this._position(e, t);
|
|
4562
4611
|
});
|
|
4563
4612
|
}, this._bindGlobal(), this._syncMirrors();
|
|
4564
4613
|
}
|
|
4565
4614
|
_teardown() {
|
|
4566
|
-
this._onDocClick &&= (document.removeEventListener("click", this._onDocClick), null), this._onDocKey &&= (document.removeEventListener("keydown", this._onDocKey), null),
|
|
4615
|
+
this._onDocClick &&= (document.removeEventListener("click", this._onDocClick), null), this._onDocKey &&= (document.removeEventListener("keydown", this._onDocKey), null), R(this);
|
|
4567
4616
|
}
|
|
4568
4617
|
disconnectedCallback() {
|
|
4569
4618
|
this._teardown();
|
|
4570
4619
|
}
|
|
4571
|
-
},
|
|
4620
|
+
}, qn = class extends e {
|
|
4572
4621
|
static get observedAttributes() {
|
|
4573
4622
|
return [
|
|
4574
4623
|
"static",
|
|
@@ -4589,10 +4638,10 @@ var wn = (e) => e instanceof Element ? e : e?.parentElement ?? null, Tn = class
|
|
|
4589
4638
|
e === "static" && this.isConnected && this._wire();
|
|
4590
4639
|
}
|
|
4591
4640
|
_maxScale() {
|
|
4592
|
-
return
|
|
4641
|
+
return Jn(this.getAttribute("max-scale"), 1.6);
|
|
4593
4642
|
}
|
|
4594
4643
|
_radius() {
|
|
4595
|
-
return
|
|
4644
|
+
return Jn(this.getAttribute("radius"), 100);
|
|
4596
4645
|
}
|
|
4597
4646
|
_magnifyEnabled() {
|
|
4598
4647
|
return !(this.hasAttribute("static") || typeof matchMedia == "function" && (matchMedia("(pointer: coarse)").matches || matchMedia("(prefers-reduced-motion: reduce)").matches));
|
|
@@ -4617,21 +4666,21 @@ var wn = (e) => e instanceof Element ? e : e?.parentElement ?? null, Tn = class
|
|
|
4617
4666
|
_teardown() {
|
|
4618
4667
|
this._pointerMoveListener &&= (this.removeEventListener("pointermove", this._pointerMoveListener), null), this._pointerLeaveListener &&= (this.removeEventListener("pointerleave", this._pointerLeaveListener), null), this._resetMagnification();
|
|
4619
4668
|
}
|
|
4620
|
-
},
|
|
4669
|
+
}, Jn = (e, t) => {
|
|
4621
4670
|
let n = Number.parseFloat(e);
|
|
4622
4671
|
return Number.isFinite(n) ? n : t;
|
|
4623
|
-
},
|
|
4672
|
+
}, Yn = 4096, Xn = [
|
|
4624
4673
|
.92,
|
|
4625
4674
|
.8,
|
|
4626
4675
|
.65,
|
|
4627
4676
|
.5
|
|
4628
|
-
],
|
|
4629
|
-
function
|
|
4677
|
+
], Zn = .8, Qn = 8;
|
|
4678
|
+
function $n(e) {
|
|
4630
4679
|
if (e == null || e === "" || e === "free") return null;
|
|
4631
4680
|
let t = typeof e == "number" ? e : Number(e);
|
|
4632
4681
|
return Number.isFinite(t) && t > 0 ? t : null;
|
|
4633
4682
|
}
|
|
4634
|
-
function
|
|
4683
|
+
function er(e, t, n) {
|
|
4635
4684
|
if (!n) return {
|
|
4636
4685
|
x: 0,
|
|
4637
4686
|
y: 0,
|
|
@@ -4646,46 +4695,46 @@ function Jn(e, t, n) {
|
|
|
4646
4695
|
h: i
|
|
4647
4696
|
};
|
|
4648
4697
|
}
|
|
4649
|
-
function
|
|
4698
|
+
function tr(e, t, n) {
|
|
4650
4699
|
return {
|
|
4651
4700
|
...e,
|
|
4652
4701
|
x: Math.min(Math.max(e.x, 0), Math.max(t - e.w, 0)),
|
|
4653
4702
|
y: Math.min(Math.max(e.y, 0), Math.max(n - e.h, 0))
|
|
4654
4703
|
};
|
|
4655
4704
|
}
|
|
4656
|
-
function
|
|
4657
|
-
return
|
|
4705
|
+
function nr(e, t, n, r, i) {
|
|
4706
|
+
return tr({
|
|
4658
4707
|
...e,
|
|
4659
4708
|
x: e.x + t,
|
|
4660
4709
|
y: e.y + n
|
|
4661
4710
|
}, r, i);
|
|
4662
4711
|
}
|
|
4663
|
-
function
|
|
4712
|
+
function rr(e, t) {
|
|
4664
4713
|
return Math.min(32, e, t);
|
|
4665
4714
|
}
|
|
4666
|
-
function
|
|
4715
|
+
function ir(e, t) {
|
|
4667
4716
|
return t.w / e.w;
|
|
4668
4717
|
}
|
|
4669
|
-
function
|
|
4670
|
-
return Math.max(4,
|
|
4718
|
+
function ar(e, t) {
|
|
4719
|
+
return Math.max(4, ir(e, t));
|
|
4671
4720
|
}
|
|
4672
|
-
function
|
|
4673
|
-
let a = Math.min(Math.max(n, 1),
|
|
4674
|
-
return
|
|
4721
|
+
function or(e, t, n, r, i) {
|
|
4722
|
+
let a = Math.min(Math.max(n, 1), ar(e, t)), o = e.h / e.w, s = Math.min(r, i / o), c = Math.min(Math.max(rr(r, i), rr(r, i) / o), s), l = Math.min(Math.max(t.w / a, c), s), u = l * o, d = e.x + e.w / 2, f = e.y + e.h / 2;
|
|
4723
|
+
return tr({
|
|
4675
4724
|
x: d - l / 2,
|
|
4676
4725
|
y: f - u / 2,
|
|
4677
4726
|
w: l,
|
|
4678
4727
|
h: u
|
|
4679
4728
|
}, r, i);
|
|
4680
4729
|
}
|
|
4681
|
-
var
|
|
4730
|
+
var sr = [
|
|
4682
4731
|
"nw",
|
|
4683
4732
|
"ne",
|
|
4684
4733
|
"sw",
|
|
4685
4734
|
"se"
|
|
4686
4735
|
];
|
|
4687
|
-
function
|
|
4688
|
-
let o =
|
|
4736
|
+
function cr(e, t, n, r, i, a) {
|
|
4737
|
+
let o = rr(i, a), s = t.endsWith("w"), c = t.startsWith("n"), l = s ? e.x + e.w : e.x, u = c ? e.y + e.h : e.y, d = Math.min(Math.max(n, 0), i), f = Math.min(Math.max(r, 0), a);
|
|
4689
4738
|
return d = s ? Math.min(d, l - o) : Math.max(d, l + o), f = c ? Math.min(f, u - o) : Math.max(f, u + o), {
|
|
4690
4739
|
x: Math.min(d, l),
|
|
4691
4740
|
y: Math.min(f, u),
|
|
@@ -4693,53 +4742,53 @@ function nr(e, t, n, r, i, a) {
|
|
|
4693
4742
|
h: Math.abs(f - u)
|
|
4694
4743
|
};
|
|
4695
4744
|
}
|
|
4696
|
-
function
|
|
4745
|
+
function lr(e, t = Yn) {
|
|
4697
4746
|
let n = Math.min(1, t / Math.max(e.w, e.h));
|
|
4698
4747
|
return {
|
|
4699
4748
|
width: Math.max(1, Math.round(e.w * n)),
|
|
4700
4749
|
height: Math.max(1, Math.round(e.h * n))
|
|
4701
4750
|
};
|
|
4702
4751
|
}
|
|
4703
|
-
var
|
|
4752
|
+
var ur = [
|
|
4704
4753
|
"image/png",
|
|
4705
4754
|
"image/jpeg",
|
|
4706
4755
|
"image/webp"
|
|
4707
|
-
],
|
|
4756
|
+
], dr = {
|
|
4708
4757
|
"image/png": ".png",
|
|
4709
4758
|
"image/jpeg": ".jpg",
|
|
4710
4759
|
"image/webp": ".webp"
|
|
4711
4760
|
};
|
|
4712
|
-
function
|
|
4761
|
+
function fr(e) {
|
|
4713
4762
|
let t = String(e || "").toLowerCase();
|
|
4714
|
-
return
|
|
4763
|
+
return ur.includes(t) ? t : "image/png";
|
|
4715
4764
|
}
|
|
4716
|
-
function
|
|
4717
|
-
let n = String(e || "image"), r =
|
|
4765
|
+
function pr(e, t) {
|
|
4766
|
+
let n = String(e || "image"), r = dr[t];
|
|
4718
4767
|
return (t === "image/jpeg" ? /\.jpe?g$/i.test(n) : n.toLowerCase().endsWith(r)) ? n : `${n.replace(/\.[^./\\]+$/, "") || "image"}${r}`;
|
|
4719
4768
|
}
|
|
4720
|
-
async function
|
|
4769
|
+
async function mr(e, { width: t, height: n, type: r, maxBytes: i }) {
|
|
4721
4770
|
let a = r, o = t, s = n, c = null;
|
|
4722
|
-
for (let t = 0; t <=
|
|
4723
|
-
let n = a === "image/png" ? [void 0] : t === 0 ?
|
|
4771
|
+
for (let t = 0; t <= Qn; t++) {
|
|
4772
|
+
let n = a === "image/png" ? [void 0] : t === 0 ? Xn : [Xn[1]];
|
|
4724
4773
|
for (let t of n) {
|
|
4725
4774
|
if (c = await e(o, s, a, t), !c || (c.type && c.type !== a && (a = c.type), !(i > 0) || c.size <= i)) return c;
|
|
4726
4775
|
if (a === "image/png") break;
|
|
4727
4776
|
}
|
|
4728
|
-
o = Math.max(1, Math.round(o *
|
|
4777
|
+
o = Math.max(1, Math.round(o * Zn)), s = Math.max(1, Math.round(s * Zn));
|
|
4729
4778
|
}
|
|
4730
4779
|
return c;
|
|
4731
4780
|
}
|
|
4732
4781
|
//#endregion
|
|
4733
4782
|
//#region src/WuiImageCrop.js
|
|
4734
|
-
var
|
|
4783
|
+
var hr = .05, gr = .2, _r = {
|
|
4735
4784
|
w: 320,
|
|
4736
4785
|
h: 240
|
|
4737
|
-
},
|
|
4786
|
+
}, vr = {
|
|
4738
4787
|
nw: "top left",
|
|
4739
4788
|
ne: "top right",
|
|
4740
4789
|
sw: "bottom left",
|
|
4741
4790
|
se: "bottom right"
|
|
4742
|
-
},
|
|
4791
|
+
}, yr = "<svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" aria-hidden=\"true\"><path d=\"M5 12h14\"/></svg>", br = "<svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" aria-hidden=\"true\"><path d=\"M5 12h14M12 5v14\"/></svg>", xr = class extends e {
|
|
4743
4792
|
static get observedAttributes() {
|
|
4744
4793
|
return [
|
|
4745
4794
|
"src",
|
|
@@ -4757,7 +4806,7 @@ var lr = .05, ur = .2, dr = {
|
|
|
4757
4806
|
e == null || e === "" ? this.removeAttribute("src") : this.setAttribute("src", String(e));
|
|
4758
4807
|
}
|
|
4759
4808
|
get aspect() {
|
|
4760
|
-
return
|
|
4809
|
+
return $n(this.getAttribute("aspect"));
|
|
4761
4810
|
}
|
|
4762
4811
|
set aspect(e) {
|
|
4763
4812
|
e == null || e === "" ? this.removeAttribute("aspect") : this.setAttribute("aspect", String(e));
|
|
@@ -4772,10 +4821,10 @@ var lr = .05, ur = .2, dr = {
|
|
|
4772
4821
|
return this._rect ? { ...this._rect } : null;
|
|
4773
4822
|
}
|
|
4774
4823
|
get zoom() {
|
|
4775
|
-
return this._rect ?
|
|
4824
|
+
return this._rect ? ir(this._rect, this._base) : 1;
|
|
4776
4825
|
}
|
|
4777
4826
|
set zoom(e) {
|
|
4778
|
-
this._rect && (this._rect =
|
|
4827
|
+
this._rect && (this._rect = or(this._rect, this._base, Number(e) || 1, this._natural.w, this._natural.h), this._paint(), this._announce());
|
|
4779
4828
|
}
|
|
4780
4829
|
connectedCallback() {
|
|
4781
4830
|
if (!this._rendered) {
|
|
@@ -4797,18 +4846,18 @@ var lr = .05, ur = .2, dr = {
|
|
|
4797
4846
|
<div class="wui-crop-frame"></div>
|
|
4798
4847
|
</div>
|
|
4799
4848
|
<div class="wui-crop-controls">
|
|
4800
|
-
<button type="button" class="wui-crop-zoombtn" data-zoom="out" aria-label="Zoom out">${
|
|
4849
|
+
<button type="button" class="wui-crop-zoombtn" data-zoom="out" aria-label="Zoom out">${yr}</button>
|
|
4801
4850
|
<input type="range" class="form-range wui-crop-zoom" min="1" max="4" step="0.01" value="1" aria-label="Zoom">
|
|
4802
|
-
<button type="button" class="wui-crop-zoombtn" data-zoom="in" aria-label="Zoom in">${
|
|
4851
|
+
<button type="button" class="wui-crop-zoombtn" data-zoom="in" aria-label="Zoom in">${br}</button>
|
|
4803
4852
|
</div>
|
|
4804
4853
|
<div class="visually-hidden" data-wui-crop-live aria-live="polite"></div>
|
|
4805
4854
|
</div>`, this._stage = this.querySelector(".wui-crop-stage"), this._img = this.querySelector(".wui-crop-img"), this._frame = this.querySelector(".wui-crop-frame"), this._slider = this.querySelector(".wui-crop-zoom"), this._live = this.querySelector("[data-wui-crop-live]"), this._rendered = !0, this._frame.classList.toggle("wui-crop-frame--round", this.round), this._rebuildHandles(), this._wire(), this._observe(), this._loadImage();
|
|
4806
4855
|
}
|
|
4807
4856
|
_rebuildHandles() {
|
|
4808
4857
|
for (let e of this._frame.querySelectorAll(".wui-crop-handle")) e.remove();
|
|
4809
|
-
if (!this.aspect) for (let e of
|
|
4858
|
+
if (!this.aspect) for (let e of sr) {
|
|
4810
4859
|
let t = document.createElement("button");
|
|
4811
|
-
t.type = "button", t.className = `wui-crop-handle wui-crop-handle--${e}`, t.dataset.handle = e, t.setAttribute("aria-label", `Resize ${
|
|
4860
|
+
t.type = "button", t.className = `wui-crop-handle wui-crop-handle--${e}`, t.dataset.handle = e, t.setAttribute("aria-label", `Resize ${vr[e]} corner`), this._frame.appendChild(t);
|
|
4812
4861
|
}
|
|
4813
4862
|
}
|
|
4814
4863
|
_loadImage() {
|
|
@@ -4824,13 +4873,13 @@ var lr = .05, ur = .2, dr = {
|
|
|
4824
4873
|
}, this._img.src = e);
|
|
4825
4874
|
}
|
|
4826
4875
|
_resetRect() {
|
|
4827
|
-
this._natural && (this._base =
|
|
4876
|
+
this._natural && (this._base = er(this._natural.w, this._natural.h, this.aspect), this._rect = { ...this._base }, this._frame.hidden = !1, this._paint());
|
|
4828
4877
|
}
|
|
4829
4878
|
_observe() {
|
|
4830
4879
|
typeof ResizeObserver > "u" || this._resizeObserver || (this._resizeObserver = new ResizeObserver(() => this._paint()), this._resizeObserver.observe(this._stage));
|
|
4831
4880
|
}
|
|
4832
4881
|
_view() {
|
|
4833
|
-
let e = this._stage.clientWidth ||
|
|
4882
|
+
let e = this._stage.clientWidth || _r.w, t = this._stage.clientHeight || _r.h, n = Math.min(e / this._natural.w, t / this._natural.h), r = this._natural.w * n, i = this._natural.h * n;
|
|
4834
4883
|
return {
|
|
4835
4884
|
scale: n,
|
|
4836
4885
|
left: (e - r) / 2,
|
|
@@ -4855,7 +4904,7 @@ var lr = .05, ur = .2, dr = {
|
|
|
4855
4904
|
width: `${t.w * e.scale}px`,
|
|
4856
4905
|
height: `${t.h * e.scale}px`
|
|
4857
4906
|
});
|
|
4858
|
-
let n =
|
|
4907
|
+
let n = ir(t, this._base), r = ar(t, this._base);
|
|
4859
4908
|
this._slider.max = String(r), this._slider.value = String(Math.min(Math.max(n, 1), r)), this._slider.setAttribute("aria-valuetext", `${Math.round(n * 100)}%`);
|
|
4860
4909
|
}
|
|
4861
4910
|
_announce() {
|
|
@@ -4865,7 +4914,7 @@ var lr = .05, ur = .2, dr = {
|
|
|
4865
4914
|
}));
|
|
4866
4915
|
}
|
|
4867
4916
|
_say() {
|
|
4868
|
-
let e = this._rect, t = `Frame ${Math.round(e.w)} by ${Math.round(e.h)} pixels, ${Math.round(e.x)} from the left, ${Math.round(e.y)} from the top, zoom ${Math.round(
|
|
4917
|
+
let e = this._rect, t = `Frame ${Math.round(e.w)} by ${Math.round(e.h)} pixels, ${Math.round(e.x)} from the left, ${Math.round(e.y)} from the top, zoom ${Math.round(ir(e, this._base) * 100)}%.`;
|
|
4869
4918
|
this._live.textContent = t === this._live.textContent ? `${t}\u00a0` : t;
|
|
4870
4919
|
}
|
|
4871
4920
|
_wire() {
|
|
@@ -4886,8 +4935,8 @@ var lr = .05, ur = .2, dr = {
|
|
|
4886
4935
|
let r = this._view(), { w: i, h: a } = this._natural;
|
|
4887
4936
|
if (n.corner) {
|
|
4888
4937
|
let o = e.getBoundingClientRect(), s = (t.clientX - o.left - e.clientLeft - r.left) / r.scale, c = (t.clientY - o.top - e.clientTop - r.top) / r.scale;
|
|
4889
|
-
this._rect =
|
|
4890
|
-
} else this._rect =
|
|
4938
|
+
this._rect = cr(this._rect, n.corner, s, c, i, a);
|
|
4939
|
+
} else this._rect = nr(n.start, (t.clientX - n.x) / r.scale, (t.clientY - n.y) / r.scale, i, a);
|
|
4891
4940
|
this._paint();
|
|
4892
4941
|
});
|
|
4893
4942
|
let t = (t) => {
|
|
@@ -4911,19 +4960,19 @@ var lr = .05, ur = .2, dr = {
|
|
|
4911
4960
|
if (e.key === "+" || e.key === "=") this.zoom *= 1.25, this._say();
|
|
4912
4961
|
else if (e.key === "-" || e.key === "_") this.zoom *= .8, this._say();
|
|
4913
4962
|
else if (e.key.startsWith("Arrow")) {
|
|
4914
|
-
let r = e.shiftKey ?
|
|
4963
|
+
let r = e.shiftKey ? gr : hr, i = e.key === "ArrowRight" ? 1 : e.key === "ArrowLeft" ? -1 : 0, a = e.key === "ArrowDown" ? 1 : e.key === "ArrowUp" ? -1 : 0, o = e.target.closest?.(".wui-crop-handle")?.dataset.handle;
|
|
4915
4964
|
if (o) {
|
|
4916
4965
|
let e = this._rect, s = (o.endsWith("w") ? e.x : e.x + e.w) + i * r * e.w, c = (o.startsWith("n") ? e.y : e.y + e.h) + a * r * e.h;
|
|
4917
|
-
this._rect =
|
|
4918
|
-
} else this._rect =
|
|
4966
|
+
this._rect = cr(e, o, s, c, t, n);
|
|
4967
|
+
} else this._rect = nr(this._rect, i * r * this._rect.w, a * r * this._rect.h, t, n);
|
|
4919
4968
|
this._paint(), this._announce(), this._say();
|
|
4920
4969
|
} else return;
|
|
4921
4970
|
e.preventDefault();
|
|
4922
4971
|
}
|
|
4923
4972
|
async toBlob({ type: e, maxBytes: t = 0 } = {}) {
|
|
4924
4973
|
if (!this._rect) return null;
|
|
4925
|
-
let n =
|
|
4926
|
-
return
|
|
4974
|
+
let n = fr(e), r = tr(this._rect, this._natural.w, this._natural.h), { width: i, height: a } = lr(r);
|
|
4975
|
+
return mr((e, t, n, i) => new Promise((a) => {
|
|
4927
4976
|
let o = document.createElement("canvas");
|
|
4928
4977
|
o.width = e, o.height = t;
|
|
4929
4978
|
let s = o.getContext("2d");
|
|
@@ -4944,25 +4993,25 @@ var lr = .05, ur = .2, dr = {
|
|
|
4944
4993
|
type: t,
|
|
4945
4994
|
maxBytes: n
|
|
4946
4995
|
});
|
|
4947
|
-
return r ? new File([r],
|
|
4996
|
+
return r ? new File([r], pr(e, r.type), { type: r.type }) : null;
|
|
4948
4997
|
}
|
|
4949
|
-
},
|
|
4998
|
+
}, Sr = {
|
|
4950
4999
|
enter: "Enter",
|
|
4951
5000
|
comma: ",",
|
|
4952
5001
|
space: " ",
|
|
4953
5002
|
tab: "Tab"
|
|
4954
|
-
},
|
|
5003
|
+
}, Cr = {
|
|
4955
5004
|
enter: "\n",
|
|
4956
5005
|
comma: ",",
|
|
4957
5006
|
space: " ",
|
|
4958
5007
|
tab: " "
|
|
4959
|
-
},
|
|
4960
|
-
function
|
|
5008
|
+
}, wr = (e) => Sr[e], Tr = (e) => Cr[e];
|
|
5009
|
+
function Er(e, t) {
|
|
4961
5010
|
let n = [String(e ?? "")];
|
|
4962
5011
|
for (let e of t) n = n.flatMap((t) => t.split(e));
|
|
4963
5012
|
return n.map((e) => e.trim()).filter(Boolean);
|
|
4964
5013
|
}
|
|
4965
|
-
var
|
|
5014
|
+
var Dr = (e, t) => t.some((t) => String(e ?? "").includes(t)), Or = class extends e {
|
|
4966
5015
|
static formAssociated = !0;
|
|
4967
5016
|
_accessibleName() {
|
|
4968
5017
|
return this.getAttribute("aria-label") || this.getAttribute("placeholder") || "Select";
|
|
@@ -5026,7 +5075,7 @@ var xr = (e, t) => t.some((t) => String(e ?? "").includes(t)), Sr = class extend
|
|
|
5026
5075
|
return this._values.slice();
|
|
5027
5076
|
}
|
|
5028
5077
|
set values(e) {
|
|
5029
|
-
this._values = Array.isArray(e) ? e.map(String) : [],
|
|
5078
|
+
this._values = Array.isArray(e) ? e.map(String) : [], B(this, this._values), this._rendered && (this._renderControl(), this._renderOptions(this._query()));
|
|
5030
5079
|
}
|
|
5031
5080
|
set options(e) {
|
|
5032
5081
|
if (this._optionsProp = Array.isArray(e) ? e : null, this._rendered && this._allowCustom) {
|
|
@@ -5059,10 +5108,10 @@ var xr = (e, t) => t.some((t) => String(e ?? "").includes(t)), Sr = class extend
|
|
|
5059
5108
|
value: e.getAttribute("value") ?? e.textContent.trim(),
|
|
5060
5109
|
label: e.innerHTML,
|
|
5061
5110
|
icon: e.getAttribute("icon") || void 0,
|
|
5062
|
-
[
|
|
5111
|
+
[Zt]: !0,
|
|
5063
5112
|
selected: e.hasAttribute("selected")
|
|
5064
5113
|
};
|
|
5065
|
-
for (let [n, r] of
|
|
5114
|
+
for (let [n, r] of Ar) {
|
|
5066
5115
|
let i = e.getAttribute(n);
|
|
5067
5116
|
i && (t[r] = i);
|
|
5068
5117
|
}
|
|
@@ -5078,12 +5127,12 @@ var xr = (e, t) => t.some((t) => String(e ?? "").includes(t)), Sr = class extend
|
|
|
5078
5127
|
}
|
|
5079
5128
|
_labelHtmlFor(e) {
|
|
5080
5129
|
let t = this._readOptions().find((t) => String(t.value) === String(e));
|
|
5081
|
-
return t ?
|
|
5130
|
+
return t ? tn(t) : H(e);
|
|
5082
5131
|
}
|
|
5083
5132
|
render() {
|
|
5084
5133
|
this._snapshotDeclared();
|
|
5085
5134
|
let e = this._allowCustom, t = this.hasAttribute("searchable") && !e, n = this.getAttribute("search-placeholder") || "Search…", r = this.getAttribute("icon"), i = this.getAttribute("size"), a = i === "sm" ? " search-select-sm" : i === "lg" ? " search-select-lg" : "";
|
|
5086
|
-
|
|
5135
|
+
B(this, this._values), this.id ||= `wui-multiselect-${Math.random().toString(36).slice(2, 9)}`;
|
|
5087
5136
|
let o = `${this.id}-listbox`;
|
|
5088
5137
|
this._listboxId = o;
|
|
5089
5138
|
let s = this.hasAttribute("disabled");
|
|
@@ -5092,9 +5141,9 @@ var xr = (e, t) => t.some((t) => String(e ?? "").includes(t)), Sr = class extend
|
|
|
5092
5141
|
this.innerHTML = `
|
|
5093
5142
|
<div class="search-select${a}">
|
|
5094
5143
|
<div class="input search-select-control search-select-multi"${this.hasAttribute("aria-invalid") ? " aria-invalid=\"true\"" : ""}${s ? " aria-disabled=\"true\"" : ""}>
|
|
5095
|
-
${r ?
|
|
5144
|
+
${r ? V(r, { className: "search-select-icon" }) : ""}
|
|
5096
5145
|
<div class="ms-chips" data-chips><input type="text" class="ms-input" data-input role="combobox" aria-autocomplete="list" aria-haspopup="listbox" aria-expanded="false" aria-controls="${q(o)}" aria-label="${q(this._accessibleName())}" aria-describedby="${q(e)}" autocomplete="off"${s ? " disabled" : ""} /></div>
|
|
5097
|
-
${
|
|
5146
|
+
${V("chevron-down", { className: "search-select-caret" })}
|
|
5098
5147
|
</div>
|
|
5099
5148
|
<div class="search-select-menu search-select-menu-fixed" role="listbox" id="${q(o)}" aria-multiselectable="true" tabindex="-1" hidden>
|
|
5100
5149
|
<div class="search-select-options"></div>
|
|
@@ -5104,29 +5153,29 @@ var xr = (e, t) => t.some((t) => String(e ?? "").includes(t)), Sr = class extend
|
|
|
5104
5153
|
} else this.innerHTML = `
|
|
5105
5154
|
<div class="search-select${a}">
|
|
5106
5155
|
<div class="input search-select-control search-select-multi" role="combobox" aria-haspopup="listbox" aria-expanded="false" aria-controls="${q(o)}" aria-label="${q(this._accessibleName())}"${this.hasAttribute("aria-invalid") ? " aria-invalid=\"true\"" : ""}${s ? " aria-disabled=\"true\"" : " tabindex=\"0\""}>
|
|
5107
|
-
${r ?
|
|
5156
|
+
${r ? V(r, { className: "search-select-icon" }) : ""}
|
|
5108
5157
|
<div class="ms-chips" data-chips></div>
|
|
5109
|
-
${
|
|
5158
|
+
${V("chevron-down", { className: "search-select-caret" })}
|
|
5110
5159
|
</div>
|
|
5111
5160
|
<div class="search-select-menu search-select-menu-fixed" role="listbox" id="${q(o)}" aria-multiselectable="true" tabindex="-1" hidden>
|
|
5112
|
-
${t ? `<div class="search-select-search">${
|
|
5161
|
+
${t ? `<div class="search-select-search">${V("search")}<input class="search-select-input" placeholder="${q(n)}" aria-autocomplete="list" /><button type="button" class="search-select-clear" aria-label="Clear search" hidden>${V("x")}</button></div>` : ""}
|
|
5113
5162
|
<div class="search-select-options"></div>
|
|
5114
5163
|
<div class="search-select-empty" hidden>No matches</div>
|
|
5115
5164
|
</div>
|
|
5116
5165
|
</div>`;
|
|
5117
|
-
this._rendered = !0, this._customError = "",
|
|
5166
|
+
this._rendered = !0, this._customError = "", B(this, this._values), this._renderControl(), this._renderOptions(), this._wire();
|
|
5118
5167
|
}
|
|
5119
5168
|
_renderControl() {
|
|
5120
5169
|
let e = this.querySelector("[data-chips]");
|
|
5121
5170
|
if (!e) return;
|
|
5122
|
-
let t = this.getAttribute("placeholder") || "Select…", n = this._allowCustom ? e.querySelector("[data-input]") : null, r = this._values.map((e) => `<span class="chip chip-sm"><span class="chip-label">${this._labelHtmlFor(e)}</span><button type="button" class="chip-remove" data-remove="${q(e)}" aria-label="Remove ${q(
|
|
5171
|
+
let t = this.getAttribute("placeholder") || "Select…", n = this._allowCustom ? e.querySelector("[data-input]") : null, r = this._values.map((e) => `<span class="chip chip-sm"><span class="chip-label">${this._labelHtmlFor(e)}</span><button type="button" class="chip-remove" data-remove="${q(e)}" aria-label="Remove ${q(Lr(this._labelFor(e)))}">${V("x")}</button></span>`).join("");
|
|
5123
5172
|
if (n) {
|
|
5124
5173
|
for (let t of [...e.querySelectorAll(":scope > .chip")]) t.remove();
|
|
5125
5174
|
n.insertAdjacentHTML("beforebegin", r), n.placeholder = this._values.length ? "" : t, this._collapseChips();
|
|
5126
5175
|
return;
|
|
5127
5176
|
}
|
|
5128
5177
|
if (!this._values.length) {
|
|
5129
|
-
e.innerHTML = `<span class="search-select-placeholder">${
|
|
5178
|
+
e.innerHTML = `<span class="search-select-placeholder">${H(t)}</span>`;
|
|
5130
5179
|
return;
|
|
5131
5180
|
}
|
|
5132
5181
|
e.innerHTML = r, this._collapseChips();
|
|
@@ -5150,11 +5199,11 @@ var xr = (e, t) => t.some((t) => String(e ?? "").includes(t)), Sr = class extend
|
|
|
5150
5199
|
i.textContent = `+${t.length - o}`;
|
|
5151
5200
|
}
|
|
5152
5201
|
_matches(e, t) {
|
|
5153
|
-
return
|
|
5202
|
+
return Lr(e.label).toLowerCase().includes(t) || String(e.description ?? "").toLowerCase().includes(t);
|
|
5154
5203
|
}
|
|
5155
5204
|
_optionNamed(e) {
|
|
5156
5205
|
let t = e.trim().toLowerCase();
|
|
5157
|
-
return this._readOptions().find((e) => String(e.value ?? "").toLowerCase() === t ||
|
|
5206
|
+
return this._readOptions().find((e) => String(e.value ?? "").toLowerCase() === t || Lr(e.label).trim().toLowerCase() === t);
|
|
5158
5207
|
}
|
|
5159
5208
|
_renderOptions(e) {
|
|
5160
5209
|
let t = this.querySelector(".search-select-options"), n = this.querySelector(".search-select-empty");
|
|
@@ -5163,9 +5212,9 @@ var xr = (e, t) => t.some((t) => String(e ?? "").includes(t)), Sr = class extend
|
|
|
5163
5212
|
i && (a = a.filter((e) => this._matches(e, i)));
|
|
5164
5213
|
let o = this._listboxId || `${this.id || "wui-multiselect"}-listbox`, s = this._allowCustom && r && !this._optionNamed(r), c = a.map((e, t) => {
|
|
5165
5214
|
let n = this._values.includes(String(e.value)), r = `${o}-opt-${t}`;
|
|
5166
|
-
return
|
|
5215
|
+
return jr(e) ? Pr(e, r, n) : `<button type="button" role="option" id="${q(r)}" class="search-select-option${n ? " selected" : ""}" data-value="${q(e.value)}" aria-selected="${n}"><span class="ms-opt-label">${tn(e)}</span><span class="ms-check">${V("check")}</span></button>`;
|
|
5167
5216
|
});
|
|
5168
|
-
s && c.push(`<button type="button" role="option" id="${q(`${o}-opt-${a.length}`)}" class="search-select-option search-select-option-custom" data-value="${q(r)}" data-custom="true" aria-selected="false">Add “${
|
|
5217
|
+
s && c.push(`<button type="button" role="option" id="${q(`${o}-opt-${a.length}`)}" class="search-select-option search-select-option-custom" data-value="${q(r)}" data-custom="true" aria-selected="false">Add “${H(r)}”</button>`), t.innerHTML = c.join(""), n && (n.hidden = a.length > 0), this._active = -1, this._combobox()?.removeAttribute("aria-activedescendant"), this._allowCustom && this._syncCustomMenu?.(), this._reanchor?.();
|
|
5169
5218
|
}
|
|
5170
5219
|
_combobox() {
|
|
5171
5220
|
return this._allowCustom ? this.querySelector("[data-input]") : this.querySelector(".search-select-control");
|
|
@@ -5178,7 +5227,7 @@ var xr = (e, t) => t.some((t) => String(e ?? "").includes(t)), Sr = class extend
|
|
|
5178
5227
|
_customRefusal(e) {
|
|
5179
5228
|
let t = this.getAttribute("custom-invalid-message") || "Enter a valid value.", n = this.getAttribute("custom-pattern");
|
|
5180
5229
|
if (n) {
|
|
5181
|
-
let r =
|
|
5230
|
+
let r = Ir(n);
|
|
5182
5231
|
if (r && !r.test(e)) return t;
|
|
5183
5232
|
}
|
|
5184
5233
|
let r = this._validateCustom;
|
|
@@ -5207,7 +5256,7 @@ var xr = (e, t) => t.some((t) => String(e ?? "").includes(t)), Sr = class extend
|
|
|
5207
5256
|
this._teardown();
|
|
5208
5257
|
let e = this.querySelector(".search-select-control"), t = this.querySelector(".search-select-menu"), n = this.querySelector(".search-select-input"), r = this.querySelector(".search-select-clear"), i = this.querySelector(".search-select-options"), a = this._allowCustom, o = a ? this.querySelector("[data-input]") : null, s = o || e;
|
|
5209
5258
|
if (!e || !t) return;
|
|
5210
|
-
let c = () => this.hasAttribute("disabled"), l = () =>
|
|
5259
|
+
let c = () => this.hasAttribute("disabled"), l = () => I(e, t, { matchWidth: !0 }), u = () => [...this.querySelectorAll(".search-select-option")], d = () => u().filter((e) => !e.hidden), f = (e) => {
|
|
5211
5260
|
let t = d();
|
|
5212
5261
|
this._active = e;
|
|
5213
5262
|
for (let e of u()) e.classList.remove("is-active");
|
|
@@ -5228,7 +5277,7 @@ var xr = (e, t) => t.some((t) => String(e ?? "").includes(t)), Sr = class extend
|
|
|
5228
5277
|
}, _ = () => {
|
|
5229
5278
|
a ? (p = !1, h()) : (t.hidden = !0, e.setAttribute("aria-expanded", "false"), e.classList.remove("open")), f(-1), clearTimeout(this._typeaheadTimer), this._typeaheadTimer = null, this._typeahead = "";
|
|
5230
5279
|
}, v = () => {
|
|
5231
|
-
|
|
5280
|
+
B(this, this._values), this.dispatchEvent(new Event("change", { bubbles: !0 }));
|
|
5232
5281
|
}, y = (e) => {
|
|
5233
5282
|
let t = String(e);
|
|
5234
5283
|
if (this._values.includes(t)) this._values = this._values.filter((e) => e !== t);
|
|
@@ -5238,7 +5287,7 @@ var xr = (e, t) => t.some((t) => String(e ?? "").includes(t)), Sr = class extend
|
|
|
5238
5287
|
}, b = (e) => {
|
|
5239
5288
|
this._values = this._values.filter((t) => t !== String(e)), this._renderControl(), this._renderOptions(this._query()), v();
|
|
5240
5289
|
}, x = (e, { quiet: t = !1 } = {}) => {
|
|
5241
|
-
let n = this._values.length, r =
|
|
5290
|
+
let n = this._values.length, r = Dr(e, kr) ? Er(e, kr) : [e], i = [], a = "";
|
|
5242
5291
|
for (let e of r) {
|
|
5243
5292
|
let t = this._commitTyped(e);
|
|
5244
5293
|
t && (i.push(e.trim()), a ||= t);
|
|
@@ -5276,7 +5325,7 @@ var xr = (e, t) => t.some((t) => String(e ?? "").includes(t)), Sr = class extend
|
|
|
5276
5325
|
e.target?.classList?.contains("avatar-img") && e.target.remove();
|
|
5277
5326
|
}, !0), n?.addEventListener("input", () => {
|
|
5278
5327
|
this._renderOptions(n.value), r && (r.hidden = !n.value), f(-1);
|
|
5279
|
-
}), this._navHandler =
|
|
5328
|
+
}), this._navHandler = Xt({
|
|
5280
5329
|
getVisibleOptions: d,
|
|
5281
5330
|
getActive: () => this._active,
|
|
5282
5331
|
setActive: (e) => f(e),
|
|
@@ -5316,7 +5365,7 @@ var xr = (e, t) => t.some((t) => String(e ?? "").includes(t)), Sr = class extend
|
|
|
5316
5365
|
(e.key === "ArrowDown" || e.key === "ArrowUp") && !m() && g(), ee(e);
|
|
5317
5366
|
}), o.addEventListener("paste", (e) => {
|
|
5318
5367
|
let t = e.clipboardData?.getData("text/plain") ?? "";
|
|
5319
|
-
|
|
5368
|
+
Dr(t, kr) && (e.preventDefault(), x(`${o.value}${t}`));
|
|
5320
5369
|
}), o.addEventListener("blur", (e) => {
|
|
5321
5370
|
e.relatedTarget && this.contains(e.relatedTarget) || (o.value.trim() && x(o.value, { quiet: !0 }), _());
|
|
5322
5371
|
});
|
|
@@ -5330,46 +5379,46 @@ var xr = (e, t) => t.some((t) => String(e ?? "").includes(t)), Sr = class extend
|
|
|
5330
5379
|
this._bindGlobal = () => {
|
|
5331
5380
|
this._teardown(), !this._ro && typeof ResizeObserver < "u" && (this._ro = new ResizeObserver(() => this._collapseChips()), this._ro.observe(this)), this._onDocClick = (e) => {
|
|
5332
5381
|
m() && !this.contains(e.target) && _();
|
|
5333
|
-
}, document.addEventListener("click", this._onDocClick),
|
|
5382
|
+
}, document.addEventListener("click", this._onDocClick), L(this, () => {
|
|
5334
5383
|
m() && l();
|
|
5335
5384
|
});
|
|
5336
5385
|
}, this._bindGlobal();
|
|
5337
5386
|
}
|
|
5338
5387
|
_teardown() {
|
|
5339
|
-
this._onDocClick &&= (document.removeEventListener("click", this._onDocClick), null),
|
|
5388
|
+
this._onDocClick &&= (document.removeEventListener("click", this._onDocClick), null), R(this), this._navHandler?.teardown();
|
|
5340
5389
|
}
|
|
5341
5390
|
disconnectedCallback() {
|
|
5342
5391
|
this._teardown(), this._ro?.disconnect(), this._ro = null;
|
|
5343
5392
|
}
|
|
5344
|
-
},
|
|
5393
|
+
}, kr = [
|
|
5345
5394
|
",",
|
|
5346
5395
|
";",
|
|
5347
5396
|
"\n",
|
|
5348
5397
|
" "
|
|
5349
|
-
],
|
|
5398
|
+
], Ar = [
|
|
5350
5399
|
["description", "description"],
|
|
5351
5400
|
["avatar", "avatar"],
|
|
5352
5401
|
["initials", "initials"],
|
|
5353
5402
|
["disabled-hint", "disabledHint"]
|
|
5354
|
-
],
|
|
5403
|
+
], jr = (e) => !!(e.description || e.avatar || e.initials || e.disabled || e.disabledHint), Mr = (e) => {
|
|
5355
5404
|
let t = String(e ?? "").trim();
|
|
5356
5405
|
return /^(https?:)?\/\//i.test(t) || /^\/(?!\/)/.test(t) || /^data:image\/(png|jpe?g|gif|webp|avif);/i.test(t) ? t : "";
|
|
5357
|
-
},
|
|
5358
|
-
let t =
|
|
5359
|
-
return !t && !e.initials ? "" : `<span class="avatar wui-opt-avatar" aria-hidden="true"><span class="avatar-face">${
|
|
5360
|
-
},
|
|
5361
|
-
let r = !!e.disabled, i = e.description ? `<span class="wui-opt-desc">${
|
|
5362
|
-
return `<button type="button" role="option" id="${q(t)}" class="search-select-option wui-opt-rich${n ? " selected" : ""}" data-value="${q(e.value)}" aria-selected="${n}"${r ? " aria-disabled=\"true\"" : ""}><span class="ms-opt-label"><span class="wui-opt-name">${
|
|
5363
|
-
},
|
|
5364
|
-
if (
|
|
5406
|
+
}, Nr = (e) => {
|
|
5407
|
+
let t = Mr(e.avatar);
|
|
5408
|
+
return !t && !e.initials ? "" : `<span class="avatar wui-opt-avatar" aria-hidden="true"><span class="avatar-face">${H(e.initials ?? "")}</span>${t ? `<img class="avatar-img" src="${q(t)}" alt="" />` : ""}</span>`;
|
|
5409
|
+
}, Pr = (e, t, n) => {
|
|
5410
|
+
let r = !!e.disabled, i = e.description ? `<span class="wui-opt-desc">${H(e.description)}</span>` : "", a = e.disabledHint && r ? `<span class="wui-opt-hint">${H(e.disabledHint)}</span>` : "";
|
|
5411
|
+
return `<button type="button" role="option" id="${q(t)}" class="search-select-option wui-opt-rich${n ? " selected" : ""}" data-value="${q(e.value)}" aria-selected="${n}"${r ? " aria-disabled=\"true\"" : ""}><span class="ms-opt-label"><span class="wui-opt-name">${tn(e)}</span>${i}</span>${a}${Nr(e)}<span class="ms-check">${V("check")}</span></button>`;
|
|
5412
|
+
}, Fr = /* @__PURE__ */ new Map(), Ir = (e) => {
|
|
5413
|
+
if (Fr.has(e)) return Fr.get(e);
|
|
5365
5414
|
let t = null;
|
|
5366
5415
|
try {
|
|
5367
5416
|
t = RegExp(`^(?:${e})$`, "u");
|
|
5368
5417
|
} catch {
|
|
5369
5418
|
console.warn(`<wui-multiselect> custom-pattern is not a valid regular expression and is ignored: ${e}`);
|
|
5370
5419
|
}
|
|
5371
|
-
return
|
|
5372
|
-
}, q = (e) => String(e ?? "").replace(/&/g, "&").replace(/"/g, """).replace(/</g, "<"),
|
|
5420
|
+
return Fr.set(e, t), t;
|
|
5421
|
+
}, q = (e) => String(e ?? "").replace(/&/g, "&").replace(/"/g, """).replace(/</g, "<"), Lr = (e) => String(e ?? "").replace(/<[^>]*>/g, ""), Rr = /[^0-9]/g, zr = /[^0-9a-zA-Z]/g, Br = class extends e {
|
|
5373
5422
|
static formAssociated = !0;
|
|
5374
5423
|
static get observedAttributes() {
|
|
5375
5424
|
return [
|
|
@@ -5397,10 +5446,10 @@ var xr = (e, t) => t.some((t) => String(e ?? "").includes(t)), Sr = class extend
|
|
|
5397
5446
|
return this._value ?? "";
|
|
5398
5447
|
}
|
|
5399
5448
|
set value(e) {
|
|
5400
|
-
this._value = this._clean(e),
|
|
5449
|
+
this._value = this._clean(e), z(this, this._value), this._paint();
|
|
5401
5450
|
}
|
|
5402
5451
|
_clean(e) {
|
|
5403
|
-
return (e == null ? "" : String(e)).replace(this.mode === "alphanumeric" ?
|
|
5452
|
+
return (e == null ? "" : String(e)).replace(this.mode === "alphanumeric" ? zr : Rr, "").slice(0, this.length);
|
|
5404
5453
|
}
|
|
5405
5454
|
constructor() {
|
|
5406
5455
|
super();
|
|
@@ -5414,10 +5463,10 @@ var xr = (e, t) => t.some((t) => String(e ?? "").includes(t)), Sr = class extend
|
|
|
5414
5463
|
this._rendered ? this._onSelectionChange && document.addEventListener("selectionchange", this._onSelectionChange) : (this._defaultCaptured ||= (this._defaultValue = this._value, !0), this.render());
|
|
5415
5464
|
}
|
|
5416
5465
|
formResetCallback() {
|
|
5417
|
-
this._value = this._defaultValue || "",
|
|
5466
|
+
this._value = this._defaultValue || "", z(this, this._value), this._paint();
|
|
5418
5467
|
}
|
|
5419
5468
|
attributeChangedCallback(e, t, n) {
|
|
5420
|
-
this._rendered && (e === "value" ? (this._value = this._clean(n),
|
|
5469
|
+
this._rendered && (e === "value" ? (this._value = this._clean(n), z(this, this._value), this._paint()) : this.render());
|
|
5421
5470
|
}
|
|
5422
5471
|
render() {
|
|
5423
5472
|
this._value = this._clean(this.getAttribute("value") ?? this._value);
|
|
@@ -5435,7 +5484,7 @@ var xr = (e, t) => t.some((t) => String(e ?? "").includes(t)), Sr = class extend
|
|
|
5435
5484
|
spellcheck="false"
|
|
5436
5485
|
${n ? "disabled" : ""} />
|
|
5437
5486
|
<div class="otp-slots" aria-hidden="true">${r}</div>
|
|
5438
|
-
</div>`, this._rendered = !0,
|
|
5487
|
+
</div>`, this._rendered = !0, z(this, this._value), this._wire(), this._paint();
|
|
5439
5488
|
}
|
|
5440
5489
|
_refs() {
|
|
5441
5490
|
return {
|
|
@@ -5457,7 +5506,7 @@ var xr = (e, t) => t.some((t) => String(e ?? "").includes(t)), Sr = class extend
|
|
|
5457
5506
|
if (!e) return;
|
|
5458
5507
|
let t = (e) => {
|
|
5459
5508
|
let t = this._clean(e), n = t !== this._value;
|
|
5460
|
-
this._value = t,
|
|
5509
|
+
this._value = t, z(this, this._value), this._paint(), n && this.dispatchEvent(new Event("change", { bubbles: !0 })), n && t.length === this.length && this.dispatchEvent(new CustomEvent("complete", {
|
|
5461
5510
|
bubbles: !0,
|
|
5462
5511
|
detail: t
|
|
5463
5512
|
}));
|
|
@@ -5491,7 +5540,7 @@ var xr = (e, t) => t.some((t) => String(e ?? "").includes(t)), Sr = class extend
|
|
|
5491
5540
|
disconnectedCallback() {
|
|
5492
5541
|
this._onSelectionChange && document.removeEventListener("selectionchange", this._onSelectionChange);
|
|
5493
5542
|
}
|
|
5494
|
-
},
|
|
5543
|
+
}, Vr = {
|
|
5495
5544
|
AD: ["Europe/Andorra"],
|
|
5496
5545
|
AE: ["Asia/Dubai"],
|
|
5497
5546
|
AF: ["Asia/Kabul"],
|
|
@@ -5893,13 +5942,13 @@ var xr = (e, t) => t.some((t) => String(e ?? "").includes(t)), Sr = class extend
|
|
|
5893
5942
|
ZA: ["Africa/Johannesburg"],
|
|
5894
5943
|
ZM: ["Africa/Lusaka"],
|
|
5895
5944
|
ZW: ["Africa/Harare"]
|
|
5896
|
-
},
|
|
5897
|
-
for (let [e, t] of Object.entries(
|
|
5898
|
-
function
|
|
5899
|
-
let t =
|
|
5900
|
-
return t &&
|
|
5945
|
+
}, Hr = new Set(Mn.map(([e]) => e)), Ur = /* @__PURE__ */ new Map();
|
|
5946
|
+
for (let [e, t] of Object.entries(Vr)) for (let n of t) Ur.set(n, e);
|
|
5947
|
+
function Wr(e) {
|
|
5948
|
+
let t = Ur.get(e);
|
|
5949
|
+
return t && Hr.has(t) ? t : null;
|
|
5901
5950
|
}
|
|
5902
|
-
function
|
|
5951
|
+
function Gr(e) {
|
|
5903
5952
|
if (!e) return null;
|
|
5904
5953
|
let t;
|
|
5905
5954
|
try {
|
|
@@ -5907,9 +5956,9 @@ function zr(e) {
|
|
|
5907
5956
|
} catch {
|
|
5908
5957
|
return null;
|
|
5909
5958
|
}
|
|
5910
|
-
return t &&
|
|
5959
|
+
return t && Hr.has(t) ? t : null;
|
|
5911
5960
|
}
|
|
5912
|
-
function
|
|
5961
|
+
function Kr() {
|
|
5913
5962
|
let e;
|
|
5914
5963
|
try {
|
|
5915
5964
|
e = Intl.DateTimeFormat().resolvedOptions().timeZone;
|
|
@@ -5917,47 +5966,47 @@ function Br() {
|
|
|
5917
5966
|
e = void 0;
|
|
5918
5967
|
}
|
|
5919
5968
|
let t = typeof navigator > "u" ? void 0 : navigator.language;
|
|
5920
|
-
return
|
|
5969
|
+
return Wr(e) || Gr(t) || "IN";
|
|
5921
5970
|
}
|
|
5922
5971
|
//#endregion
|
|
5923
5972
|
//#region src/WuiPhone.js
|
|
5924
|
-
var
|
|
5925
|
-
function
|
|
5926
|
-
return J ? Promise.resolve(J) : (
|
|
5973
|
+
var qr = (e) => `wui-flag wui-flag-${String(e).toLowerCase()}`, J = null, Jr = null;
|
|
5974
|
+
function Yr() {
|
|
5975
|
+
return J ? Promise.resolve(J) : (Jr ||= Promise.all([import("./max-BDKx469G.js"), import("./examples.mobile.json-BMXTGiGC.js")]).then(([e, t]) => (J = {
|
|
5927
5976
|
AsYouType: e.AsYouType,
|
|
5928
5977
|
getExampleNumber: e.getExampleNumber,
|
|
5929
5978
|
isValidPhoneNumber: e.isValidPhoneNumber,
|
|
5930
5979
|
parsePhoneNumber: e.parsePhoneNumber,
|
|
5931
5980
|
examples: t.default || t
|
|
5932
|
-
}, J)).catch(() => null),
|
|
5981
|
+
}, J)).catch(() => null), Jr);
|
|
5933
5982
|
}
|
|
5934
|
-
function
|
|
5935
|
-
let n = `+${
|
|
5983
|
+
function Xr(e, t) {
|
|
5984
|
+
let n = `+${Nn(e)}`;
|
|
5936
5985
|
return t?.startsWith(n) ? t.slice(n.length).trimStart() : null;
|
|
5937
5986
|
}
|
|
5938
|
-
function
|
|
5987
|
+
function Zr(e, t) {
|
|
5939
5988
|
if (!J || !t) return t;
|
|
5940
5989
|
try {
|
|
5941
|
-
return
|
|
5990
|
+
return Xr(e, new J.AsYouType(e).input(`+${Nn(e)}${t}`)) || t;
|
|
5942
5991
|
} catch {
|
|
5943
5992
|
return t;
|
|
5944
5993
|
}
|
|
5945
5994
|
}
|
|
5946
|
-
function
|
|
5995
|
+
function Qr(e, t) {
|
|
5947
5996
|
if (t <= 0) return 0;
|
|
5948
5997
|
let n = 0;
|
|
5949
5998
|
for (let r = 0; r < e.length; r++) if (/[0-9]/.test(e[r]) && (n += 1, n === t)) return r + 1;
|
|
5950
5999
|
return e.length;
|
|
5951
6000
|
}
|
|
5952
|
-
function
|
|
6001
|
+
function $r(e) {
|
|
5953
6002
|
if (!J) return null;
|
|
5954
6003
|
try {
|
|
5955
|
-
return
|
|
6004
|
+
return Xr(e, J.getExampleNumber(e, J.examples)?.formatInternational()) || null;
|
|
5956
6005
|
} catch {
|
|
5957
6006
|
return null;
|
|
5958
6007
|
}
|
|
5959
6008
|
}
|
|
5960
|
-
function
|
|
6009
|
+
function ei(e) {
|
|
5961
6010
|
if (!J || !e) return null;
|
|
5962
6011
|
try {
|
|
5963
6012
|
if (!J.isValidPhoneNumber(e)) return !1;
|
|
@@ -5967,7 +6016,7 @@ function Jr(e) {
|
|
|
5967
6016
|
return null;
|
|
5968
6017
|
}
|
|
5969
6018
|
}
|
|
5970
|
-
function
|
|
6019
|
+
function ti(e) {
|
|
5971
6020
|
if (!J) return null;
|
|
5972
6021
|
try {
|
|
5973
6022
|
let t = J.getExampleNumber(e, J.examples);
|
|
@@ -5976,7 +6025,7 @@ function Yr(e) {
|
|
|
5976
6025
|
return null;
|
|
5977
6026
|
}
|
|
5978
6027
|
}
|
|
5979
|
-
function
|
|
6028
|
+
function ni(e, t, n) {
|
|
5980
6029
|
try {
|
|
5981
6030
|
let r = J.parsePhoneNumber(t, e), i = r?.nationalNumber;
|
|
5982
6031
|
return !i || r.country !== e || i.length > n || !t.endsWith(i) ? null : i;
|
|
@@ -5984,7 +6033,7 @@ function Xr(e, t, n) {
|
|
|
5984
6033
|
return null;
|
|
5985
6034
|
}
|
|
5986
6035
|
}
|
|
5987
|
-
function
|
|
6036
|
+
function ri(e) {
|
|
5988
6037
|
if (!J || !e?.trim().startsWith("+")) return null;
|
|
5989
6038
|
try {
|
|
5990
6039
|
let t = new J.AsYouType();
|
|
@@ -5998,7 +6047,7 @@ function Zr(e) {
|
|
|
5998
6047
|
return null;
|
|
5999
6048
|
}
|
|
6000
6049
|
}
|
|
6001
|
-
var
|
|
6050
|
+
var ii = class extends e {
|
|
6002
6051
|
static formAssociated = !0;
|
|
6003
6052
|
static get observedAttributes() {
|
|
6004
6053
|
return [
|
|
@@ -6018,7 +6067,7 @@ var Qr = class extends e {
|
|
|
6018
6067
|
} catch {
|
|
6019
6068
|
this._internals = null;
|
|
6020
6069
|
}
|
|
6021
|
-
this._defaultCountry =
|
|
6070
|
+
this._defaultCountry = Kr(), this._country = this._defaultCountry, this._national = "", this._active = -1, this._committedValue = "";
|
|
6022
6071
|
}
|
|
6023
6072
|
connectedCallback() {
|
|
6024
6073
|
if (!this._rendered) {
|
|
@@ -6045,19 +6094,19 @@ var Qr = class extends e {
|
|
|
6045
6094
|
this.value = this._defaultValue || "";
|
|
6046
6095
|
}
|
|
6047
6096
|
get value() {
|
|
6048
|
-
return this._national ? `+${
|
|
6097
|
+
return this._national ? `+${Nn(this._country)}${this._national}` : "";
|
|
6049
6098
|
}
|
|
6050
6099
|
set value(e) {
|
|
6051
|
-
let t = String(e ?? "").trim(), n =
|
|
6100
|
+
let t = String(e ?? "").trim(), n = ri(t);
|
|
6052
6101
|
if (n) this._country = n.country, this._national = n.national.replace(/[^0-9]/g, "");
|
|
6053
6102
|
else if (t.startsWith("+")) {
|
|
6054
|
-
let e = t.replace(/[^0-9]/g, ""), n = String(
|
|
6103
|
+
let e = t.replace(/[^0-9]/g, ""), n = String(Nn(this._country));
|
|
6055
6104
|
n && e.startsWith(n) && (e = e.slice(n.length)), this._national = e;
|
|
6056
6105
|
} else this._national = t.replace(/[^0-9]/g, "");
|
|
6057
6106
|
n && this.getAttribute("country") !== this._country ? this.setAttribute("country", this._country) : this._rendered && this.render(), this._committedValue = this.value, this._syncMirror();
|
|
6058
6107
|
}
|
|
6059
6108
|
_syncMirror() {
|
|
6060
|
-
|
|
6109
|
+
z(this, this.value);
|
|
6061
6110
|
}
|
|
6062
6111
|
_emitInput() {
|
|
6063
6112
|
this.dispatchEvent(new Event("input", { bubbles: !0 }));
|
|
@@ -6067,30 +6116,30 @@ var Qr = class extends e {
|
|
|
6067
6116
|
}
|
|
6068
6117
|
render() {
|
|
6069
6118
|
this._defaultValue === void 0 && (this._defaultValue = this.getAttribute("value") || ""), this._country = this.getAttribute("country") || this._country;
|
|
6070
|
-
let e = this.getAttribute("placeholder") ||
|
|
6119
|
+
let e = this.getAttribute("placeholder") || $r(this._country) || "Enter phone number";
|
|
6071
6120
|
this.id ||= `wui-phone-${Math.random().toString(36).slice(2, 9)}`;
|
|
6072
6121
|
let t = `${this.id}-listbox`;
|
|
6073
6122
|
this._listboxId = t, this.innerHTML = `
|
|
6074
6123
|
<div class="phone-input-wrap">
|
|
6075
6124
|
<div class="phone-country-adornment">
|
|
6076
|
-
<button type="button" class="country-toggle" aria-label="Choose country" aria-haspopup="listbox" aria-expanded="false" aria-controls="${
|
|
6077
|
-
<span class="${
|
|
6078
|
-
${
|
|
6079
|
-
<span class="phone-dial" data-dial>+${
|
|
6125
|
+
<button type="button" class="country-toggle" aria-label="Choose country" aria-haspopup="listbox" aria-expanded="false" aria-controls="${ai(t)}"${this.hasAttribute("disabled") ? " disabled" : ""}>
|
|
6126
|
+
<span class="${qr(this._country)}" data-flag aria-hidden="true"></span>
|
|
6127
|
+
${V("chevron-down", { className: "phone-chevron" })}
|
|
6128
|
+
<span class="phone-dial" data-dial>+${Nn(this._country)}</span>
|
|
6080
6129
|
</button>
|
|
6081
|
-
<div class="country-dropdown-menu" role="listbox" id="${
|
|
6082
|
-
<div class="dropdown-search-wrapper"><span class="dropdown-search-icon">${
|
|
6130
|
+
<div class="country-dropdown-menu" role="listbox" id="${ai(t)}" tabindex="-1" hidden>
|
|
6131
|
+
<div class="dropdown-search-wrapper"><span class="dropdown-search-icon">${V("search")}</span><input type="text" class="dropdown-search-input" placeholder="Search country or code" aria-label="Search countries" aria-controls="${ai(t)}" aria-autocomplete="list" /></div>
|
|
6083
6132
|
<div class="country-list-scroll"><div class="country-empty" hidden>No countries found</div></div>
|
|
6084
6133
|
</div>
|
|
6085
6134
|
</div>
|
|
6086
|
-
<input type="tel" class="input" placeholder="${
|
|
6135
|
+
<input type="tel" class="input" placeholder="${ai(e)}" value="${ai(Zr(this._country, this._national))}"${this.getAttribute("aria-label") ? ` aria-label="${ai(this.getAttribute("aria-label"))}"` : ""}${this.getAttribute("aria-describedby") ? ` aria-describedby="${ai(this.getAttribute("aria-describedby"))}"` : ""}${this.hasAttribute("required") ? " required aria-required=\"true\"" : ""}${this.hasAttribute("disabled") ? " disabled" : ""} />
|
|
6087
6136
|
</div>
|
|
6088
|
-
<div class="field-error" data-phone-error hidden></div>`, this._rendered = !0,
|
|
6137
|
+
<div class="field-error" data-phone-error hidden></div>`, this._rendered = !0, z(this, this.value), this._wire();
|
|
6089
6138
|
}
|
|
6090
6139
|
_ensureItems() {
|
|
6091
6140
|
let e = this.querySelector(".country-list-scroll");
|
|
6092
6141
|
if (!e || e.querySelector(".country-dropdown-item")) return;
|
|
6093
|
-
let t = this._listboxId, n =
|
|
6142
|
+
let t = this._listboxId, n = Mn.map(([e, n, r], i) => `<button type="button" role="option" id="${ai(`${t}-opt-${i}`)}" class="country-dropdown-item${e === this._country ? " selected" : ""}" data-iso="${e}" aria-selected="${e === this._country}"><span class="${qr(e)}" aria-hidden="true"></span><span class="country-name-text">${n}<span class="country-code-text">+${r}</span></span></button>`).join("");
|
|
6094
6143
|
e.insertAdjacentHTML("afterbegin", n);
|
|
6095
6144
|
}
|
|
6096
6145
|
_itemEls() {
|
|
@@ -6103,7 +6152,7 @@ var Qr = class extends e {
|
|
|
6103
6152
|
this._teardown();
|
|
6104
6153
|
let e = this.querySelector(".country-toggle"), t = this.querySelector(".phone-input-wrap"), n = this.querySelector(".country-dropdown-menu"), r = this.querySelector(".dropdown-search-input"), i = this.querySelector(".country-list-scroll"), a = this.querySelector(".country-empty"), o = this.querySelector("input[type=tel]"), s = this.querySelector("[data-flag]"), c = this.querySelector("[data-dial]");
|
|
6105
6154
|
if (!e || !n) return;
|
|
6106
|
-
let l = () => !n.hidden, u = () =>
|
|
6155
|
+
let l = () => !n.hidden, u = () => I(t || e, n), d = (e) => {
|
|
6107
6156
|
let t = this._visibleItems();
|
|
6108
6157
|
this._active = e;
|
|
6109
6158
|
for (let e of this._itemEls()) e.classList.remove("is-active");
|
|
@@ -6120,12 +6169,12 @@ var Qr = class extends e {
|
|
|
6120
6169
|
}
|
|
6121
6170
|
a && (a.hidden = n > 0);
|
|
6122
6171
|
}, h = (e) => {
|
|
6123
|
-
this._country = e, this.getAttribute("country") !== e && (this._suppressCountryRender = !0, this.setAttribute("country", e), this._suppressCountryRender = !1), s && (s.className =
|
|
6172
|
+
this._country = e, this.getAttribute("country") !== e && (this._suppressCountryRender = !0, this.setAttribute("country", e), this._suppressCountryRender = !1), s && (s.className = qr(e)), c && (c.textContent = `+${Nn(e)}`);
|
|
6124
6173
|
for (let t of this._itemEls()) {
|
|
6125
6174
|
let n = t.dataset.iso === e;
|
|
6126
6175
|
t.classList.toggle("selected", n), t.setAttribute("aria-selected", String(n));
|
|
6127
6176
|
}
|
|
6128
|
-
!this.getAttribute("placeholder") && o && (o.placeholder =
|
|
6177
|
+
!this.getAttribute("placeholder") && o && (o.placeholder = $r(e) || "Enter phone number"), o && this._national && (o.value = Zr(e, this._national)), p(), this._syncMirror(), this._emitChange(), o?.focus();
|
|
6129
6178
|
}, g = (t) => {
|
|
6130
6179
|
let n = this._visibleItems();
|
|
6131
6180
|
if (t.key === "ArrowDown") {
|
|
@@ -6159,7 +6208,7 @@ var Qr = class extends e {
|
|
|
6159
6208
|
let _ = this.querySelector("[data-phone-error]"), v = (e) => {
|
|
6160
6209
|
if (o.classList.toggle("is-invalid", e), e ? o.setAttribute("aria-invalid", "true") : o.removeAttribute("aria-invalid"), _) {
|
|
6161
6210
|
if (e) {
|
|
6162
|
-
let e =
|
|
6211
|
+
let e = $r(this._country);
|
|
6163
6212
|
_.textContent = e ? `Enter a valid phone number, e.g. ${e}` : "Enter a valid phone number";
|
|
6164
6213
|
}
|
|
6165
6214
|
_.hidden = !e;
|
|
@@ -6167,35 +6216,35 @@ var Qr = class extends e {
|
|
|
6167
6216
|
};
|
|
6168
6217
|
o.addEventListener("input", (e) => {
|
|
6169
6218
|
e.stopPropagation();
|
|
6170
|
-
let t = o.selectionStart ?? o.value.length, n = o.value.slice(0, t).replace(/[^0-9]/g, "").length, r = o.value.replace(/[^0-9]/g, ""), i =
|
|
6219
|
+
let t = o.selectionStart ?? o.value.length, n = o.value.slice(0, t).replace(/[^0-9]/g, "").length, r = o.value.replace(/[^0-9]/g, ""), i = ti(this._country);
|
|
6171
6220
|
if (i && r.length > i) {
|
|
6172
|
-
let e =
|
|
6221
|
+
let e = ni(this._country, r, i);
|
|
6173
6222
|
e ? (n = Math.max(0, n - (r.length - e.length)), r = e) : r = r.slice(0, i);
|
|
6174
6223
|
}
|
|
6175
6224
|
this._national = r;
|
|
6176
|
-
let a =
|
|
6225
|
+
let a = Zr(this._country, this._national);
|
|
6177
6226
|
if (o.value !== a) {
|
|
6178
6227
|
o.value = a;
|
|
6179
|
-
let e =
|
|
6228
|
+
let e = Qr(a, Math.min(n, r.length));
|
|
6180
6229
|
o.setSelectionRange(e, e);
|
|
6181
6230
|
}
|
|
6182
|
-
this._syncMirror(), this._emitInput(), o.classList.contains("is-invalid") && (!this._national ||
|
|
6231
|
+
this._syncMirror(), this._emitInput(), o.classList.contains("is-invalid") && (!this._national || ei(this.value) === !0) && v(!1);
|
|
6183
6232
|
}), o.addEventListener("change", (e) => e.stopPropagation()), o.addEventListener("blur", () => {
|
|
6184
|
-
v(this._national.length > 0 &&
|
|
6233
|
+
v(this._national.length > 0 && ei(this.value) === !1), this.value !== this._committedValue && this._emitChange();
|
|
6185
6234
|
}), o.addEventListener("paste", (e) => {
|
|
6186
|
-
let t =
|
|
6187
|
-
t && (e.preventDefault(), this._national = t.national.replace(/[^0-9]/g, ""), t.country === this._country ? o.value =
|
|
6235
|
+
let t = ri(e.clipboardData?.getData("text"));
|
|
6236
|
+
t && (e.preventDefault(), this._national = t.national.replace(/[^0-9]/g, ""), t.country === this._country ? o.value = Zr(this._country, this._national) : this.setAttribute("country", t.country), this._syncMirror(), this._emitInput(), this._emitChange(), this.querySelector("input[type=tel]")?.focus());
|
|
6188
6237
|
}), this._bindGlobal = () => {
|
|
6189
6238
|
this._teardownGlobals?.(), this._onDocClick = (e) => {
|
|
6190
6239
|
l() && !this.contains(e.target) && p();
|
|
6191
|
-
}, document.addEventListener("click", this._onDocClick),
|
|
6240
|
+
}, document.addEventListener("click", this._onDocClick), L(this, () => {
|
|
6192
6241
|
l() && u();
|
|
6193
6242
|
});
|
|
6194
6243
|
}, this._teardownGlobals = () => {
|
|
6195
|
-
this._onDocClick &&= (document.removeEventListener("click", this._onDocClick), null),
|
|
6196
|
-
}, this._bindGlobal(),
|
|
6197
|
-
if (!(!e || !o.isConnected) && (this._national && (o.value =
|
|
6198
|
-
let e =
|
|
6244
|
+
this._onDocClick &&= (document.removeEventListener("click", this._onDocClick), null), R(this);
|
|
6245
|
+
}, this._bindGlobal(), Yr().then((e) => {
|
|
6246
|
+
if (!(!e || !o.isConnected) && (this._national && (o.value = Zr(this._country, this._national)), !this.getAttribute("placeholder"))) {
|
|
6247
|
+
let e = $r(this._country);
|
|
6199
6248
|
e && (o.placeholder = e);
|
|
6200
6249
|
}
|
|
6201
6250
|
}), this._syncMirror();
|
|
@@ -6206,7 +6255,7 @@ var Qr = class extends e {
|
|
|
6206
6255
|
disconnectedCallback() {
|
|
6207
6256
|
this._teardown();
|
|
6208
6257
|
}
|
|
6209
|
-
},
|
|
6258
|
+
}, ai = (e) => String(e ?? "").replace(/"/g, """).replace(/</g, "<"), oi = class extends e {
|
|
6210
6259
|
static formAssociated = !0;
|
|
6211
6260
|
static get observedAttributes() {
|
|
6212
6261
|
return [
|
|
@@ -6351,7 +6400,7 @@ var Qr = class extends e {
|
|
|
6351
6400
|
aria-valuenow="${this._value}"
|
|
6352
6401
|
aria-valuetext="${this._formatValue(this._value)}"
|
|
6353
6402
|
${a ? "disabled" : ""}
|
|
6354
|
-
aria-label="${
|
|
6403
|
+
aria-label="${si(this.getAttribute("aria-label") || "Value")}"
|
|
6355
6404
|
></button>
|
|
6356
6405
|
`}
|
|
6357
6406
|
${this.hasAttribute("show-value") ? n ? `<span class="slider-value">${this._formatValue(this._start)} to ${this._formatValue(this._end)}</span>` : `<span class="slider-value">${this._formatValue(this._value)}</span>` : ""}
|
|
@@ -6386,7 +6435,7 @@ var Qr = class extends e {
|
|
|
6386
6435
|
this._isRange() ? this._syncRangeMirrors() : this._syncSingleMirror();
|
|
6387
6436
|
}
|
|
6388
6437
|
_syncSingleMirror() {
|
|
6389
|
-
this.getAttribute("name") &&
|
|
6438
|
+
this.getAttribute("name") && z(this, String(this._value));
|
|
6390
6439
|
}
|
|
6391
6440
|
_syncRangeMirrors() {
|
|
6392
6441
|
let e = this.getAttribute("start-name") || this.getAttribute("name"), t = this.getAttribute("end-name");
|
|
@@ -6456,7 +6505,7 @@ var Qr = class extends e {
|
|
|
6456
6505
|
}, Y = (e, t) => {
|
|
6457
6506
|
let n = Number.parseFloat(e);
|
|
6458
6507
|
return Number.isFinite(n) ? n : t;
|
|
6459
|
-
},
|
|
6508
|
+
}, si = (e) => String(e ?? "").replace(/&/g, "&").replace(/"/g, """).replace(/</g, "<"), ci = /* @__PURE__ */ new Set(), li = ".wui-sortable-handle", ui = "a[href],button,input,select,textarea,label,summary,[contenteditable='true'],[role='button'],[role='link']", di = 4, fi = 8, pi = 250, mi = 48, hi = 18, gi = class extends e {
|
|
6460
6509
|
static get observedAttributes() {
|
|
6461
6510
|
return ["name", "disabled"];
|
|
6462
6511
|
}
|
|
@@ -6466,10 +6515,10 @@ var Qr = class extends e {
|
|
|
6466
6515
|
}, this._onSelectStart = (e) => e.preventDefault(), this._scrollTick = this._scrollTick.bind(this);
|
|
6467
6516
|
}
|
|
6468
6517
|
connectedCallback() {
|
|
6469
|
-
|
|
6518
|
+
ci.add(this), this.addEventListener("pointerdown", this._onPointerDown), this.addEventListener("keydown", this._onKeyDown), this.addEventListener("focusout", this._onFocusOut), this.addEventListener("dragstart", this._onDragStart), this._observer = new MutationObserver(() => this._syncMirrors()), this._observer.observe(this, { childList: !0 }), this._syncMirrors();
|
|
6470
6519
|
}
|
|
6471
6520
|
disconnectedCallback() {
|
|
6472
|
-
|
|
6521
|
+
ci.delete(this), this.removeEventListener("pointerdown", this._onPointerDown), this.removeEventListener("keydown", this._onKeyDown), this.removeEventListener("focusout", this._onFocusOut), this.removeEventListener("dragstart", this._onDragStart), this._observer?.disconnect(), this._observer = null, this._abort();
|
|
6473
6522
|
}
|
|
6474
6523
|
attributeChangedCallback(e) {
|
|
6475
6524
|
e === "disabled" && this._abort(), this.isConnected && this._syncMirrors();
|
|
@@ -6504,7 +6553,7 @@ var Qr = class extends e {
|
|
|
6504
6553
|
return this.getAttribute("orientation") === "horizontal";
|
|
6505
6554
|
}
|
|
6506
6555
|
_syncMirrors() {
|
|
6507
|
-
|
|
6556
|
+
B(this, this.order);
|
|
6508
6557
|
}
|
|
6509
6558
|
_insertAt(e, t) {
|
|
6510
6559
|
let n = this._items();
|
|
@@ -6522,7 +6571,7 @@ var Qr = class extends e {
|
|
|
6522
6571
|
}
|
|
6523
6572
|
_peers() {
|
|
6524
6573
|
let e = this.getAttribute("group");
|
|
6525
|
-
return [...
|
|
6574
|
+
return [...ci].filter((t) => t === this || e && t.getAttribute("group") === e && !t.hasAttribute("disabled"));
|
|
6526
6575
|
}
|
|
6527
6576
|
_labelOf(e) {
|
|
6528
6577
|
return e.getAttribute("data-label") || e.textContent.replace(/\s+/g, " ").trim() || e.getAttribute("data-id");
|
|
@@ -6539,10 +6588,10 @@ var Qr = class extends e {
|
|
|
6539
6588
|
if (this._drag || this._kb || this.hasAttribute("disabled") || e.pointerType === "mouse" && e.button !== 0) return;
|
|
6540
6589
|
let t = this._itemFrom(e.target);
|
|
6541
6590
|
if (!t || this._itemDisabled(t)) return;
|
|
6542
|
-
let n = t.querySelector(`:scope > ${
|
|
6591
|
+
let n = t.querySelector(`:scope > ${li}`), r = !!n && n.contains(e.target);
|
|
6543
6592
|
if (this.hasAttribute("handle") && !r) return;
|
|
6544
6593
|
if (!r) {
|
|
6545
|
-
let n = e.target.closest?.(
|
|
6594
|
+
let n = e.target.closest?.(ui);
|
|
6546
6595
|
if (n && n !== t && t.contains(n)) return;
|
|
6547
6596
|
}
|
|
6548
6597
|
let i = e.pointerType === "touch" && !r, a = {
|
|
@@ -6552,7 +6601,7 @@ var Qr = class extends e {
|
|
|
6552
6601
|
startY: e.clientY,
|
|
6553
6602
|
x: e.clientX,
|
|
6554
6603
|
y: e.clientY,
|
|
6555
|
-
slop: e.pointerType === "touch" ?
|
|
6604
|
+
slop: e.pointerType === "touch" ? fi : di,
|
|
6556
6605
|
ready: !i,
|
|
6557
6606
|
started: !1,
|
|
6558
6607
|
timer: null,
|
|
@@ -6562,7 +6611,7 @@ var Qr = class extends e {
|
|
|
6562
6611
|
};
|
|
6563
6612
|
this._drag = a, i && (a.timer = setTimeout(() => {
|
|
6564
6613
|
a.timer = null, a.ready = !0, this._begin();
|
|
6565
|
-
},
|
|
6614
|
+
}, pi)), document.addEventListener("pointermove", this._onDocMove), document.addEventListener("pointerup", this._onDocUp), document.addEventListener("pointercancel", this._onDocCancel), document.addEventListener("keydown", this._onDocKey, !0), document.addEventListener("touchmove", this._onDocTouchMove, { passive: !1 });
|
|
6566
6615
|
}
|
|
6567
6616
|
_onDocMove(e) {
|
|
6568
6617
|
let t = this._drag;
|
|
@@ -6618,7 +6667,7 @@ var Qr = class extends e {
|
|
|
6618
6667
|
_scrollTick() {
|
|
6619
6668
|
let e = this._drag;
|
|
6620
6669
|
if (!e?.started) return;
|
|
6621
|
-
let t =
|
|
6670
|
+
let t = vi(e.list), n = t ? t.getBoundingClientRect() : null, r = Math.max(n?.top ?? 0, 0), i = Math.min(n?.bottom ?? window.innerHeight, window.innerHeight), a = Math.max(n?.left ?? 0, 0), o = Math.min(n?.right ?? window.innerWidth, window.innerWidth), s = _i(e.y, r, i), c = _i(e.x, a, o);
|
|
6622
6671
|
(c || s) && (t ? (t.scrollTop += s, t.scrollLeft += c) : window.scrollBy(c, s), this._update()), e.raf = requestAnimationFrame(this._scrollTick);
|
|
6623
6672
|
}
|
|
6624
6673
|
_finish(e) {
|
|
@@ -6662,7 +6711,7 @@ var Qr = class extends e {
|
|
|
6662
6711
|
}
|
|
6663
6712
|
_onKeyDown(e) {
|
|
6664
6713
|
if (this.hasAttribute("disabled")) return;
|
|
6665
|
-
let t = e.target.closest?.(
|
|
6714
|
+
let t = e.target.closest?.(li), n = t && t.parentElement?.parentElement === this ? t.parentElement : null;
|
|
6666
6715
|
if (!n || this._itemDisabled(n) || this._drag) return;
|
|
6667
6716
|
let r = e.key;
|
|
6668
6717
|
if (!this._kb) {
|
|
@@ -6721,10 +6770,10 @@ var Qr = class extends e {
|
|
|
6721
6770
|
e(), n && document.activeElement !== t && t.focus(), this._moving = !1;
|
|
6722
6771
|
}
|
|
6723
6772
|
};
|
|
6724
|
-
function
|
|
6725
|
-
return e < t +
|
|
6773
|
+
function _i(e, t, n) {
|
|
6774
|
+
return e < t + mi ? -Math.ceil(hi * Math.min(1, (t + mi - e) / mi)) : e > n - mi ? Math.ceil(hi * Math.min(1, (e - (n - mi)) / mi)) : 0;
|
|
6726
6775
|
}
|
|
6727
|
-
function
|
|
6776
|
+
function vi(e) {
|
|
6728
6777
|
for (let t = e.parentElement; t && t !== document.body && t !== document.documentElement; t = t.parentElement) {
|
|
6729
6778
|
let e = getComputedStyle(t), n = /(auto|scroll)/.test(e.overflowY) && t.scrollHeight > t.clientHeight, r = /(auto|scroll)/.test(e.overflowX) && t.scrollWidth > t.clientWidth;
|
|
6730
6779
|
if (n || r) return t;
|
|
@@ -6733,7 +6782,7 @@ function fi(e) {
|
|
|
6733
6782
|
}
|
|
6734
6783
|
//#endregion
|
|
6735
6784
|
//#region src/WuiTagInput.js
|
|
6736
|
-
var
|
|
6785
|
+
var yi = class extends e {
|
|
6737
6786
|
static formAssociated = !0;
|
|
6738
6787
|
_accessibleName() {
|
|
6739
6788
|
return this.getAttribute("aria-label") || this.getAttribute("placeholder") || "Add tags";
|
|
@@ -6799,30 +6848,30 @@ var pi = class extends e {
|
|
|
6799
6848
|
return this._values.slice();
|
|
6800
6849
|
}
|
|
6801
6850
|
set values(e) {
|
|
6802
|
-
this._values = Array.isArray(e) ? e.map(String) : [],
|
|
6851
|
+
this._values = Array.isArray(e) ? e.map(String) : [], B(this, this._values), this._rendered && this._renderControl();
|
|
6803
6852
|
}
|
|
6804
6853
|
render() {
|
|
6805
6854
|
let e = this.getAttribute("size"), t = e === "sm" ? " search-select-sm" : e === "lg" ? " search-select-lg" : "";
|
|
6806
|
-
|
|
6855
|
+
B(this, this._values), this.innerHTML = `
|
|
6807
6856
|
<div class="search-select${t}">
|
|
6808
6857
|
<div class="input search-select-control search-select-multi"${this.hasAttribute("aria-invalid") ? " aria-invalid=\"true\"" : ""}${this.hasAttribute("disabled") ? " aria-disabled=\"true\"" : ""}>
|
|
6809
|
-
<div class="ms-chips" data-chips><input type="text" class="ms-input" data-input aria-label="${
|
|
6858
|
+
<div class="ms-chips" data-chips><input type="text" class="ms-input" data-input aria-label="${xi(this._accessibleName())}" placeholder="${xi(this.getAttribute("placeholder") || "Add…")}" autocomplete="off"${this.hasAttribute("disabled") ? " disabled" : ""}/></div>
|
|
6810
6859
|
</div>
|
|
6811
|
-
</div>`, this._rendered = !0,
|
|
6860
|
+
</div>`, this._rendered = !0, B(this, this._values), this._renderControl(), this._wire();
|
|
6812
6861
|
}
|
|
6813
6862
|
_renderControl() {
|
|
6814
6863
|
let e = this.querySelector("[data-chips]");
|
|
6815
6864
|
if (e) {
|
|
6816
6865
|
for (let t of e.querySelectorAll(":scope > .chip")) t.remove();
|
|
6817
|
-
this._values.length && e.querySelector("[data-input]").insertAdjacentHTML("beforebegin", this._values.map((e) => `<span class="chip chip-sm"><span class="chip-label">${
|
|
6866
|
+
this._values.length && e.querySelector("[data-input]").insertAdjacentHTML("beforebegin", this._values.map((e) => `<span class="chip chip-sm"><span class="chip-label">${bi(e)}</span><button type="button" class="chip-remove" data-remove="${xi(e)}" aria-label="Remove ${xi(e)}">${V("x")}</button></span>`).join(""));
|
|
6818
6867
|
}
|
|
6819
6868
|
}
|
|
6820
6869
|
_wire() {
|
|
6821
6870
|
this._teardown();
|
|
6822
6871
|
let e = this.querySelector(".search-select-control"), t = this.querySelector("[data-input]");
|
|
6823
6872
|
if (!e || !t) return;
|
|
6824
|
-
let n = () => this.hasAttribute("disabled"), r = (this.getAttribute("separators") || "enter,comma").split(",").map((e) => e.trim()), i = this.getAttribute("max-tags"), a = this.hasAttribute("allow-duplicates"), o = new Set(r.map(
|
|
6825
|
-
|
|
6873
|
+
let n = () => this.hasAttribute("disabled"), r = (this.getAttribute("separators") || "enter,comma").split(",").map((e) => e.trim()), i = this.getAttribute("max-tags"), a = this.hasAttribute("allow-duplicates"), o = new Set(r.map(wr).filter(Boolean)), s = () => {
|
|
6874
|
+
B(this, this._values), this.dispatchEvent(new Event("change", { bubbles: !0 }));
|
|
6826
6875
|
}, c = (e) => {
|
|
6827
6876
|
let t = e.trim();
|
|
6828
6877
|
if (!t || i && this._values.length >= parseInt(i, 10)) return;
|
|
@@ -6853,9 +6902,9 @@ var pi = class extends e {
|
|
|
6853
6902
|
e.preventDefault();
|
|
6854
6903
|
let n = e.clipboardData.getData("text/plain"), a = [];
|
|
6855
6904
|
for (let e of r) {
|
|
6856
|
-
let t =
|
|
6857
|
-
if (
|
|
6858
|
-
a.push(...
|
|
6905
|
+
let t = Tr(e) ?? e;
|
|
6906
|
+
if (Dr(n, [t])) {
|
|
6907
|
+
a.push(...Er(n, [t]));
|
|
6859
6908
|
break;
|
|
6860
6909
|
}
|
|
6861
6910
|
}
|
|
@@ -6883,18 +6932,18 @@ var pi = class extends e {
|
|
|
6883
6932
|
disconnectedCallback() {
|
|
6884
6933
|
this._teardown();
|
|
6885
6934
|
}
|
|
6886
|
-
},
|
|
6935
|
+
}, bi = (e) => String(e ?? "").replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">"), xi = (e) => String(e ?? "").replace(/&/g, "&").replace(/"/g, """).replace(/</g, "<"), Si = (e) => String(e).padStart(2, "0"), Ci = (e, t) => `${Si(e)}:${Si(t)}`, wi = (e) => {
|
|
6887
6936
|
let t = /^(\d{2}):(\d{2})$/.exec(e || "");
|
|
6888
6937
|
return t ? {
|
|
6889
6938
|
h: +t[1],
|
|
6890
6939
|
m: +t[2]
|
|
6891
6940
|
} : null;
|
|
6892
|
-
},
|
|
6941
|
+
}, Ti = (e, t = "24") => {
|
|
6893
6942
|
if (!e) return "";
|
|
6894
|
-
if (t === "24") return
|
|
6943
|
+
if (t === "24") return Ci(e.h, e.m);
|
|
6895
6944
|
let n = e.h % 12 || 12, r = e.h >= 12 ? "PM" : "AM";
|
|
6896
|
-
return `${n}:${
|
|
6897
|
-
},
|
|
6945
|
+
return `${n}:${Si(e.m)} ${r}`;
|
|
6946
|
+
}, Ei = (e) => {
|
|
6898
6947
|
let t = String(e || "").trim().toLowerCase(), n = /^(\d{1,2})(?:[:.](\d{2})|(\d{2}))?\s*(?:([ap])\.?\s*(?:m\.?)?)?$/.exec(t);
|
|
6899
6948
|
if (!n) return null;
|
|
6900
6949
|
let r = +n[1], i = +(n[2] ?? n[3] ?? "0");
|
|
@@ -6907,7 +6956,7 @@ var pi = class extends e {
|
|
|
6907
6956
|
h: r,
|
|
6908
6957
|
m: i
|
|
6909
6958
|
};
|
|
6910
|
-
},
|
|
6959
|
+
}, Di = 0, Oi = class extends e {
|
|
6911
6960
|
static formAssociated = !0;
|
|
6912
6961
|
static get observedAttributes() {
|
|
6913
6962
|
return [
|
|
@@ -6932,7 +6981,7 @@ var pi = class extends e {
|
|
|
6932
6981
|
} catch {
|
|
6933
6982
|
this._internals = null;
|
|
6934
6983
|
}
|
|
6935
|
-
this._value = "", this._uid = `wui-tp-${++
|
|
6984
|
+
this._value = "", this._uid = `wui-tp-${++Di}`, this._typedError = "", this._typeahead = "", this._typeaheadTimer = null, this.addEventListener("focusout", (e) => {
|
|
6936
6985
|
this._isOpen?.() && e.relatedTarget && !this.contains(e.relatedTarget) && this._close({ commit: !0 });
|
|
6937
6986
|
});
|
|
6938
6987
|
}
|
|
@@ -6968,7 +7017,7 @@ var pi = class extends e {
|
|
|
6968
7017
|
return this._value;
|
|
6969
7018
|
}
|
|
6970
7019
|
set value(e) {
|
|
6971
|
-
this._value = e || "", this._typedError = "",
|
|
7020
|
+
this._value = e || "", this._typedError = "", z(this, this._value), this._syncText(), this._syncInvalid();
|
|
6972
7021
|
}
|
|
6973
7022
|
_format() {
|
|
6974
7023
|
return this.getAttribute("format") || "24";
|
|
@@ -6977,10 +7026,10 @@ var pi = class extends e {
|
|
|
6977
7026
|
return Math.max(1, parseInt(this.getAttribute("step") || "30", 10) || 30);
|
|
6978
7027
|
}
|
|
6979
7028
|
_bounds() {
|
|
6980
|
-
let e =
|
|
7029
|
+
let e = wi(this.getAttribute("min")) || {
|
|
6981
7030
|
h: 0,
|
|
6982
7031
|
m: 0
|
|
6983
|
-
}, t =
|
|
7032
|
+
}, t = wi(this.getAttribute("max")) || {
|
|
6984
7033
|
h: 23,
|
|
6985
7034
|
m: 59
|
|
6986
7035
|
};
|
|
@@ -7006,12 +7055,12 @@ var pi = class extends e {
|
|
|
7006
7055
|
}
|
|
7007
7056
|
_refusal(e) {
|
|
7008
7057
|
if (this._allowed(e.h, e.m)) return "";
|
|
7009
|
-
let t = this._format(), { min: n, max: r } = this._bounds(), i = e.h * 60 + e.m, a = (e) =>
|
|
7058
|
+
let t = this._format(), { min: n, max: r } = this._bounds(), i = e.h * 60 + e.m, a = (e) => Ti({
|
|
7010
7059
|
h: Math.floor(e / 60),
|
|
7011
7060
|
m: e % 60
|
|
7012
7061
|
}, t);
|
|
7013
7062
|
if (i < n || i > r) {
|
|
7014
|
-
let e = !!
|
|
7063
|
+
let e = !!wi(this.getAttribute("min")), t = !!wi(this.getAttribute("max"));
|
|
7015
7064
|
return e && t ? `Enter a time between ${a(n)} and ${a(r)}.` : e ? `Enter a time at or after ${a(n)}.` : `Enter a time at or before ${a(r)}.`;
|
|
7016
7065
|
}
|
|
7017
7066
|
return `Enter a time in ${this._step()}-minute steps.`;
|
|
@@ -7023,11 +7072,11 @@ var pi = class extends e {
|
|
|
7023
7072
|
<div class="timepicker">
|
|
7024
7073
|
<div class="wui-timepicker-field">
|
|
7025
7074
|
<input type="text" class="input timepicker-trigger${t}" id="${n}-input" role="combobox" aria-haspopup="dialog" aria-expanded="false" aria-controls="${n}-pop" aria-autocomplete="none" autocomplete="off" spellcheck="false">
|
|
7026
|
-
<button type="button" class="wui-timepicker-toggle" tabindex="-1" aria-label="Choose time" aria-haspopup="dialog" aria-expanded="false" aria-controls="${n}-pop">${
|
|
7075
|
+
<button type="button" class="wui-timepicker-toggle" tabindex="-1" aria-label="Choose time" aria-haspopup="dialog" aria-expanded="false" aria-controls="${n}-pop">${V("clock")}</button>
|
|
7027
7076
|
</div>
|
|
7028
7077
|
<div class="timepicker-pop" id="${n}-pop" role="dialog" aria-label="Choose time" hidden></div>
|
|
7029
7078
|
<div class="field-error wui-timepicker-error" id="${n}-error" hidden></div>
|
|
7030
|
-
</div>`, this._rendered = !0, this._syncAttrs(), this._syncText(), this._syncInvalid(),
|
|
7079
|
+
</div>`, this._rendered = !0, this._syncAttrs(), this._syncText(), this._syncInvalid(), z(this, this._value), this._wire();
|
|
7031
7080
|
}
|
|
7032
7081
|
_input() {
|
|
7033
7082
|
return this.querySelector(".timepicker-trigger");
|
|
@@ -7036,7 +7085,7 @@ var pi = class extends e {
|
|
|
7036
7085
|
return this.querySelector(".timepicker-pop");
|
|
7037
7086
|
}
|
|
7038
7087
|
_syncFormValue() {
|
|
7039
|
-
|
|
7088
|
+
z(this, this._value);
|
|
7040
7089
|
}
|
|
7041
7090
|
_syncAttrs() {
|
|
7042
7091
|
let e = this._input(), t = this.querySelector(".wui-timepicker-toggle");
|
|
@@ -7044,11 +7093,11 @@ var pi = class extends e {
|
|
|
7044
7093
|
let n = this.hasAttribute("disabled");
|
|
7045
7094
|
e.disabled = n, t && (t.disabled = n), e.placeholder = this.getAttribute("placeholder") || "Select time", this.hasAttribute("required") ? e.setAttribute("aria-required", "true") : e.removeAttribute("aria-required");
|
|
7046
7095
|
let r = this.getAttribute("aria-label");
|
|
7047
|
-
r ? e.setAttribute("aria-label", r) : e.removeAttribute("aria-label"),
|
|
7096
|
+
r ? e.setAttribute("aria-label", r) : e.removeAttribute("aria-label"), z(this, this._value), n && this._isOpen?.() && this._close({ commit: !1 });
|
|
7048
7097
|
}
|
|
7049
7098
|
_syncText() {
|
|
7050
7099
|
let e = this._input();
|
|
7051
|
-
e && (e.value =
|
|
7100
|
+
e && (e.value = Ti(wi(this._value), this._format()), this._isOpen?.() && this._syncColumns());
|
|
7052
7101
|
}
|
|
7053
7102
|
_syncInvalid() {
|
|
7054
7103
|
let e = this._input(), t = this.querySelector(".wui-timepicker-error");
|
|
@@ -7060,18 +7109,18 @@ var pi = class extends e {
|
|
|
7060
7109
|
}
|
|
7061
7110
|
_commitText() {
|
|
7062
7111
|
let e = this._input();
|
|
7063
|
-
if (!e || e.value ===
|
|
7112
|
+
if (!e || e.value === Ti(wi(this._value), this._format())) return !0;
|
|
7064
7113
|
let t = e.value.trim(), n = "";
|
|
7065
7114
|
if (t) {
|
|
7066
|
-
let e =
|
|
7115
|
+
let e = Ei(t), r = e ? this._refusal(e) : `Enter a time like ${this._format() === "12" ? "7:45 PM" : "19:45"}.`;
|
|
7067
7116
|
if (r) return this._typedError = r, this._syncInvalid(), !1;
|
|
7068
|
-
n =
|
|
7117
|
+
n = Ci(e.h, e.m);
|
|
7069
7118
|
}
|
|
7070
7119
|
let r = n !== this._value;
|
|
7071
7120
|
return this.value = n, r && this.dispatchEvent(new Event("change", { bubbles: !0 })), !0;
|
|
7072
7121
|
}
|
|
7073
7122
|
_pending() {
|
|
7074
|
-
let e =
|
|
7123
|
+
let e = Ei(this._input()?.value);
|
|
7075
7124
|
return e && this._allowed(e.h, e.m) ? e : null;
|
|
7076
7125
|
}
|
|
7077
7126
|
_columnsHtml() {
|
|
@@ -7083,17 +7132,17 @@ var pi = class extends e {
|
|
|
7083
7132
|
text: String(e || 12)
|
|
7084
7133
|
}))) + n("minute", "Minute", i.map((e) => ({
|
|
7085
7134
|
v: e,
|
|
7086
|
-
text:
|
|
7135
|
+
text: Si(e)
|
|
7087
7136
|
}))) + n("period", "AM or PM", t.map((e) => ({
|
|
7088
7137
|
v: e,
|
|
7089
7138
|
text: e.toUpperCase()
|
|
7090
7139
|
})));
|
|
7091
7140
|
} else a = n("hour", "Hour", r.map((e) => ({
|
|
7092
7141
|
v: e,
|
|
7093
|
-
text:
|
|
7142
|
+
text: Si(e)
|
|
7094
7143
|
}))) + n("minute", "Minute", i.map((e) => ({
|
|
7095
7144
|
v: e,
|
|
7096
|
-
text:
|
|
7145
|
+
text: Si(e)
|
|
7097
7146
|
})));
|
|
7098
7147
|
return `<div class="wui-timepicker-cols">${a}</div>`;
|
|
7099
7148
|
}
|
|
@@ -7133,13 +7182,13 @@ var pi = class extends e {
|
|
|
7133
7182
|
a = r.h, o = r.m;
|
|
7134
7183
|
}
|
|
7135
7184
|
let s = this._input();
|
|
7136
|
-
s.value =
|
|
7185
|
+
s.value = Ti({
|
|
7137
7186
|
h: a,
|
|
7138
7187
|
m: o
|
|
7139
7188
|
}, this._format()), this._typedError = "", this._syncInvalid(), this._syncColumns();
|
|
7140
7189
|
}
|
|
7141
7190
|
_position() {
|
|
7142
|
-
|
|
7191
|
+
I(this.querySelector(".wui-timepicker-field"), this._pop());
|
|
7143
7192
|
}
|
|
7144
7193
|
_onColumnKey(e) {
|
|
7145
7194
|
let t = e.target.closest?.(".timepicker-option"), n = t?.closest(".wui-timepicker-col");
|
|
@@ -7234,29 +7283,29 @@ var pi = class extends e {
|
|
|
7234
7283
|
this._popClick = !1, i() && !t && !this.contains(e.target) && this._close({ commit: !0 });
|
|
7235
7284
|
}, document.addEventListener("click", this._onDocClick), this._onDocKey = (e) => {
|
|
7236
7285
|
i() && e.key === "Escape" && this._close({ commit: !1 });
|
|
7237
|
-
}, document.addEventListener("keydown", this._onDocKey),
|
|
7286
|
+
}, document.addEventListener("keydown", this._onDocKey), L(this, () => {
|
|
7238
7287
|
i() && this._position();
|
|
7239
7288
|
});
|
|
7240
7289
|
}, this._bindGlobal();
|
|
7241
7290
|
}
|
|
7242
7291
|
_teardown() {
|
|
7243
|
-
this._onDocClick &&= (document.removeEventListener("click", this._onDocClick), null), this._onDocKey &&= (document.removeEventListener("keydown", this._onDocKey), null),
|
|
7292
|
+
this._onDocClick &&= (document.removeEventListener("click", this._onDocClick), null), this._onDocKey &&= (document.removeEventListener("keydown", this._onDocKey), null), R(this), clearTimeout(this._typeaheadTimer), this._typeaheadTimer = null, this._typeahead = "";
|
|
7244
7293
|
}
|
|
7245
7294
|
disconnectedCallback() {
|
|
7246
7295
|
this._teardown();
|
|
7247
7296
|
}
|
|
7248
|
-
},
|
|
7297
|
+
}, ki = "wui-tour-step", Ai = "wui-tour-seen:", ji = {
|
|
7249
7298
|
back: "Back",
|
|
7250
7299
|
next: "Next",
|
|
7251
7300
|
skip: "Skip",
|
|
7252
7301
|
done: "Done"
|
|
7253
|
-
},
|
|
7302
|
+
}, Mi = {
|
|
7254
7303
|
back: "back-label",
|
|
7255
7304
|
next: "next-label",
|
|
7256
7305
|
skip: "skip-label",
|
|
7257
7306
|
done: "done-label"
|
|
7258
|
-
},
|
|
7259
|
-
function
|
|
7307
|
+
}, Ni = 4, Pi = 0;
|
|
7308
|
+
function Fi(e = Ai, t = globalThis.localStorage) {
|
|
7260
7309
|
return {
|
|
7261
7310
|
isSeen: async (n) => t.getItem(e + n) === "1",
|
|
7262
7311
|
markSeen: async (n) => {
|
|
@@ -7264,7 +7313,7 @@ function ki(e = wi, t = globalThis.localStorage) {
|
|
|
7264
7313
|
}
|
|
7265
7314
|
};
|
|
7266
7315
|
}
|
|
7267
|
-
var
|
|
7316
|
+
var Ii = (e) => !e?.isConnected || getComputedStyle(e).visibility === "hidden" ? !1 : e.getClientRects().length > 0, Li = class extends e {
|
|
7268
7317
|
static get observedAttributes() {
|
|
7269
7318
|
return ["open"];
|
|
7270
7319
|
}
|
|
@@ -7283,18 +7332,21 @@ var Ai = (e) => !e?.isConnected || getComputedStyle(e).visibility === "hidden" ?
|
|
|
7283
7332
|
get tourId() {
|
|
7284
7333
|
return this.getAttribute("tour-id") || "";
|
|
7285
7334
|
}
|
|
7335
|
+
set tourId(e) {
|
|
7336
|
+
e == null || e === "" ? this.removeAttribute("tour-id") : this.setAttribute("tour-id", String(e));
|
|
7337
|
+
}
|
|
7286
7338
|
_stepList() {
|
|
7287
|
-
return Array.from(this.querySelectorAll(`:scope > ${
|
|
7339
|
+
return Array.from(this.querySelectorAll(`:scope > ${ki}`), (e) => ({
|
|
7288
7340
|
target: e.getAttribute("target") || "",
|
|
7289
7341
|
title: e.getAttribute("title") || void 0,
|
|
7290
7342
|
description: e.textContent.trim()
|
|
7291
7343
|
}));
|
|
7292
7344
|
}
|
|
7293
7345
|
_store() {
|
|
7294
|
-
return this.seenStore ? this.seenStore : this.getAttribute("seen-store") === "local" ?
|
|
7346
|
+
return this.seenStore ? this.seenStore : this.getAttribute("seen-store") === "local" ? Fi() : globalThis.window?.WUI?.tour?.seenStore || null;
|
|
7295
7347
|
}
|
|
7296
7348
|
_label(e) {
|
|
7297
|
-
return this.getAttribute(
|
|
7349
|
+
return this.getAttribute(Mi[e]) || ji[e];
|
|
7298
7350
|
}
|
|
7299
7351
|
async start() {
|
|
7300
7352
|
if (this._running) return;
|
|
@@ -7334,7 +7386,7 @@ var Ai = (e) => !e?.isConnected || getComputedStyle(e).visibility === "hidden" ?
|
|
|
7334
7386
|
let e = r[i];
|
|
7335
7387
|
if (await this._beforeStep(e, i), n !== this._run) return null;
|
|
7336
7388
|
let t = document.querySelector(e.target);
|
|
7337
|
-
if (
|
|
7389
|
+
if (Ii(t)) return {
|
|
7338
7390
|
index: i,
|
|
7339
7391
|
target: t
|
|
7340
7392
|
};
|
|
@@ -7353,7 +7405,7 @@ var Ai = (e) => !e?.isConnected || getComputedStyle(e).visibility === "hidden" ?
|
|
|
7353
7405
|
})), await Promise.all(n), typeof this.onBeforeStep == "function" && await this.onBeforeStep(e, t);
|
|
7354
7406
|
}
|
|
7355
7407
|
_build() {
|
|
7356
|
-
let e = `wui-tour-${++
|
|
7408
|
+
let e = `wui-tour-${++Pi}`, t = document.createElement("div");
|
|
7357
7409
|
t.className = "wui-tour-layer", t.innerHTML = `
|
|
7358
7410
|
<div class="wui-tour-spot" aria-hidden="true"></div>
|
|
7359
7411
|
<div class="wui-tour-card" role="dialog" aria-modal="true" tabindex="-1" aria-labelledby="${e}-title" aria-describedby="${e}-text">
|
|
@@ -7370,7 +7422,7 @@ var Ai = (e) => !e?.isConnected || getComputedStyle(e).visibility === "hidden" ?
|
|
|
7370
7422
|
</div>
|
|
7371
7423
|
<div class="visually-hidden" role="status" aria-live="polite"></div>`, document.body.appendChild(t), this._layer = t, this._spot = t.querySelector(".wui-tour-spot"), this._card = t.querySelector(".wui-tour-card"), this._live = t.querySelector("[role=status]"), this._card.querySelector(".wui-tour-skip").addEventListener("click", () => this._close("skipped")), this._card.querySelector(".wui-tour-back").addEventListener("click", () => this._move(-1)), this._card.querySelector(".wui-tour-next").addEventListener("click", () => this._move(1)), this._onKey = (e) => this._key(e), this._onFocusIn = (e) => {
|
|
7372
7424
|
this._layer && !this._layer.contains(e.target) && this._card.focus();
|
|
7373
|
-
}, document.addEventListener("keydown", this._onKey, !0), document.addEventListener("focusin", this._onFocusIn),
|
|
7425
|
+
}, document.addEventListener("keydown", this._onKey, !0), document.addEventListener("focusin", this._onFocusIn), L(t, () => this._place());
|
|
7374
7426
|
}
|
|
7375
7427
|
_show(e) {
|
|
7376
7428
|
this._current = e;
|
|
@@ -7395,7 +7447,7 @@ var Ai = (e) => !e?.isConnected || getComputedStyle(e).visibility === "hidden" ?
|
|
|
7395
7447
|
_place() {
|
|
7396
7448
|
if (!this._current || !this._layer) return;
|
|
7397
7449
|
let e = this._current.target.getBoundingClientRect(), t = this._spot.style;
|
|
7398
|
-
t.top = `${e.top -
|
|
7450
|
+
t.top = `${e.top - Ni}px`, t.left = `${e.left - Ni}px`, t.width = `${e.width + Ni * 2}px`, t.height = `${e.height + Ni * 2}px`, I(this._spot, this._card, { clampHeight: !0 });
|
|
7399
7451
|
}
|
|
7400
7452
|
async _move(e) {
|
|
7401
7453
|
if (!this._current || this._moving) return;
|
|
@@ -7421,7 +7473,7 @@ var Ai = (e) => !e?.isConnected || getComputedStyle(e).visibility === "hidden" ?
|
|
|
7421
7473
|
}
|
|
7422
7474
|
_teardown() {
|
|
7423
7475
|
if (!this._layer) return;
|
|
7424
|
-
document.removeEventListener("keydown", this._onKey, !0), document.removeEventListener("focusin", this._onFocusIn),
|
|
7476
|
+
document.removeEventListener("keydown", this._onKey, !0), document.removeEventListener("focusin", this._onFocusIn), R(this._layer), this._layer.remove(), this._layer = null, this._current = null;
|
|
7425
7477
|
let e = this._returnFocus;
|
|
7426
7478
|
this._returnFocus = null, e?.isConnected && e.focus?.();
|
|
7427
7479
|
}
|
|
@@ -7441,11 +7493,11 @@ var Ai = (e) => !e?.isConnected || getComputedStyle(e).visibility === "hidden" ?
|
|
|
7441
7493
|
detail: { reason: e }
|
|
7442
7494
|
}));
|
|
7443
7495
|
}
|
|
7444
|
-
},
|
|
7496
|
+
}, Ri = [
|
|
7445
7497
|
"none",
|
|
7446
7498
|
"single",
|
|
7447
7499
|
"multiple"
|
|
7448
|
-
],
|
|
7500
|
+
], zi = "parentId", Bi = "Loading", Vi = "Could not load. Try again.", Hi = ":scope > input[data-wui-mirror]", Ui = [
|
|
7449
7501
|
"nodes",
|
|
7450
7502
|
"selection",
|
|
7451
7503
|
"selected",
|
|
@@ -7453,14 +7505,14 @@ var Ai = (e) => !e?.isConnected || getComputedStyle(e).visibility === "hidden" ?
|
|
|
7453
7505
|
"loadChildren",
|
|
7454
7506
|
"loadUrl",
|
|
7455
7507
|
"name"
|
|
7456
|
-
],
|
|
7508
|
+
], Wi = 0;
|
|
7457
7509
|
function X(e, t, n) {
|
|
7458
7510
|
let r = document.createElement(e);
|
|
7459
7511
|
t && (r.className = t);
|
|
7460
7512
|
for (let [e, t] of Object.entries(n ?? {})) t != null && r.setAttribute(e, String(t));
|
|
7461
7513
|
return r;
|
|
7462
7514
|
}
|
|
7463
|
-
var
|
|
7515
|
+
var Gi = class extends e {
|
|
7464
7516
|
static get observedAttributes() {
|
|
7465
7517
|
return [
|
|
7466
7518
|
"selection",
|
|
@@ -7472,7 +7524,7 @@ var zi = class extends e {
|
|
|
7472
7524
|
];
|
|
7473
7525
|
}
|
|
7474
7526
|
constructor() {
|
|
7475
|
-
super(), this._uid = `wui-tree-${++
|
|
7527
|
+
super(), this._uid = `wui-tree-${++Wi}`, this._seq = 0, this._roots = [], this._byId = /* @__PURE__ */ new Map(), this._prev = null, this._staged = null, this._els = /* @__PURE__ */ new Map(), this._checked = /* @__PURE__ */ new Set(), this._selected = null, this._focusId = null, this._loader = null, this._list = null, this._live = null, this._ready = !1, this._nav = Xt({
|
|
7476
7528
|
getVisibleOptions: () => this._visible().map((e) => this._els.get(e.id)?.row),
|
|
7477
7529
|
getActive: () => this._visible().findIndex((e) => e.id === this._focusId),
|
|
7478
7530
|
setActive: (e) => this._focusNode(this._visible()[e]),
|
|
@@ -7487,7 +7539,7 @@ var zi = class extends e {
|
|
|
7487
7539
|
}
|
|
7488
7540
|
connectedCallback() {
|
|
7489
7541
|
let e = {};
|
|
7490
|
-
for (let t of
|
|
7542
|
+
for (let t of Ui) Object.hasOwn(this, t) && (e[t] = this[t], delete this[t]);
|
|
7491
7543
|
if (!this._ready) {
|
|
7492
7544
|
this._ready = !0;
|
|
7493
7545
|
let e = this._readScript();
|
|
@@ -7513,7 +7565,7 @@ var zi = class extends e {
|
|
|
7513
7565
|
}
|
|
7514
7566
|
get selection() {
|
|
7515
7567
|
let e = this.getAttribute("selection");
|
|
7516
|
-
return
|
|
7568
|
+
return Ri.includes(e) ? e : "none";
|
|
7517
7569
|
}
|
|
7518
7570
|
set selection(e) {
|
|
7519
7571
|
this.setAttribute("selection", String(e));
|
|
@@ -7557,13 +7609,13 @@ var zi = class extends e {
|
|
|
7557
7609
|
e == null ? this.removeAttribute("name") : this.setAttribute("name", String(e));
|
|
7558
7610
|
}
|
|
7559
7611
|
get loadingText() {
|
|
7560
|
-
return this.getAttribute("loading-text") ??
|
|
7612
|
+
return this.getAttribute("loading-text") ?? Bi;
|
|
7561
7613
|
}
|
|
7562
7614
|
set loadingText(e) {
|
|
7563
7615
|
this.setAttribute("loading-text", String(e ?? ""));
|
|
7564
7616
|
}
|
|
7565
7617
|
get errorText() {
|
|
7566
|
-
return this.getAttribute("error-text") ??
|
|
7618
|
+
return this.getAttribute("error-text") ?? Vi;
|
|
7567
7619
|
}
|
|
7568
7620
|
set errorText(e) {
|
|
7569
7621
|
this.setAttribute("error-text", String(e ?? ""));
|
|
@@ -7752,7 +7804,7 @@ var zi = class extends e {
|
|
|
7752
7804
|
let t = this.getAttribute("load-url");
|
|
7753
7805
|
if (!t) throw Error("<wui-tree> has a node with children to load but no loadChildren or load-url.");
|
|
7754
7806
|
let n = new URL(t, window.location.href);
|
|
7755
|
-
n.searchParams.set(
|
|
7807
|
+
n.searchParams.set(zi, e.id);
|
|
7756
7808
|
let r = await fe(n.href, { headers: { Accept: "application/json" } });
|
|
7757
7809
|
if (!r.ok) throw Error(`Loading children answered ${r.kind}.`);
|
|
7758
7810
|
return JSON.parse(r.html);
|
|
@@ -7771,9 +7823,9 @@ var zi = class extends e {
|
|
|
7771
7823
|
}
|
|
7772
7824
|
_syncForm() {
|
|
7773
7825
|
let e = this.selection;
|
|
7774
|
-
if (e === "multiple")
|
|
7775
|
-
else if (e === "single")
|
|
7776
|
-
else for (let e of this.querySelectorAll(
|
|
7826
|
+
if (e === "multiple") B(this, this.values);
|
|
7827
|
+
else if (e === "single") z(this, this._selected ?? "");
|
|
7828
|
+
else for (let e of this.querySelectorAll(Hi)) e.remove();
|
|
7777
7829
|
}
|
|
7778
7830
|
_render() {
|
|
7779
7831
|
if (!this._list) return;
|
|
@@ -7799,7 +7851,7 @@ var zi = class extends e {
|
|
|
7799
7851
|
let s = X("div", "wui-tree-row", { role: "presentation" });
|
|
7800
7852
|
s.style.setProperty("--wui-tree-level", String(e.level - 1)), r === "single" && e.id === this._selected && s.classList.add("wui-tree-row-selected"), e.failed && s.classList.add("wui-tree-row-error");
|
|
7801
7853
|
let c = X("span", i ? "wui-tree-toggle" : "wui-tree-toggle wui-tree-toggle-leaf", { "aria-hidden": "true" });
|
|
7802
|
-
if (i && (c.innerHTML =
|
|
7854
|
+
if (i && (c.innerHTML = V("chevron-right", { size: 16 })), s.append(c), r === "multiple") {
|
|
7803
7855
|
let t = X("input", "form-check-input wui-tree-check", {
|
|
7804
7856
|
type: "checkbox",
|
|
7805
7857
|
tabindex: -1,
|
|
@@ -7809,7 +7861,7 @@ var zi = class extends e {
|
|
|
7809
7861
|
}
|
|
7810
7862
|
if (e.icon) {
|
|
7811
7863
|
let t = X("span", "wui-tree-icon", { "aria-hidden": "true" });
|
|
7812
|
-
t.innerHTML =
|
|
7864
|
+
t.innerHTML = V(e.icon, { size: 16 }), s.append(t);
|
|
7813
7865
|
}
|
|
7814
7866
|
let l = X("span", "wui-tree-label", { id: `${this._uid}-${e.seq}` });
|
|
7815
7867
|
if (l.textContent = e.label, s.append(l), e.badge) {
|
|
@@ -7825,7 +7877,7 @@ var zi = class extends e {
|
|
|
7825
7877
|
row: s
|
|
7826
7878
|
}), o;
|
|
7827
7879
|
}
|
|
7828
|
-
},
|
|
7880
|
+
}, Ki = "wui-wizard-step", qi = class extends e {
|
|
7829
7881
|
static get observedAttributes() {
|
|
7830
7882
|
return [
|
|
7831
7883
|
"active",
|
|
@@ -7860,7 +7912,7 @@ var zi = class extends e {
|
|
|
7860
7912
|
this._beforeNext = typeof e == "function" ? e : null;
|
|
7861
7913
|
}
|
|
7862
7914
|
get _steps() {
|
|
7863
|
-
return [...this.querySelectorAll(`:scope > ${
|
|
7915
|
+
return [...this.querySelectorAll(`:scope > ${Ki}`)];
|
|
7864
7916
|
}
|
|
7865
7917
|
refresh() {
|
|
7866
7918
|
this._rendered && this._renderChrome();
|
|
@@ -7899,7 +7951,7 @@ var zi = class extends e {
|
|
|
7899
7951
|
}
|
|
7900
7952
|
_reconcileSteps() {
|
|
7901
7953
|
let e = this._steps, t = this._known;
|
|
7902
|
-
if (this._known = e,
|
|
7954
|
+
if (this._known = e, Ji(e, t)) return e;
|
|
7903
7955
|
let n = (n) => new Set([...n].map((n) => e.indexOf(t[n])).filter((e) => e >= 0));
|
|
7904
7956
|
this._skipped = n(this._skipped), this._invalid = n(this._invalid);
|
|
7905
7957
|
let r = t[this._active];
|
|
@@ -7919,7 +7971,7 @@ var zi = class extends e {
|
|
|
7919
7971
|
_onStepsMutated() {
|
|
7920
7972
|
if (!this._rendered) return;
|
|
7921
7973
|
let e = this._steps;
|
|
7922
|
-
(!e.length || this._header.nextElementSibling === e[0] && this._footer.previousElementSibling === e[e.length - 1]) &&
|
|
7974
|
+
(!e.length || this._header.nextElementSibling === e[0] && this._footer.previousElementSibling === e[e.length - 1]) && Ji(e, this._known) || (this._renderChrome(), this._observer?.takeRecords());
|
|
7923
7975
|
}
|
|
7924
7976
|
_syncPanels(e) {
|
|
7925
7977
|
e.forEach((e, t) => {
|
|
@@ -7943,16 +7995,16 @@ var zi = class extends e {
|
|
|
7943
7995
|
let a = this.hasAttribute("non-linear");
|
|
7944
7996
|
return e.map((r, o) => {
|
|
7945
7997
|
let s = this._stepStatus(r, o), c = r.getAttribute("label") || "", l = r.getAttribute("description") || "", u = r.getAttribute("icon") || "", d = o + 1, f;
|
|
7946
|
-
f = s === "done" ?
|
|
7947
|
-
let p = s === "pending" ? "step" : `step ${s}`, m = s === "active" ? " aria-current=\"step\"" : "", h = a || o < this._active, g = l ? `<span class="step-desc">${
|
|
7948
|
-
_ = t ? `<span class="step-circle">${f}</span><span class="step-text"><span class="step-index">Step ${d}</span><span class="step-label">${
|
|
7998
|
+
f = s === "done" ? V("check") : s === "error" ? V("alert-triangle") : s === "skipped" ? V("minus") : u ? V(u) : String(d);
|
|
7999
|
+
let p = s === "pending" ? "step" : `step ${s}`, m = s === "active" ? " aria-current=\"step\"" : "", h = a || o < this._active, g = l ? `<span class="step-desc">${Yi(l)}</span>` : "", _;
|
|
8000
|
+
_ = t ? `<span class="step-circle">${f}</span><span class="step-text"><span class="step-index">Step ${d}</span><span class="step-label">${Yi(c)}</span>${g}</span>` : n ? `<span class="step-circle">${f}</span><span class="step-index">Step ${d}</span><span class="step-label">${Yi(c)}</span>${g}` : `<span class="step-circle">${f}</span><span class="step-label">${Yi(c)}</span>${g}`;
|
|
7949
8001
|
let v = h ? `<button type="button" class="${p}" data-step="${o}"${m}>${_}</button>` : `<div class="${p}"${m}>${_}</div>`;
|
|
7950
8002
|
return t && i && o < e.length - 1 ? `${v}<span class="step-line${s === "done" ? " done" : ""}" aria-hidden="true"></span>` : v;
|
|
7951
8003
|
}).join("");
|
|
7952
8004
|
}
|
|
7953
8005
|
_footerHtml(e) {
|
|
7954
8006
|
let t = this._active, n = e.length - 1, r = this.hasAttribute("disabled") ? " disabled" : "", i = e[t]?.hasAttribute("optional") || this.hasAttribute("skippable"), a = this.getAttribute("back-label") || "Back", o = this.getAttribute("next-label") || "Next", s = this.getAttribute("skip-label") || "Skip", c = this.getAttribute("finish-label") || "Finish";
|
|
7955
|
-
return `${t > 0 ? `<button type="button" class="btn btn-secondary" data-nav="back"${r}>${
|
|
8007
|
+
return `${t > 0 ? `<button type="button" class="btn btn-secondary" data-nav="back"${r}>${V("arrow-left", { className: "me-2" })}${Yi(a)}</button>` : "<span></span>"}<span class="wizard-footer-actions">${i && t < n ? `<button type="button" class="btn btn-subtle" data-nav="skip"${r}>${Yi(s)}</button>` : ""}${t < n ? `<button type="button" class="btn btn-primary" data-nav="next"${r}>${Yi(o)}${V("arrow-right", { className: "ms-2" })}</button>` : `<button type="button" class="btn btn-primary" data-nav="finish"${r}>${Yi(c)}</button>`}</span>`;
|
|
7956
8008
|
}
|
|
7957
8009
|
_wire() {
|
|
7958
8010
|
this._teardown(), this._onHeaderClick = (e) => {
|
|
@@ -8026,7 +8078,7 @@ var zi = class extends e {
|
|
|
8026
8078
|
_reflectActive(e) {
|
|
8027
8079
|
this._reflecting = !0, this.setAttribute("active", String(e)), this._reflecting = !1;
|
|
8028
8080
|
}
|
|
8029
|
-
},
|
|
8081
|
+
}, Ji = (e, t) => e.length === t.length && e.every((e, n) => e === t[n]), Yi = (e) => String(e ?? "").replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">"), Xi = class extends e {
|
|
8030
8082
|
static get observedAttributes() {
|
|
8031
8083
|
return [
|
|
8032
8084
|
"label",
|
|
@@ -8040,8 +8092,8 @@ var zi = class extends e {
|
|
|
8040
8092
|
let e = this.closest("wui-wizard");
|
|
8041
8093
|
e && typeof e.refresh == "function" && e.refresh();
|
|
8042
8094
|
}
|
|
8043
|
-
},
|
|
8044
|
-
async function
|
|
8095
|
+
}, Zi = 2e3;
|
|
8096
|
+
async function Qi(e) {
|
|
8045
8097
|
try {
|
|
8046
8098
|
if (navigator.clipboard?.writeText) return await navigator.clipboard.writeText(e), !0;
|
|
8047
8099
|
} catch {}
|
|
@@ -8056,14 +8108,14 @@ async function Ki(e) {
|
|
|
8056
8108
|
}
|
|
8057
8109
|
//#endregion
|
|
8058
8110
|
//#region src/fileValidation.js
|
|
8059
|
-
var
|
|
8111
|
+
var $i = "image/png,image/jpeg,image/webp", ea = 5, ta = {
|
|
8060
8112
|
"image/png": [".png"],
|
|
8061
8113
|
"image/jpeg": [".jpg", ".jpeg"],
|
|
8062
8114
|
"image/webp": [".webp"],
|
|
8063
8115
|
"image/gif": [".gif"],
|
|
8064
8116
|
"image/svg+xml": [".svg"],
|
|
8065
8117
|
"application/pdf": [".pdf"]
|
|
8066
|
-
},
|
|
8118
|
+
}, na = {
|
|
8067
8119
|
"image/png": "PNG",
|
|
8068
8120
|
"image/jpeg": "JPG",
|
|
8069
8121
|
"image/webp": "WEBP",
|
|
@@ -8077,7 +8129,7 @@ var qi = "image/png,image/jpeg,image/webp", Ji = 5, Yi = {
|
|
|
8077
8129
|
".gif": "GIF",
|
|
8078
8130
|
".svg": "SVG",
|
|
8079
8131
|
".pdf": "PDF"
|
|
8080
|
-
},
|
|
8132
|
+
}, ra = (e) => String(e || "").split(",").map((e) => e.trim().toLowerCase()).filter(Boolean), ia = [
|
|
8081
8133
|
".png",
|
|
8082
8134
|
".jpg",
|
|
8083
8135
|
".jpeg",
|
|
@@ -8088,71 +8140,71 @@ var qi = "image/png,image/jpeg,image/webp", Ji = 5, Yi = {
|
|
|
8088
8140
|
".avif",
|
|
8089
8141
|
".heic"
|
|
8090
8142
|
];
|
|
8091
|
-
function
|
|
8143
|
+
function aa(e) {
|
|
8092
8144
|
if (!e) return !1;
|
|
8093
8145
|
let t = typeof e == "object" && e.type ? String(e.type).toLowerCase() : "";
|
|
8094
8146
|
if (t) return t.startsWith("image/");
|
|
8095
8147
|
let n = typeof e == "string" ? e : e.name || e.url || "", r = String(n).toLowerCase();
|
|
8096
|
-
return
|
|
8148
|
+
return ia.some((e) => r.endsWith(e));
|
|
8097
8149
|
}
|
|
8098
|
-
function
|
|
8150
|
+
function oa(e) {
|
|
8099
8151
|
if (!e) return !1;
|
|
8100
8152
|
let t = typeof e == "object" && e.type ? String(e.type).toLowerCase() : "";
|
|
8101
8153
|
if (t) return t === "application/pdf";
|
|
8102
8154
|
let n = typeof e == "string" ? e : e.name || e.url || "";
|
|
8103
8155
|
return String(n).toLowerCase().split(/[?#]/)[0].endsWith(".pdf");
|
|
8104
8156
|
}
|
|
8105
|
-
function
|
|
8106
|
-
let t =
|
|
8107
|
-
return t.length ? t.every((e) => e.startsWith(".") ?
|
|
8157
|
+
function sa(e) {
|
|
8158
|
+
let t = ra(e);
|
|
8159
|
+
return t.length ? t.every((e) => e.startsWith(".") ? ia.includes(e) : e === "image/*" || e.startsWith("image/")) : !1;
|
|
8108
8160
|
}
|
|
8109
|
-
function
|
|
8161
|
+
function ca(e) {
|
|
8110
8162
|
let t = [];
|
|
8111
|
-
for (let n of
|
|
8112
|
-
let e =
|
|
8163
|
+
for (let n of ra(e)) {
|
|
8164
|
+
let e = na[n] || (n.startsWith(".") ? n.slice(1).toUpperCase() : n.toUpperCase());
|
|
8113
8165
|
t.includes(e) || t.push(e);
|
|
8114
8166
|
}
|
|
8115
8167
|
return t.length <= 1 ? t[0] || "supported" : `${t.slice(0, -1).join(", ")} or ${t[t.length - 1]}`;
|
|
8116
8168
|
}
|
|
8117
|
-
function
|
|
8118
|
-
let n =
|
|
8169
|
+
function la(e, t) {
|
|
8170
|
+
let n = ra(t);
|
|
8119
8171
|
if (!n.length) return !0;
|
|
8120
8172
|
let r = (e.type || "").toLowerCase(), i = (e.name || "").toLowerCase();
|
|
8121
|
-
return n.some((e) => e.startsWith(".") ? i.endsWith(e) : e.endsWith("/*") ? r.startsWith(e.slice(0, -1)) : r && r === e ? !0 : !r && (
|
|
8173
|
+
return n.some((e) => e.startsWith(".") ? i.endsWith(e) : e.endsWith("/*") ? r.startsWith(e.slice(0, -1)) : r && r === e ? !0 : !r && (ta[e] || []).some((e) => i.endsWith(e)));
|
|
8122
8174
|
}
|
|
8123
|
-
function
|
|
8175
|
+
function ua(e, t = {}) {
|
|
8124
8176
|
if (!e) return null;
|
|
8125
|
-
let n = t.accept === void 0 ?
|
|
8126
|
-
return
|
|
8177
|
+
let n = t.accept === void 0 ? $i : t.accept, r = t.maxSizeMb === void 0 ? 5 : t.maxSizeMb;
|
|
8178
|
+
return la(e, n) ? r > 0 && e.size > r * 1024 * 1024 ? `Keep the file under ${r} MB.` : null : `Choose a ${ca(n)} file.`;
|
|
8127
8179
|
}
|
|
8128
8180
|
//#endregion
|
|
8129
8181
|
//#region src/inputMask.js
|
|
8130
|
-
var
|
|
8131
|
-
9:
|
|
8182
|
+
var da = /[0-9]/, fa = {
|
|
8183
|
+
9: da,
|
|
8132
8184
|
A: /[A-Za-z]/,
|
|
8133
8185
|
"*": /[0-9A-Za-z]/
|
|
8134
|
-
},
|
|
8186
|
+
}, pa = /[9A*]/, ma = /* @__PURE__ */ new Set([
|
|
8135
8187
|
"text",
|
|
8136
8188
|
"tel",
|
|
8137
8189
|
"search",
|
|
8138
8190
|
"url",
|
|
8139
8191
|
"password"
|
|
8140
|
-
]),
|
|
8192
|
+
]), ha = (e) => {
|
|
8141
8193
|
let t = e.replace(/\D/g, "");
|
|
8142
8194
|
return t.length === 12 && t.startsWith("91") ? t.slice(2) : t.length === 11 && t.startsWith("0") ? t.slice(1) : e;
|
|
8143
|
-
},
|
|
8195
|
+
}, ga = (e) => {
|
|
8144
8196
|
let t = Number(e.slice(0, 2)), n = Number(e.slice(2, 4)), r = Number(e.slice(4, 8));
|
|
8145
8197
|
if (r < 1) return !1;
|
|
8146
8198
|
let i = new Date(Date.UTC(r, n - 1, t));
|
|
8147
8199
|
return i.getUTCFullYear() === r && i.getUTCMonth() === n - 1 && i.getUTCDate() === t;
|
|
8148
|
-
},
|
|
8200
|
+
}, _a = (e) => e.length <= 3 ? e : `${e.slice(0, -3).replace(/\B(?=(\d{2})+(?!\d))/g, ",")},${e.slice(-3)}`, va = (e) => {
|
|
8149
8201
|
let t = /^(\d{4})-(\d{2})-(\d{2})$/.exec(e.trim());
|
|
8150
8202
|
return t ? `${t[3]}-${t[2]}-${t[1]}` : e;
|
|
8151
8203
|
};
|
|
8152
|
-
function
|
|
8153
|
-
let o = [...e].map((e) =>
|
|
8204
|
+
function ya(e, { upper: t = !1, normalize: n, valid: r, post: i = (e) => e, message: a = "Enter the full value" } = {}) {
|
|
8205
|
+
let o = [...e].map((e) => fa[e] ? { re: fa[e] } : { lit: e }), s = o.filter((e) => e.re).length;
|
|
8154
8206
|
return {
|
|
8155
|
-
inputMode: o.every((e) => !e.re || e.re ===
|
|
8207
|
+
inputMode: o.every((e) => !e.re || e.re === da) ? "numeric" : "text",
|
|
8156
8208
|
normalize: n,
|
|
8157
8209
|
post: i,
|
|
8158
8210
|
message: a,
|
|
@@ -8177,18 +8229,18 @@ function pa(e, { upper: t = !1, normalize: n, valid: r, post: i = (e) => e, mess
|
|
|
8177
8229
|
isValid: (e) => e.length === s && (!r || r(e))
|
|
8178
8230
|
};
|
|
8179
8231
|
}
|
|
8180
|
-
function
|
|
8232
|
+
function ba() {
|
|
8181
8233
|
return {
|
|
8182
8234
|
inputMode: "decimal",
|
|
8183
8235
|
post: (e) => e,
|
|
8184
8236
|
message: "Enter a valid amount",
|
|
8185
8237
|
extract(e) {
|
|
8186
8238
|
let t = "", n = !1, r = 0;
|
|
8187
|
-
for (let i of e)
|
|
8239
|
+
for (let i of e) da.test(i) ? n ? r < 2 && (t += i, r++) : t += i : i === "." && !n && (n = !0, t += i);
|
|
8188
8240
|
return t.startsWith(".") && (t = `0${t}`), t.replace(/^0+(?=\d)/, "");
|
|
8189
8241
|
},
|
|
8190
8242
|
layout(e) {
|
|
8191
|
-
let [t, n] = e.split("."), r =
|
|
8243
|
+
let [t, n] = e.split("."), r = _a(t) + (e.includes(".") ? `.${n}` : "");
|
|
8192
8244
|
return {
|
|
8193
8245
|
text: r,
|
|
8194
8246
|
isRaw: [...r].map((e) => e !== ",")
|
|
@@ -8197,75 +8249,75 @@ function ma() {
|
|
|
8197
8249
|
isValid: (e) => /^\d+(\.\d{1,2})?$/.test(e)
|
|
8198
8250
|
};
|
|
8199
8251
|
}
|
|
8200
|
-
var
|
|
8201
|
-
"phone-in": () =>
|
|
8202
|
-
normalize:
|
|
8252
|
+
var xa = {
|
|
8253
|
+
"phone-in": () => ya("99999 99999", {
|
|
8254
|
+
normalize: ha,
|
|
8203
8255
|
valid: (e) => /^[6-9]/.test(e),
|
|
8204
8256
|
message: "Enter a 10-digit mobile number"
|
|
8205
8257
|
}),
|
|
8206
|
-
pan: () =>
|
|
8258
|
+
pan: () => ya("AAAAA9999A", {
|
|
8207
8259
|
upper: !0,
|
|
8208
8260
|
valid: (e) => /^[A-Z]{5}\d{4}[A-Z]$/.test(e),
|
|
8209
8261
|
message: "Enter a valid PAN"
|
|
8210
8262
|
}),
|
|
8211
|
-
gstin: () =>
|
|
8263
|
+
gstin: () => ya("99AAAAA9999A***", {
|
|
8212
8264
|
upper: !0,
|
|
8213
8265
|
valid: (e) => /^\d{2}[A-Z]{5}\d{4}[A-Z][1-9A-Z]Z[0-9A-Z]$/.test(e),
|
|
8214
8266
|
message: "Enter a valid GSTIN"
|
|
8215
8267
|
}),
|
|
8216
|
-
aadhaar: () =>
|
|
8268
|
+
aadhaar: () => ya("9999 9999 9999", {
|
|
8217
8269
|
valid: (e) => /^[2-9]/.test(e),
|
|
8218
8270
|
message: "Enter a valid 12-digit Aadhaar number"
|
|
8219
8271
|
}),
|
|
8220
|
-
ifsc: () =>
|
|
8272
|
+
ifsc: () => ya("AAAA*******", {
|
|
8221
8273
|
upper: !0,
|
|
8222
8274
|
valid: (e) => /^[A-Z]{4}0[A-Z0-9]{6}$/.test(e),
|
|
8223
8275
|
message: "Enter a valid IFSC"
|
|
8224
8276
|
}),
|
|
8225
|
-
"pin-code": () =>
|
|
8277
|
+
"pin-code": () => ya("999999", {
|
|
8226
8278
|
valid: (e) => /^[1-9]/.test(e),
|
|
8227
8279
|
message: "Enter a valid 6-digit PIN code"
|
|
8228
8280
|
}),
|
|
8229
|
-
date: () =>
|
|
8230
|
-
normalize:
|
|
8231
|
-
valid:
|
|
8232
|
-
post: (e, t) => e.length === 8 &&
|
|
8281
|
+
date: () => ya("99-99-9999", {
|
|
8282
|
+
normalize: va,
|
|
8283
|
+
valid: ga,
|
|
8284
|
+
post: (e, t) => e.length === 8 && ga(e) ? `${e.slice(4)}-${e.slice(2, 4)}-${e.slice(0, 2)}` : t,
|
|
8233
8285
|
message: "Enter a valid date as DD-MM-YYYY"
|
|
8234
8286
|
}),
|
|
8235
|
-
amount:
|
|
8236
|
-
},
|
|
8287
|
+
amount: ba
|
|
8288
|
+
}, Sa = Object.keys(xa), Ca = (e) => {
|
|
8237
8289
|
let t = String(e).toLowerCase();
|
|
8238
|
-
return Object.hasOwn(
|
|
8239
|
-
},
|
|
8240
|
-
function
|
|
8290
|
+
return Object.hasOwn(xa, t) ? t : void 0;
|
|
8291
|
+
}, wa = (e) => pa.test(String(e)) && Ca(e) === void 0, Ta = /* @__PURE__ */ new Map();
|
|
8292
|
+
function Ea(e) {
|
|
8241
8293
|
if (e == null || e === "") return null;
|
|
8242
8294
|
let t = String(e);
|
|
8243
|
-
return
|
|
8295
|
+
return Ta.has(t) || (wa(t) ? Ta.set(t, ya(t)) : Ta.set(t, Object.hasOwn(xa, t) ? xa[t]() : null)), Ta.get(t);
|
|
8244
8296
|
}
|
|
8245
8297
|
var Z = (e, t) => e.normalize ? e.normalize(t) : t;
|
|
8246
|
-
function
|
|
8247
|
-
let n =
|
|
8298
|
+
function Da(e, t) {
|
|
8299
|
+
let n = Ea(e);
|
|
8248
8300
|
return n ? n.extract(Z(n, String(t ?? ""))) : String(t ?? "");
|
|
8249
8301
|
}
|
|
8250
|
-
function
|
|
8251
|
-
let n =
|
|
8302
|
+
function Oa(e, t) {
|
|
8303
|
+
let n = Ea(e);
|
|
8252
8304
|
if (!n) return String(t ?? "");
|
|
8253
8305
|
let r = n.extract(Z(n, String(t ?? "")));
|
|
8254
8306
|
return n.post(r, n.layout(r).text);
|
|
8255
8307
|
}
|
|
8256
|
-
function
|
|
8257
|
-
let n =
|
|
8308
|
+
function ka(e, t) {
|
|
8309
|
+
let n = Ea(e);
|
|
8258
8310
|
return n ? n.layout(n.extract(Z(n, String(t ?? "")))).text : String(t ?? "");
|
|
8259
8311
|
}
|
|
8260
|
-
var
|
|
8312
|
+
var Aa = (e, t) => {
|
|
8261
8313
|
if (t <= 0) return 0;
|
|
8262
8314
|
let n = 0;
|
|
8263
8315
|
for (let r = 0; r < e.length; r++) if (e[r] && ++n === t) return r + 1;
|
|
8264
8316
|
return e.length;
|
|
8265
|
-
},
|
|
8266
|
-
function
|
|
8267
|
-
let i = e.getAll(t), a =
|
|
8268
|
-
a ||
|
|
8317
|
+
}, ja = /* @__PURE__ */ new WeakMap(), Ma = (e) => ja.get(e)?.(), Na = /* @__PURE__ */ new WeakMap();
|
|
8318
|
+
function Pa(e, t, n, r) {
|
|
8319
|
+
let i = e.getAll(t), a = Na.get(e);
|
|
8320
|
+
a || Na.set(e, a = /* @__PURE__ */ new Set());
|
|
8269
8321
|
let o = i.findIndex((e, r) => e === n && !a.has(`${t}\u0000${r}`));
|
|
8270
8322
|
if (!(o < 0)) {
|
|
8271
8323
|
if (a.add(`${t}\u0000${o}`), i[o] = r, i.length === 1) {
|
|
@@ -8276,7 +8328,7 @@ function Oa(e, t, n, r) {
|
|
|
8276
8328
|
for (let n of i) e.append(t, n);
|
|
8277
8329
|
}
|
|
8278
8330
|
}
|
|
8279
|
-
function
|
|
8331
|
+
function Fa(e) {
|
|
8280
8332
|
let t = null, n = null, r = !1, i = (t, n) => n === null ? e.removeAttribute(t) : e.setAttribute(t, n), a, o, s = () => {
|
|
8281
8333
|
t?.remove(), t = null, n && (n.hidden = !1), n = null, r && e.classList.remove("error"), r = !1, a !== void 0 && i("aria-invalid", a), o !== void 0 && i("aria-describedby", o), a = void 0, o = void 0;
|
|
8282
8334
|
};
|
|
@@ -8289,18 +8341,18 @@ function ka(e) {
|
|
|
8289
8341
|
l && l !== t && l.textContent.trim() || (t || (r = !e.classList.contains("error"), e.classList.add("error"), a = e.getAttribute("aria-invalid"), o = e.getAttribute("aria-describedby"), c && (t = document.createElement("div"), t.className = "field-error", e.id && (t.id = `${e.id}-error`), n = c.querySelector(".field-hint"), n && (n.hidden = !0), c.insertBefore(t, [...c.children].find((e) => e.classList.contains("field-count")) ?? null), t.id && e.setAttribute("aria-describedby", t.id)), e.setAttribute("aria-invalid", "true")), t && (t.textContent = i));
|
|
8290
8342
|
};
|
|
8291
8343
|
}
|
|
8292
|
-
function
|
|
8293
|
-
let a =
|
|
8294
|
-
if (!a || !
|
|
8344
|
+
function Ia(e, { mask: t, postFormatted: n = !1, onChange: r, onInvalidChange: i } = {}) {
|
|
8345
|
+
let a = Ea(t);
|
|
8346
|
+
if (!a || !ma.has(e.type)) return () => {};
|
|
8295
8347
|
let o = Object.getPrototypeOf(e), s = Object.getOwnPropertyDescriptor(o, "value").set, c = !e.hasAttribute("inputmode");
|
|
8296
8348
|
c && e.setAttribute("inputmode", a.inputMode);
|
|
8297
|
-
let l = i ??
|
|
8349
|
+
let l = i ?? Fa(e), u = null, d = !1, f = !1, p = !1, m = "", h = "", g, _ = () => {
|
|
8298
8350
|
let e = p ? m : "";
|
|
8299
8351
|
e !== h && (h = e, l(h));
|
|
8300
8352
|
}, v = (t, n, i) => {
|
|
8301
8353
|
let o = a.extract(t.slice(0, n)).length, c = a.extract(t), { text: l, isRaw: d } = a.layout(c);
|
|
8302
|
-
if (e.value !== l && (s.call(e, l), document.activeElement === e &&
|
|
8303
|
-
let t =
|
|
8354
|
+
if (e.value !== l && (s.call(e, l), document.activeElement === e && ma.has(e.type))) {
|
|
8355
|
+
let t = Aa(d, o);
|
|
8304
8356
|
e.setSelectionRange(t, t);
|
|
8305
8357
|
}
|
|
8306
8358
|
e.dataset.maskRaw = c, m = c && !a.isValid(c) ? a.message : "", e.setCustomValidity(m), _(), i && c !== u && r?.(c, l), u = c;
|
|
@@ -8350,52 +8402,52 @@ function Aa(e, { mask: t, postFormatted: n = !1, onChange: r, onInvalidChange: i
|
|
|
8350
8402
|
};
|
|
8351
8403
|
e.addEventListener("input", S), e.addEventListener("beforeinput", te), e.addEventListener("paste", ne), e.addEventListener("compositionstart", ee), e.addEventListener("compositionend", C), e.addEventListener("blur", w), e.addEventListener("invalid", w);
|
|
8352
8404
|
let T = e.form, ie = (t) => {
|
|
8353
|
-
e.name && !e.disabled &&
|
|
8405
|
+
e.name && !e.disabled && Pa(t.formData, e.name, e.value, re());
|
|
8354
8406
|
}, ae = () => {
|
|
8355
8407
|
clearTimeout(g), g = setTimeout(() => {
|
|
8356
8408
|
p = !1, v(Z(a, e.value), e.value.length, !0);
|
|
8357
8409
|
}, 0);
|
|
8358
8410
|
};
|
|
8359
|
-
n || (T?.addEventListener("formdata", ie),
|
|
8411
|
+
n || (T?.addEventListener("formdata", ie), ja.set(e, re)), T?.addEventListener("reset", ae), T?.addEventListener("submit", w);
|
|
8360
8412
|
let E = Z(a, e.value);
|
|
8361
8413
|
return v(E, E.length, !1), () => {
|
|
8362
|
-
clearTimeout(g), e.removeEventListener("input", S), e.removeEventListener("beforeinput", te), e.removeEventListener("paste", ne), e.removeEventListener("compositionstart", ee), e.removeEventListener("compositionend", C), e.removeEventListener("blur", w), e.removeEventListener("invalid", w), T?.removeEventListener("formdata", ie), T?.removeEventListener("reset", ae), T?.removeEventListener("submit", w),
|
|
8414
|
+
clearTimeout(g), e.removeEventListener("input", S), e.removeEventListener("beforeinput", te), e.removeEventListener("paste", ne), e.removeEventListener("compositionstart", ee), e.removeEventListener("compositionend", C), e.removeEventListener("blur", w), e.removeEventListener("invalid", w), T?.removeEventListener("formdata", ie), T?.removeEventListener("reset", ae), T?.removeEventListener("submit", w), ja.delete(e), y ? Object.defineProperty(e, "value", y) : delete e.value, p = !1, m = "", _(), e.setCustomValidity(""), delete e.dataset.maskRaw, c && e.removeAttribute("inputmode");
|
|
8363
8415
|
};
|
|
8364
8416
|
}
|
|
8365
|
-
function
|
|
8417
|
+
function La() {
|
|
8366
8418
|
let e = typeof window > "u" ? void 0 : window.jQuery?.validator?.prototype;
|
|
8367
8419
|
if (!e || e.wuiMaskHook) return;
|
|
8368
8420
|
let t = e.elementValue;
|
|
8369
8421
|
e.elementValue = function(e) {
|
|
8370
|
-
let n =
|
|
8422
|
+
let n = Ma(e);
|
|
8371
8423
|
return n === void 0 ? t.call(this, e) : n;
|
|
8372
8424
|
}, e.wuiMaskHook = !0;
|
|
8373
8425
|
}
|
|
8374
|
-
var
|
|
8375
|
-
|
|
8426
|
+
var Ra = /* @__PURE__ */ new WeakMap(), za, Ba = (e) => {
|
|
8427
|
+
Ra.has(e) || Ra.set(e, Ia(e, {
|
|
8376
8428
|
mask: e.dataset.appMask,
|
|
8377
8429
|
postFormatted: e.hasAttribute("data-mask-post-formatted")
|
|
8378
8430
|
}));
|
|
8379
|
-
},
|
|
8380
|
-
function
|
|
8381
|
-
|
|
8431
|
+
}, Va = (e) => e.nodeType === 1 ? [...e.matches("input[data-app-mask]") ? [e] : [], ...e.querySelectorAll("input[data-app-mask]")] : [];
|
|
8432
|
+
function Ha() {
|
|
8433
|
+
za || typeof MutationObserver > "u" || (za = new MutationObserver((e) => {
|
|
8382
8434
|
for (let t of e) {
|
|
8383
|
-
for (let e of t.removedNodes) for (let t of
|
|
8384
|
-
for (let e of t.addedNodes) for (let t of
|
|
8435
|
+
for (let e of t.removedNodes) for (let t of Va(e)) Ra.get(t)?.(), Ra.delete(t);
|
|
8436
|
+
for (let e of t.addedNodes) for (let t of Va(e)) Ba(t);
|
|
8385
8437
|
}
|
|
8386
|
-
}),
|
|
8438
|
+
}), za.observe(document.documentElement, {
|
|
8387
8439
|
childList: !0,
|
|
8388
8440
|
subtree: !0
|
|
8389
8441
|
}));
|
|
8390
8442
|
}
|
|
8391
|
-
function
|
|
8392
|
-
|
|
8393
|
-
for (let t of e.querySelectorAll("input[data-app-mask]"))
|
|
8394
|
-
e === document &&
|
|
8443
|
+
function Ua(e = document) {
|
|
8444
|
+
La();
|
|
8445
|
+
for (let t of e.querySelectorAll("input[data-app-mask]")) Ba(t);
|
|
8446
|
+
e === document && Ha();
|
|
8395
8447
|
}
|
|
8396
8448
|
//#endregion
|
|
8397
8449
|
//#region src/passwordRules.js
|
|
8398
|
-
var
|
|
8450
|
+
var Wa = {
|
|
8399
8451
|
minLength: 10,
|
|
8400
8452
|
uppercase: !0,
|
|
8401
8453
|
lowercase: !0,
|
|
@@ -8403,15 +8455,15 @@ var Ra = {
|
|
|
8403
8455
|
special: !0,
|
|
8404
8456
|
uniqueChars: 0,
|
|
8405
8457
|
customRules: []
|
|
8406
|
-
},
|
|
8407
|
-
function
|
|
8408
|
-
return e === !0 || e == null ? { ...
|
|
8409
|
-
...
|
|
8458
|
+
}, Ga = "Password requirements";
|
|
8459
|
+
function Ka(e) {
|
|
8460
|
+
return e === !0 || e == null ? { ...Wa } : {
|
|
8461
|
+
...Wa,
|
|
8410
8462
|
...e
|
|
8411
8463
|
};
|
|
8412
8464
|
}
|
|
8413
|
-
function
|
|
8414
|
-
let t =
|
|
8465
|
+
function qa(e) {
|
|
8466
|
+
let t = Ka(e), n = [];
|
|
8415
8467
|
if (t.minLength > 0 && n.push({
|
|
8416
8468
|
key: "length",
|
|
8417
8469
|
label: `At least ${t.minLength} characters long`,
|
|
@@ -8450,47 +8502,47 @@ function Va(e) {
|
|
|
8450
8502
|
}
|
|
8451
8503
|
return n;
|
|
8452
8504
|
}
|
|
8453
|
-
function
|
|
8505
|
+
function Ja(e, t) {
|
|
8454
8506
|
let n = e == null ? "" : String(e);
|
|
8455
|
-
return
|
|
8507
|
+
return qa(t).map((e) => ({
|
|
8456
8508
|
key: e.key,
|
|
8457
8509
|
label: e.label,
|
|
8458
8510
|
met: e.test(n)
|
|
8459
8511
|
}));
|
|
8460
8512
|
}
|
|
8461
|
-
function
|
|
8462
|
-
return
|
|
8513
|
+
function Ya(e, t) {
|
|
8514
|
+
return Ja(e, t).every((e) => e.met);
|
|
8463
8515
|
}
|
|
8464
8516
|
//#endregion
|
|
8465
8517
|
//#region src/tableSelect.js
|
|
8466
|
-
var
|
|
8518
|
+
var Xa = "Select all rows", Za = "Select row", Q = "wui-select-cell", Qa = (e, t) => {
|
|
8467
8519
|
let n = e.createElement("input");
|
|
8468
8520
|
return n.type = "checkbox", n.className = "wui-check", n.setAttribute("aria-label", t), n;
|
|
8469
8521
|
};
|
|
8470
|
-
function
|
|
8522
|
+
function $a(e = document) {
|
|
8471
8523
|
let t = e.createElement("th");
|
|
8472
|
-
return t.className = Q, t.appendChild(
|
|
8524
|
+
return t.className = Q, t.appendChild(Qa(e, Xa)), t;
|
|
8473
8525
|
}
|
|
8474
|
-
function
|
|
8526
|
+
function eo(e = document) {
|
|
8475
8527
|
let t = e.createElement("td");
|
|
8476
|
-
return t.className = Q, t.appendChild(
|
|
8528
|
+
return t.className = Q, t.appendChild(Qa(e, Za)), t;
|
|
8477
8529
|
}
|
|
8478
|
-
function
|
|
8530
|
+
function to(e = document) {
|
|
8479
8531
|
let t = e.createElement("td");
|
|
8480
8532
|
return t.className = Q, t;
|
|
8481
8533
|
}
|
|
8482
|
-
var
|
|
8483
|
-
function
|
|
8484
|
-
for (let t of e)
|
|
8534
|
+
var no = (e) => e.firstElementChild?.classList.contains(Q);
|
|
8535
|
+
function ro(e) {
|
|
8536
|
+
for (let t of e) no(t) || t.insertBefore(eo(t.ownerDocument), t.firstChild);
|
|
8485
8537
|
}
|
|
8486
|
-
function
|
|
8538
|
+
function io(e) {
|
|
8487
8539
|
let t = e.querySelector("thead tr");
|
|
8488
8540
|
if (!t) return null;
|
|
8489
|
-
|
|
8490
|
-
for (let t of e.querySelectorAll("tfoot tr"))
|
|
8541
|
+
no(t) || t.insertBefore($a(e.ownerDocument), t.firstChild), ro(e.querySelectorAll("tbody tr"));
|
|
8542
|
+
for (let t of e.querySelectorAll("tfoot tr")) no(t) || t.insertBefore(to(e.ownerDocument), t.firstChild);
|
|
8491
8543
|
return t.querySelector(`.${Q} .wui-check`);
|
|
8492
8544
|
}
|
|
8493
|
-
function
|
|
8545
|
+
function ao(e) {
|
|
8494
8546
|
let t = e.querySelector(`thead .${Q} .wui-check`), n = [...e.querySelectorAll("tbody tr .wui-check")], r = n.length, i = n.filter((e) => e.checked).length;
|
|
8495
8547
|
t && (t.checked = r > 0 && i === r, t.indeterminate = i > 0 && i < r);
|
|
8496
8548
|
for (let t of e.querySelectorAll("tbody tr")) t.classList.toggle("is-selected", !!t.querySelector(".wui-check")?.checked);
|
|
@@ -8501,12 +8553,12 @@ function $a(e) {
|
|
|
8501
8553
|
}
|
|
8502
8554
|
//#endregion
|
|
8503
8555
|
//#region src/serverTable.js
|
|
8504
|
-
var
|
|
8556
|
+
var oo = Object.freeze([
|
|
8505
8557
|
"page",
|
|
8506
8558
|
"pageSize",
|
|
8507
8559
|
"sortBy",
|
|
8508
8560
|
"sortOrder"
|
|
8509
|
-
]),
|
|
8561
|
+
]), so = "search", co = Object.freeze({
|
|
8510
8562
|
loading: "Loading rows",
|
|
8511
8563
|
error: "These rows did not load. Try again.",
|
|
8512
8564
|
network: "The connection dropped before the rows loaded. Check it and try again.",
|
|
@@ -8515,28 +8567,28 @@ var eo = Object.freeze([
|
|
|
8515
8567
|
actionFailed: "That did not work. Try again.",
|
|
8516
8568
|
actionForbidden: "You do not have permission to do that.",
|
|
8517
8569
|
empty: "No rows"
|
|
8518
|
-
}),
|
|
8570
|
+
}), lo = 5, uo = /* @__PURE__ */ new WeakMap(), fo = (e, t) => {
|
|
8519
8571
|
let n = Number(e);
|
|
8520
8572
|
return Number.isInteger(n) ? n : t;
|
|
8521
|
-
},
|
|
8522
|
-
total:
|
|
8523
|
-
page:
|
|
8524
|
-
pageSize:
|
|
8573
|
+
}, po = (e) => ({
|
|
8574
|
+
total: fo(e.dataset.total, 0),
|
|
8575
|
+
page: fo(e.dataset.page, 1),
|
|
8576
|
+
pageSize: fo(e.dataset.pageSize, 0),
|
|
8525
8577
|
sortBy: e.dataset.sortBy || "",
|
|
8526
8578
|
sortOrder: e.dataset.sortOrder === "desc" ? "desc" : "asc"
|
|
8527
|
-
}),
|
|
8579
|
+
}), mo = (e, t) => {
|
|
8528
8580
|
e && window.WUI?.toast?.(e, { variant: t });
|
|
8529
8581
|
};
|
|
8530
|
-
function
|
|
8582
|
+
function ho(e = document) {
|
|
8531
8583
|
let t = e.querySelectorAll ? [...e.querySelectorAll("[data-wui-server]")] : [];
|
|
8532
8584
|
e instanceof Element && e.matches("[data-wui-server]") && t.unshift(e);
|
|
8533
|
-
for (let e of t)
|
|
8585
|
+
for (let e of t) uo.has(e) || uo.set(e, _o(e));
|
|
8534
8586
|
}
|
|
8535
|
-
function
|
|
8587
|
+
function go(e) {
|
|
8536
8588
|
let t = e instanceof Element ? e.closest("[data-wui-server]") : null;
|
|
8537
|
-
return t &&
|
|
8589
|
+
return t && uo.get(t) || null;
|
|
8538
8590
|
}
|
|
8539
|
-
function
|
|
8591
|
+
function _o(e) {
|
|
8540
8592
|
let t = e.querySelector(".table-wrap"), n = t?.querySelector(":scope > table"), r = e.dataset.src;
|
|
8541
8593
|
if (!n || !r) throw Error("A server-paged table needs data-src and a .table-wrap > table: render it with <app-data-table src>.");
|
|
8542
8594
|
let i = t.querySelector(":scope > [data-wui-table-state]"), a = e.querySelector("[data-wui-table-pager]"), o = e.querySelector("[data-wui-table-status]"), s = {
|
|
@@ -8545,11 +8597,11 @@ function uo(e) {
|
|
|
8545
8597
|
filtersForm: e.dataset.filtersForm || null,
|
|
8546
8598
|
filtersRegion: e.dataset.filtersRegion || null,
|
|
8547
8599
|
searchInput: e.dataset.searchInput || null,
|
|
8548
|
-
loadingText: e.dataset.loadingText ||
|
|
8549
|
-
errorText: e.dataset.errorText ||
|
|
8600
|
+
loadingText: e.dataset.loadingText || co.loading,
|
|
8601
|
+
errorText: e.dataset.errorText || co.error
|
|
8550
8602
|
}, c = new URL(r, window.location.href), l = new Set(c.searchParams.keys()), u = n.hasAttribute("data-app-datatable-selectable"), d = /* @__PURE__ */ new Set(), f = pe(), p = new AbortController(), m = { signal: p.signal }, h = n.querySelector(":scope > tbody[data-wui-rows]");
|
|
8551
8603
|
if (!h) throw Error("A server-paged table needs its rows in <app-table-rows> (tbody[data-wui-rows]).");
|
|
8552
|
-
let g =
|
|
8604
|
+
let g = po(h), _ = null, v = null, y = (e) => {
|
|
8553
8605
|
let t = new URLSearchParams();
|
|
8554
8606
|
for (let [n, r] of new URLSearchParams(e)) l.has(n) || t.append(n, r);
|
|
8555
8607
|
return t;
|
|
@@ -8571,7 +8623,7 @@ function uo(e) {
|
|
|
8571
8623
|
})), ne = (e) => {
|
|
8572
8624
|
o && (o.textContent = e);
|
|
8573
8625
|
}, re = (e) => {
|
|
8574
|
-
if (e.total === 0) return
|
|
8626
|
+
if (e.total === 0) return co.empty;
|
|
8575
8627
|
let t = e.pageSize > 0 ? Math.max(1, Math.ceil(e.total / e.pageSize)) : 1;
|
|
8576
8628
|
return `Page ${e.page} of ${t}, ${e.total} ${e.total === 1 ? "row" : "rows"}`;
|
|
8577
8629
|
}, w = () => [...n.querySelectorAll(":scope > thead > tr:first-child > th")], T = (e) => {
|
|
@@ -8579,12 +8631,12 @@ function uo(e) {
|
|
|
8579
8631
|
}, ie = (e) => {
|
|
8580
8632
|
let t = [...e.querySelectorAll(":scope > tr")];
|
|
8581
8633
|
if (u) {
|
|
8582
|
-
|
|
8634
|
+
ro(t);
|
|
8583
8635
|
for (let e of t) {
|
|
8584
8636
|
let t = e.querySelector(`.${Q} .wui-check`);
|
|
8585
8637
|
t && (t.checked = d.has(e.dataset.rowKey));
|
|
8586
8638
|
}
|
|
8587
|
-
|
|
8639
|
+
ao(n);
|
|
8588
8640
|
}
|
|
8589
8641
|
let r = w();
|
|
8590
8642
|
if (n.classList.contains("wui-table-stack")) for (let e of t) [...e.cells].forEach((e, t) => {
|
|
@@ -8601,7 +8653,7 @@ function uo(e) {
|
|
|
8601
8653
|
let n = e.querySelector(":scope > template[data-wui-empty]");
|
|
8602
8654
|
E(i), t.total === 0 && n ? (i.replaceChildren(n.content.cloneNode(!0)), i.hidden = !1) : (i.replaceChildren(), i.hidden = !0);
|
|
8603
8655
|
}, oe = (e) => {
|
|
8604
|
-
let r =
|
|
8656
|
+
let r = po(e);
|
|
8605
8657
|
if (a) {
|
|
8606
8658
|
let t = e.querySelector(":scope > template[data-wui-pager]");
|
|
8607
8659
|
E(a), a.replaceChildren(...t ? [t.content.cloneNode(!0)] : []), a.hidden = !1;
|
|
@@ -8617,7 +8669,7 @@ function uo(e) {
|
|
|
8617
8669
|
}, ce = () => {
|
|
8618
8670
|
if (h.querySelector(":scope > tr:not([data-wui-skeleton])")) return;
|
|
8619
8671
|
let e = Math.max(1, w().length);
|
|
8620
|
-
h.replaceChildren(...Array.from({ length:
|
|
8672
|
+
h.replaceChildren(...Array.from({ length: lo }, () => {
|
|
8621
8673
|
let t = document.createElement("tr");
|
|
8622
8674
|
t.setAttribute("data-wui-skeleton", "");
|
|
8623
8675
|
for (let n = 0; n < e; n++) {
|
|
@@ -8628,19 +8680,19 @@ function uo(e) {
|
|
|
8628
8680
|
})), t.removeAttribute("data-wui-table-error"), i && (i.hidden = !0);
|
|
8629
8681
|
}, le = (e) => {
|
|
8630
8682
|
e ? (t.setAttribute("aria-busy", "true"), ce()) : t.removeAttribute("aria-busy");
|
|
8631
|
-
}, ue = (e) => e === "forbidden" ?
|
|
8683
|
+
}, ue = (e) => e === "forbidden" ? co.forbidden : e === "network" ? co.network : s.errorText, de = (e) => {
|
|
8632
8684
|
let n = ue(e);
|
|
8633
8685
|
if (t.setAttribute("data-wui-table-error", e), a && (a.hidden = !0), i) {
|
|
8634
8686
|
let t = document.createElement("div");
|
|
8635
8687
|
t.className = "tbl-empty wui-table-error", t.setAttribute("role", "alert");
|
|
8636
8688
|
let r = document.createElement("span");
|
|
8637
|
-
r.className = "tbl-empty-icon", r.innerHTML =
|
|
8689
|
+
r.className = "tbl-empty-icon", r.innerHTML = V(e === "forbidden" ? "lock" : "alert-circle", { size: 24 });
|
|
8638
8690
|
let a = document.createElement("div");
|
|
8639
8691
|
a.className = "tbl-empty-title", a.textContent = n;
|
|
8640
8692
|
let o = document.createElement("div");
|
|
8641
8693
|
o.className = "tbl-empty-action";
|
|
8642
8694
|
let s = document.createElement("button");
|
|
8643
|
-
s.type = "button", s.className = "btn btn-outline-primary btn-sm", s.setAttribute("data-wui-table-retry", ""), s.textContent =
|
|
8695
|
+
s.type = "button", s.className = "btn btn-outline-primary btn-sm", s.setAttribute("data-wui-table-retry", ""), s.textContent = co.retry, o.append(s), t.append(r, a, o), E(i), i.replaceChildren(t), i.hidden = !1;
|
|
8644
8696
|
}
|
|
8645
8697
|
ne(n);
|
|
8646
8698
|
}, O = async (e, t = "none") => {
|
|
@@ -8677,7 +8729,7 @@ function uo(e) {
|
|
|
8677
8729
|
};
|
|
8678
8730
|
for (let e of he()) if (e.classList.add("sortable"), e.tabIndex = 0, !e.querySelector(".sort-icon")) {
|
|
8679
8731
|
let t = e.classList.contains("num") || e.classList.contains("text-end"), n = document.createElement("span");
|
|
8680
|
-
n.className = t ? "sort-icon wui-sort-lead" : "sort-icon", n.innerHTML =
|
|
8732
|
+
n.className = t ? "sort-icon wui-sort-lead" : "sort-icon", n.innerHTML = V("chevrons-up-down", { size: 14 }), t ? e.prepend(n) : e.append(n);
|
|
8681
8733
|
}
|
|
8682
8734
|
let ge = (e) => {
|
|
8683
8735
|
let t = me(new URLSearchParams(C)), n = g.sortBy === e && g.sortOrder === "asc" ? "desc" : "asc";
|
|
@@ -8692,7 +8744,7 @@ function uo(e) {
|
|
|
8692
8744
|
!t || !n.tHead?.contains(t) || (e.preventDefault(), ge(t.dataset.sortKey));
|
|
8693
8745
|
});
|
|
8694
8746
|
let _e = () => {
|
|
8695
|
-
|
|
8747
|
+
ao(n), n.dispatchEvent(new CustomEvent("selectionchange", {
|
|
8696
8748
|
bubbles: !0,
|
|
8697
8749
|
detail: {
|
|
8698
8750
|
selected: d.size,
|
|
@@ -8726,13 +8778,13 @@ function uo(e) {
|
|
|
8726
8778
|
return e && (e.matches("input, textarea") ? e : e.querySelector("input"));
|
|
8727
8779
|
}, A = () => e.isConnected ? !0 : (p.abort(), clearTimeout(v), !1), ye = (e, t) => {
|
|
8728
8780
|
let n = t?.name ? new FormData(e, t) : new FormData(e), r = new Set([...e.querySelectorAll("[name]")].map((e) => e.getAttribute("name"))), i = new URLSearchParams();
|
|
8729
|
-
for (let [e, t] of C) e !== "page" && (
|
|
8730
|
-
for (let [e, t] of n) typeof t != "string" || t === "" ||
|
|
8781
|
+
for (let [e, t] of C) e !== "page" && (oo.includes(e) || !r.has(e)) && i.append(e, t);
|
|
8782
|
+
for (let [e, t] of n) typeof t != "string" || t === "" || oo.includes(e) || l.has(e) || i.append(e, t);
|
|
8731
8783
|
let a = ve();
|
|
8732
8784
|
if (a) {
|
|
8733
|
-
i.delete(
|
|
8785
|
+
i.delete(so);
|
|
8734
8786
|
let e = a.value.trim();
|
|
8735
|
-
e && i.set(
|
|
8787
|
+
e && i.set(so, e);
|
|
8736
8788
|
}
|
|
8737
8789
|
return O(i, "push");
|
|
8738
8790
|
}, be = (e) => s.filtersForm && e.closest?.(s.filtersForm) || s.filtersRegion && e.closest?.(s.filtersRegion) || null;
|
|
@@ -8744,9 +8796,24 @@ function uo(e) {
|
|
|
8744
8796
|
!t || e.target === ve() || ye(t);
|
|
8745
8797
|
}, m);
|
|
8746
8798
|
let xe = (e, t) => {
|
|
8747
|
-
|
|
8748
|
-
|
|
8749
|
-
|
|
8799
|
+
if (!e) return;
|
|
8800
|
+
let n = (e) => t.get(e) ?? "";
|
|
8801
|
+
for (let r of e.querySelectorAll("input[name]:not([type=hidden])")) if (r.type === "checkbox") r.checked = t.getAll(r.name).includes(r.value);
|
|
8802
|
+
else if (r.type === "radio") {
|
|
8803
|
+
let e = n(r.name) === r.value;
|
|
8804
|
+
if (r.checked === e) continue;
|
|
8805
|
+
r.checked = e, e && r.dispatchEvent(new Event("change"));
|
|
8806
|
+
} else r.value !== n(r.name) && (r.value = n(r.name), r.dispatchEvent(new Event("input", { bubbles: !0 })));
|
|
8807
|
+
for (let r of e.querySelectorAll("select[name]")) if (!r.multiple) r.value = n(r.name);
|
|
8808
|
+
else for (let e of r.options) e.selected = t.getAll(r.name).includes(e.value);
|
|
8809
|
+
for (let t of e.querySelectorAll("wui-select[name]")) t.value = n(t.getAttribute("name"));
|
|
8810
|
+
for (let n of e.querySelectorAll("wui-multiselect[name]")) n.values = t.getAll(n.getAttribute("name"));
|
|
8811
|
+
for (let t of e.querySelectorAll("wui-date-range")) {
|
|
8812
|
+
let e = t.getAttribute("start-name") || t.getAttribute("name"), r = t.getAttribute("end-name");
|
|
8813
|
+
t.value = {
|
|
8814
|
+
start: e ? n(e) : "",
|
|
8815
|
+
end: r ? n(r) : ""
|
|
8816
|
+
};
|
|
8750
8817
|
}
|
|
8751
8818
|
};
|
|
8752
8819
|
document.addEventListener("click", (e) => {
|
|
@@ -8763,7 +8830,7 @@ function uo(e) {
|
|
|
8763
8830
|
let t = ve();
|
|
8764
8831
|
!t || e.target !== t || (clearTimeout(v), v = setTimeout(() => {
|
|
8765
8832
|
let e = me(new URLSearchParams(C)), n = t.value.trim();
|
|
8766
|
-
n ? e.set(
|
|
8833
|
+
n ? e.set(so, n) : e.delete(so), e.toString() !== C.toString() && O(e, "replace");
|
|
8767
8834
|
}, 300));
|
|
8768
8835
|
}, m), s.urlState && window.addEventListener("popstate", () => {
|
|
8769
8836
|
if (!A()) return;
|
|
@@ -8782,7 +8849,7 @@ function uo(e) {
|
|
|
8782
8849
|
let i = await fe(t, { method: (e.dataset.method || "post").toUpperCase() });
|
|
8783
8850
|
if (e.disabled = !1, e.removeAttribute("aria-busy"), i.kind === "session" || i.kind === "aborted") return;
|
|
8784
8851
|
let a = i.message;
|
|
8785
|
-
i.ok ? (
|
|
8852
|
+
i.ok ? (mo(a, i.toastVariant || "success"), await O(C, "none")) : mo(a || (i.kind === "forbidden" ? co.actionForbidden : co.actionFailed), "danger"), te("wui:table:action", {
|
|
8786
8853
|
action: r,
|
|
8787
8854
|
key: n,
|
|
8788
8855
|
ok: i.ok,
|
|
@@ -8792,7 +8859,7 @@ function uo(e) {
|
|
|
8792
8859
|
return n.addEventListener("click", (e) => {
|
|
8793
8860
|
let t = e.target.closest("[data-wui-row-action]");
|
|
8794
8861
|
!t || !h.contains(t) || t.disabled || (e.preventDefault(), Se(t));
|
|
8795
|
-
}), T(h), ae(h), u &&
|
|
8862
|
+
}), T(h), ae(h), u && io(n), ie(h), k(), {
|
|
8796
8863
|
el: e,
|
|
8797
8864
|
reload: () => O(C, "none"),
|
|
8798
8865
|
query: () => new URLSearchParams(C),
|
|
@@ -8817,80 +8884,80 @@ function uo(e) {
|
|
|
8817
8884
|
}
|
|
8818
8885
|
//#endregion
|
|
8819
8886
|
//#region src/serverActions.js
|
|
8820
|
-
var
|
|
8887
|
+
var vo = "wuiConfirm", yo = Object.freeze(["danger"]), bo = Object.freeze([
|
|
8821
8888
|
"success",
|
|
8822
8889
|
"info",
|
|
8823
8890
|
"warning",
|
|
8824
8891
|
"danger"
|
|
8825
|
-
]),
|
|
8892
|
+
]), xo = "wui.flash", So = Object.freeze({
|
|
8826
8893
|
confirmTitle: "Are you sure?",
|
|
8827
8894
|
confirmLabel: "Confirm",
|
|
8828
8895
|
cancelLabel: "Cancel",
|
|
8829
8896
|
failed: "That did not work. Try again.",
|
|
8830
8897
|
forbidden: "You do not have permission to do that.",
|
|
8831
8898
|
network: "Could not reach the server. Check your connection and try again."
|
|
8832
|
-
}),
|
|
8899
|
+
}), Co = /* @__PURE__ */ new WeakSet(), wo = null, To = null, Eo = !1, Do = (e) => {
|
|
8833
8900
|
let t = document.createElement("span");
|
|
8834
8901
|
return t.textContent = e ?? "", t.innerHTML;
|
|
8835
|
-
},
|
|
8902
|
+
}, Oo = (e, t) => {
|
|
8836
8903
|
e && window.WUI?.toast?.(e, { variant: t });
|
|
8837
|
-
},
|
|
8904
|
+
}, ko = () => {
|
|
8838
8905
|
let e = window.bootstrap?.Modal;
|
|
8839
8906
|
if (!e) throw Error("data-wui-confirm: Bootstrap's bundle (window.bootstrap) is not loaded on this page.");
|
|
8840
8907
|
return e;
|
|
8841
8908
|
};
|
|
8842
|
-
function
|
|
8843
|
-
let e = document.getElementById(
|
|
8844
|
-
return e || (e = document.createElement("div"), e.id =
|
|
8909
|
+
function Ao() {
|
|
8910
|
+
let e = document.getElementById(vo);
|
|
8911
|
+
return e || (e = document.createElement("div"), e.id = vo, e.className = "modal fade wui-modal-shell", e.tabIndex = -1, e.setAttribute("aria-hidden", "true"), e.setAttribute("role", "dialog"), e.setAttribute("aria-modal", "true"), e.style.setProperty("--wui-modal-max-width", `${he.md}px`), e.innerHTML = `<div class="modal-dialog modal-dialog-centered wui-rb-dialog"><div class="modal-content wui-modal wui-confirm"><div class="wui-modal-body"><div class="wui-confirm-content"><span class="wui-confirm-icon"><wui-status-icon tone="info" size="120"></wui-status-icon></span><h3 class="wui-confirm-title" tabindex="-1" data-autofocus></h3><p class="wui-confirm-msg"></p></div></div><div class="wui-modal-footer"><div class="wui-confirm-actions"><button type="button" class="btn btn-secondary" data-bs-dismiss="modal">${Do(So.cancelLabel)}</button><button type="button" class="btn btn-primary" data-app-confirm></button></div></div></div></div>`, document.body.appendChild(e), e);
|
|
8845
8912
|
}
|
|
8846
|
-
function
|
|
8913
|
+
function jo(e, t) {
|
|
8847
8914
|
let n = e.getAttribute("data-wui-confirm-tone");
|
|
8848
|
-
if (n !== null && !
|
|
8849
|
-
let r =
|
|
8850
|
-
if (!a || !o) throw Error(`#${
|
|
8915
|
+
if (n !== null && !yo.includes(n)) throw TypeError(`data-wui-confirm-tone="${n}" is not supported. Use danger, or leave it off.`);
|
|
8916
|
+
let r = ko(), i = Ao(), a = i.querySelector(".wui-confirm-title"), o = i.querySelector("[data-app-confirm]");
|
|
8917
|
+
if (!a || !o) throw Error(`#${vo} is not a confirm dialog with a confirm button. Render <app-confirm-dialog id="${vo}"> without confirm-href, or leave the dialog to the library.`);
|
|
8851
8918
|
let s = i.querySelector(".wui-confirm-msg");
|
|
8852
8919
|
s || (s = document.createElement("p"), s.className = "wui-confirm-msg", a.after(s));
|
|
8853
8920
|
let c = n === "danger";
|
|
8854
|
-
a.textContent = e.getAttribute("data-wui-confirm-title") ||
|
|
8921
|
+
a.textContent = e.getAttribute("data-wui-confirm-title") || So.confirmTitle, s.textContent = e.getAttribute("data-wui-confirm"), o.textContent = e.getAttribute("data-wui-confirm-label") || So.confirmLabel, o.classList.toggle("btn-danger", c), o.classList.toggle("btn-primary", !c), i.querySelector("wui-status-icon")?.setAttribute("tone", c ? "delete" : "info"), i.setAttribute("aria-label", a.textContent), To = t, Eo = !1, r.getOrCreateInstance(i).show();
|
|
8855
8922
|
}
|
|
8856
|
-
var
|
|
8857
|
-
|
|
8923
|
+
var Mo = (e, t) => {
|
|
8924
|
+
wo = e;
|
|
8858
8925
|
try {
|
|
8859
8926
|
t();
|
|
8860
8927
|
} finally {
|
|
8861
|
-
|
|
8928
|
+
wo = null;
|
|
8862
8929
|
}
|
|
8863
|
-
},
|
|
8864
|
-
function
|
|
8930
|
+
}, No = (e) => e.disabled === !0 || e.getAttribute("aria-disabled") === "true";
|
|
8931
|
+
function Po(e) {
|
|
8865
8932
|
let t = e.target.closest?.("[data-wui-confirm]:not(form)");
|
|
8866
|
-
!t || t ===
|
|
8933
|
+
!t || t === wo || No(t) || (e.preventDefault(), e.stopImmediatePropagation(), jo(t, () => Mo(t, () => t.click())));
|
|
8867
8934
|
}
|
|
8868
|
-
function
|
|
8935
|
+
function Fo(e) {
|
|
8869
8936
|
let t = e.target;
|
|
8870
|
-
if (!(t instanceof HTMLFormElement) || !t.hasAttribute("data-wui-confirm") || t ===
|
|
8937
|
+
if (!(t instanceof HTMLFormElement) || !t.hasAttribute("data-wui-confirm") || t === wo || e.submitter && e.submitter === wo) return;
|
|
8871
8938
|
e.preventDefault(), e.stopImmediatePropagation();
|
|
8872
8939
|
let n = e.submitter?.form === t ? e.submitter : void 0;
|
|
8873
|
-
|
|
8940
|
+
jo(t, () => Mo(t, () => t.requestSubmit(n)));
|
|
8874
8941
|
}
|
|
8875
|
-
function
|
|
8876
|
-
let t = e.target.closest?.(`#${
|
|
8877
|
-
!t || t.disabled || !
|
|
8942
|
+
function Io(e) {
|
|
8943
|
+
let t = e.target.closest?.(`#${vo} [data-app-confirm]`);
|
|
8944
|
+
!t || t.disabled || !To || (Eo = !0, ko().getOrCreateInstance(t.closest(`#${vo}`)).hide());
|
|
8878
8945
|
}
|
|
8879
|
-
function
|
|
8946
|
+
function Lo(e) {
|
|
8880
8947
|
if (e.target.id !== "wuiConfirm") return;
|
|
8881
|
-
let t =
|
|
8882
|
-
|
|
8948
|
+
let t = Eo ? To : null;
|
|
8949
|
+
To = null, Eo = !1, t?.();
|
|
8883
8950
|
}
|
|
8884
|
-
var
|
|
8885
|
-
e && window.sessionStorage.setItem(
|
|
8951
|
+
var Ro = (e, t) => {
|
|
8952
|
+
e && window.sessionStorage.setItem(xo, JSON.stringify({
|
|
8886
8953
|
message: e,
|
|
8887
8954
|
variant: t
|
|
8888
8955
|
}));
|
|
8889
|
-
},
|
|
8890
|
-
function
|
|
8891
|
-
for (let e of document.querySelectorAll("[data-wui-server]")) e.dataset.refreshOnSuccess !== "false" &&
|
|
8956
|
+
}, zo = (e) => e === "forbidden" ? So.forbidden : e === "network" ? So.network : So.failed;
|
|
8957
|
+
function Bo() {
|
|
8958
|
+
for (let e of document.querySelectorAll("[data-wui-server]")) e.dataset.refreshOnSuccess !== "false" && go(e)?.reload();
|
|
8892
8959
|
}
|
|
8893
|
-
async function
|
|
8960
|
+
async function Vo(e) {
|
|
8894
8961
|
let t = e.getAttribute("data-wui-post");
|
|
8895
8962
|
if (!t) throw Error("A data-wui-post button needs the URL the action posts to.");
|
|
8896
8963
|
let n = e.getAttribute("data-wui-post-reload");
|
|
@@ -8900,68 +8967,68 @@ async function Fo(e) {
|
|
|
8900
8967
|
if (r.kind === "session" || r.kind === "aborted") return;
|
|
8901
8968
|
let i = r.toastVariant || "success";
|
|
8902
8969
|
if (r.ok && (r.redirect || n === "page")) {
|
|
8903
|
-
|
|
8970
|
+
Ro(r.message, i), r.redirect ? window.location.assign(r.redirect) : window.location.reload();
|
|
8904
8971
|
return;
|
|
8905
8972
|
}
|
|
8906
8973
|
if (e.disabled = !1, e.removeAttribute("aria-busy"), r.ok) {
|
|
8907
|
-
|
|
8974
|
+
Oo(r.message, i), Bo();
|
|
8908
8975
|
return;
|
|
8909
8976
|
}
|
|
8910
|
-
|
|
8977
|
+
Oo(r.message || zo(r.kind), "danger");
|
|
8911
8978
|
}
|
|
8912
|
-
function
|
|
8979
|
+
function Ho(e) {
|
|
8913
8980
|
let t = e.target.closest?.("[data-wui-post]");
|
|
8914
|
-
t && (e.preventDefault(), !(
|
|
8981
|
+
t && (e.preventDefault(), !(No(t) || t.getAttribute("aria-busy") === "true") && Vo(t).catch((e) => console.error(e)));
|
|
8915
8982
|
}
|
|
8916
|
-
function
|
|
8917
|
-
let e = window.sessionStorage.getItem(
|
|
8983
|
+
function Uo() {
|
|
8984
|
+
let e = window.sessionStorage.getItem(xo);
|
|
8918
8985
|
if (!e) return;
|
|
8919
|
-
window.sessionStorage.removeItem(
|
|
8986
|
+
window.sessionStorage.removeItem(xo);
|
|
8920
8987
|
let { message: t, variant: n } = JSON.parse(e);
|
|
8921
|
-
|
|
8988
|
+
Oo(t, n);
|
|
8922
8989
|
}
|
|
8923
|
-
function
|
|
8990
|
+
function Wo(e) {
|
|
8924
8991
|
let t = e.querySelectorAll ? [...e.querySelectorAll("[data-wui-flash]")] : [];
|
|
8925
8992
|
e instanceof Element && e.matches("[data-wui-flash]") && t.unshift(e);
|
|
8926
8993
|
for (let e of t) {
|
|
8927
8994
|
let t = e.getAttribute("data-wui-flash-variant") || "success";
|
|
8928
|
-
if (!
|
|
8995
|
+
if (!bo.includes(t)) throw TypeError(`data-wui-flash-variant="${t}" is not supported. Use ${bo.join(", ")}.`);
|
|
8929
8996
|
let n = e.getAttribute("data-wui-flash") || e.textContent.trim();
|
|
8930
|
-
e.remove(),
|
|
8997
|
+
e.remove(), Oo(n, t);
|
|
8931
8998
|
}
|
|
8932
8999
|
}
|
|
8933
|
-
function
|
|
9000
|
+
function Go(e = document) {
|
|
8934
9001
|
let t = e.ownerDocument || e;
|
|
8935
|
-
|
|
9002
|
+
Co.has(t) || (Co.add(t), t.addEventListener("click", Po, !0), t.addEventListener("submit", Fo, !0), t.addEventListener("click", Io), t.addEventListener("click", Ho), t.addEventListener("hidden.bs.modal", Lo), Uo()), Wo(e);
|
|
8936
9003
|
}
|
|
8937
|
-
var
|
|
8938
|
-
function
|
|
8939
|
-
n.cookie = `${e}=${t ? "1" : "0"}; Path=/; Max-Age=${
|
|
9004
|
+
var Ko = 31536e3, qo = /* @__PURE__ */ new WeakMap(), Jo = (e) => e > 99 ? "99+" : String(e);
|
|
9005
|
+
function Yo(e, t, n = document) {
|
|
9006
|
+
n.cookie = `${e}=${t ? "1" : "0"}; Path=/; Max-Age=${Ko}; SameSite=Lax`;
|
|
8940
9007
|
}
|
|
8941
|
-
var
|
|
9008
|
+
var Xo = (e) => {
|
|
8942
9009
|
let t = document.createElement("template");
|
|
8943
9010
|
return t.innerHTML = e, t.content;
|
|
8944
|
-
},
|
|
9011
|
+
}, Zo = (e, t) => {
|
|
8945
9012
|
let n = document.createElement("div");
|
|
8946
9013
|
return n.className = e, n.textContent = t, n;
|
|
8947
9014
|
};
|
|
8948
|
-
function
|
|
9015
|
+
function Qo(e, t) {
|
|
8949
9016
|
let n = e.querySelector(".wui-bell-trigger"), r = e.querySelector(".wui-bell-count"), i = e.querySelector("[data-wui-bell-live]"), a = e.querySelector("[data-wui-bell-list]"), o = e.querySelector(".wui-bell-menu"), { src: s, readAction: c } = e.dataset, l = e.dataset.label || "Notifications", u = e.dataset.emptyText || "You are all caught up.", d = Number(e.dataset.pollSeconds ?? 60), f = pe(), p = Number(e.dataset.unread) || 0, m = (t, a = !0) => {
|
|
8950
9017
|
let o = Math.max(0, Number(t) || 0), s = o !== p;
|
|
8951
|
-
p = o, e.dataset.unread = String(o), r && (r.textContent =
|
|
9018
|
+
p = o, e.dataset.unread = String(o), r && (r.textContent = Jo(o), r.hidden = o === 0), n?.setAttribute("aria-label", o === 0 ? l : `${l}, ${Jo(o)} unread`), a && s && i && (i.textContent = o === 0 ? "No unread notifications" : `${Jo(o)} unread notifications`);
|
|
8952
9019
|
}, h = () => o?.classList.contains("show") ?? !1, g = () => {
|
|
8953
|
-
let e =
|
|
9020
|
+
let e = Zo("wui-bell-state", "Could not load notifications. "), t = document.createElement("button");
|
|
8954
9021
|
t.type = "button", t.className = "btn btn-link btn-sm", t.dataset.wuiBellRetry = "", t.textContent = "Retry", e.append(t), a.replaceChildren(e);
|
|
8955
9022
|
}, _ = async (t) => {
|
|
8956
|
-
t && (a.setAttribute("aria-busy", "true"), a.querySelector(".wui-bell-item") || a.replaceChildren(
|
|
9023
|
+
t && (a.setAttribute("aria-busy", "true"), a.querySelector(".wui-bell-item") || a.replaceChildren(Zo("wui-bell-state", "Loading…")));
|
|
8957
9024
|
let n = await f.run(s);
|
|
8958
9025
|
if (n.kind === "aborted" || n.kind === "stale" || n.kind === "session") return;
|
|
8959
9026
|
if (a.removeAttribute("aria-busy"), !n.ok) {
|
|
8960
9027
|
t && g();
|
|
8961
9028
|
return;
|
|
8962
9029
|
}
|
|
8963
|
-
let r =
|
|
8964
|
-
m(o), (t || h()) && (r.querySelector(".wui-bell-item") ? a.replaceChildren(r) : a.replaceChildren(
|
|
9030
|
+
let r = Xo(n.html), i = r.querySelector("[data-wui-unread]"), o = i ? Number(i.getAttribute("data-wui-unread")) : p;
|
|
9031
|
+
m(o), (t || h()) && (r.querySelector(".wui-bell-item") ? a.replaceChildren(r) : a.replaceChildren(Zo("wui-bell-state", u))), e.dispatchEvent(new CustomEvent("wui:notifications:loaded", {
|
|
8965
9032
|
bubbles: !0,
|
|
8966
9033
|
detail: { unread: o }
|
|
8967
9034
|
}));
|
|
@@ -8991,8 +9058,8 @@ function Ko(e, t) {
|
|
|
8991
9058
|
refresh: () => _(h())
|
|
8992
9059
|
};
|
|
8993
9060
|
}
|
|
8994
|
-
var
|
|
8995
|
-
function
|
|
9061
|
+
var $o = (e) => !!e && (e.isContentEditable || /^(INPUT|TEXTAREA|SELECT)$/.test(e.tagName)), es = (e, t, n) => `${e}${e.includes("?") ? "&" : "?"}${encodeURIComponent(t)}=${encodeURIComponent(n)}`;
|
|
9062
|
+
function ts(e, t) {
|
|
8996
9063
|
let n = e.querySelector("input.search-input"), r = e.querySelector(".wui-topsearch-results"), i = e.querySelector(".wui-topsearch-open"), a = e.querySelector("[data-wui-topsearch-live]"), { src: o, param: s = "q", resultsHref: c } = e.dataset, l = Number(e.dataset.minChars ?? 2), u = Number(e.dataset.debounceMs ?? 250), d = pe(), f = null, p = -1, m = () => [...r.querySelectorAll(".wui-topsearch-hit")], h = (e) => {
|
|
8997
9064
|
let t = m();
|
|
8998
9065
|
p = t.length === 0 ? -1 : (e + t.length) % t.length, t.forEach((e, t) => {
|
|
@@ -9014,16 +9081,16 @@ function Yo(e, t) {
|
|
|
9014
9081
|
e.dispatchEvent(n) && window.location.assign(t);
|
|
9015
9082
|
}, b = async (t) => {
|
|
9016
9083
|
e.classList.add("is-loading");
|
|
9017
|
-
let n = await d.run(
|
|
9084
|
+
let n = await d.run(es(o, s, t));
|
|
9018
9085
|
if (!(n.kind === "aborted" || n.kind === "stale" || n.kind === "session")) {
|
|
9019
9086
|
if (e.classList.remove("is-loading"), n.ok) {
|
|
9020
|
-
let e =
|
|
9087
|
+
let e = Xo(n.html), t = e.querySelector("[data-wui-count]");
|
|
9021
9088
|
r.replaceChildren(e), m().forEach((e, t) => {
|
|
9022
9089
|
e.id = `${r.id}-opt-${t}`;
|
|
9023
9090
|
});
|
|
9024
9091
|
let i = t ? Number(t.getAttribute("data-wui-count")) : m().length;
|
|
9025
9092
|
a && (a.textContent = i === 0 ? "No results" : `${i} ${i === 1 ? "result" : "results"}`);
|
|
9026
|
-
} else r.replaceChildren(
|
|
9093
|
+
} else r.replaceChildren(Zo("wui-topsearch-empty", "Search is unavailable right now."));
|
|
9027
9094
|
p = -1, _();
|
|
9028
9095
|
}
|
|
9029
9096
|
};
|
|
@@ -9041,7 +9108,7 @@ function Yo(e, t) {
|
|
|
9041
9108
|
t.preventDefault(), h(p + (t.key === "ArrowDown" ? 1 : -1));
|
|
9042
9109
|
} else if (t.key === "Enter") {
|
|
9043
9110
|
let e = m();
|
|
9044
|
-
!r.hidden && p >= 0 && e[p] ? (t.preventDefault(), y(e[p].getAttribute("href"))) : c && n.value.trim() !== "" && (t.preventDefault(), y(
|
|
9111
|
+
!r.hidden && p >= 0 && e[p] ? (t.preventDefault(), y(e[p].getAttribute("href"))) : c && n.value.trim() !== "" && (t.preventDefault(), y(es(c, s, n.value.trim())));
|
|
9045
9112
|
} else t.key === "Escape" && (r.hidden ? e.classList.contains("is-open") && (t.preventDefault(), v(!1), i?.focus()) : (t.preventDefault(), g()));
|
|
9046
9113
|
}), r.addEventListener("click", (e) => {
|
|
9047
9114
|
let t = e.target.closest(".wui-topsearch-hit");
|
|
@@ -9051,7 +9118,7 @@ function Yo(e, t) {
|
|
|
9051
9118
|
v(t), t && n.focus();
|
|
9052
9119
|
});
|
|
9053
9120
|
let x = (e) => {
|
|
9054
|
-
e.key !== "/" || e.ctrlKey || e.metaKey || e.altKey ||
|
|
9121
|
+
e.key !== "/" || e.ctrlKey || e.metaKey || e.altKey || $o(e.target) || (e.preventDefault(), v(!0), n.focus());
|
|
9055
9122
|
}, S = (t) => {
|
|
9056
9123
|
e.contains(t.target) || (g(), e.classList.contains("is-open") && v(!1));
|
|
9057
9124
|
};
|
|
@@ -9059,13 +9126,13 @@ function Yo(e, t) {
|
|
|
9059
9126
|
clearTimeout(f), d.abort(), document.removeEventListener("keydown", x), document.removeEventListener("pointerdown", S);
|
|
9060
9127
|
});
|
|
9061
9128
|
}
|
|
9062
|
-
function
|
|
9129
|
+
function ns(e) {
|
|
9063
9130
|
let t = [], n = e.dataset.wuiCollapsedCookie;
|
|
9064
|
-
n && e.addEventListener("wui:shell:collapse", (e) =>
|
|
9131
|
+
n && e.addEventListener("wui:shell:collapse", (e) => Yo(n, !!e.detail?.collapsed)), e.addEventListener("click", (t) => {
|
|
9065
9132
|
t.target.closest("[data-wui-tabbar-more]") && e.querySelector("[data-app-shell-menu]")?.click();
|
|
9066
9133
|
});
|
|
9067
|
-
let r = e.querySelector("[data-wui-bell]"), i = r ?
|
|
9068
|
-
a &&
|
|
9134
|
+
let r = e.querySelector("[data-wui-bell]"), i = r ? Qo(r, t) : null, a = e.querySelector("[data-wui-topsearch]");
|
|
9135
|
+
a && ts(a, t);
|
|
9069
9136
|
let o = {
|
|
9070
9137
|
el: e,
|
|
9071
9138
|
setUnread(e) {
|
|
@@ -9085,109 +9152,109 @@ function Xo(e) {
|
|
|
9085
9152
|
n ? n.click() : e.classList.toggle("collapsed", !!t);
|
|
9086
9153
|
}
|
|
9087
9154
|
};
|
|
9088
|
-
|
|
9155
|
+
qo.set(e, o);
|
|
9089
9156
|
let s = (n) => {
|
|
9090
9157
|
if (n.target === e || n.target.contains?.(e)) {
|
|
9091
9158
|
for (let e of t) e();
|
|
9092
|
-
|
|
9159
|
+
qo.delete(e), delete e.dataset.wuiPartsWired, document.removeEventListener("wui:teardown", s);
|
|
9093
9160
|
}
|
|
9094
9161
|
};
|
|
9095
9162
|
return document.addEventListener("wui:teardown", s), o;
|
|
9096
9163
|
}
|
|
9097
|
-
function
|
|
9164
|
+
function rs(e = document) {
|
|
9098
9165
|
let t = [];
|
|
9099
9166
|
e instanceof Element && e.matches("[data-app-shell]") && t.push(e), t.push(...e.querySelectorAll("[data-app-shell]"));
|
|
9100
|
-
for (let e of t) e.dataset.wuiPartsWired || (e.dataset.wuiPartsWired = "1",
|
|
9167
|
+
for (let e of t) e.dataset.wuiPartsWired || (e.dataset.wuiPartsWired = "1", ns(e));
|
|
9101
9168
|
}
|
|
9102
|
-
function
|
|
9169
|
+
function is(e) {
|
|
9103
9170
|
let t = e?.closest?.("[data-app-shell]") ?? null;
|
|
9104
|
-
return t ? (
|
|
9171
|
+
return t ? (qo.has(t) || rs(t), qo.get(t) ?? null) : null;
|
|
9105
9172
|
}
|
|
9106
9173
|
//#endregion
|
|
9107
9174
|
//#region src/themeTransition.js
|
|
9108
|
-
var
|
|
9175
|
+
var as = [
|
|
9109
9176
|
"light",
|
|
9110
9177
|
"dark",
|
|
9111
9178
|
"auto"
|
|
9112
|
-
],
|
|
9179
|
+
], os = [
|
|
9113
9180
|
"wave",
|
|
9114
9181
|
"circle",
|
|
9115
9182
|
"slide",
|
|
9116
9183
|
"blinds",
|
|
9117
9184
|
"fade",
|
|
9118
9185
|
"none"
|
|
9119
|
-
],
|
|
9186
|
+
], ss = "wave", cs = "theme", ls = {
|
|
9120
9187
|
wave: 1100,
|
|
9121
9188
|
circle: 700,
|
|
9122
9189
|
slide: 600,
|
|
9123
9190
|
blinds: 900,
|
|
9124
9191
|
fade: 350,
|
|
9125
9192
|
none: 0
|
|
9126
|
-
},
|
|
9127
|
-
function
|
|
9128
|
-
return e === "dark" || e === "auto" &&
|
|
9193
|
+
}, us = "wui-theme-switching", ds = "wui:theme:change", fs = "wui-theme-toggle", ps = "(prefers-color-scheme: dark)", ms = (e) => typeof window < "u" && typeof window.matchMedia == "function" && window.matchMedia(e).matches, hs = (e) => as.includes(e);
|
|
9194
|
+
function gs(e) {
|
|
9195
|
+
return e === "dark" || e === "auto" && ms(ps) ? "dark" : "light";
|
|
9129
9196
|
}
|
|
9130
|
-
function
|
|
9197
|
+
function _s(e = cs, { includeAuto: t = !1 } = {}) {
|
|
9131
9198
|
let n = null;
|
|
9132
9199
|
try {
|
|
9133
9200
|
n = window.localStorage.getItem(e);
|
|
9134
9201
|
} catch {}
|
|
9135
|
-
return !
|
|
9202
|
+
return !hs(n) || n === "auto" && !t ? "light" : n;
|
|
9136
9203
|
}
|
|
9137
|
-
function
|
|
9204
|
+
function vs(e, t = cs) {
|
|
9138
9205
|
try {
|
|
9139
9206
|
window.localStorage.setItem(t, e);
|
|
9140
9207
|
} catch {}
|
|
9141
9208
|
}
|
|
9142
|
-
function
|
|
9209
|
+
function ys(e) {
|
|
9143
9210
|
let t = document.documentElement;
|
|
9144
|
-
t.setAttribute("data-theme", e), t.setAttribute("data-bs-theme",
|
|
9211
|
+
t.setAttribute("data-theme", e), t.setAttribute("data-bs-theme", gs(e)), document.dispatchEvent(new CustomEvent(ds, { detail: { mode: e } }));
|
|
9145
9212
|
}
|
|
9146
|
-
function
|
|
9213
|
+
function bs(e, { includeAuto: t = !1 } = {}) {
|
|
9147
9214
|
return e === "light" ? "dark" : e === "dark" && t ? "auto" : "light";
|
|
9148
9215
|
}
|
|
9149
|
-
function
|
|
9216
|
+
function xs(e) {
|
|
9150
9217
|
if (typeof window > "u" || typeof window.matchMedia != "function") return () => {};
|
|
9151
|
-
let t = window.matchMedia(
|
|
9218
|
+
let t = window.matchMedia(ps), n = () => e(t.matches ? "dark" : "light");
|
|
9152
9219
|
return t.addEventListener("change", n), () => t.removeEventListener("change", n);
|
|
9153
9220
|
}
|
|
9154
|
-
var
|
|
9221
|
+
var Ss = 60, Cs = (e) => e < .5 ? 4 * e * e * e : 1 - (-2 * e + 2) ** 3 / 2, ws = (e) => e.toFixed(1), Ts = (e, t) => `${ws(e)}px ${ws(t)}px`, Es = {
|
|
9155
9222
|
amplitude: 22,
|
|
9156
9223
|
segments: 36,
|
|
9157
9224
|
cycles: 1.5,
|
|
9158
9225
|
ripples: 2
|
|
9159
|
-
},
|
|
9160
|
-
let { amplitude: a, segments: o, cycles: s } =
|
|
9226
|
+
}, Ds = 6, Os = (e, t, n, r, i) => {
|
|
9227
|
+
let { amplitude: a, segments: o, cycles: s } = Es, c = n * (t + 2 * a), l = i ? t + a - c : c - a, u = i ? t + 2 * a : -2 * a, d = [Ts(0, u)];
|
|
9161
9228
|
for (let t = 0; t <= o; t++) {
|
|
9162
9229
|
let n = e * t / o, i = l + a * Math.sin(2 * Math.PI * s * t / o + r);
|
|
9163
|
-
d.push(
|
|
9230
|
+
d.push(Ts(n, i));
|
|
9164
9231
|
}
|
|
9165
|
-
return d.push(
|
|
9166
|
-
},
|
|
9167
|
-
let i = t /
|
|
9168
|
-
for (let t = 0; t <
|
|
9232
|
+
return d.push(Ts(e, u)), `polygon(${d.join(", ")})`;
|
|
9233
|
+
}, ks = (e, t, n, r) => {
|
|
9234
|
+
let i = t / Ds, a = [];
|
|
9235
|
+
for (let t = 0; t < Ds; t++) {
|
|
9169
9236
|
let o = t * i, s = i * n, c = r ? o + i - s : o, l = r ? o + i : o + s;
|
|
9170
|
-
a.push(
|
|
9237
|
+
a.push(Ts(0, c), Ts(e, c), Ts(e, l), Ts(0, l));
|
|
9171
9238
|
}
|
|
9172
9239
|
return `polygon(${a.join(", ")})`;
|
|
9173
9240
|
};
|
|
9174
|
-
function
|
|
9241
|
+
function As(e, { width: t, height: n, to: r = "dark", origin: i } = {}) {
|
|
9175
9242
|
let a = r === "dark", o = [];
|
|
9176
|
-
for (let r = 0; r <=
|
|
9177
|
-
let s = r /
|
|
9243
|
+
for (let r = 0; r <= Ss; r++) {
|
|
9244
|
+
let s = r / Ss, c = Cs(s);
|
|
9178
9245
|
switch (e) {
|
|
9179
9246
|
case "circle": {
|
|
9180
9247
|
let e = i?.x ?? t / 2, r = i?.y ?? n / 2, a = Math.hypot(Math.max(e, t - e), Math.max(r, n - r));
|
|
9181
|
-
o.push({ clipPath: `circle(${
|
|
9248
|
+
o.push({ clipPath: `circle(${ws(a * c)}px at ${ws(e)}px ${ws(r)}px)` });
|
|
9182
9249
|
break;
|
|
9183
9250
|
}
|
|
9184
9251
|
case "slide": {
|
|
9185
9252
|
let e = n * (1 - c);
|
|
9186
|
-
o.push({ clipPath: a ? `inset(${
|
|
9253
|
+
o.push({ clipPath: a ? `inset(${ws(e)}px 0px 0px 0px)` : `inset(0px 0px ${ws(e)}px 0px)` });
|
|
9187
9254
|
break;
|
|
9188
9255
|
}
|
|
9189
9256
|
case "blinds":
|
|
9190
|
-
o.push({ clipPath:
|
|
9257
|
+
o.push({ clipPath: ks(t, n, c, a) });
|
|
9191
9258
|
break;
|
|
9192
9259
|
case "fade":
|
|
9193
9260
|
o.push({
|
|
@@ -9196,20 +9263,20 @@ function ws(e, { width: t, height: n, to: r = "dark", origin: i } = {}) {
|
|
|
9196
9263
|
});
|
|
9197
9264
|
break;
|
|
9198
9265
|
case "none": return [];
|
|
9199
|
-
default: o.push({ clipPath:
|
|
9266
|
+
default: o.push({ clipPath: Os(t, n, c, s * Es.ripples * 2 * Math.PI, a) });
|
|
9200
9267
|
}
|
|
9201
9268
|
}
|
|
9202
9269
|
return o;
|
|
9203
9270
|
}
|
|
9204
|
-
function
|
|
9271
|
+
function js(e, { effect: t = ss, to: n, origin: r, duration: i, live: a } = {}) {
|
|
9205
9272
|
let o = document.documentElement, s = n !== void 0 && o.getAttribute("data-bs-theme") === n;
|
|
9206
|
-
if (t === "none" || s ||
|
|
9207
|
-
o.classList.add(
|
|
9273
|
+
if (t === "none" || s || ms("(prefers-reduced-motion: reduce)") || typeof document.startViewTransition != "function" || typeof o.animate != "function") return e(), Promise.resolve(!1);
|
|
9274
|
+
o.classList.add(us);
|
|
9208
9275
|
let c = a instanceof Element ? a : null;
|
|
9209
|
-
c && (c.style.viewTransitionName =
|
|
9210
|
-
let l = document.startViewTransition(e), u = i ??
|
|
9276
|
+
c && (c.style.viewTransitionName = fs);
|
|
9277
|
+
let l = document.startViewTransition(e), u = i ?? ls[t] ?? ls.wave;
|
|
9211
9278
|
return l.ready.then(() => {
|
|
9212
|
-
let e =
|
|
9279
|
+
let e = As(t, {
|
|
9213
9280
|
width: window.innerWidth,
|
|
9214
9281
|
height: window.innerHeight,
|
|
9215
9282
|
to: n,
|
|
@@ -9221,16 +9288,16 @@ function Ts(e, { effect: t = ts, to: n, origin: r, duration: i, live: a } = {})
|
|
|
9221
9288
|
fill: "both",
|
|
9222
9289
|
pseudoElement: "::view-transition-new(root)"
|
|
9223
9290
|
});
|
|
9224
|
-
}).catch(() => {}), l.finished.catch(() => {}).then(() => (o.classList.remove(
|
|
9291
|
+
}).catch(() => {}), l.finished.catch(() => {}).then(() => (o.classList.remove(us), c && (c.style.viewTransitionName = ""), !0));
|
|
9225
9292
|
}
|
|
9226
9293
|
//#endregion
|
|
9227
9294
|
//#region src/index.js
|
|
9228
9295
|
var $ = (e, t) => {
|
|
9229
9296
|
typeof customElements < "u" && !customElements.get(e) && customElements.define(e, t);
|
|
9230
9297
|
};
|
|
9231
|
-
function
|
|
9232
|
-
$("wui-select",
|
|
9298
|
+
function Ms() {
|
|
9299
|
+
$("wui-select", Pn), $("wui-country-select", Rn), $("wui-phone", ii), $("wui-datepicker", Gn), $("wui-date-range", Kn), $("wui-dock", qn), $("wui-image-crop", xr), $("wui-kanban", zt), $("wui-consent-banner", gn), $("wui-slider", oi), $("wui-sortable", gi), $("wui-timepicker", Oi), $("wui-tour", Li), $("wui-tree", Gi), $("wui-autocomplete", nn), $("wui-command-palette", ln), $("wui-context-menu", jn), $("wui-multiselect", Or), $("wui-taginput", yi), $("wui-otp", Br), $("wui-status-icon", Ut), $("wui-wizard-step", Xi), $("wui-wizard", qi);
|
|
9233
9300
|
}
|
|
9234
|
-
|
|
9301
|
+
Ms();
|
|
9235
9302
|
//#endregion
|
|
9236
|
-
export {
|
|
9303
|
+
export { vo as CONFIRM_DIALOG_ID, yo as CONFIRM_TONES, Zi as COPY_FEEDBACK_MS, ae as CSRF_META_NAME, n as CURRENCIES, a as DATE_PATTERNS, E as DEFAULT_CSRF_HEADER, $i as DEFAULT_IMAGE_ACCEPT, ea as DEFAULT_MAX_SIZE_MB, Wa as DEFAULT_PASSWORD_RULES, Ga as DEFAULT_REQUIREMENTS_TITLE, ss as DEFAULT_THEME_EFFECT, cs as DEFAULT_THEME_STORAGE_KEY, i as DURATION_UNITS, s as EMPTY_VALUE, xo as FLASH_STORAGE_KEY, bo as FLASH_VARIANTS, t as FORMAT_STYLES, oe as HTTP_KINDS, o as IST_TIME_ZONE, ut as KANBAN_DRAG_THRESHOLD_PX, lt as KANBAN_LONG_PRESS_MS, ct as KANBAN_PHONE_QUERY, st as KANBAN_STORAGE_PREFIX, ot as KANBAN_SUMMARY_FORMATS, j as KANBAN_TEXT, at as KANBAN_TONES, ma as MASK_INPUT_TYPES, Sa as MASK_NAMES, r as MONEY_UNITS, Xa as SELECT_ALL_LABEL, Q as SELECT_CELL_CLASS, Za as SELECT_ROW_LABEL, So as SERVER_ACTION_TEXT, Ht as STATUS_TONES, ds as THEME_CHANGE_EVENT, os as THEME_EFFECTS, ls as THEME_EFFECT_DURATION, fs as THEME_LIVE_NAME, as as THEME_MODES, us as THEME_SWITCHING_CLASS, D as WUI_HEADERS, nn as WuiAutocomplete, ln as WuiCommandPalette, gn as WuiConsentBanner, jn as WuiContextMenu, Rn as WuiCountrySelect, Gn as WuiDatePicker, Kn as WuiDateRange, qn as WuiDock, zt as WuiKanban, Or as WuiMultiSelect, Br as WuiOtp, ii as WuiPhone, Pn as WuiSelect, oi as WuiSlider, gi as WuiSortable, Ut as WuiStatusIcon, yi as WuiTagInput, Oi as WuiTimePicker, Li as WuiTour, Gi as WuiTree, qi as WuiWizard, Xi as WuiWizardStep, ca as acceptLabel, ro as addRowSelectCells, io as addSelectColumn, ys as applyTheme, Ia as attachInputMask, qa as buildPasswordRules, ue as classifyStatus, Qi as copyTextToClipboard, Fi as createLocalSeenStore, pe as createRequestQueue, $a as createSelectHeaderCell, eo as createSelectRowCell, to as createSelectSpacerCell, Ms as defineWeborityElements, Ja as evaluatePassword, C as formatCompact, S as formatCurrency, T as formatDate, ne as formatDuration, ka as formatMasked, x as formatNumber, te as formatPercent, ie as formatValue, go as getServerTable, is as getShell, V as glyphSvg, Ua as initInputMasks, rt as initRemoteModals, Go as initServerActions, ho as initServerTables, rs as initShellParts, aa as isImageFile, sa as isImageOnlyAccept, wa as isMaskPattern, oa as isPdfFile, P as kanbanCardLabel, Mt as kanbanOverflow, Nt as kanbanStorageKey, It as kanbanSummaryFormat, jt as kanbanVisibleLimit, it as loadRemoteModal, Ma as maskedPostValue, on as matchSegments, la as matchesAccept, bs as nextTheme, Ya as passwordSatisfies, Oa as postedMasked, Da as rawMasked, ce as readCsrf, Pt as readKanbanCollapsed, _s as readStoredTheme, Ea as resolveMask, gs as resolveTheme, vs as storeTheme, Lt as sumKanbanValues, ao as syncSelectAll, As as themeKeyframes, re as toInstant, js as transitionTheme, ua as validateFile, xs as watchSystemTheme, Ft as writeKanbanCollapsed, fe as wuiFetch };
|